ObjectDetector

الفئة النهائية العامة ObjectDetector

يرصد عناصر الصور.

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

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

  • إدخال موسِّع صورة (kTfLiteUInt8/kTfLiteFloat32)
    • إدخال صورة بحجم [batch x height x width x channels]
    • الاستنتاج المجمَّع غير متاح (يجب أن تكون القيمة batch 1).
    • لا يمكن استخدام سوى إدخالات نموذج أحمر أخضر أزرق (يجب أن تكون القيمة channels 3).
    • إذا كان النوع kTfLiteFloat32، يجب إرفاق خيارات التسوية مع البيانات الوصفية لتسوية الإدخال.
  • يجب أن تكون موصّلات الإخراج هي 4 مخرجات لعملية DetectionPostProcess، على سبيل المثال:
    • متعدّد الموقع الجغرافي (kTfLiteFloat32):
      • موتر بالحجم [1 x num_results x 4]، الصفيف الداخلي الذي يمثّل مربّعات الإحاطة على النحو [top, left, right,bottom].
      • يجب إرفاق السمة BoundingBoxProperties بالبيانات الوصفية، ويجب أن تحدّد السمة type=BOUNDARIES وcoordinate_type=RATIO.
    • متعدّد الفئات (kTfLiteFloat32):
      • موتّر بالحجم [1 x num_results]، وتمثل كل قيمة فهرس العدد الصحيح لفئة معيّنة.
      • إذا كانت عمليات ربط التصنيفات مرتبطة بالبيانات الوصفية كملفات TENSOR_VALUE_LABELS مرتبطة، سيتم تحويل قيم الموتر إلى تصنيفات.
    • متدرج النتائج (kTfLiteFloat32):
      • موتّر بحجم [1 x num_results]، وتمثِّل كل قيمة نتيجة العنصر الذي تم رصده.
    • عدد عوارض الرصد (kTfLiteFloat32):
      • عدد صحيح num_results كوحدة موتر بالحجم [1].

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

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

صنف ObjectDetector.ObjectDetectorOptions خيارات إعداد "ObjectDetector

الطرق العامة

ثابت ObjectDetector
createFromBuffer(سياق السياق، ByteBuffer modelBuffer)
تنشئ هذه الدالة ObjectDetector من مخزن بيانات مؤقّت نموذج والقيمة التلقائية ObjectDetector.ObjectDetectorOptions.
ثابت ObjectDetector
createFromFile(سياق السياق، مسار نموذج سلسلة)
تنشئ هذه الدالة ObjectDetector من ملف نموذج وقيمة ObjectDetector.ObjectDetectorOptions التلقائية.
ثابت ObjectDetector
createFromFile(سياق السياق، File modelFile)
تنشئ هذه الدالة ObjectDetector من ملف نموذج وقيمة ObjectDetector.ObjectDetectorOptions التلقائية.
ثابت ObjectDetector
createFromOptions(سياق السياق، ObjectDetector.ObjectDetectorOptionsتعرَّف على خيارات الرصد)
تنشئ هذه الدالة ObjectDetector مثيلاً من ObjectDetector.ObjectDetectorOptions.
ObjectDetectorResult
detect(صورة MPImage)
يتم رصد العناصر على الصورة الواحدة المقدّمة باستخدام خيارات معالجة الصور التلقائية، أي
ObjectDetectorResult
detect(MPImage image, ImageProcessingOptions imageProcessingOptions)
يتم رصد العناصر في الصورة الواحدة المقدّمة.
void
detectAsync(صورة MPImage، وImageProcessingOptions خيارات معالجة الصورة، خيارات الطوابع الزمنية الطويلة)
يرسل بيانات صور مباشرة لرصد أي عناصر، وستكون النتائج متاحة من خلال OutputHandler.ResultListener المقدّمة في ObjectDetector.ObjectDetectorOptions.
void
detectAsync(صورة MPImage، الطوابع الزمنية الطويلة)
يتم إرسال بيانات الصور المباشرة لرصد العناصر باستخدام خيارات معالجة الصور التلقائية، أي
ObjectDetectorResult
detectForVideo(صورة MPImage، وImageProcessingOptions خيارات معالجة الصورة، خيارات الطوابع الزمنية الطويلة)
يتم رصد عناصر في إطار الفيديو المقدَّم.
ObjectDetectorResult
detectForVideo(صورة MPImage، الطوابع الزمنية الطويلة)
يتم رصد العناصر في إطار الفيديو المقدَّم من خلال خيارات معالجة الصور التلقائية، أي

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

الطرق العامة

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

تنشئ هذه الدالة ObjectDetector من مخزن بيانات مؤقّت نموذج والقيمة التلقائية ObjectDetector.ObjectDetectorOptions.

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

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

تنشئ هذه الدالة ObjectDetector من ملف نموذج وقيمة ObjectDetector.ObjectDetectorOptions التلقائية.

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

public static ObjectDetector createFromFile (سياق السياق، ملف formFile)

تنشئ هذه الدالة ObjectDetector من ملف نموذج وقيمة ObjectDetector.ObjectDetectorOptions التلقائية.

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

public static ObjectDetector createFromOptions (سياق السياق، ObjectDetector.ObjectDetectorOptionsأداة رصد خيارات)

تنشئ هذه الدالة ObjectDetector مثيلاً من ObjectDetector.ObjectDetectorOptions.

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

public ObjectDetectorResult detect (MPImage صورة)

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

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

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

public ObjectDetectorResult detect (MPImage image, ImageProcessingOptions imageProcessingOptions)

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

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

المَعلمات
صورة كائن MediaPipe MPImage للمعالجة.
imageProcessingOptions ImageProcessingOptions التي تحدِّد كيفية معالجة الصورة التي تم إدخالها قبل تنفيذ الاستنتاج يُرجى العلم أنّ هذه المهمة غير تتوافق مع "المنطقة" حيث إنّ تحديد ImageProcessingOptions.regionOfInterest() سيؤدي إلى طرح هذا النوع من قواعد "الاستثناءات" غير القانونية.
الرميات
IllegalArgumentException إذا كانت السمة ImageProcessingOptions تحدّد منطقة الاهتمام.
في حال حدوث خطأ داخلي.

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

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

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

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

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

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

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

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

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

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

public ObjectDetectorResult detectForVideo (MPImage صورة، ImageProcessingOptions imageProcessingOptions, timestampMs)

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

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

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

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

public ObjectDetectorResult detectForVideo (صورة MPImage, الطوابع الزمنية الطويلة)

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

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

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

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