راهنمای کار جاسازی تصویر

وظیفه 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 میلی‌ثانیه