گوگل بهتازگی روش MediaPipe را برای ماشین لرنینگ بدون کد بهصورت on-device برای رزبری پای (و iOS SDK)، عرضه کرده است؛ این روش قبلاً در ماه می برای نسخههای اندروید، وب و پایتون به طور رسمی عرضه شده بود.
” Low-code” در اینجا به معنی وجود حدود 150 خط کدنویسی برای اجرای تشخیص اشیا است.
نویسنده این مطلب Jean-Luc Aufranc میگوید:
پشتیبانی از پورت رزبری پای یک آپدیت بزرگ برای Python SDK است و از کلاسیفیکیشن صدا، تشخیص لندمارک چهره، تشخیص اشیا و تسکهای مختلف پردازش زبان طبیعی پشتیبانی میکند.
اجزای اصلی روش MediaPipe
بهطورکلی روش MediaPipe از سه بخش اصلی تشکیل شده است:
- تسکهای MediaPipe (low code): برای ایجاد و دیپلوی کردن پایپ لاینهای رمزگذاری end-to-end کاستوم ML از APIهای کراس پلتفرم و کتابخانهها استفاده میشود.
- MediaPipe Model Maker ( low code): برای ایجاد مدلهای کاستوم ML کاربرد دارد.
- صفحه وب MediaPipe Studio ( no-code): برای ایجاد، ارزیابی، دیباگ، بنچ مارک، پروتوتایپ و دیپلوی کردن میزان تولید استفاده میشود.
شما میتوانید صفحه وب MediaPipe Studio را در مرورگر خود باز کنید. همچنین، میتوانید قابلیت تشخیص اشیا را در اوبونتو 22.04 آزمایش کنید.
تسکهای MediaPipe را میتوان بهراحتی با pip روی رزبری پای OS نصب کرد:
1 | python -m pip install mediapipe |
شما میتوانید نمونههایی برای رزبری پای و همچنین، پلتفرمهای دیگر در گیتهاب پیدا کنید. برای انجام این کار، شما باید هر یک از دایرکتوریهای موجود را وارد کنید؛ اگر نمونههای رزبری پای در لیست باشد، خیلی خوششانس هستید.
برخی از نمونهها مانند face_detector (تشخیص چهره) هنوز توسط رزبری پای پشتیبانی نمیشوند (بهعبارتدیگر، هنوز برای آنها توسعهنیافته است، اما امکان توسعه آن وجود دارد). همچنین، بیشتر نمونهها از جمله face_landmarker (لندمارکر چهره) و object_detection (تشخیص اشیا) توسط رزبری پای پشتیبانی میشوند.
نصب و اجرای نمونهها بر روی برد رزبری پای توسط دوربین official یا دوربین USB بسیار ساده است:
1 2 3 4 | git clone https://github.com/googlesamples/mediapipe/ cd mediapipe/examples/object_detection/raspberry_pi sh setup.sh python3 detect.py --model efficientdet_lite0.tflite |
در واقع، اسکریپت، کامند pip را برای نصب mediapipe اجرا میکند؛ بنابراین اولین کامند لاین موجود در این مقاله موردنیاز نیست.
هنگامی که برنامه اجرا میشود، شما میتوانید باکسهایی را در اطراف اشیا با نام (persons/cup) و درصد اطمینان به درستی این تشخیص را مشاهده کنید. توجه داشته باشید که نرخ فریم در سختافزار رزبری پای کمی پایین است و مقدار آن حدود 2 فریم بر ثانیه است. این پروگرام را میتوان با گزینههایی برای محدودکردن تعداد اشیا تشخیصدادهشده و همچنین، تنظیمکردن آستانه تشخیص، اجرا کرد:
1 2 3 4 | python3 detect.py \ --model efficientdet_lite0.tflite \ --maxResults 5 \ --scoreThreshold 0.3 |
شما میتوانید اطلاعات بیشتر در مورد روش جدید MediaPipe را در وبسایت Google for Developers و همچنین، اطلاعیهای که جزئیات بیشتری در مورد کد پایتون جهت تشخیص اشیا در رزبری پای ارائه کرده است، پیدا کنید.
منبع: CNX SOFTWARE