• Info@SaminRay.Com
  • 88866172 021
796

تشخیص چهره سه بعدی

شبکه‌های یادگیری عمیق با امکان استخراج خودکار ویژگی‌های پیچیده به طور مستقیم از داده‌های خام، مسائل مختلف در بینایی ماشین از جمله تشخیص چهره را متحول کرده است.

معرفی، پیشرفت‌ها و چالش‌های تشخیص چهره سه‌بعدی مبتنی بر یادگیری عمیق

شبکه‌های یادگیری عمیق با امکان استخراج خودکار ویژگی‌های پیچیده به طور مستقیم از داده‌های خام، مسائل مختلف در بینایی ماشین از جمله تشخیص چهره را متحول کرده است. مدل‌های شبکه عصبی عمیق یا (DNN)  از لایه‌های متعددی از نورون‌های مصنوعی به‌هم‌پیوسته تشکیل شده‌اند که به‌صورت سلسله‌مراتبی سازماندهی شده‌اند. برای ایجاد نمایش‌های کامل از داده‌های ورودی، عمق شبکه مورداستفاده قرار می‌گیرد تا منجر به بهبود عملکرد در مسائل مرتبط با بینایی ماشین شود. در زمینه تشخیص چهره، یادگیری عمیق تأثیر قابل‌توجهی داشته است. به طور سنتی، سیستم‌های تشخیص چهره بر ویژگی‌های دست‌ساز مانند ویژگی‌های هندسی، توصیف‌کننده‌های بافت یا ویژگی‌های مبتنی بر ظاهر متکی بوده‌اند. از طرفی دیگر یادگیری عمیق با فعال‌کردن یادگیری خودکار ویژگی‌های متمایز، مستقیماً از تصاویر چهره یا داده‌های چهره سه‌بعدی، مسیر این حوزه را تغییر داده است. رویکردهای یادگیری عمیق برای تشخیص چهره معمولاً از شبکه‌های CNN و DCNN (Deep CNN) استفاده می‌کنند. با قرار دادن چندین لایه کانولوشن با توابع فعال‌سازی غیرخطی، CNN‌ها می‌توانند الگوهای محلی، اطلاعات بافت و ویژگی‌های سطح بالاتر چهره را ثبت کنند و در نهایت امکان تشخیص دقیق بین افراد مختلف را فراهم کنند.

دلایلی که یادگیری عمیق بر تشخیص چهره تاثیرگذار است عبارت است از: یادگیری ویژگی‌های پیچیده و متمایز از تصاویر چهره یا داده‌های سه‌بعدی (عدم نیاز به مهندسی ویژگی‌ها)، استحکام در مقابل تغییرات در شرایط نوری، ژست، حالات چهره و انسداد (به دلیل نمایش سلسله مراتبی که توسط شبکه‌های عمیق آموخته می‌شود)، مقیاس پذیری و مدیریت تعداد زیادی از تصاویر چهره، آموزش end-to-end برای قادر ساختن شبکه جهت آموختن از داده خام (کل فرایند تشخیص چهره، از تصاویر ورودی تا طبقه‌بندی نهایی، به طور مشترک بهینه می‌شود) و آموزش انتقال (تنظیم و استفاده از شبکه‌های از پیش تعیین شده مثل ImageNet) که باعث بهبود عملکرد و کاهش نیاز به داده‌های برچسب‌گذاری شده می‌شود.

برتری تشخیص چهره سه‌بعدی:

