يرصد عناصر الصور.
نتوقّع في واجهة برمجة التطبيقات استخدام نموذج 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]
.
- عدد صحيح num_results كوحدة موتر بالحجم
- متعدّد الموقع الجغرافي (
ويمكن الاطّلاع على مثال لهذا النموذج على مركز 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 | |
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 | الطابع الزمني للإدخال (بالمللي ثانية). |
الرميات
في حال حدوث خطأ داخلي. |