ESP-WHO یک پلتفرم شناسایی و تشخیص چهره است که در حال حاضر بر اساس تراشه ESP32 سیستم های Espressif طراحی شده است.

ESP-WHO از توسعه برنامه های تشخیص چهره و تشخیص مبتنی بر تراشه ESP32 سیستم های Espressif به راحت ترین روش پشتیبانی می کند. با ESP-WHO، به راحتی می توانید برنامه های کاربردی با قابلیت تشخیص چهره و شناسایی ایجاد کنید.

به طور کلی، ویژگی های ESP-WHO مطابق شکل زیر پشتیبانی می شود:

در ESP-WHO، تشخیص، شناسایی و Image Utility هسته اصلی پلتفرم است.

  • ارائه API های اساسی پردازش تصویر باImage Utility
  • Detectionتشخیص تصاویر را به عنوان ورودی می گیرد و در صورت وجود چهره، موقعیت چهره را نشان می دهد. با مدل MTMN اجرا می شود که بهMTCNNوMobileNetsاشاره دارد.
  • Recognitionشناسایی عبارت است از شناسایی شخص خاص، و نیاز به نتایج تشخیص دارد. با مدل MobileFace پیاده سازی شده است.
  • Optimizationبهینه سازی عمدتا برای افزایش دقت نتیجه گیری و تسریع کل فرایند است. اما همچنین ممکن است ساختار شبکه را تغییر دهد، ضرایب را به روز کند، کد را تغییر دهد و غیره.

هر دو ورودی و خروجی انعطاف پذیر هستند.

  • منابع تصویر می توانند از طریق دوربین وارد شوند. با این حال ESP، درایورهای زیادی را در حال حاضر ارائه نمی دهد، درایورهای دیگر ماژول های دوربین در آینده منتشر می شوند.
  • نتایج می تواند از طریق خط فرمان، LCD یا حتی وب سایت از طریق سرویس Wi-Fi http نمایش داده شود.

شروع سریع با ESP-WHO

برای اجرای ESP-WHO، باید یک برد توسعه داشته باشید که یک ماژول ESP32 را که دارای پین GPIO کافی و بیش از 4 مگابایت RAM خارجی SPI است، ادغام کند.ESP-WROVER-KITیاESP-EYEمی توانند انتخاب خوبی به عنوان برد تست باشند.

در مورد نحوه پیکربندی ماژول ESP32 برای برنامه های خود، به README.md هر example مراجعه کنید.

آماده سازی نرم افزار

تصویر

رزولوشن توصیه شده تصویر ورودی QVGA (320x240) است.

در مورد انتخاب دوربین به عنوان یک تصویر، مطمئن شوید که ماژول ESP32 که انتخاب می کنید پین های خاصی را که دوربین شما نیاز دارد ارائه می دهد.

در حال حاضر، ESP برخی از درایورهای دوربین ها ارائه کرده است که برای شروع توصیه می شود:

OV2640

OV3660

OV5640

ESP-WHO

مطمئن شوید که پروژه را بصورت بازگشتی کلون کرده اید:

git clone --recursive https://github.com/espressif/esp-who.git

اگر پروژه را بدون فلگ--recursiveکلون می کنید، لطفاً به فهرستesp-whoبروید و قبل از انجام هر کاری دستورgit submodule updateرا اجرا کنید.

ESP-IDF

برای اطلاع از دستورالعمل های دقیق راه اندازی ESP-IDF به راهنماهای راه اندازی مراجعه کنید:

اینجا ESP-IDF v4.0 را به عنوان نسخه پیش فرض در نظر می گیریم.

کامپاننت

کامپوننت ها چارچوب اصلی SDK هستند که دارای برخی درایورها و الگوریتم در آن هستند.

دوربین

کامپاننتدوربینشامل درایورهای دستگاه دوربین ESP32 است.

esp-face

کامپاننت esp-face شامل API های شبکه های عصبی ESP-WHO، از جمله فریمورک شناسایی و تشخیص چهره است.

مثال ها

پوشه مثال ها شامل نمونه برنامه هایی است که ویژگی های API ESP-WHO را نشان می دهد.

به عنوان مثال یک تشخیص چهره را در نظر بگیرید.

  1. وارد یک نمونه پوشهesp-who/samples/single_chip/face_detection_with_command_lineشوید.
cd esp-who/examples/single_chip/face_detection_with_command_line
  1. پروژه را کامپایل و فلش کنید.
idf.py buildidf.py flash -p [PORT]

کاربران پیشرفته می توانند برخی از گزینه ها را با استفاده از دستورidf.py menuconfigتغییر دهند.

پیکربندی پیش فرض همه مثالها بر اساسESP-EYEاست.

برای جزئیات بیشتر README.md هر مثال را بررسی کنید.

bin پیش فرضاینجاست. برای نوشتن bin پیش فرض در ESP-EYE می توانید ازFlash Download Toolsاستفاده کنید.

منبع: https://github.com/espressif/esp-who