الرد على دعوة الحضور لحضور حدث TensorFlow Everywhere المحلي اليوم!
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تصنيف الصورة

تسمى مهمة تحديد ما تمثله الصورة تصنيف الصورة . يتم تدريب نموذج تصنيف الصور للتعرف على فئات مختلفة من الصور. على سبيل المثال ، يمكنك تدريب نموذج للتعرف على الصور التي تمثل ثلاثة أنواع مختلفة من الحيوانات: الأرانب والهامستر والكلاب. يوفر TensorFlow Lite نماذج مُحسَّنة مُدرَّبة مسبقًا يمكنك نشرها في تطبيقات الهاتف المحمول. تعرف على المزيد حول تصنيف الصور باستخدام TensorFlow هنا .

تُظهر الصورة التالية إخراج نموذج تصنيف الصور على Android.

لقطة شاشة لمثال Android

البدء

إذا كنت جديدًا على TensorFlow Lite وتعمل بنظام Android أو iOS ، فمن المستحسن أن تستكشف الأمثلة التالية للتطبيقات التي يمكن أن تساعدك على البدء.

يمكنك الاستفادة من واجهة برمجة التطبيقات الجاهزة من مكتبة مهام TensorFlow Lite لدمج نماذج تصنيف الصور في بضعة أسطر من التعليمات البرمجية. يمكنك أيضًا إنشاء خط أنابيب مخصص للاستدلال باستخدام مكتبة دعم TensorFlow Lite .

يوضح مثال Android أدناه التنفيذ لكلتا الطريقتين مثل lib_task_api و lib_support ، على التوالي.

شاهد مثال Android

شاهد مثال iOS

إذا كنت تستخدم نظامًا أساسيًا بخلاف Android / iOS ، أو إذا كنت معتادًا بالفعل على واجهات برمجة تطبيقات TensorFlow Lite ، فقم بتنزيل نموذج بدء التشغيل والملفات الداعمة (إن أمكن).

تنزيل نموذج المبتدئين

نموذج الوصف

كيف تعمل

أثناء التدريب ، يتم تغذية نموذج تصنيف الصور بالصور والتسميات المرتبطة بها. كل تسمية هي اسم لمفهوم أو فئة مميزة يتعلم النموذج التعرف عليها.

بالنظر إلى بيانات التدريب الكافية (غالبًا مئات أو آلاف الصور لكل ملصق) ، يمكن لنموذج تصنيف الصور أن يتعلم التنبؤ بما إذا كانت الصور الجديدة تنتمي إلى أي من الفئات التي تم التدريب عليها. تسمى عملية التنبؤ هذه بالاستدلال . لاحظ أنه يمكنك أيضًا استخدام التعلم بالنقل لتحديد فئات جديدة من الصور باستخدام نموذج موجود مسبقًا. لا يتطلب التعلم بالنقل مجموعة بيانات تدريب كبيرة جدًا.

عندما تقدم لاحقًا صورة جديدة كمدخلات إلى النموذج ، فستخرج احتمالات الصورة التي تمثل كل نوع من أنواع الحيوانات التي تم تدريبها عليها. قد يكون مثال الإخراج كما يلي:

نوع الحيوان احتمالا
أرنب 0.07
الهامستر 0.02
كلب 0.91

يتوافق كل رقم في المخرجات مع ملصق في بيانات التدريب. من خلال ربط الإخراج بالتسميات الثلاثة التي تم تدريب النموذج عليها ، يمكنك أن ترى أن النموذج قد تنبأ باحتمالية عالية أن الصورة تمثل كلبًا.

قد تلاحظ أن مجموع كل الاحتمالات (للأرنب والهامستر والكلب) يساوي 1. هذا نوع شائع من المخرجات للنماذج ذات الفئات المتعددة (انظر Softmax لمزيد من المعلومات).

نتائج غامضة

نظرًا لأن احتمالات المخرجات ستجمع دائمًا إلى 1 ، إذا لم يتم التعرف على الصورة بثقة على أنها تنتمي إلى أي من الفئات التي تم تدريب النموذج عليها ، فقد ترى الاحتمالية الموزعة عبر الملصقات دون أن تكون أي قيمة واحدة أكبر بشكل ملحوظ.

على سبيل المثال ، قد يشير ما يلي إلى نتيجة غامضة:

ملصق احتمالا
أرنب 0.31
الهامستر 0.35
كلب 0.34
إذا كان نموذجك يعرض نتائج غامضة بشكل متكرر ، فقد تحتاج إلى نموذج مختلف وأكثر دقة.

اختيار نموذج العمارة

يوفر لك TensorFlow Lite مجموعة متنوعة من نماذج تصنيف الصور التي تم تدريبها جميعًا على مجموعة البيانات الأصلية. تتوفر بنيات النماذج مثل MobileNet و Inception و NASNet على صفحة النماذج المستضافة . لاختيار أفضل نموذج لحالة الاستخدام الخاصة بك ، تحتاج إلى مراعاة البنى الفردية وكذلك بعض المفاضلات بين النماذج المختلفة. تستند بعض مقايضات النماذج هذه إلى مقاييس مثل الأداء والدقة وحجم النموذج. على سبيل المثال ، قد تحتاج إلى نموذج أسرع لإنشاء ماسح ضوئي للرمز الشريطي بينما قد تفضل نموذجًا أبطأ وأكثر دقة لتطبيق التصوير الطبي. لاحظ أن نماذج تصنيف الصور المقدمة تقبل أحجامًا مختلفة من المدخلات. بالنسبة لبعض الطرز ، يشار إلى هذا في اسم الملف. على سبيل المثال ، يقبل نموذج Mobilenet_V1_1.0_224 إدخالاً بحجم 224 × 224 بكسل. تتطلب جميع الطرز ثلاث قنوات ملونة لكل بكسل (أحمر وأخضر وأزرق). تتطلب النماذج الكمية بايت واحد لكل قناة ، وتتطلب النماذج العائمة 4 بايت لكل قناة. توضح عينات كود Android و iOS كيفية معالجة صور الكاميرا بالحجم الكامل بالتنسيق المطلوب لكل طراز.

