وظیفه MediaPipe Image Embedder به شما امکان می دهد یک نمایش عددی از یک تصویر ایجاد کنید که در انجام وظایف مختلف تصویر مبتنی بر ML مفید است. این قابلیت اغلب برای مقایسه شباهت دو تصویر با استفاده از تکنیک های مقایسه ریاضی مانند شباهت کسینوس استفاده می شود. این وظیفه بر روی داده های تصویری با مدل یادگیری ماشینی (ML) به عنوان داده ایستا یا یک جریان پیوسته عمل می کند و یک نمایش عددی از داده های تصویر را به عنوان لیستی از بردارهای ویژگی با ابعاد بالا، که به عنوان بردارهای جاسازی نیز شناخته می شوند، به صورت شناور خروجی می دهد. شکل نقطه ای یا کوانتیزه شده
شروع کنید
استفاده از این کار را با دنبال کردن یکی از این راهنماهای پیاده سازی برای پلتفرم هدف خود شروع کنید. این راهنماهای مخصوص پلتفرم شما را با استفاده از یک مدل توصیهشده، پیادهسازی اولیه این کار را راهنمایی میکنند و نمونههایی از کد را با گزینههای پیکربندی توصیهشده ارائه میکنند:
جزئیات کار
این بخش قابلیت ها، ورودی ها، خروجی ها و گزینه های پیکربندی این کار را شرح می دهد.
امکانات
- پردازش تصویر ورودی - پردازش شامل چرخش تصویر، تغییر اندازه، عادی سازی و تبدیل فضای رنگی است.
- منطقه مورد علاقه - به جای کل تصویر، یک منطقه از تصویر را جاسازی می کند.
- تعبیه محاسبات تشابه - تابع ابزار داخلی برای محاسبه شباهت کسینوس بین دو بردار ویژگی
- Quantization - از کوانتیزهسازی اسکالر برای بردارهای ویژگی پشتیبانی میکند.
ورودی های وظیفه | خروجی های وظیفه |
---|---|
ورودی می تواند یکی از انواع داده های زیر باشد:
| Image Embedder لیستی از جاسازیها شامل موارد زیر را خروجی میدهد:
|
گزینه های پیکربندی
این کار دارای گزینه های پیکربندی زیر است:
نام گزینه | شرح | محدوده ارزش | مقدار پیش فرض |
---|---|---|---|
running_mode | حالت اجرا را برای کار تنظیم می کند. سه حالت وجود دارد: IMAGE: حالت برای ورودی های تک تصویر. VIDEO: حالت برای فریم های رمزگشایی شده یک ویدیو. LIVE_STREAM: حالت پخش زنده داده های ورودی، مانند دوربین. در این حالت، resultListener باید فراخوانی شود تا شنونده ای را برای دریافت نتایج به صورت ناهمزمان تنظیم کند. | { IMAGE, VIDEO, LIVE_STREAM } | IMAGE |
l2_normalize | آیا باید بردار ویژگی بازگشتی را با نرمال L2 عادی سازی کرد. فقط در صورتی از این گزینه استفاده کنید که مدل از قبل دارای یک L2_NORMALIZATION TFLite Op بومی نباشد. در بیشتر موارد، این قبلاً وجود دارد و بنابراین عادی سازی L2 از طریق استنتاج TFLite بدون نیاز به این گزینه حاصل می شود. | Boolean | False |
quantize | اینکه آیا تعبیه برگشتی باید از طریق کوانتیزه کردن اسکالر به بایت تبدیل شود یا خیر. تعبیهها به طور ضمنی واحد هنجار فرض میشوند و بنابراین هر بعد تضمین میشود که مقداری در [-1.0، 1.0] داشته باشد. اگر اینطور نیست از گزینه l2_normalize استفاده کنید. | Boolean | False |
result_callback | شنونده نتیجه را طوری تنظیم میکند که وقتی که Image Embedder در حالت پخش زنده است، نتایج جاسازی را به صورت ناهمزمان دریافت کند. فقط زمانی قابل استفاده است که حالت اجرا روی LIVE_STREAM تنظیم شده باشد | N/A | تنظیم نشده |
مدل ها
Image Embedder به یک مدل جاسازی تصویر نیاز دارد که دانلود و در فهرست پروژه شما ذخیره شود. هنگامی که شروع به توسعه با این کار می کنید، با مدل پیش فرض و توصیه شده برای پلتفرم هدف خود شروع کنید. سایر مدلهای موجود معمولاً بین عملکرد، دقت، وضوح و نیازهای منابع، معاوضه ایجاد میکنند و در برخی موارد، ویژگیهای اضافی را نیز شامل میشوند.
مدل MobileNetV3
این خانواده مدل از معماری MobileNet V3 استفاده می کند و با استفاده از داده های ImageNet آموزش داده شده است. این مدل از ضریب 0.75 برای عمق (تعداد ویژگی ها) در لایه های کانولوشن استفاده می کند تا مبادله دقت و تأخیر را تنظیم کند. علاوه بر این، MobileNet V3 در دو اندازه مختلف، کوچک و بزرگ، برای تطبیق شبکه با موارد استفاده کم یا زیاد از منابع ارائه میشود.
نام مدل | شکل ورودی | نوع کوانتیزاسیون | نسخه ها |
---|---|---|---|
MobileNet-V3 (کوچک) | 224 x 224 | هیچکدام (float32) | آخرین |
MobileNet-V3 (بزرگ) | 224 x 224 | هیچکدام (float32) | آخرین |
معیارهای وظیفه
در اینجا معیارهای کار برای کل خط لوله بر اساس مدل های از پیش آموزش دیده بالا آمده است. نتیجه تأخیر، متوسط تأخیر پیکسل 6 با استفاده از CPU / GPU است.
نام مدل | تاخیر CPU | تاخیر GPU |
---|---|---|
MobileNet-V3 (کوچک) | 3.94 میلیثانیه | 7.83 میلیثانیه |
MobileNet-V3 (بزرگ) | 9.75 میلیثانیه | 9.08 میلیثانیه |