این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

طبقه بندی تصویر

برای شناسایی صدها کلاس از اشیا از جمله افراد ، فعالیت ها ، حیوانات ، گیاهان و مکانها از یک مدل از قبل آموزش یافته و بهینه شده استفاده کنید.

شروع کنید

اگر با مفهوم طبقه بندی تصویر نا آشنا هستید ، باید با خواندن طبقه بندی تصویر شروع کنید؟

برای یادگیری نحوه استفاده از طبقه بندی تصویر در برنامه تلفن همراه ، توصیه می کنیم برنامه ها و راهنماهای مثال ما را بررسی کنید.

اگر از سکویی غیر از اندروید یا iOS استفاده می کنید ، یا قبلاً با API های TensorFlow Lite آشنا نیستید ، می توانید مدل طبقه بندی تصویر مبتدی ما و برچسب های همراه را بارگیری کنید.

مدل و برچسب استارت را بارگیری کنید

پس از اجرای مدل استارت بر روی دستگاه مورد نظر خود ، می توانید با مدل های مختلف آزمایش کنید تا تعادل بهینه بین عملکرد ، دقت و اندازه مدل پیدا کنید. برای راهنمایی ، مدل دیگری را انتخاب کنید .

برنامه ها و راهنماهای مثال

برنامه های مثال برای طبقه بندی تصویر برای اندروید و iOS داریم. برای هر مثال ، ما راهنمایی ارائه می دهیم که نحوه عملکرد آن را توضیح می دهد.

اندروید

نمونه Android را مشاهده کنید

برای یادگیری نحوه عملکرد برنامه ، راهنمای مثال Android را بخوانید.

iOS

به عنوان مثال در iOS مشاهده کنید

برای یادگیری نحوه عملکرد برنامه ، راهنمای مثال iOS را بخوانید.

عکس صفحه

تصویر زیر نمونه طبقه بندی تصویر اندرویدی را نشان می دهد.

تصویر نمونه Android

طبقه بندی تصویر چیست؟

استفاده رایج از یادگیری ماشینی برای شناسایی آنچه یک تصویر است نشان می دهد. به عنوان مثال ، ممکن است بخواهیم بدانیم چه نوع حیوان در عکس زیر ظاهر می شود.

سگ

وظیفه پیش بینی آنچه یک تصویر را نشان می دهد ، طبقه بندی تصویر نامیده می شود. یک مدل طبقه بندی تصویر برای تشخیص طبقه های مختلف تصاویر آموزش داده می شود. به عنوان مثال ، یک مدل ممکن است آموزش داده شود تا عکس هایی را نشان دهد که سه نوع حیوان مختلف را نشان می دهد: خرگوش ، همستر و سگ.

وقتی متعاقباً تصویر جدیدی را به عنوان ورودی به مدل ارائه می دهیم ، احتمالات تصویری را نشان می دهد كه نشان دهنده هر یك از انواع حیواناتی است كه در آن آموزش دیده است. خروجی مثال ممکن است به شرح زیر باشد:

نوع حیوانات احتمال
خرگوش 0.07
همستر ۰ 2 ۰۲
سگ 0.91

بر اساس خروجی ، می توانیم مشاهده کنیم که مدل طبقه بندی پیش بینی کرده است که این تصویر از نمایندگی سگ بسیار زیاد است.

آموزش ، برچسب ها و استنتاج

در حین آموزش ، یک مدل طبقه بندی تصویر از تصاویر و برچسب های مرتبط با آنها تغذیه می شود. هر برچسب نام یک مفهوم مشخص یا کلاس است که مدل یاد می گیرد آن را بشناسد.

با توجه به داده های آموزش کافی (اغلب صدها یا هزاران تصویر در هر برچسب) ، یک مدل طبقه بندی تصویر می تواند یاد بگیرد که آیا تصاویر جدید متعلق به هر یک از کلاس هایی است که در آن آموزش دیده است. این روند پیش بینی استنتاج نام دارد.

