زمان تخمینی مطالعه: 7 دقیقه
تشخیص چهره برای چندین دهه موضوعی داغ در حوزه پردازش تصویر و هوش مصنوعی بوده است. در این حوزه کتابخانههای زیادی معرفی شده است ولی DeepFace بسیار محبوب شده است و در برنامههای متعدد تشخیص چهره از آن استفاده میشود.
Deepface چیست؟
DeepFace در واقع سبکترین کتابخانه تشخیص چهره و تجزیه و تحلیل ویژگیهای چهره برای پایتون است. کتابخانه منبع باز DeepFace شامل تمام مدلهای پیشرفته هوش مصنوعی برای تشخیص چهره مدرن است و به طور خودکار تمام مراحل تشخیص چهره را در پس زمینه انجام میدهد. این کتابخانه قابلیت اجرا تنها با چند خط کد را دارد و نیازی به کسب دانش عمیق در مورد تمام فرآیندهای پشت آن ندارید. با اجرای DeepFace به مجموعهای از ویژگیها دسترسی خواهید داشت که شامل موارد زیر است:
- تأیید چهره Face Verification: وظیفه تأیید چهره به مقایسه یک چهره با چهره دیگر برای تأیید مطابقت یا عدم تطابق آن اشاره دارد. از این رو، تأیید چهره معمولاً برای مقایسه چهره یک نامزد با دیگری استفاده میشود. از ویژگی میتوان برای تأیید مطابقت چهره فیزیکی با چهره موجود در یک سند شناسایی استفاده کرد.
- شناسایی چهره Face Recognition: این وظیفه به یافتن چهره در پایگاه داده تصویر اشاره دارد. انجام تشخیص چهره نیازمند اجرای چندین بار تأیید چهره است.
- تجزیه و تحلیل ویژگیهای چهره: وظیفه تجزیه و تحلیل ویژگیهای چهره به توصیف ویژگیهای بصری تصاویر چهره اشاره دارد. بر این اساس، تجزیه و تحلیل ویژگیهای چهره برای استخراج ویژگیهایی مانند سن، طبقهبندی جنسیت، تجزیه و تحلیل احساسات، یا پیش بینی نژاد و قومیت استفاده میشود.
- تجزیه و تحلیل چهره بلادرنگ: این ویژگی شامل آزمایش تشخیص چهره و تجزیه و تحلیل ویژگیهای چهره با فید ویدیوی بلادرنگ وب کم شما است.
چگونه از DeepFace استفاده کنیم؟
Deepface یک پروژه متن باز است که به زبان پایتون نوشته شده و تحت مجوز MIT مجوز دارد. توسعه دهندگان مجاز به استفاده، تغییر و توزیع کتابخانه در هر دو زمینه خصوصی یا تجاری هستند. کتابخانه دیپ فیس همچنین در فهرست بسته پایتون (PyPI)، مخزن نرم افزاری برای زبان برنامه نویسی پایتون منتشر شده است. در ادامه نحوه نصب DeepFace را خواهیم آموخت:
– نصب بسته DeepFace
سادهترین و سریعترین راه برای نصب بسته DeepFace فراخوانی دستور زیر است که خود کتابخانه و تمامی پیش نیازهای GitHub را نصب میکند.
#Repo: https://github.com/serengil/deepface
pip install deepface
– وارد کردن(Import) کتابخانه
سپس با استفاده از دستور زیر میتوانید کتابخانه را وارد کرده و از قابلیتهای آن استفاده کنید.
from deepface import DeepFace
محبوبترین مدلهای تشخیص چهره
در حالی که اکثر کتابخانههای جایگزین تشخیص چهره یک مدل هوش مصنوعی را ارائه میکنند، کتابخانه DeepFace بسیاری از مدلهای تشخیص چهره پیشرفته را پوشش میدهد. از این رو، سادهترین راه برای استفاده از الگوریتم فیسبوک DeepFace و سایر الگوریتمهای تشخیص چهره بالا در زیر است. الگوریتمهای یادگیری عمیق تشخیص چهره زیر را میتوان با کتابخانه DeepFace استفاده کرد. بسیاری از آنها بر اساس پیشرفتهترین شبکههای عصبی کانولوشنال (CNN) هستند و بهترین نتایج را در کلاس ارائه میدهند.
- VGG-Face: عبارت VGG مخفف Visual Geometry Group است. شبکه عصبی VGG (VGGNet) یکی از پرکاربردترین مدلهای تشخیص تصویر مبتنی بر شبکههای عصبی کانولوشن عمیق است. معماری VGG به دلیل دستیابی به نتایج برتر در چالش ImageNet مشهور شد. این مدل توسط محققان دانشگاه آکسفورد طراحی شده است. در حالی که VGG-Face ساختاری مشابه مدل معمولی VGG دارد، با تصاویر چهره تنظیم شده است. مدل تشخیص چهره VGG دقت 97.78 درصدی را در مجموعه داده محبوب Labeled Faces in the Wild (LFW) به دست آورده است.
- فیس نت گوگل: این مدل توسط محققان گوگل ساخته شده است. FaceNet به عنوان یک مدل پیشرفته برای شناسایی و تشخیص چهره با یادگیری عمیق در نظر گرفته میشود. از FaceNet میتوان برای تشخیص چهره، تأیید و خوشهبندی استفاده کرد (خوشهبندی چهره برای خوشهبندی عکسهای افراد با هویت یکسان استفاده میشود). مزیت اصلی FaceNet راندمان و عملکرد بالای آن است، گزارش شده است که دقت 99.63٪ در مجموعه داده LFW و 95.12٪ در YouTube Faces DB را به دست می آورد.
- OpenFace: این مدل تشخیص چهره توسط محققان دانشگاه کارنگی ملون ساخته شده است. از این رو، OpenFace به شدت از پروژه FaceNet الهام گرفته شده است، اما این سبک وزنتر است و نوع مجوز آن انعطاف پذیرتر است. OpenFace به دقت 93.80 درصد در مجموعه داده LFW دست مییابد.
- فیس بوک DeepFace: این مدل تشخیص چهره توسط محققان فیس بوک توسعه داده شده است. الگوریتم فیسبوک DeepFace بر روی مجموعه داده برچسبگذاری شده از چهار میلیون چهره متعلق به بیش از 4000 نفر آموزش داده شد که در زمان انتشار بزرگترین مجموعه داده چهره بود. این رویکرد مبتنی بر یک شبکه عصبی عمیق با نه لایه است. مدل فیس بوک به دقت 97.35٪ (+/- 0.25٪) در معیار داده LFW دست مییابد. محققان ادعا میکنند که الگوریتم فیس بوک DeepFace شکاف را برای عملکرد سطح انسانی (97.53٪) در همان مجموعه داده کاهش میدهد. این نشان میدهد که DeepFace گاهی اوقات در انجام کارهای تشخیص چهره موفقتر از انسانها است.
- DeepID: الگوریتم تأیید چهره DeepID تشخیص چهره را بر اساس یادگیری عمیق انجام میدهد. این یکی از اولین مدلهایی بود که از شبکههای عصبی کانولوشنال استفاده کرد و به عملکردی بهتر از انسان در وظایف تشخیص چهره دست یافت. Deep-ID توسط محققان دانشگاه چینی هنگ کنگ معرفی شد. سیستمهای مبتنی بر تشخیص چهره DeepID از اولین سیستمهایی بودند که از عملکرد انسان در این کار پیشی گرفتند. به عنوان مثال، DeepID2 به 99.15٪ در مجموعه داده های Labeled Faces in the Wild (LFW) دست یافت.
- Dlib: مدل تشخیص چهره Dlib خود را «سادهترین API تشخیص چهره در جهان برای پایتون» مینامد. مدل یادگیری ماشین برای تشخیص و دستکاری چهرهها از پایتون یا از خط فرمان استفاده میکند. در حالی که کتابخانه dlib در اصل به زبان ++C نوشته شده است، دارای اینرفیس پایتون با قابلیت استفاده آسان است. جالب اینجاست که مدل Dlib توسط یک گروه تحقیقاتی طراحی نشده است. این مدل توسط دیویس ای کینگ، توسعه دهنده اصلی کتابخانه پردازش تصویر Dlib معرفی شده است. ابزار تشخیص چهره Dlib تصویری از چهره انسان را به یک فضای برداری 128 بعدی نگاشت میکند، جایی که تصاویر افراد مشابه نزدیک به یکدیگر هستند و تصاویر افراد مختلف از هم دور هستند. بنابراین، dlib با نگاشت چهرهها به فضای 128d و سپس بررسی اینکه آیا فاصله اقلیدسی آنها به اندازه کافی کم است، تشخیص چهره را انجام میدهد. با آستانه فاصله 0.6، مدل dlib به دقت 99.38 درصد در معیار استاندارد تشخیص چهره LFW دست یافت که آن را در میان بهترین الگوریتمها برای تشخیص چهره قرار میدهد.
- ArcFace: این مورد جدیدترین مدل در بین تمامی مدلها است. طراحان مشترک آن محققان کالج امپریال لندن و InsightFace هستند. مدل ArcFace به دقت 99.40 درصد در مجموعه داده LFW دست مییابد.