ImageClassifier

الصف النهائي العلني ImageClassifier

يتم تصنيف الصور.

نتوقّع في واجهة برمجة التطبيقات استخدام نموذج TFLite مع البيانات الوصفية لنموذج TFLite الاختيارية ولكن ننصح بها بشدة.

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

  • إدخال موسِّع صورة (kTfLiteUInt8/kTfLiteFloat32)
    • إدخال صورة بحجم [batch x height x width x channels]
    • الاستنتاج المجمَّع غير متاح (يجب أن تكون القيمة batch 1).
    • لا يمكن استخدام سوى إدخالات نموذج أحمر أخضر أزرق (يجب أن تكون القيمة channels 3).
    • إذا كان النوع kTfLiteFloat32، يجب إرفاق خيارات التسوية بالبيانات الوصفية بهدف تسوية الإدخال.
  • متوتر إخراج واحد على الأقل (kTfLiteUInt8/kTfLiteFloat32) مع:
    • N صفًا وإما صفان أو 4 سمات، أي [1 x N] أو [1 x 1 x 1 x N]
    • خرائط تصنيفات اختيارية (ولكن يُنصح باستخدامها) كملفات AssociatedFile-s من النوع TENSOR_AXIS_LABELS، تحتوي على تصنيف واحد في كل سطر. يتم استخدام أول ملف AssociatedFile (إن توفّر) لملء الحقل class_name من النتائج. تتم تعبئة الحقل display_name من الملف AssociatedFile (إن توفّر) الذي تتطابق لغته مع الحقل display_names_locale من ImageClassifierOptions المستخدَم في وقت الإنشاء ("en" تلقائيًا، أي الإنجليزية). وفي حال عدم توفّر أي من هذه الخيارات، لن يتم ملء سوى الحقل index للنتائج.
    • يمكن إرفاق معايرة تقييم اختيارية باستخدام ScoreCalibrationOptions وAssociationdFile من النوع TENSOR_AXIS_POINT_CALIBRATION. لمعرفة مزيد من التفاصيل، يمكنك الاطّلاع على Metadata_schema.fbs.

ويمكن الاطّلاع على مثال لهذا النموذج على مركز TensorFlow.

الصفوف المتداخلة

صنف ImageClassifier.ImageClassifierOptions خيارات الإعداد وImageClassifier

الطرق العامة

ImageClassifierResult
classify(صورة MPImage)
يتم تصنيف الصورة الواحدة المقدّمة باستخدام خيارات معالجة الصور التلقائية، أي.
ImageClassifierResult
classify(صورة MPImage، وImageProcessingOptions imageProcessingOptions)
يتم التصنيف على الصورة المفردة المقدمة.
void
classifyAsync(صورة MPImage، وImageProcessingOptions بسبب خيارات معالجة الصورة، والطابع الزمني الطويل)
يرسل بيانات صور مباشرة لإجراء التصنيف، وستكون النتائج متاحة من خلال OutputHandler.ResultListener المقدّمة في ImageClassifier.ImageClassifierOptions.
void
classifyAsync(صورة MPImage، الطوابع الزمنية الطويلة)
يرسل بيانات صور مباشرة لإجراء التصنيف باستخدام خيارات معالجة الصور التلقائية، أي
ImageClassifierResult
classifyForVideo(صورة MPImage، الطوابع الزمنية الطويلة)
يتم التصنيف على إطار الفيديو المقدم مع خيارات معالجة الصور التلقائية، أي
ImageClassifierResult
classifyForVideo(صورة MPImage، ImageProcessingOptions imageProcessingOptions، الطوابع الزمنية الطويلة)
يتم التصنيف على إطار الفيديو المقدَّم.
ثابت ImageClassifier
createFromBuffer(سياق السياق، ByteBuffer modelBuffer)
تنشئ هذه الدالة ImageClassifier مثيلاً من مخزن نموذجي ويُستخدَم التلقائي ImageClassifier.ImageClassifierOptions.
ثابت ImageClassifier
createFromFile(سياق السياق، مسار نموذج سلسلة)
تنشئ هذه الدالة مثيل ImageClassifier من ملف نموذج وتنشئ ImageClassifier.ImageClassifierOptions تلقائيًا.
ثابت ImageClassifier
createFromFile(سياق السياق، File modelFile)
تنشئ هذه الدالة مثيل ImageClassifier من ملف نموذج وتنشئ ImageClassifier.ImageClassifierOptions تلقائيًا.
ثابت ImageClassifier
createFromOptions(سياق السياق، خيارات ImageClassifier.ImageClassifierOptions)
تنشئ هذه الدالة ImageClassifier من مثيل ImageClassifier.ImageClassifierOptions.

