Задача MediaPipe Interactive Image Segmenter позволяет разделить изображение на две области: выделенный объект и все остальное. Задача берет местоположение на изображении, оценивает границы объекта в этом месте и возвращает данные изображения, определяющие область объекта. Эту задачу можно использовать для интерактивного выбора объекта на изображении и использования выходных данных для применения к изображению эффектов, таких как наложение цвета, выделяющее объект или размытие фона вокруг него. Эта задача работает с данными изображения с помощью модели машинного обучения (ML), и вы можете использовать ее с отдельными изображениями, видеофайлами или непрерывным видеопотоком.
Начать
Начните использовать эту задачу, следуя одному из этих руководств по реализации для вашей целевой платформы. Эти руководства для конкретных платформ покажут вам базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android – Пример кода – Руководство
- Python — Пример кода — Руководство
- Интернет — Пример кода — Руководство
Подробности задачи
В этом разделе описаны возможности, входы, выходы и параметры конфигурации этой задачи.
Функции
- Обработка входного изображения . Обработка включает в себя поворот изображения, изменение размера, нормализацию и преобразование цветового пространства.
Входные данные задачи | Результаты задачи |
---|---|
| Интерактивный сегментатор изображений выводит сегментированные данные изображения, которые могут включать в себя одно или оба следующих параметра, в зависимости от установленных вами параметров конфигурации:
|
Варианты конфигурации
Эта задача имеет следующие параметры конфигурации:
Название опции | Описание | Диапазон значений | Значение по умолчанию |
---|---|---|---|
output_category_mask | Если установлено значение True , выходные данные включают маску сегментации в виде изображения uint8, где каждое значение пикселя указывает, является ли пиксель частью объекта, расположенного в интересующей области. | { True, False } | False | output_confidence_masks | Если установлено значение True , выходные данные включают маску сегментации в виде изображения с плавающим значением, где каждое значение с плавающей запятой представляет уверенность в том, что пиксель является частью объекта, расположенного в интересующей области. | { True, False } | True |
display_names_locale | Задает язык меток, которые будут использоваться для отображаемых имен, представленных в метаданных модели задачи, если они доступны. По умолчанию en английский язык. Вы можете добавить локализованные метки к метаданным пользовательской модели с помощью API записи метаданных TensorFlow Lite. | Код региона | ru |
Модели
Интерактивный сегментатор изображений можно использовать с несколькими моделями машинного обучения. При разработке этой задачи начните с рекомендуемой по умолчанию модели для вашей целевой платформы. Другие доступные модели обычно обеспечивают компромисс между производительностью, точностью, разрешением и требованиями к ресурсам, а в некоторых случаях включают дополнительные функции.
Модель MagicTouch (рекомендуется)
Эта модель идентифицирует сегменты по координатам изображения интересующей области. В модели используется сверточная нейронная сеть, аналогичная архитектуре MobileNetV3 , с настраиваемым декодером.
Название модели | Введите форму | Тип квантования | Модель карты | Версии |
---|---|---|---|---|
Волшебное прикосновение | 512 х 512 х 4 | Нет (с плавающей запятой32) | Информация | Последний |
Тесты задач
Вот тесты задач для всего конвейера, основанные на вышеупомянутых предварительно обученных моделях. Результатом задержки является средняя задержка на Pixel 6 с использованием ЦП/ГП.
Название модели | Задержка процессора | Задержка графического процессора |
---|---|---|
Волшебное прикосновение | 130,11 мс | 67,25 мс |