راهنمای تشخیص چهره

سه نفر که چهره‌هایشان با کادرهای محدودکننده مشخص شده است

وظیفه تشخیص چهره MediaPipe به شما امکان می‌دهد چهره‌ها را در یک تصویر یا ویدیو تشخیص دهید. می‌توانید از این وظیفه برای مکان‌یابی چهره‌ها و ویژگی‌های صورت در یک فریم استفاده کنید. این وظیفه از یک مدل یادگیری ماشین (ML) استفاده می‌کند که با تصاویر تکی یا جریان پیوسته‌ای از تصاویر کار می‌کند. این وظیفه مکان چهره‌ها را به همراه نکات کلیدی صورت زیر خروجی می‌دهد: چشم چپ، چشم راست، نوک بینی، دهان، انحراف چشم چپ و انحراف چشم راست.

امتحانش کن!

شروع کنید

با دنبال کردن یکی از این راهنماهای پیاده‌سازی برای پلتفرم مورد نظر خود، استفاده از این وظیفه را شروع کنید. این راهنماهای مختص پلتفرم، شما را در پیاده‌سازی اولیه این وظیفه، شامل یک مدل پیشنهادی و نمونه کد با گزینه‌های پیکربندی پیشنهادی، راهنمایی می‌کنند:

جزئیات وظیفه

این بخش قابلیت‌ها، ورودی‌ها، خروجی‌ها و گزینه‌های پیکربندی این وظیفه را شرح می‌دهد.

ویژگی‌ها

  • پردازش تصویر ورودی - پردازش شامل چرخش تصویر، تغییر اندازه، نرمال‌سازی و تبدیل فضای رنگ است.
  • آستانه امتیاز - نتایج را بر اساس امتیازات پیش‌بینی فیلتر کنید.
ورودی‌های وظیفه خروجی‌های وظیفه
تشخیص چهره، ورودی یکی از انواع داده‌های زیر را می‌پذیرد:
  • تصاویر ثابت
  • فریم‌های ویدیویی رمزگشایی شده
  • فید ویدیویی زنده
خروجی تشخیص چهره به صورت زیر است:
  • جعبه‌های مرزی برای چهره‌های شناسایی‌شده در یک قاب تصویر.
  • مختصات ۶ نقطه عطف چهره برای هر چهره شناسایی شده.

گزینه‌های پیکربندی

این وظیفه گزینه‌های پیکربندی زیر را دارد:

نام گزینه توضیحات محدوده ارزش مقدار پیش‌فرض
running_mode حالت اجرا را برای وظیفه تنظیم می‌کند. سه حالت وجود دارد:

تصویر: حالت ورودی‌های تک تصویر.

ویدئو: حالتی برای فریم‌های رمزگشایی‌شده‌ی یک ویدئو.

LIVE_STREAM: حالتی برای پخش زنده داده‌های ورودی، مثلاً از یک دوربین. در این حالت، باید resultListener فراخوانی شود تا یک شنونده برای دریافت نتایج به صورت غیرهمزمان تنظیم شود.
{ IMAGE, VIDEO, LIVE_STREAM } IMAGE
min_detection_confidence حداقل امتیاز اطمینان برای تشخیص چهره که موفقیت‌آمیز تلقی شود. Float [0,1] 0.5
min_suppression_threshold حداقل آستانه‌ی غیرحداکثریِ سرکوب برای تشخیص چهره که باید همپوشانی در نظر گرفته شود. Float [0,1] 0.3
result_callback شنونده نتیجه را طوری تنظیم می‌کند که وقتی تشخیص‌دهنده چهره در حالت پخش زنده است، نتایج تشخیص را به صورت غیرهمزمان دریافت کند. فقط زمانی قابل استفاده است که حالت اجرا روی LIVE_STREAM تنظیم شده باشد. N/A Not set

مدل‌ها

مدل‌های تشخیص چهره می‌توانند بسته به موارد استفاده مورد نظرشان، مانند تشخیص برد کوتاه و برد بلند، متفاوت باشند. مدل‌ها همچنین معمولاً بین عملکرد، دقت، وضوح و منابع مورد نیاز، تعادل برقرار می‌کنند و در برخی موارد، ویژگی‌های اضافی را نیز شامل می‌شوند.

مدل‌های ذکر شده در این بخش، انواعی از BlazeFace هستند، یک آشکارساز چهره سبک و دقیق که برای استنتاج GPU موبایل بهینه شده است. مدل‌های BlazeFace برای کاربردهایی مانند تخمین نقاط کلیدی چهره سه‌بعدی، طبقه‌بندی حالت چهره و تقسیم‌بندی ناحیه چهره مناسب هستند. BlazeFace از یک شبکه استخراج ویژگی سبک مشابه MobileNetV1/V2 استفاده می‌کند.

بلیزفیس (برد کوتاه)

یک مدل سبک برای تشخیص چهره‌های تکی یا چندگانه در تصاویر سلفی مانند از دوربین گوشی هوشمند یا وب‌کم. این مدل برای تصاویر دوربین جلوی گوشی در برد کوتاه بهینه شده است. معماری مدل از تکنیک شبکه کانولوشنی آشکارساز تک شات (SSD) با یک رمزگذار سفارشی استفاده می‌کند. برای اطلاعات بیشتر، به مقاله تحقیقاتی در مورد آشکارساز چند جعبه‌ای تک شات مراجعه کنید.

نام مدل شکل ورودی نوع کوانتیزاسیون کارت مدل نسخه‌ها
بلیزفیس (برد کوتاه) ۱۲۸ در ۱۲۸ شناور ۱۶ اطلاعات جدیدترین‌ها

بلیزفیس (تمام برد)

یک مدل نسبتاً سبک برای تشخیص چهره‌های تکی یا چندگانه در تصاویر دوربین یا وب‌کم گوشی‌های هوشمند. این مدل برای تصاویر با برد کامل، مانند تصاویر گرفته شده با دوربین پشتی گوشی، بهینه شده است. معماری مدل از تکنیکی مشابه شبکه کانولوشنی CenterNet با یک رمزگذار سفارشی استفاده می‌کند.

نام مدل شکل ورودی نوع کوانتیزاسیون کارت مدل نسخه‌ها
بلیزفیس (تمام برد) ۱۲۸ در ۱۲۸ شناور ۱۶ اطلاعات جدیدترین‌ها

BlazeFace Sparse (تمام برد)

یک نسخه سبک‌تر از مدل BlazeFace معمولی با برد کامل، تقریباً ۶۰٪ کوچکتر. این مدل برای تصاویر با برد کامل، مانند تصاویر گرفته شده با دوربین پشتی تلفن، بهینه شده است. معماری مدل از تکنیکی مشابه شبکه کانولوشن CenterNet با یک رمزگذار سفارشی استفاده می‌کند.

نام مدل شکل ورودی نوع کوانتیزاسیون کارت مدل نسخه‌ها
BlazeFace Sparse (تمام برد) ۱۲۸ در ۱۲۸ شناور ۱۶ اطلاعات جدیدترین‌ها

معیارهای وظیفه

در اینجا معیارهای وظیفه برای کل خط لوله بر اساس مدل‌های از پیش آموزش‌دیده فوق آمده است. نتیجه تأخیر، میانگین تأخیر در Pixel 6 با استفاده از CPU/GPU است.

نام مدل تأخیر پردازنده تأخیر پردازنده گرافیکی
بلیزفیس (برد کوتاه) ۲.۹۴ میلی‌ثانیه ۷.۴۱ میلی‌ثانیه