بهطور پیشفرض، «میاناهای برنامهسازی کاربردی ML Kit» از مدلهای یادگیری ماشین آموزشدیده Google استفاده میکنند. این مدلها برای پوشش دادن طیف وسیعی از کاربردها طراحی شدهاند. بااینحال، برخیاز موارد استفاده به مدلهایی نیاز دارند که هدفمندتر باشند. به همین دلیل است که برخیاز ML Kit APIs اکنون به شما امکان میدهند مدلهای پیشفرض را با مدلهای سفارشی LiteRT جایگزین کنید.
هم برچسبگذاری تصویر و هم تشخیص و ردیابی اشیا از مدلهای سفارشی طبقهبندی تصویر پشتیبانی میکنند. این ابزارها با مجموعهای از مدلهای ازپیشآموزشدیده باکیفیت در TensorFlow Hub یا مدل سفارشی خودتان که با TensorFlow یا AutoML آموزش دیده است سازگار هستند.
اگر برای حوزهها یا موارد استفاده دیگر به راهحل سفارشی نیاز دارید، برای دریافت راهنمایی درباره همه راهحلها و ابزارهای Google برای یادگیری ماشین دروندستگاهی، به صفحه «یادگیری ماشین دروندستگاهی» مراجعه کنید.
مزایای استفاده از ML Kit با مدلهای سفارشی
مزایای استفاده از مدل طبقهبندی تصویر سفارشی با ML Kit عبارتند از:
- میاناهای برنامهسازی کاربردی سطح بالا با کاربری آسان - نیازی به کار با ورودی/خروجی مدل سطح پایین، مدیریت پیشپردازش/ پسپردازش تصویر، یا ساختن خط لوله پردازش نیست.
- دیگر لازم نیست نگران نگاشت برچسب باشید، ML Kit برچسبها را از فراداده مدل LiteRT استخراج میکند و نگاشت را برای شما انجام میدهد.
- از مدلهای سفارشی از طیف گستردهای از منابع پشتیبانی میکند، از مدلهای ازپیشآموزشدیده منتشرشده در TensorFlow Hub گرفته تا مدلهای جدیدی که با TensorFlow یا AutoML آموزش داده شدهاند.
- برای یکپارچهسازی با میاناهای برنامهسازی کاربردی دوربین Android بهینهسازی شده است.
و بهطور خاص برای تشخیص و ردیابی اشیا:
- با مکانیابی ابتدا اشیا و سپس اجرای طبقهبند فقط در ناحیه تصویر مربوطه، دقت طبقهبندی را بهبود دهید.
- تجربه تعاملی همزمان ارائه دهید و به کاربران خود بازخورد فوری درباره اشیاء درحال شناسایی و طبقهبندی ارائه دهید.
استفاده از مدل طبقهبندی تصویر ازپیشآموزشدیده
میتوانید از مدلهای ازپیش آموزشدیده LiteRT استفاده کنید، بهشرطی که مجموعهای از معیارها را برآورده کنند. ازطریق TensorFlow Hub، مجموعهای از مدلهای تأییدشده - از Google یا دیگر سازندگان مدل - که این معیارها را برآورده میکنند ارائه میدهیم.
استفاده از مدل منتشرشده در TensorFlow Hub
TensorFlow Hub طیف گستردهای از مدلهای طبقهبندی تصویر ازپیشآموزشدیده را ارائه میدهد (از سازندگان مدلهای مختلف) که میتوانند با میاناهای برنامهسازی کاربردی «برچسبگذاری تصویر» و «تشخیص و ردیابی شیء» استفاده شوند. این مراحل را دنبال کنید.
- مدلی را از مجموعه مدلهای سازگار با ML Kit انتخاب کنید.
- فایل مدل .tflite را از صفحه جزئیات مدل بارگیری کنید. درصورت امکان، قالب مدل دارای فراداده را انتخاب کنید.
- راهنماهای ما را برای Image Labeling API یا Object Detection and Tracking API درباره نحوه بستهبندی فایل مدل با پروژهتان و استفاده از آن در برنامه Android یا iOS دنبال کنید.
مدل طبقهبندی تصویر خودتان را آموزش دهید
اگر هیچ مدل طبقهبندی تصویر ازپیش آموزشدیدهای با نیازهای شما مطابقت ندارد، روشهای مختلفی برای آموزش مدل LiteRT خودتان وجود دارد که برخیاز آنها در بخش زیر بهطور خلاصه و با جزئیات بیشتر توضیح داده شدهاند.
| گزینههایی برای آموزش مدل طبقهبندی تصویر خودتان | |
|---|---|
| AutoML |
|
| تبدیل مدل TensorFlow به LiteRT |
|
AutoML
مدلهای طبقهبندی تصویر که بااستفاده از AutoML آموزش داده شدهاند توسط مدلهای سفارشی در برچسبگذاری تصویر و میانای برنامهسازی کاربردی تشخیص و ردیابی شیء پشتیبانی میشوند. این میاناهای برنامهسازی کاربردی همچنین از بارگیری مدلهایی که با فضای ذخیرهسازی ابری میزبانی میشوند پشتیبانی میکنند.
برای کسب اطلاعات بیشتر درباره نحوه استفاده از مدل آموزشدیده با AutoML در برنامههای Android و iOS، بسته به مورد استفادهتان، راهنمای مدل سفارشی را برای هر API دنبال کنید.
مدلهای ساختهشده بااستفاده از تبدیلکننده LiteRT
اگر مدل طبقهبندی تصویر TensorFlow موجودی دارید، میتوانید آن را بااستفاده از تبدیلکننده LiteRT تبدیل کنید. مطمئن شوید مدلی که ساختهاید الزامات سازگاری زیر را برآورده میکند.
برای کسب اطلاعات بیشتر درباره نحوه استفاده از مدل LiteRT در برنامههای Android و iOS، بسته به مورد استفادهتان، راهنماهای ما را برای Image Labeling API یا Object Detection and Tracking API دنبال کنید.
سازگاری مدل LiteRT
میتوانید از هر مدل طبقهبندی تصویر LiteRT ازپیشآموزشدیده استفاده کنید، بهشرطی که این الزامات را برآورده کند:
تانسورها
- مدل باید فقط یک تانسور ورودی با محدودیتهای زیر داشته باشد:
- دادهها در قالب پیکسل RGB است.
- دادهها از نوع UINT8 یا FLOAT32 است. اگر نوع تانسور ورودی FLOAT32 باشد، باید NormalizationOptions را با پیوست کردن فراداده مشخص کند.
- تانسور ۴ بعد دارد : BxHxWxC، که در آن:
- B اندازه دسته است. باید ۱ باشد (استنباط روی دستههای بزرگتر پشتیبانی نمیشود).
- W و H عرض و ارتفاع ورودی هستند.
- C تعداد کانالهای موردانتظار است. باید ۳ باشد.
- مدل باید حداقل یک تانسور برونداد با N کلاس و یا ۲
یا ۴ بُعد داشته باشد:
- (1xN)
- (1x1x1xN)
- فقط مدلهای تکسر بهطور کامل پشتیبانی میشوند. مدلهای چندسره ممکن است نتایج غیرمنتظرهای تولید کنند.
فراداده
میتوانید به فایل LiteRT فراداده اضافه کنید، همانطور که در افزودن فراداده به مدلهای LiteRT توضیح داده شده است.
برای استفاده از مدلی با تانسور ورودی FLOAT32، باید NormalizationOptions را در فراداده مشخص کنید.
همچنین توصیه میکنیم این فراداده را به تانسور برونداد TensorMetadata پیوست کنید:
- نقشه برچسبی که نام هر کلاس برونداد را بهعنوان AssociatedFile با نوع TENSOR_AXIS_LABELS مشخص میکند (درغیراینصورت فقط شاخصهای کلاس برونداد عددی میتوانند برگردانده شوند)
- آستانه نمره پیشفرضی که براساس آن نتایج دارای اطمینان بسیار پایین برای برگردانده شدن بهعنوان ProcessUnit با ScoreThresholdingOptions درنظر گرفته میشوند