ObjectDetector

публичный финальный класс ObjectDetector

Выполняет обнаружение объектов на изображениях.

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