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
2. پروژه را کامپایل و فلش کنید.
idf.py build
idf.py flash -p [PORT]
کاربران پیشرفته می توانند برخی از گزینه ها را با استفاده از دستور idf.py menuconfig
تغییر دهند.
پیکربندی پیش فرض همه مثالها بر اساس ESP-EYE است.
برای جزئیات بیشتر README.md هر مثال را بررسی کنید.
bin پیش فرض اینجاست. برای نوشتن bin پیش فرض در ESP-EYE می توانید از Flash Download Tools استفاده کنید.
منبع: https://github.com/espressif/esp-who