از برتری‌های تشخیص چهره 3D بر 2D می‌توان به استحکام بالاتر در مقابل تغییرات در حالت سر و شرایط روشنایی محیط، دقت بیشتر، مقاومت در برابر جعل، دستیابی به ویژگی‌های متمایز بیشتر و همین‌طور تعمیم به افراد با قومیت‌های بیشتر است. نمونه‌ای از شبکه‌های CNN جهت تشخیص چهره سه‌بعدی عبارت‌اند از:

  • :VoxNet که توسط Maturana و Scherer در سال 2015 پیشنهاد شد، یک شبکه CNN است که برای تشخیص اشیاء سه‌بعدی طراحی شده است. این شبکه می‌تواند برای تشخیص چهره سه‌بعدی هم مورد استفاده قرار گیرد. VoxNet از چندین لایه کانولوشنال سه‌بعدی و به دنبال آن‌ها لایه‌های کاملاً متصل یا FC برای طبقه‌بندی استفاده می‌کند. از کانولوشنال‌های سه‌بعدی برای یادگیری ویژگی‌های متمایز از داده‌های چهره سه‌بعدی استفاده می‌کند و نتایج امیدوارکننده‌ای را در مسائل مختلف تشخیص سه‌بعدی نشان داده است.
  • PointNet++و PointNet: در سال‌های 2017 و 2018 توسط Qi و همکاران یک شبکه CNN به طور خاص برای پردازش داده‌های ابر نقطه‌ای بدون ساختار طراحی شدند که می‌توانند برای تشخیص چهره سه‌بعدی نیز مورداستفاده قرار گیرند. PointNet بر روی نقاط خاص در فضای سه‌بعدی عمل کرده و ویژگی‌های محلی را جمع‌آوری می‌کند تا نمایش‌های global کل ابر نقطه را بیاموزد. PointNet++ نیز  با ترکیب گروه‌بندی سلسله‌مراتبی و عملیات انتشار ویژگی، شبکه PointNet  را گسترش می‌دهد و یادگیری ویژگی مؤثرتر از ابرهای نقطه‌ای با چگالی‌های متفاوت را امکان‌پذیر می‌سازد.
  • PointCNN توسط لی و همکاران در سال 2018 پیشنهاد شد. این شبکه برای پردازش داده‌های ابر نقطه‌ای طراحی شده است که ساختارهای هندسی محلی را حفظ می‌کند. این شبکه از یک عملیات permutation-invariant به نام "پیچیدگی نقطه" برای پردازش ابرهای نقطه‌ای ورودی‌ استفاده می‌کند که یادگیری ویژگی‌های مؤثر از اسکن‌های سه‌بعدی صورت را ممکن می‌سازد.
  • MeshNet: توسط Feng و همکارانش در سال 2018 معرفی شده است. این شبکه CNN به طور خاص برای پردازش مش‌های سه‌بعدی بدون ساختار طراحی شده است که قابلیت استفاده برای تشخیص چهره سه‌بعدی را نیز دارد. MeshNet روی رئوس و وجه‌های مش‌های سه‌بعدی عمل می‌کند و از لایه‌های کانولوشن گراف برای ثبت ویژگی‌های هندسی local و global استفاده می‌کند. این شامل عملیات جمع‌آوری مش و unpooling برای رسیدگی به تراکم مش‌های مختلف است که پردازش مؤثر داده‌های صورت سه‌بعدی را که به‌صورت مش نمایش داده می‌شوند را ممکن می‌سازد.
  • SphereNet در سال 2020 توسط دنگ و همکاران پیشنهاد شد. این شبکه برای تشخیص چهره سه‌بعدی بر اساس پارامترهای کروی اسکن‌های سه‌بعدی صورت طراحی شده است. در این شبکه از معماری سه‌بعدی U-Net اصلاح شده که بر روی پارامترهای کروی صورت استوار است و امکان استخراج ویژگی از داده‌های سه‌بعدی صورت را دارد، استفاده می‌شود. یکی از دلایل موفقیت این شبکه در تشخیص چهره 3D، استفاده از کانولوشن 3D و ارتباطات residual برای ثبت جزئیات دقیق و اطلاعات ساختاری global است.
  •  در سال 2020 سلطان‌پور و همکارانش یک مدل CNN مبتنی بر normal map تخمین زده شده از تغییرات محلی پیشنهاد دادند. این مدل از توصیفگرهای LDP استفاده کرد تا به‌دقت حدود 99 درصد دست یابد.
  • در سال 2022 نیز طالب و همکارانش با استفاده از توصیفگرهای مرتبه بالا در مرحله استخراج ویژگی و همین‌طور استفاده از نمایش تُنُک یک مدل CNN برای تشخیص چهره 3D پیشنهاد دادند. در این مدل از توصیفگر SIFT و depth LDP استفاده شد. این مدل به دقت حدود 97 درصد دست یافته است.
  • ShapeNets که در سال 2023 توسط جابری و همکارانش پیشنهاد شد، از مدل تشخیص اشیا سه‌بعدی 3D-ShapeNets الهام گرفت و با تنظیم روی دیتاست چهره 3D در کاربردهای تشخیص چهره 3D مورداستفاده قرار گرفت. این مدل به‌دقت حدود 95 درصد دست‌یافته است.

در تکنیک‌های تشخیص چهره 3D تکنیک‌های Domain adaptation و transfer learning برای حل چالش کمبود داده‌های برچسب‌گذاری شده و بهبود عملکرد مدل‌ها موردتوجه قرار می‌گیرند. این تکنیک‌ها از یک source domain که داده‌های برچسب‌گذاری شده فراوان دارند، استفاده می‌کنند و آن را به یک target domain با داده‌های برچسب‌گذاری شده محدود منتقل می‌کنند. در این تکنیک‌ها ابتدا در فاز pre-train، یک مدل deep-learning مانند CNN روی source domain آموزش داده می‌شود. با این کار، شبکه می‌آموزد چگونه اطلاعات اساسی و الگوی چهره را استخراج کند. با ایجاد مدل pre-train، فرایند transfer-learning برای تطبیق مدل فعلی و target domain صورت می‌گیرد. در این فرایند پارامترهای شبکه با استفاده از روش‌های بهینه‌سازی gradient-based مانند stochastic gradient descent  یا SGD به‌روزرسانی می­شوند. ذکر این نکته ضروری است که شبکه‌ی pre-train شده قابلیت استفاده بعنوان یک شبکه استخراج کننده ویژگی را دارند. زیرا تمامی لایه‌ها ثابت نگه داشته می‌شوند و تنها لایه آخر (برای مساله طبقه‌بندی یا رگرسیون) تغییر می‌کند. 

 

 

وبلاگ

برچسب های مطالب