الطرق المكتسَبة

الطرق العامة

public ImageClassifierResult classify (MPImage image)

يتم تصنيف الصورة الواحدة المقدّمة مع خيارات معالجة الصور التلقائية، أي استخدام الصورة بأكملها كمنطقة اهتمام وبدون تطبيق أي تدوير. لا تستخدِم هذه الطريقة إلا عند إنشاء ImageClassifier من خلال ERROR(/RunningMode.IMAGE).

يتيح ImageClassifier استخدام أنواع مساحات الألوان التالية:

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
الرميات
في حال حدوث خطأ داخلي.

عامة ImageClassifierResult classify (MPImage image, ImageProcessingOptions imageProcessingOptions)

يتم التصنيف على الصورة المفردة المقدمة. لا تستخدِم هذه الطريقة إلا عند إنشاء ImageClassifier من خلال ERROR(/RunningMode.IMAGE).

يتيح ImageClassifier استخدام أنواع مساحات الألوان التالية:

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
imageProcessingOptions ImageProcessingOptions التي تحدِّد كيفية معالجة الصورة التي تم إدخالها قبل تنفيذ الاستنتاج
الرميات
في حال حدوث خطأ داخلي.

متاح للجميع إبطال classifyAsync (صورة MPImage، ImageProcessingOptions imageProcessingOptions، الطوابع الزمنية الطويلة)

يرسل بيانات صور مباشرة لإجراء التصنيف، وستكون النتائج متاحة من خلال OutputHandler.ResultListener المقدّمة في ImageClassifier.ImageClassifierOptions. لا تستخدِم هذه الطريقة إلا عند إنشاء ImageClassifier باستخدام ERROR(/RunningMode.LIVE_STREAM).

يجب توفير طابع زمني (بالمللي ثانية) للإشارة إلى وقت إرسال صورة الإدخال إلى أداة رصد العناصر. يجب أن تكون الطوابع الزمنية للإدخال تزيد بشكل منتظم.

يتيح ImageClassifier استخدام أنواع مساحات الألوان التالية:

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
imageProcessingOptions ImageProcessingOptions التي تحدِّد كيفية معالجة الصورة التي تم إدخالها قبل تنفيذ الاستنتاج
timestampMs الطابع الزمني للإدخال (بالمللي ثانية).
الرميات
في حال حدوث خطأ داخلي.

عامة باطل classifyAsync (صورةMPImage، طوابع زمنية طويلة)

يرسل بيانات صور مباشرة لإجراء التصنيف باستخدام خيارات معالجة الصور التلقائية، أي استخدام الصورة بأكملها كمنطقة اهتمام وبدون تطبيق أي تغيير عليها، وستكون النتائج متاحة من خلال OutputHandler.ResultListener المتوفّرة في ImageClassifier.ImageClassifierOptions. لا تستخدِم هذه الطريقة إلا عند إنشاء ImageClassifier باستخدام ERROR(/RunningMode.LIVE_STREAM).

يجب توفير طابع زمني (بالمللي ثانية) للإشارة إلى وقت إرسال صورة الإدخال إلى أداة رصد العناصر. يجب أن تكون الطوابع الزمنية للإدخال تزيد بشكل منتظم.

