Выполняет классификацию изображений.
API ожидает модель TFLite с необязательными, но настоятельно рекомендуемыми метаданными модели TFLite. .
API поддерживает модели с одним входным тензором изображения и одним или несколькими выходными тензорами. Если быть более конкретным, то вот требования.
- Тензор входного изображения (
kTfLiteUInt8/kTfLiteFloat32)- Ввод изображения размера
[batch x height x width x channels]. - Пакетный вывод не поддерживается (
batchдолжен быть равен 1). - поддерживаются только входы RGB (
channelsдолжно быть 3). - если тип — kTfLiteFloat32, параметры NormalizationOptions необходимо прикрепить к метаданным для нормализации ввода.
- Ввод изображения размера
kTfLiteUInt8 / kTfLiteFloat32 ) с:-
Nклассов и 2 или 4 измерения, т.е.[1 x N]или[1 x 1 x 1 x N] - необязательные (но рекомендуемые) карты меток в виде AssociatedFile-s с типом TENSOR_AXIS_LABELS, содержащие одну метку в строке. Первый такой AssociatedFile (если есть) используется для заполнения поля
class_nameрезультатов. Полеdisplay_nameзаполняется из AssociatedFile (если есть), языковой стандарт которого соответствует полюdisplay_names_localeвImageClassifierOptions, используемом во время создания (по умолчанию «en», т.е. английский). Если ни один из них недоступен, будет заполнено только полеindexрезультатов. - дополнительную калибровку оценки можно прикрепить с помощью ScoreCalibrationOptions и AssociatedFile с типом TENSOR_AXIS_SCORE_CALIBRATION. Дополнительную информацию см. в файле Metadata_schema.fbs .
Пример такой модели можно найти в TensorFlow Hub .
Вложенные классы
| сорт | ImageClassifier.ImageClassifierOptions | Варианты настройки и ImageClassifier . | |
Публичные методы
| Классификатор изображенияРезультат | классифицировать (изображение MPImage ) Выполняет классификацию предоставленного одиночного изображения с параметрами обработки изображения по умолчанию, т.е. |
| Классификатор изображенияРезультат | классифицировать (изображение MPImage , ImageProcessingOptions imageProcessingOptions) Выполняет классификацию предоставленного единственного изображения. |
| пустота | classifyAsync (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs) Отправляет данные живого изображения для выполнения классификации, и результаты будут доступны через OutputHandler.ResultListener , указанный в ImageClassifier.ImageClassifierOptions . |
| пустота | classifyAsync (изображение MPImage , длинная метка времени) Отправляет данные живого изображения для выполнения классификации с параметрами обработки изображений по умолчанию, т.е. |
| Классификатор изображенияРезультат | classifyForVideo (изображение MPImage , длинная временная меткаMs) Выполняет классификацию предоставленного видеокадра с параметрами обработки изображения по умолчанию, т.е. |
| Классификатор изображенияРезультат | classifyForVideo (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs) Выполняет классификацию предоставленного видеокадра. |
| статический классификатор изображений | createFromBuffer (контекстный контекст, модель ByteBufferBuffer ) Создает экземпляр ImageClassifier из буфера модели и ImageClassifier.ImageClassifierOptions по умолчанию. |
| статический классификатор изображений | createFromFile (контекст контекста, String modelPath) Создает экземпляр ImageClassifier из файла модели и ImageClassifier.ImageClassifierOptions по умолчанию. |
| статический классификатор изображений | createFromFile (контекстный контекст, файл модели файла ) Создает экземпляр ImageClassifier из файла модели и ImageClassifier.ImageClassifierOptions по умолчанию. |
| статический классификатор изображений | createFromOptions (контекст контекста, параметры ImageClassifier.ImageClassifierOptions ) Создает экземпляр ImageClassifier из экземпляра ImageClassifier.ImageClassifierOptions . |
Унаследованные методы
Публичные методы
public ImageClassifierResult классифицировать (изображение MPImage )
Выполняет классификацию предоставленного одиночного изображения с параметрами обработки изображения по умолчанию, т. е. использует все изображение в качестве области интереса и без применения поворота. Используйте этот метод только в том случае, если ImageClassifier создан с помощью ERROR(/RunningMode.IMAGE) .
ImageClassifier поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|
Броски
| если произошла внутренняя ошибка. |
общедоступная классификация ImageClassifierResult (изображение MPImage , ImageProcessingOptions imageProcessingOptions)
Выполняет классификацию предоставленного единственного изображения. Используйте этот метод только в том случае, если ImageClassifier создан с помощью ERROR(/RunningMode.IMAGE) .
ImageClassifier поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| Параметры обработки изображений | ImageProcessingOptions определяющий, как обрабатывать входное изображение перед выполнением вывода. |
Броски
| если произошла внутренняя ошибка. |
public void classifyAsync (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs)
Отправляет данные живого изображения для выполнения классификации, и результаты будут доступны через OutputHandler.ResultListener , указанный в ImageClassifier.ImageClassifierOptions . Используйте этот метод только в том случае, если ImageClassifier создан с помощью ERROR(/RunningMode.LIVE_STREAM) .
Необходимо указать временную метку (в миллисекундах), чтобы указать, когда входное изображение отправляется в детектор объектов. Входные временные метки должны монотонно возрастать.
ImageClassifier поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| Параметры обработки изображений | ImageProcessingOptions определяющий, как обрабатывать входное изображение перед выполнением вывода. |
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| если произошла внутренняя ошибка. |
public void classifyAsync (изображение MPImage , длинная метка времени)
Отправляет данные живого изображения для выполнения классификации с параметрами обработки изображения по умолчанию, т. е. использует все изображение в качестве интересующей области и без применения поворота, а результаты будут доступны через OutputHandler.ResultListener , предоставленный в ImageClassifier.ImageClassifierOptions . Используйте этот метод только в том случае, если ImageClassifier создан с помощью ERROR(/RunningMode.LIVE_STREAM) .
Необходимо указать временную метку (в миллисекундах), чтобы указать, когда входное изображение отправляется в детектор объектов. Входные временные метки должны монотонно возрастать.
ImageClassifier поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| если произошла внутренняя ошибка. |
public ImageClassifierResult classifyForVideo (изображение MPImage , длинная временная меткаMs)
Выполняет классификацию предоставленного видеокадра с параметрами обработки изображения по умолчанию, т. е. использует все изображение в качестве области интереса и без применения поворота. Используйте этот метод только в том случае, если ImageClassifier создан с помощью ERROR(/RunningMode.VIDEO) .
Необходимо указать временную метку видеокадра (в миллисекундах). Входные временные метки должны монотонно возрастать.
ImageClassifier поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| если произошла внутренняя ошибка. |
public ImageClassifierResult classifyForVideo (изображение MPImage , ImageProcessingOptions imageProcessingOptions, long timestampMs)
Выполняет классификацию предоставленного видеокадра. Используйте этот метод только в том случае, если ImageClassifier создан с помощью ERROR(/RunningMode.VIDEO) .
Необходимо указать временную метку видеокадра (в миллисекундах). Входные временные метки должны монотонно возрастать.
ImageClassifier поддерживает следующие типы цветового пространства:
Параметры
| изображение | объект MediaPipe MPImage для обработки. |
|---|---|
| Параметры обработки изображений | ImageProcessingOptions определяющий, как обрабатывать входное изображение перед выполнением вывода. |
| временная меткаMs | временная метка ввода (в миллисекундах). |
Броски
| если произошла внутренняя ошибка. |
общедоступный статический ImageClassifier createFromBuffer (контекст контекста, ByteBuffer modelBuffer)
Создает экземпляр ImageClassifier из буфера модели и ImageClassifier.ImageClassifierOptions по умолчанию.
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| модельBuffer | прямой ByteBuffer или ERROR(/MappedByteBuffer) модели классификации. |
Броски
если при создании ImageClassifier произошла ошибка. |
общедоступный статический ImageClassifier createFromFile (контекст контекста, String modelPath)
Создает экземпляр ImageClassifier из файла модели и ImageClassifier.ImageClassifierOptions по умолчанию.
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| модельпуть | путь к модели классификации в активах. |
Броски
если при создании ImageClassifier возникла ошибка. |
общедоступный статический ImageClassifier createFromFile (контекстный контекст, файл modelFile)
Создает экземпляр ImageClassifier из файла модели и ImageClassifier.ImageClassifierOptions по умолчанию.
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| МодельФайл | экземпляр File модели классификации. |
Броски
| Исключение IO | если при открытии файла модели tflite возникает ошибка ввода-вывода. |
|---|---|
если при создании ImageClassifier возникла ошибка. |
общедоступный статический ImageClassifier createFromOptions (контекст контекста, параметры ImageClassifier.ImageClassifierOptions )
Создает экземпляр ImageClassifier из экземпляра ImageClassifier.ImageClassifierOptions .
Параметры
| контекст | ERROR(/Context) . |
|---|---|
| параметры | экземпляр ImageClassifier.ImageClassifierOptions . |
Броски
если при создании ImageClassifier произошла ошибка. |