برای انجام استنباط ، تصویری به عنوان ورودی به یک مدل منتقل می شود. سپس این مدل آرایه ای از احتمالات را بین 0 تا 1 تولید می کند. با مدل مثال ما ، این فرایند ممکن است به شکل زیر باشد:

سگ [0.07 ، 0.02 ، 0.91]

هر شماره در خروجی با یک برچسب در داده های آموزش ما مطابقت دارد. ارتباط خروجی ما با سه برچسب مدلی که بر روی آن آموزش داده شده است ، می بینیم که این مدل احتمال بالایی را برای نشان دادن تصویر از سگ پیش بینی کرده است.

برچسب احتمال
خرگوش 0.07
همستر ۰ 2 ۰۲
سگ 0.91

ممکن است توجه داشته باشید که مجموع احتمالات (برای خرگوش ، همستر و سگ) برابر است با 1. این نوع خروجی متداول برای مدلهای دارای چندین کلاس است (برای اطلاعات بیشتر به نرم افزار Softmax مراجعه کنید).

نتایج مبهم

از آنجا که احتمالات همیشه به 1 خواهد رسید ، در صورتی که تصویر با اطمینان به عنوان متعلق به هر یک از کلاس هایی که مدل برای شما آموزش داده می شود تشخیص داده نشود ، احتمالاً توزیع در برچسب ها بدون اینکه یک مقدار به طور قابل توجهی بزرگتر باشد ، مشاهده می کنید.

به عنوان مثال ، موارد زیر می تواند حاکی از یک نتیجه مبهم باشد:

برچسب احتمال
خرگوش 0.31
همستر 0.35
سگ 0.34

موارد استفاده و محدودیت ها

مدل های طبقه بندی تصویر که ارائه می دهیم برای طبقه بندی تک برچسب مفید است ، به معنای پیش بینی اینکه کدام یک از برچسب های منفرد به احتمال زیاد نشان دهنده آن است. آنها برای تشخیص 1000 کلاس تصویر آموزش دیده اند. برای لیست کامل کلاس ها ، به پرونده برچسب ها در زیپ مدل مراجعه کنید .

اگر می خواهید یک مدل را برای تشخیص کلاسهای جدید آموزش دهید ، به Customize model مراجعه کنید.

برای موارد استفاده زیر ، شما باید از مدل دیگری استفاده کنید:

  • پیش بینی نوع و موقعیت یک یا چند شیء در یک تصویر (به کشف شی مراجعه کنید)
  • پیش بینی ترکیب یک تصویر ، به عنوان مثال موضوع در برابر پس زمینه (به بخش بندی مراجعه کنید)

هنگامی که مدل استارت در دستگاه هدف خود اجرا شد ، می توانید با مدل های مختلف آزمایش کنید تا تعادل بهینه بین عملکرد ، دقت و اندازه مدل پیدا کنید. برای راهنمایی ، مدل دیگری را انتخاب کنید .

معیارهای عملکرد

اعداد معیار عملکرد با ابزاری که در اینجا شرح داده می شود تولید می شوند.

نام مدل اندازه مدل دستگاه NNAPI پردازنده
Mobilenet_V1_1.0_224_quant 4.3 مگابایت پیکسل 3 (اندروید 10) 6ms 13ms *
پیکسل 4 (اندروید 10) 3.3 دقیقه 5ms *
iPhone XS (iOS 12.4.1) 11ms **

* 4 نخ استفاده شده است.

** 2 نخ مورد استفاده در آیفون برای بهترین نتیجه عملکرد.

یک مدل متفاوت را انتخاب کنید

تعداد زیادی از مدل های طبقه بندی تصویر در لیست مدل های میزبان ما موجود است. شما باید بر اساس عملکرد ، دقت و اندازه مدل ، مدل بهینه را برای برنامه خود انتخاب کنید. تجارت بین هر یک از آنها وجود دارد.

