全新推出:LiteRT:Google 专为设备端 AI 打造的高性能运行时,以前称为 TensorFlow Lite。
交互式图像分割任务指南
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
借助 MediaPipe Interactive Image Segmenter 任务,您可以将图片划分为两个区域:所选对象和其他所有内容。该任务接受图片中的某个位置,估算该位置处对象的边界,并返回定义对象区域的图片数据。您可以使用此任务以交互方式选择图片中的对象,并使用输出对图片应用效果,例如使用颜色叠加层突出显示对象或对该对象周围的背景进行模糊处理。此任务使用机器学习 (ML) 模型处理图片数据,可用于单张图片、视频文件或连续视频流。
试试吧!arrow_forward
开始使用
如需开始使用此任务,请按照适用于您的目标平台的其中一个实现指南进行操作。这些平台专用指南将引导您完成此任务的基本实现,包括推荐的模型和包含推荐配置选项的代码示例:
任务详情
本部分介绍此任务的功能、输入、输出和配置选项。
特性
- 输入图片处理 - 处理包括图片旋转、调整大小、归一化和颜色空间转换。
任务输入 |
任务输出 |
|
交互式图像分割器会输出分割图像数据,其中可能包括以下一项或两项,具体取决于您设置的配置选项:
CATEGORY_MASK :包含分割掩码(采用 uint8 格式图片)的列表。每个像素值都会指示它是否属于位于相关区域的对象的一部分。
CONFIDENCE_MASK :一个通道列表,其中包含一个采用 float32 格式的分割掩码和像素值。每个像素值表示其属于相应区域所处对象一部分的置信度。
|
配置选项
此任务具有以下配置选项:
选项名称 |
说明 |
值范围 |
默认值 |
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 架构)。
任务基准
以下是基于上述预训练模型的整个流水线的任务基准。延迟时间结果是 Pixel 6 使用 CPU / GPU 时的平均延迟时间。
模型名称 |
CPU 延迟时间 |
GPU 延迟时间 |
MagicTouch |
130.11 毫秒 |
67.25 毫秒 |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-06-28。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-06-28\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-06-28。"],[],[]]