借助 MediaPipe Interactive Image Segmenter 任务,您可以将图片划分为两个区域:所选对象和所有其他内容。该任务会获取图片中的一个位置,估算该位置上对象的边界,并返回用于定义对象区域的图片数据。您可以使用此任务以交互方式选择图片中的对象,并使用输出结果对图片应用效果,例如突出显示对象的颜色叠加层或模糊处理对象周围的背景。此任务使用机器学习 (ML) 模型处理图片数据,您可以将其用于单张图片、视频文件或连续视频串流。
开始使用
如需开始使用此任务,请按照适用于目标平台的以下任一实现指南操作。以下平台专用指南将引导您完成此任务的基本实现,包括推荐的模型,以及包含推荐配置选项的代码示例:
任务详情
本部分介绍了此任务的功能、输入、输出和配置选项。
功能
- 输入图片处理 - 处理包括图片旋转、调整大小、归一化和颜色空间转换。
任务输入 | 任务输出 |
---|---|
|
Interactive Image Segmenter 会输出经过分割的图片数据,其中可能包括以下一个或两个部分,具体取决于您设置的配置选项:
|
配置选项
此任务具有以下配置选项:
选项名称 | 说明 | 值范围 | 默认值 |
---|---|---|---|
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 |
模型
交互式图片分割器可与多个机器学习模型搭配使用。开始使用此任务进行开发时,请先使用针对目标平台的默认推荐模型。其他可用模型通常需要在性能、准确性、分辨率和资源要求之间进行权衡,在某些情况下,还包含额外的功能。
MagicTouch 模型(推荐)
此模型会根据感兴趣区域的图片坐标识别细分。该模型使用与 MobileNetV3 架构类似的卷积神经网络,并配有自定义解码器。
模型名称 | 输入形状 | 量化类型 | 模型卡片 | 版本 |
---|---|---|---|---|
MagicTouch | 512 x 512 x 4 | 无(float32) | 信息 | 最新 |
任务基准
下面是基于上述预训练模型的整个流水线的任务基准。延迟时间结果是使用 CPU / GPU 在 Pixel 6 上的平均延迟时间。
模型名称 | CPU 延迟时间 | GPU 延迟时间 |
---|---|---|
MagicTouch | 130.11 毫秒 | 67.25 毫秒 |