کارایی

ما عملکرد را از نظر مقدار زمانی که برای یک مدل طول می کشد برای استنباط در یک قطعه سخت افزار خاص اندازه گیری می کنیم. هرچه زمان کمتری باشد ، مدل سریعتر می شود.

عملکرد مورد نیاز شما به برنامه شما بستگی دارد. عملکرد می تواند برای برنامه های کاربردی مانند فیلم در زمان واقعی مهم باشد ، جایی که ممکن است تجزیه و تحلیل هر فریم در زمان قبل از ترسیم قاب بعدی مهم باشد (برای مثال استنباط باید برای انجام استنتاج زمان واقعی از طریق جریان ویدئویی با 30 فریم در ثانیه سریعتر از 33ms باشد). .

عملکرد مدل های MobileNet کمی ما از 3.7ms تا 80.3 ms است.

دقت

ما دقت را بر حسب اینکه چند بار مدل به درستی یک تصویر را طبقه بندی می کند ، اندازه گیری می کنیم. به عنوان مثال ، از یک مدل با دقت بیان شده 60٪ انتظار می رود که یک تصویر را به طور متوسط ​​60٪ از زمان صحیح طبقه بندی کند.

لیست مدل های میزبان ما آمار دقیق Top-1 و Top-5 را ارائه می دهد. Top-1 اشاره به این دارد که چقدر اغلب برچسب صحیح به عنوان برچسب با بیشترین احتمال در خروجی مدل ظاهر می شود. Top-5 اشاره به این دارد که چقدر اغلب برچسب صحیح در 5 احتمال بالاترین محصول در خروجی مدل ظاهر می شود.

دقت مدلهای Top-5 مدلهای MobileNet ما از 64.4 تا 89.9٪ متغیر است.

اندازه

اندازه یک مدل روی دیسک با عملکرد و دقت آن متفاوت است. اندازه ممکن است برای توسعه تلفن همراه (جایی که ممکن است اندازه بارگیری برنامه را تحت تأثیر قرار دهد) یا هنگام کار با سخت افزار مهم باشد (در صورت امکان ذخیره سازی موجود محدود باشد).

اندازه مدلهای MobileNet کمی ما بین 0.5 تا 3.4 Mb Mb است.

معماری

چندین نوع مدل معماری مختلف در لیست مدلهای میزبان موجود است که با نام مدل مشخص شده است. به عنوان مثال ، می توانید بین MobileNet ، Inception و دیگران انتخاب کنید.

معماری یک مدل بر عملکرد ، دقت و اندازه آن تأثیر می گذارد. تمام مدلهای میزبان ما بر روی داده های یکسان آموزش داده می شوند ، به این معنی که می توانید برای مقایسه آنها از آمار ارائه شده استفاده کنید و انتخاب کنید کدام یک برای برنامه شما مطلوب است.

مدل را سفارشی کنید

مدل های از قبل آموزش دیده ما برای شناسایی 1000 کلاس تصویر آموزش دیده است. برای لیست کامل کلاس ها ، به پرونده برچسب ها در زیپ مدل مراجعه کنید .

برای آموزش مجدد مدل می توانید از تکنیکی موسوم به آموزش انتقال استفاده کنید تا کلاسها را در مجموعه اصلی تشخیص ندهید. به عنوان مثال ، شما می توانید این مدل را مجددا آموزش دهید تا بین گونه های مختلف درخت تمایز قایل شود ، با وجود عدم وجود درخت در داده های اصلی آموزش. برای این کار ، برای هر یک از برچسب های جدیدی که مایل به آموزش آن هستید ، به مجموعه ای از تصاویر آموزشی نیاز دارید.

بیاموزید که چگونه یادگیری انتقال را در گلهای Recognize با codelab TensorFlow یا با ابزار سازنده مدل انجام دهید .