الاستخدامات والقيود

تُعد نماذج تصنيف الصور TensorFlow Lite مفيدة في التصنيف أحادي التسمية ؛ أي ، التنبؤ بالعلامة الفردية التي من المرجح أن تمثلها الصورة. يتم تدريبهم على التعرف على 1000 فئة صور. للحصول على قائمة كاملة بالفئات ، راجع ملف الملصقات في ملف zip للنموذج . إذا كنت تريد تدريب نموذج للتعرف على فئات جديدة ، فراجع تخصيص النموذج . بالنسبة لحالات الاستخدام التالية ، يجب عليك استخدام نوع مختلف من النماذج:
  • توقع نوع وموضع كائن واحد أو أكثر داخل صورة (انظر اكتشاف الكائن )
  • التنبؤ بتكوين صورة ، على سبيل المثال الموضوع مقابل الخلفية (انظر التقسيم )
بمجرد تشغيل نموذج البدء على جهازك المستهدف ، يمكنك تجربة طرز مختلفة للعثور على التوازن الأمثل بين الأداء والدقة وحجم النموذج.

تخصيص النموذج

يتم تدريب النماذج المدربة مسبقًا المقدمة للتعرف على 1000 فئة من الصور. للحصول على قائمة كاملة بالفئات ، راجع ملف الملصقات في ملف zip للنموذج . يمكنك أيضًا استخدام نقل التعلم لإعادة تدريب نموذج للتعرف على الفئات غير الموجودة في المجموعة الأصلية. على سبيل المثال ، يمكنك إعادة تدريب النموذج للتمييز بين الأنواع المختلفة من الأشجار ، على الرغم من عدم وجود أشجار في بيانات التدريب الأصلية. للقيام بذلك ، ستحتاج إلى مجموعة من صور التدريب لكل من الملصقات الجديدة التي ترغب في تدريبها. تعرف على كيفية إجراء نقل التعلم في مخطط التعرف على الزهور باستخدام مختبر كود TensorFlow أو في مكتبة Model Maker .

معايير الأداء

يتم قياس أداء النموذج من حيث مقدار الوقت الذي يستغرقه النموذج لتشغيل الاستدلال على قطعة معينة من الأجهزة. كلما انخفض الوقت ، زادت سرعة النموذج. يعتمد الأداء الذي تحتاجه على تطبيقك. يمكن أن يكون الأداء مهمًا لتطبيقات مثل الفيديو في الوقت الفعلي ، حيث قد يكون من المهم تحليل كل إطار في الوقت قبل رسم الإطار التالي (على سبيل المثال ، يجب أن يكون الاستدلال أسرع من 33 مللي ثانية لإجراء الاستدلال في الوقت الفعلي على دفق فيديو 30 إطارًا في الثانية) . يتراوح أداء نماذج MobileNet الكمي TensorFlow Lite من 3.7 مللي ثانية إلى 80.3 مللي ثانية. يتم إنشاء أرقام قياس الأداء باستخدام أداة قياس الأداء .
اسم النموذج حجم النموذج جهاز NNAPI وحدة المعالجة المركزية
Mobilenet_V1_1.0_224_quant 4.3 ميجا بايت Pixel 3 (Android 10) 6 مللي ثانية 13 مللي ثانية *
Pixel 4 (Android 10) 3.3 مللي ثانية 5 مللي ثانية *
iPhone XS (iOS 12.4.1) 11 مللي ثانية **

* 4 خيوط مستخدمة.

** 2 خيوط تستخدم على iPhone للحصول على أفضل نتيجة أداء.

دقة النموذج

يتم قياس الدقة من حيث عدد المرات التي يصنف فيها النموذج صورة بشكل صحيح. على سبيل المثال ، يمكن توقع أن يصنف نموذج بدقة معلنة تبلغ 60٪ صورة بشكل صحيح بمعدل 60٪ من الوقت.

توفر قائمة النماذج المستضافة إحصائيات دقة Top-1 و Top-5. يشير Top-1 إلى عدد المرات التي تظهر فيها التسمية الصحيحة على أنها التسمية ذات الاحتمال الأكبر في إخراج النموذج. يشير Top-5 إلى عدد المرات التي تظهر فيها التسمية الصحيحة في أعلى 5 احتمالات في إخراج النموذج.

تتراوح دقة Top-5 في نماذج TensorFlow Lite من 64.4 إلى 89.9٪.

حجم النموذج

يختلف حجم النموذج الموجود على القرص باختلاف أدائه ودقته. قد يكون الحجم مهمًا لتطوير الأجهزة المحمولة (حيث قد يؤثر على أحجام تنزيل التطبيق) أو عند العمل مع الأجهزة (حيث قد تكون مساحة التخزين المتاحة محدودة).

تتراوح أحجام نماذج TensorFlow Lite المحددة لشبكة MobileNet من 0.5 إلى 3.4 ميجابايت.

مزيد من القراءة والموارد

استخدم الموارد التالية لمعرفة المزيد حول المفاهيم المتعلقة بتصنيف الصور: