Выполняет обнаружение объектов на изображениях.
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 | временная метка ввода (в миллисекундах). |
Броски
если произошла внутренняя ошибка. |