Выполняет сегментацию изображений.
API ожидает модель TFLite с метаданными модели TFLite. .
API поддерживает модели с одним входным тензором изображения и одним выходным тензором. Если быть более конкретным, то вот требования.
- Тензор входного изображения (
kTfLiteUInt8
/kTfLiteFloat32
)- Ввод изображения размера
[batch x height x width x channels]
. - Пакетный вывод не поддерживается (
batch
должен быть равен 1). - поддерживаются только входы RGB (
channels
должно быть 3). - если тип —
kTfLiteFloat32
, то NormalizationOptions необходимо прикрепить к метаданным для нормализации ввода.
- Ввод изображения размера
kTfLiteUInt8
/ kTfLiteFloat32
)- тензор размера
[batch x mask_height x mask_width x num_classes]
, гдеbatch
должен быть равен 1,mask_width
иmask_height
— это размеры масок сегментации, созданных моделью, аnum_classes
— это количество классов, поддерживаемых моделью. - необязательные (но рекомендуемые) карты меток могут быть прикреплены как AssociatedFile-s с типом TENSOR_AXIS_LABELS, содержащими одну метку в строке. Первый такой AssociatedFile (если есть) используется для заполнения имени класса, т.е.
ColoredLabel.getlabel()
результатов. Отображаемое имя, т. е.ColoredLabel.getDisplayName()
, заполняется из AssociatedFile (если есть), языковой стандарт которого соответствует полю display_names_locale в ImageSegmenterOptions, используемом во время создания (по умолчанию «en», т.е. английский). Если ни один из них недоступен, будет заполнено только поле «индекс» результатов.
Пример такой модели можно найти на TensorFlow Hub. .
Вложенные классы
сорт | ImageSegmenter.ImageSegmenterOptions | Варианты настройки ImageSegmenter . |
Публичные методы
Унаследованные методы
Публичные методы
общедоступный статический ImageSegmenter createFromBuffer ( ByteBuffer modelBuffer)
Создает экземпляр ImageSegmenter
с буфером модели и ImageSegmenter.ImageSegmenterOptions
по умолчанию.
Параметры
модельBuffer | прямой ByteBuffer или MappedByteBuffer модели сегментации |
---|
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если буфер модели не является прямым ByteBuffer или MappedByteBuffer |
общедоступный статический ImageSegmenter createFromBufferAndOptions (опции ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions )
Создает экземпляр ImageSegmenter
с буфером модели и ImageSegmenter.ImageSegmenterOptions
.
Параметры
модельBuffer | прямой ByteBuffer или MappedByteBuffer модели сегментации |
---|---|
параметры |
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если буфер модели не является прямым ByteBuffer или MappedByteBuffer |
общедоступный статический ImageSegmenter createFromFile (контекст контекста, String modelPath)
Создает экземпляр ImageSegmenter
на основе ImageSegmenter.ImageSegmenterOptions
по умолчанию.
Параметры
контекст | |
---|---|
модельпуть | путь модели сегментации с метаданными в активах |
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
public static ImageSegmenter createFromFile ( File modelFile)
Создает экземпляр ImageSegmenter
на основе ImageSegmenter.ImageSegmenterOptions
по умолчанию.
Параметры
МодельФайл | экземпляр File модели сегментации |
---|
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
public static ImageSegmenter createFromFileAndOptions (опции File modelFile, ImageSegmenter.ImageSegmenterOptions )
Создает экземпляр ImageSegmenter
из ImageSegmenter.ImageSegmenterOptions
.
Параметры
МодельФайл | экземпляр File модели сегментации |
---|---|
параметры |
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
общедоступный статический ImageSegmenter createFromFileAndOptions (контекст контекста, String modelPath, параметры ImageSegmenter.ImageSegmenterOptions )
Создает экземпляр ImageSegmenter
из ImageSegmenter.ImageSegmenterOptions
.
Параметры
контекст | |
---|---|
модельпуть | путь модели сегментации с метаданными в активах |
параметры |
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
общедоступный список < Сегментация > сегмент (длинный кадрBufferHandle, параметры ImageProcessingOptions )
Параметры
РамкаБуферХэндл | |
---|---|
параметры |
общедоступный список < Сегментация > сегмент (изображение TensorImage )
Выполняет фактическую сегментацию предоставленного изображения.
ImageSegmenter
поддерживает следующие типы цветового пространства TensorImage
:
Параметры
изображение | объект UINT8 TensorImage , который представляет изображение RGB или YUV |
---|
Возврат
- результаты выполнения сегментации изображений. Обратите внимание, что в настоящее время ожидается возврат одного элемента
Segmentation
. Результат сохраняется вList
для последующего расширения, например, для моделей сегментации экземпляров, которые могут возвращать одну сегментацию для каждого объекта.
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если тип цветового пространства изображения не поддерживается |
общедоступный список < Сегментация > сегмент (изображение MlImage )
Выполняет фактическую сегментацию предоставленного MlImage
.
Параметры
изображение | MlImage для сегментации. |
---|
Возврат
- результаты выполнения сегментации изображений. Обратите внимание, что в настоящее время ожидается возврат одного элемента
Segmentation
. Результат сохраняется вList
для последующего расширения, например, для моделей сегментации экземпляров, которые могут возвращать одну сегментацию для каждого объекта.
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если тип хранения или формат изображения не поддерживается |
общедоступный список < Сегментация > сегмент (изображение TensorImage , параметры ImageProcessingOptions )
Выполняет фактическую сегментацию предоставленного изображения с помощью ImageProcessingOptions
.
ImageSegmenter
поддерживает следующие типы цветового пространства TensorImage
:
ImageSegmenter
поддерживает следующие параметры:
- поворот изображения (через
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). По умолчанию используетсяImageProcessingOptions.Orientation.TOP_LEFT
.
Параметры
изображение | объект UINT8 TensorImage , который представляет изображение RGB или YUV |
---|---|
параметры | параметры настраивают способ предварительной обработки изображения |
Возврат
- результаты выполнения сегментации изображений. Обратите внимание, что в настоящее время ожидается возврат одного элемента
Segmentation
. Результат сохраняется вList
для последующего расширения, например, для моделей сегментации экземпляров, которые могут возвращать одну сегментацию для каждого объекта.
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если тип цветового пространства изображения не поддерживается |
общедоступный список < Сегментация > сегмент (изображение MlImage , параметры ImageProcessingOptions )
Выполняет фактическую сегментацию предоставленного MlImage
с помощью ImageProcessingOptions
.
ImageSegmenter
поддерживает следующие параметры:
- поворот изображения (через
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). По умолчанию используетсяImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
неэффективен.
Параметры
изображение | MlImage для сегментации. |
---|---|
параметры | параметры определяют способ предварительной обработки изображения. |
Возврат
- результаты выполнения сегментации изображений. Обратите внимание, что в настоящее время ожидается возврат одного элемента
Segmentation
. Результат сохраняется вList
для последующего расширения, например, для моделей сегментации экземпляров, которые могут возвращать одну сегментацию для каждого объекта.
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если тип цветового пространства изображения не поддерживается |