通过 MediaPipe Image Segmenter 任务,您可以根据预定义的 类别。您可以使用此功能来识别特定对象或 然后应用背景模糊等视觉效果。此任务 包含多个经过专门训练的模型,用于对人员及其 特征,包括:
- 人物和背景
- 仅人物头发
- 人的头发、面部、皮肤、服装和配饰
此任务使用机器学习 (ML) 模型对图片数据进行操作, 图片或连续的视频流。它会输出一个细分区域列表, 来表示图像中的对象或区域,具体取决于您要构建的模型 选择。
<ph type="x-smartling-placeholder"></ph> 试试看!
开始使用
使用此任务时,请先按照以下某个实施指南操作 目标平台这些针对具体平台的指南将向您介绍 实现,包括推荐的模型和代码示例 以及建议的配置选项:
任务详情
本部分介绍功能、输入、输出和配置 此任务的选项。
功能
- 输入图像处理 - 处理包括图像旋转、大小调整 标准化和颜色空间转换。
任务输入 | 任务输出 |
---|---|
输入可以是以下数据类型之一: <ph type="x-smartling-placeholder">
|
图像分割器输出经过分割的图像数据,其中可能包括一个或
以下两项,具体取决于您设置的配置选项:
<ph type="x-smartling-placeholder">
|
配置选项
此任务具有以下配置选项:
选项名称 | 说明 | 值范围 | 默认值 |
---|---|---|---|
running_mode |
设置任务的运行模式。有三个
模式: IMAGE:单图输入的模式。 VIDEO:视频已解码帧的模式。 LIVE_STREAM:输入流媒体直播模式 例如来自相机的数据。 在此模式下,resultListener 必须为 调用以设置监听器以接收结果 异步执行。 |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
如果设置为 True ,则输出将包含细分掩码
表示为 uint8 图片,其中每个像素值都表示胜出的类别
值。 |
{True, False } |
False |
output_confidence_masks |
如果设置为 True ,则输出将包含细分掩码
表示为浮点值图片,其中每个浮点值表示置信度
该类别的得分图。 |
{True, False } |
True |
display_names_locale |
设置要用于
任务模型的元数据(如果有)。默认值为 en ,
英语。您可以向自定义模型的元数据中添加本地化标签
使用 TensorFlow Lite Metadata Writer API |
语言区域代码 | en |
result_callback |
设置结果监听器以接收细分结果
在图像分割器处于 LIVE_STREAM 模式时异步执行。
仅在跑步模式设为“LIVE_STREAM ”时才能使用 |
不适用 | 不适用 |
模型
图像分割器可用于多个机器学习模型。以下大部分内容 构建和训练分割模型, 人。但是,DeepLab-v3 模型是作为通用模型构建的, 用途的图片分割器。选择最适合您的应用的模型。
<ph type="x-smartling-placeholder">自拍分割模型
此模型可以分割人物的肖像,还可用于替换 或修改图像中的背景。模型输出两类: 索引 0 处的背景和索引 1 处的人。此模型有多个版本 不同的输入形状,包括方形版本和横向版本, 对于输入始终是该形状、 例如视频通话
模型名称 | 输入形状 | 量化类型 | 模型卡片 | 版本 |
---|---|---|---|---|
<ph type="x-smartling-placeholder"></ph> SelfieSegmenter(方形) | 256 x 256 | 浮点数 16 | <ph type="x-smartling-placeholder"></ph> 信息 | <ph type="x-smartling-placeholder"></ph> 最新 |
<ph type="x-smartling-placeholder"></ph> SelfieSegmenter(横向) | 144 x 256 | 浮点数 16 | <ph type="x-smartling-placeholder"></ph> 信息 | <ph type="x-smartling-placeholder"></ph> 最新 |
头发分割模型
这个模型会拍摄人物图片,找出头发, 输出头发的图像分割映射。您可以将此模型用于 改色头发或应用其他头发特效。模型输出以下内容: 细分类别:
0 - background
1 - hair
模型名称 | 输入形状 | 量化类型 | 模型卡片 | 版本 |
---|---|---|---|---|
<ph type="x-smartling-placeholder"></ph> HairSegmenter | 512 x 512 | 无 (float32) | <ph type="x-smartling-placeholder"></ph> 信息 | <ph type="x-smartling-placeholder"></ph> 最新 |
多类别自拍分割模型
此模型会拍摄人物图像,确定不同区域(例如 头发、皮肤和服装,并输出这些项的图像分割映射。 您可以使用此模型对图片中的人物或照片中的人物应用各种效果 视频。模型输出以下细分类别:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
模型名称 | 输入形状 | 量化类型 | 模型卡片 | 版本 |
---|---|---|---|---|
<ph type="x-smartling-placeholder"></ph> SelfieMulticlass (256 x 256) | 256 x 256 | 无 (float32) | <ph type="x-smartling-placeholder"></ph> 信息 | <ph type="x-smartling-placeholder"></ph> 最新 |
DeepLab-v3 模型
此模型可识别许多类别的片段,包括背景、 人、猫、狗和盆栽植物。该模型使用空心空间金字塔 来捕获范围更广的信息。如需了解详情,请参阅 DeepLab-v3。
模型名称 | 输入形状 | 量化类型 | 版本 |
---|---|---|---|
<ph type="x-smartling-placeholder"></ph> DeepLab-V3 | 257 x 257 | 无 (float32) | <ph type="x-smartling-placeholder"></ph> 最新 |
任务基准
这是整个流水线的任务基准,这些基准基于上述预训练 模型。延迟时间结果是 Pixel 6 使用 CPU / GPU 时的平均延迟时间。
模型名称 | CPU 延迟时间 | GPU 延迟时间 |
---|---|---|
SelfieSegmenter(方形) | 33.46 毫秒 | 35.15 毫秒 |
SelfieSegmenter(横向) | 34.19 毫秒 | 33.55 毫秒 |
HairSegmenter | 57.90 毫秒 | 52.14 毫秒 |
SelfieMulticlass (256 x 256) | 217.76 毫秒 | 71.24 毫秒 |
DeepLab 版本 3 | 123.93 毫秒 | 103.30 毫秒 |