يتم تصنيف الصور.
نتوقّع في واجهة برمجة التطبيقات استخدام نموذج 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 | |
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 ".
|