Выполняет обнаружение объектов на изображениях.
API ожидает модель TFLite с метаданными модели TFLite. .
API поддерживает модели с одним входным тензором изображения и четырьмя выходными тензорами. Если быть более конкретным, то вот требования.
- Тензор входного изображения (
kTfLiteUInt8/kTfLiteFloat32)- Ввод изображения размера
[batch x height x width x channels]. - Пакетный вывод не поддерживается (
batchдолжен быть равен 1). - поддерживаются только входы RGB (
channelsдолжно быть 3). - если тип —
kTfLiteFloat32, то NormalizationOptions необходимо прикрепить к метаданным для нормализации ввода.
- Ввод изображения размера
DetectionPostProcess , т.е.:- Тензор местоположения (
kTfLiteFloat32):- тензор размера
[1 x num_results x 4], внутренний массив, представляющий ограничивающие рамки в форме [сверху, слева, справа, снизу]. -
BoundingBoxPropertiesдолжны быть прикреплены к метаданным и должны указыватьtype=BOUNDARIESиcoordinate_type=RATIO.
- тензор размера
kTfLiteFloat32 ):- тензор размера
[1 x num_results], каждое значение представляет собой целочисленный индекс класса. - если карты меток прикреплены к метаданным как связанные файлы
TENSOR_VALUE_LABELS, они используются для преобразования значений тензора в метки.
kTfLiteFloat32 ):- тензор размера
[1 x num_results], каждое значение представляет оценку обнаруженного объекта.
kTfLiteFloat32 ):- целое число num_results как тензор размера
[1].
Пример такой модели можно найти на TensorFlow Hub. .
Вложенные классы
| сорт | ObjectDetector.ObjectDetectorOptions | Варианты настройки ObjectDetector . | |
Публичные методы
| статический детектор объектов | createFromBuffer (контекстный контекст, модель ByteBufferBuffer ) Создает экземпляр ObjectDetector из буфера модели и значения ObjectDetector.ObjectDetectorOptions по умолчанию. |
| статический детектор объектов | createFromFile (контекст контекста, String modelPath) Создает экземпляр ObjectDetector из файла модели и значения ObjectDetector.ObjectDetectorOptions по умолчанию. |
| статический детектор объектов | createFromFile (контекстный контекст, файл модели файла ) Создает экземпляр ObjectDetector из файла модели и значения ObjectDetector.ObjectDetectorOptions по умолчанию. |
| статический объектдетектор | createFromOptions (контекст контекста, ObjectDetector.ObjectDetectorOptionsDetectorOptions ) Создает экземпляр ObjectDetector из ObjectDetector.ObjectDetectorOptions . |
| Объектдетекторрезультат | обнаружить (изображение MPImage ) Выполняет обнаружение объекта на предоставленном одиночном изображении с параметрами обработки изображения по умолчанию, т.е. |
| Объектдетекторрезультат | обнаружить (изображение MPImage , ImageProcessingOptions imageProcessingOptions) Выполняет обнаружение объекта на предоставленном одном изображении. |
| пустота | обнаружитьAsync (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs) Отправляет данные живого изображения для обнаружения объектов, а результаты будут доступны через OutputHandler.ResultListener , указанный в ObjectDetector.ObjectDetectorOptions . |
| пустота | обнаружитьAsync (изображение MPImage , длинные отметки времени) Отправляет данные живого изображения для обнаружения объектов с параметрами обработки изображений по умолчанию, т.е. |
| Объектдетекторрезультат | обнаружитьForVideo (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs) Выполняет обнаружение объекта в предоставленном видеокадре. |
| Объектдетекторрезультат | DetectForVideo (изображение MPImage , длинная временная меткаMs) Выполняет обнаружение объекта на предоставленном видеокадре с параметрами обработки изображения по умолчанию, т.е. |
Унаследованные методы
Публичные методы
общедоступный статический ObjectDetector createFromBuffer (контекст контекста, ByteBuffer modelBuffer)
Создает экземпляр ObjectDetector из буфера модели и значения ObjectDetector.ObjectDetectorOptions по умолчанию.
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| модельBuffer | прямой ByteBuffer или ERROR(/MappedByteBuffer) модели обнаружения. |
Броски
если при создании ObjectDetector произошла ошибка. |
общедоступный статический ObjectDetector createFromFile (контекстный контекст, String modelPath)
Создает экземпляр ObjectDetector из файла модели и значения ObjectDetector.ObjectDetectorOptions по умолчанию.
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| модельпуть | путь к модели обнаружения с метаданными в активах. |
Броски
если при создании ObjectDetector возникла ошибка. |
общедоступный статический ObjectDetector createFromFile (контекстный контекст, файл modelFile)
Создает экземпляр ObjectDetector из файла модели и значения ObjectDetector.ObjectDetectorOptions по умолчанию.
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| МодельФайл | экземпляр File модели обнаружения. |
Броски
| Исключение IO | если при открытии файла модели tflite возникает ошибка ввода-вывода. |
|---|---|
если при создании ObjectDetector возникла ошибка. |
общедоступный статический ObjectDetector createFromOptions (контекст контекста, ObjectDetector.ObjectDetectorOptionsDetectorOptions )
Создает экземпляр ObjectDetector из ObjectDetector.ObjectDetectorOptions .
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| Опции детектора | экземпляр ObjectDetector.ObjectDetectorOptions . |
Броски
если при создании ObjectDetector произошла ошибка. |
общедоступное обнаружение ObjectDetectorResult (изображение MPImage )
Выполняет обнаружение объекта на предоставленном одиночном изображении с параметрами обработки изображения по умолчанию, т. е. без применения поворота. Используйте этот метод только в том случае, если ObjectDetector создан с помощью ERROR(/RunningMode.IMAGE) .
ObjectDetector поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|
Броски
| если произошла внутренняя ошибка. |
Обнаружение общедоступного ObjectDetectorResult (изображение MPImage , ImageProcessingOptions imageProcessingOptions)
Выполняет обнаружение объекта на предоставленном одном изображении. Используйте этот метод только в том случае, если ObjectDetector создан с помощью ERROR(/RunningMode.IMAGE) .
ObjectDetector поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| Параметры обработки изображений | ImageProcessingOptions определяющий, как обрабатывать входное изображение перед выполнением вывода. Обратите внимание, что область интереса не поддерживается этой задачей: указание ImageProcessingOptions.regionOfInterest() приведет к тому, что этот метод выдаст исключение IllegalArgumentException. |
Броски
| IllegalArgumentException | если ImageProcessingOptions указывает интересующую область. |
|---|---|
| если произошла внутренняя ошибка. |
public void defineAsync (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs)
Отправляет данные живого изображения для обнаружения объектов, а результаты будут доступны через OutputHandler.ResultListener , указанный в ObjectDetector.ObjectDetectorOptions . Используйте этот метод только в том случае, если ObjectDetector создан с помощью ERROR(/RunningMode.LIVE_STREAM) .
Необходимо указать временную метку (в миллисекундах), чтобы указать, когда входное изображение отправляется в детектор объектов. Входные временные метки должны монотонно возрастать.
ObjectDetector поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| Параметры обработки изображений | ImageProcessingOptions определяющий, как обрабатывать входное изображение перед выполнением вывода. Обратите внимание, что область интереса не поддерживается этой задачей: указание ImageProcessingOptions.regionOfInterest() приведет к тому, что этот метод выдаст исключение IllegalArgumentException. |
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| IllegalArgumentException | если ImageProcessingOptions указывает интересующую область. |
|---|---|
| если произошла внутренняя ошибка. |
public void defineAsync (изображение MPImage , длинная метка времени)
Отправляет данные живого изображения для выполнения обнаружения объекта с параметрами обработки изображения по умолчанию, т. е. без применения поворота, а результаты будут доступны через OutputHandler.ResultListener , указанный в ObjectDetector.ObjectDetectorOptions . Используйте этот метод только в том случае, если ObjectDetector создан с помощью ERROR(/RunningMode.LIVE_STREAM) .
Необходимо указать временную метку (в миллисекундах), чтобы указать, когда входное изображение отправляется в детектор объектов. Входные временные метки должны монотонно возрастать.
ObjectDetector поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| если произошла внутренняя ошибка. |
public ObjectDetectorResultDetectForVideo ( изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs)
Выполняет обнаружение объекта в предоставленном видеокадре. Используйте этот метод только в том случае, если ObjectDetector создан с ERROR(/RunningMode.VIDEO) .
Необходимо указать временную метку видеокадра (в миллисекундах). Входные временные метки должны монотонно возрастать.
ObjectDetector поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| Параметры обработки изображений | ImageProcessingOptions определяющий, как обрабатывать входное изображение перед выполнением вывода. Обратите внимание, что область интереса не поддерживается этой задачей: указание ImageProcessingOptions.regionOfInterest() приведет к тому, что этот метод выдаст исключение IllegalArgumentException. |
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| IllegalArgumentException | если ImageProcessingOptions указывает интересующую область. |
|---|---|
| если произошла внутренняя ошибка. |
public ObjectDetectorResultDetectForVideo ( изображение MPImage , длинная временная меткаMs)
Выполняет обнаружение объекта на предоставленном видеокадре с параметрами обработки изображения по умолчанию, т. е. без применения поворота. Используйте этот метод только в том случае, если ObjectDetector создан с помощью ERROR(/RunningMode.VIDEO) .
Необходимо указать временную метку видеокадра (в миллисекундах). Входные временные метки должны монотонно возрастать.
ObjectDetector поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| если произошла внутренняя ошибка. |