بهطور پیشفرض، APIهای ML Kit از مدلهای یادگیری ماشین آموزشدیده Google استفاده میکنند. این مدل ها برای پوشش طیف وسیعی از کاربردها طراحی شده اند. با این حال، برخی از موارد استفاده نیاز به مدل هایی دارند که هدفمندتر هستند. به همین دلیل است که برخی از API های ML Kit اکنون به شما امکان می دهند مدل های پیش فرض را با مدل های سفارشی TensorFlow Lite جایگزین کنید.
هر دو Image Labeling و Object Detection & Tracking API از مدل های طبقه بندی تصاویر سفارشی پشتیبانی می کنند. آنها با مجموعه ای از مدل های از پیش آموزش دیده با کیفیت بالا در TensorFlow Hub یا مدل سفارشی شما که با TensorFlow، AutoML Vision Edge یا TensorFlow Lite Model Maker آموزش دیده سازگار هستند.
اگر به یک راه حل سفارشی برای سایر دامنه ها یا موارد استفاده نیاز دارید، برای راهنمایی در مورد همه راه حل ها و ابزارهای Google برای یادگیری ماشین روی دستگاه، از صفحه یادگیری ماشین روی دستگاه دیدن کنید.
مزایای استفاده از کیت ML با مدل های سفارشی
مزایای استفاده از یک مدل طبقه بندی تصویر سفارشی با کیت ML عبارتند از:
- APIهای سطح بالا با کاربری آسان - نیازی به پرداختن به ورودی/خروجی مدل سطح پایین، مدیریت تصویر قبل/پس از پردازش یا ساخت خط لوله پردازش نیست.
- نیازی به نگرانی در مورد نقشه برداری برچسب خود نباشید ، کیت ML برچسب ها را از ابرداده مدل TFLite استخراج می کند و نقشه برداری را برای شما انجام می دهد.
- از مدل های سفارشی از طیف گسترده ای از منابع، از مدل های از پیش آموزش دیده منتشر شده در TensorFlow Hub تا مدل های جدید آموزش دیده با TensorFlow، AutoML Vision Edge یا TensorFlow Lite Model Maker پشتیبانی می کند .
- از مدل های میزبانی شده با Firebase پشتیبانی می کند . اندازه APK را با دانلود مدلهای درخواستی کاهش میدهد. بهروزرسانیهای مدل را بدون انتشار مجدد برنامه خود فشار دهید و با Firebase Remote Config تست A/B آسان انجام دهید.
- برای ادغام با APIهای دوربین اندروید بهینه شده است.
و به طور خاص برای تشخیص و ردیابی اشیا :
- دقت طبقه بندی را با مکان یابی اشیاء در ابتدا بهبود بخشید و فقط طبقه بندی کننده را در ناحیه تصویر مربوطه اجرا کنید.
- با ارائه بازخورد فوری به کاربران خود در مورد اشیایی که در حال شناسایی و طبقه بندی هستند ، یک تجربه تعاملی در زمان واقعی ارائه دهید .
از یک مدل طبقه بندی تصویر از قبل آموزش دیده استفاده کنید
می توانید از مدل های TensorFlow Lite از قبل آموزش دیده استفاده کنید، مشروط بر اینکه مجموعه ای از معیارها را داشته باشند. ما از طریق TensorFlow Hub مجموعهای از مدلهای بررسیشده - از Google یا سایر سازندگان مدل را ارائه میدهیم که این معیارها را برآورده میکنند.
از یک مدل منتشر شده در TensorFlow Hub استفاده کنید
TensorFlow Hub طیف گستردهای از مدلهای طبقهبندی تصویر از پیش آموزشدیده را ارائه میدهد - از سازندگان مدلهای مختلف - که میتوانند با برچسبگذاری تصویر و تشخیص اشیاء و APIهای ردیابی استفاده شوند. این مراحل را دنبال کنید.
- مدلی را از مجموعه مدل های سازگار با کیت ML انتخاب کنید.
- فایل مدل tflite. را از صفحه جزئیات مدل دانلود کنید. در صورت وجود، یک قالب مدل با فراداده انتخاب کنید.
- راهنمای ما را برای Image Labeling API یا Object Detection and Tracking API در مورد نحوه بسته بندی فایل مدل با پروژه خود و استفاده از آن در برنامه Android یا iOS خود دنبال کنید.
مدل طبقه بندی تصویر خود را آموزش دهید
اگر هیچ مدل طبقهبندی تصویر از پیش آموزشدیدهای متناسب با نیاز شما نیست، راههای مختلفی برای آموزش مدل TensorFlow Lite وجود دارد که برخی از آنها در زیر به طور کلی توضیح داده شده و با جزئیات بیشتر مورد بحث قرار گرفتهاند.
گزینه هایی برای آموزش مدل طبقه بندی تصویر خود | |
---|---|
AutoML Vision Edge |
|
مدل ساز TensorFlow Lite |
|
یک مدل TensorFlow را به TensorFlow Lite تبدیل کنید |
|
AutoML Vision Edge
مدلهای طبقهبندی تصویر که با استفاده از AutoML Vision Edge آموزش دیدهاند، توسط مدلهای سفارشی موجود در APIهای API برچسبگذاری تصویر و تشخیص اشیاء و ردیابی پشتیبانی میشوند. این APIها همچنین از دانلود مدلهایی پشتیبانی میکنند که با استقرار مدل Firebase میزبانی میشوند.
برای کسب اطلاعات بیشتر در مورد نحوه استفاده از یک مدل آموزش دیده با AutoML Vision Edge در برنامههای Android و iOS، بسته به مورد استفاده خود، از راهنمای مدل سفارشی برای هر API پیروی کنید.
مدل ساز TensorFlow Lite
کتابخانه TFLite Model Maker فرآیند انطباق و تبدیل یک مدل شبکه عصبی TensorFlow به داده های ورودی خاص را هنگام استقرار این مدل برای برنامه های کاربردی ML روی دستگاه ساده می کند. میتوانید طبقهبندی Colab برای تصویر را با TensorFlow Lite Model Maker دنبال کنید.
برای کسب اطلاعات بیشتر درباره نحوه استفاده از مدل آموزش دیده با Model Maker در برنامههای Android و iOS، بسته به مورد استفاده خود، راهنمای ما را برای Image Labeling API یا Object Detection and Tracking API دنبال کنید.
مدل های ایجاد شده با استفاده از مبدل TensorFlow Lite
اگر یک مدل طبقه بندی تصویر TensorFlow موجود دارید، می توانید آن را با استفاده از مبدل TensorFlow Lite تبدیل کنید. لطفاً مطمئن شوید که مدل ایجاد شده با شرایط سازگاری زیر مطابقت دارد.
برای کسب اطلاعات بیشتر درباره نحوه استفاده از مدل TensorFlow Lite در برنامههای Android و iOS، بسته به مورد استفاده خود، راهنمای ما را برای Image Labeling API یا Object Detection and Tracking API دنبال کنید.
سازگاری مدل TensorFlow Lite
میتوانید از هر مدل طبقهبندی تصویر TensorFlow Lite از پیش آموزشدیدهشده استفاده کنید، مشروط بر اینکه شرایط زیر را داشته باشد:
تانسورها
- مدل باید فقط یک تانسور ورودی با قیود زیر داشته باشد:
- داده ها در قالب پیکسل RGB هستند.
- داده ها از نوع UINT8 یا FLOAT32 هستند. اگر نوع تانسور ورودی FLOAT32 باشد، باید NormalizationOptions را با پیوست کردن Metadata مشخص کند.
- تانسور دارای 4 بعد است: BxHxWxC، که در آن:
- B اندازه دسته است. باید 1 باشد (استنتاج در دسته های بزرگتر پشتیبانی نمی شود).
- W و H عرض و ارتفاع ورودی هستند.
- C تعداد کانال های مورد انتظار است. باید 3 باشه
- مدل باید حداقل یک تانسور خروجی با کلاس N و 2 یا 4 بعد داشته باشد:
- (1xN)
- (1x1x1xN)
- در حال حاضر فقط مدل های تک سر به طور کامل پشتیبانی می شوند. مدلهای چند سر ممکن است نتایج غیرمنتظرهای داشته باشند.
فراداده
همانطور که در افزودن ابرداده به مدل TensorFlow Lite توضیح داده شده است، می توانید متادیتا را به فایل TensorFlow Lite اضافه کنید.
برای استفاده از مدلی با تانسور ورودی FLOAT32، باید NormalizationOptions را در متادیتا مشخص کنید.
همچنین توصیه می کنیم که این ابرداده را به تانسور خروجی TensorMetadata متصل کنید:
- نقشه برچسبی که نام هر کلاس خروجی را به عنوان AssociatedFile با نوع TENSOR_AXIS_LABELS مشخص میکند (در غیر این صورت فقط شاخصهای کلاس خروجی عددی را میتوان برگرداند)
- یک آستانه امتیاز پیشفرض که زیر آن نتایج بهعنوان یک واحد پردازش با گزینههای ScoreThresholding، بسیار کماعتماد در نظر گرفته میشوند.