Задача сегментации изображения MediaPipe позволяет разделить изображения на регионы на основе предопределенных категорий. Вы можете использовать эту функциональность для определения конкретных объектов или текстур, а затем применить визуальные эффекты, такие как размытие фона. Эта задача включает в себя несколько моделей, специально обученных для сегментирования людей, и их функции в данных изображения, включая:
- Человек и фон
- Только волосы человека
- Волосы человека, лицо, кожа, одежда и аксессуары
Эта задача работает на данных изображения с моделью машинного обучения (ML) с отдельными изображениями или непрерывным видеопотоком. Он выводит список сегментированных областей, представляющих объекты или области на изображении, в зависимости от выбранной вами модели .
Начать
Начните использовать эту задачу, следуя одному из этих руководств по реализации для вашей целевой платформы. Эти руководства для конкретных платформ покажут вам базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android - Code example - Guide
- Python - Руководство по примерам кода
- Интернет - пример кода - Руководство
Подробности задачи
В этом разделе описываются возможности, входы, выходы и параметры конфигурации этой задачи.
Функции
- Обработка изображений - обработка включает в себя вращение изображения, изменение размера, нормализацию и преобразование цветового пространства.
Входные данные задачи | Выходы задачи |
---|---|
Ввод может быть одним из следующих типов данных:
| Выходные данные сегментированного изображения сегментированных
|
Варианты конфигурации
Эта задача имеет следующие параметры конфигурации:
Название опции | Описание | Диапазон значений | Значение по умолчанию |
---|---|---|---|
running_mode | Устанавливает режим выполнения для задачи. Есть три режима: Изображение: режим для отдельных входов изображения. Видео: режим декодированных кадров видео. Live_stream: режим для прямой трансляции входных данных, например, от камеры. В этом режиме Restultistener должен быть вызван для настройки слушателя для получения результатов асинхронно. | { IMAGE, VIDEO, LIVE_STREAM } | IMAGE |
output_category_mask | Если установить на True , вывод включает в себя маску сегментации в качестве изображения UINT8, где каждое значение пикселя указывает значение категории выигрыша. | { True, False } | False | output_confidence_masks | Если установлено значение True , выходные данные включают маску сегментации в виде изображения значения с плавающей запятой, где каждое значение с плавающей запятой представляет карту оценки достоверности категории. | { True, False } | True |
display_names_locale | Устанавливает язык меток для использования для отображения имен, представленных в метаданных модели задачи, если таковые имеются. По умолчанию en для английского. Вы можете добавить локализованные этикетки в метаданные пользовательской модели, используя API автора метаданных Tensorflow Lite | Код региона | ru |
result_callback | Устанавливает слушатель результатов для получения результатов сегментации асинхронно, когда сегмент изображения находится в режиме прямой трансляции. Можно использовать только тогда, когда режим работы установлен на LIVE_STREAM | Н/Д | Н/Д |
Модели
Сегментер изображения можно использовать с более чем одной моделью ML. Большинство из следующих моделей сегментации созданы и обучены для выполнения сегментации с изображениями людей. Тем не менее, модель Deeplab-V3 построена как сегментер изображений общего назначения. Выберите модель, которая лучше всего подходит для вашего приложения.
Модель сегментации селфи
Эта модель может сегментировать портрет человека и может использоваться для замены или изменения фона на изображении. Модель выводит две категории: фон с индексом 0 и человек с индексом 1. Эта модель имеет версии с различными формами ввода, включая квадратную версию и альбомную версию, которая может быть более эффективной для приложений, где входные данные всегда имеют такую форму, например, для видеозвонков. .
Название модели | Введите форму | Тип квантования | Модель карты | Версии |
---|---|---|---|---|
СелфиСегментер (квадратный) | 256 х 256 | поплавок 16 | Информация | Последний |
Selfiesegmenter (ландшафт) | 144 x 256 | Поплавок 16 | Информация | Последний |
Модель сегментации волос
Эта модель снимает изображение человека, находит волосы на голове и выводит карту сегментации изображений для своих волос. Вы можете использовать эту модель для повторного приготовления волос или нанесения других эффектов волос. Модель выводит следующие категории сегментации:
0 - background
1 - hair
Название модели | Входная форма | Тип квантования | Модель карта | Версии |
---|---|---|---|---|
Hairsegmenter | 512 x 512 | Нет (float32) | Информация | Последний |
Модель сегментации мультиклассов
Эта модель берет изображение человека, находит области для различных областей, таких как волосы, кожа и одежда, и выводит карту сегментации изображения для этих элементов. Вы можете использовать эту модель для применения различных эффектов для людей в изображениях или видео. Модель выводит следующие категории сегментации:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
Название модели | Входная форма | Тип квантования | Модель карта | Версии |
---|---|---|---|---|
SelfieMulticlass (256 x 256) | 256 x 256 | Нет (float32) | Информация | Последний |
Модель Deeplab-V3
Эта модель идентифицирует сегменты для ряда категорий, включая фон, человека, кошку, собаку и горшечное растение. Модель использует Atrous Spatial Pyramid Plase, чтобы захватить информацию о более длительном диапазоне. Для получения дополнительной информации см. Deeplab-V3 .
Название модели | Входная форма | Тип квантования | Версии |
---|---|---|---|
Deeplab-V3 | 257 x 257 | Нет (float32) | Последний |
Задача
Вот задача задачи для всего трубопровода на основе вышеуказанных предварительно обученных моделей. Результатом задержки является средняя задержка на Pixel 6 с использованием процессора / графического процессора.
Название модели | Задержка процессора | Задержка графического процессора |
---|---|---|
Selfiesegmenter (квадрат) | 33,46 мс | 35,15 мс |
Selfiesegmenter (ландшафт) | 34,19 мс | 33,55 мс |
Hairsegmenter | 57,90 мс | 52,14 мс |
SelfieMulticlass (256 x 256) | 217,76 мс | 71,24 мс |
Deeplab-V3 | 123,93 мс | 103,30 мс |