يتيح ImageClassifier استخدام أنواع مساحات الألوان التالية:

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
timestampMs الطابع الزمني للإدخال (بالمللي ثانية).
الرميات
في حال حدوث خطأ داخلي.

public ImageClassifierResult classifyForVideo (صورةMPImage)، الطوابع الزمنية الطويلة (timestampMs)

يتم التصنيف على إطار الفيديو المقدَّم مع خيارات معالجة الصور التلقائية، أي استخدام الصورة بأكملها كمنطقة اهتمام وبدون تطبيق أي تدوير. لا تستخدِم هذه الطريقة إلا عند إنشاء ImageClassifier من خلال ERROR(/RunningMode.VIDEO).

يجب تقديم الطابع الزمني لإطار الفيديو (بالمللي ثانية). يجب أن تكون الطوابع الزمنية للإدخالات متزايدة بشكل منتظم.

يتيح ImageClassifier استخدام أنواع مساحات الألوان التالية:

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
timestampMs الطابع الزمني للإدخال (بالمللي ثانية).
الرميات
في حال حدوث خطأ داخلي.

عامة ImageClassifierResult classifyForVideo (MPImage صورة، ImageProcessingOptions imageProcessingOptions، الطوابع الزمنية الطويلة)

يتم التصنيف على إطار الفيديو المقدَّم. لا تستخدِم هذه الطريقة إلا عند إنشاء ImageClassifier من خلال ERROR(/RunningMode.VIDEO).

يجب تقديم الطابع الزمني لإطار الفيديو (بالمللي ثانية). يجب أن تكون الطوابع الزمنية للإدخالات متزايدة بشكل منتظم.

يتيح ImageClassifier استخدام أنواع مساحات الألوان التالية:

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
imageProcessingOptions ImageProcessingOptions التي تحدِّد كيفية معالجة الصورة التي تم إدخالها قبل تنفيذ الاستنتاج
timestampMs الطابع الزمني للإدخال (بالمللي ثانية).
الرميات
في حال حدوث خطأ داخلي.

public static ImageClassifier createFromBuffer (سياق السياق، ByteBuffer modelBuffer)

تنشئ هذه الدالة ImageClassifier مثيلاً من مخزن نموذجي ويُستخدَم التلقائي ImageClassifier.ImageClassifierOptions.

المَعلمات
سياق جهاز Android ERROR(/Context)
modelBuffer سمة ByteBuffer أو ERROR(/MappedByteBuffer) مباشرة من نموذج التصنيف
الرميات
في حال حدوث خطأ أثناء إنشاء "ImageClassifier".

public static ImageClassifier createFromFile (سياق السياق، سلسلة formPath)

تنشئ هذه الدالة مثيل ImageClassifier من ملف نموذج وتنشئ ImageClassifier.ImageClassifierOptions تلقائيًا.

المَعلمات
سياق جهاز Android ERROR(/Context)
modelPath إلى نموذج التصنيف في الأصول.
الرميات
في حال حدوث خطأ أثناء إنشاء "ImageClassifier".

public static ImageClassifier createFromFile (سياق السياق، ملف modelFile)

تنشئ هذه الدالة مثيل ImageClassifier من ملف نموذج وتنشئ ImageClassifier.ImageClassifierOptions تلقائيًا.

المَعلمات
سياق جهاز Android ERROR(/Context)
modelFile مثيل نموذج التصنيف File.
الرميات
IOException في حال حدوث خطأ في وحدات الإدخال والإخراج عند فتح ملف نموذج tflite.
في حال حدوث خطأ أثناء إنشاء "ImageClassifier".

public static ImageClassifier createFromOptions (سياق السياق، ImageClassifier.ImageClassifierOptions)

تنشئ هذه الدالة ImageClassifier من مثيل ImageClassifier.ImageClassifierOptions.

المَعلمات
سياق جهاز Android ERROR(/Context)
الخيارات مثيل ImageClassifier.ImageClassifierOptions.
الرميات
في حال حدوث خطأ أثناء إنشاء "ImageClassifier".