Meta AI 于2023 年推出的分割任意模型 (SAM) 彻底改变了我们对图像分割的质量标准。 给定输入图像,SAM 尝试分割图像中的所有对象并生成分割掩模。 使用 SAM,你可以分割对象,然后,可以使用模型来利用该信息,例如用于为图像到文本模型生成指定对象的蒙版。
由于 SAM 为图像分割设定了如此高的标准,我们想退一步问:SAM 的主要用例是什么? 如何使用 SAM 来帮助你解决问题?
这是我们将在本指南中回答的两个问题。 下面,我们将介绍 SAM 的五个用例。 话不多说,让我们开始吧!
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器
1、辅助图像标注
你可以将已针对特定任务训练过的模型与 SAM 结合使用,以提供助手来建议添加到图像中的标注。 这允许你创建多边形注释,而无需单击多边形周围的各个点。 使用 SAM,你可以单击感兴趣的对象,然后根据需要单击以细化你的标注。
2、零样本标注
零样本标记是指对以前未见过的图像进行标注。
例如,你可以向 SAM 提供道路上的汽车模型,SAM 将能够为所有汽车以及图像中的其他所有内容推荐分割掩模。 话虽如此,淹没不会带有标注信息来告诉你这些对象是汽车。 这是因为 SAM 仅分割图像, 它不像 Grounding DINO 等零样本物体检测器那样检测图像。
然后,你需要通过零样本目标检测模型(例如 Grounding DINO)将 SAM 的输出掩码提供给能够找到所有汽车的模型。 从那里,你可以为图像中感兴趣的每个蒙版添加标签。 在上述示例中,可以将 Grounding DINO 报告包含汽车的仅标注掩码发送到你的数据集。
3、删除背景
SAM 可以非常精确地识别图像中的背景。 使用 SAM 时,你可以交互式地选择背景蒙版。 然后,可以使用该信息从图像中删除现有背景并将其替换为透明背景。 然后,可以将新图像放置在新背景之上。
此功能很有用的一种情况是照片编辑。 考虑这样一个场景,你有一个人的图像,您想要更改其背景(因为你想在该人后面添加彩色渐变背景)。 你可以检索与图像中的人物关联的像素,然后添加自定义背景。
4、图像修复
SAM 识别对象周围边界的准确度使该模型成为图像生成修复的理想伙伴。 使用 SAM 这样的模型,你可以找到要更改的图像的确切特征,然后通过支持稳定扩散等修复的模型发送蒙版。
考虑一个示例,你希望将停车场图像中的所有蓝色汽车替换为红色汽车,如果你正在构建模型来检测汽车,可能需要执行此任务。 可以使用 SAM 识别所有汽车,选择包含蓝色汽车的遮罩,然后提供每个遮罩作为修复模型的提示。 然后,你可以提出“将汽车的颜色更改为蓝色”之类的请求来获得所需的输出。
5、合成数据生成
如前所述,你可以将 SAM 与零样本对象检测模型(例如 Grounding DINO)结合使用。 当你拥有代表感兴趣对象的蒙版时,可以将它们粘贴到具有与模型部署环境相关的新背景的图像上。 这将帮助你的模型学习更好地识别数据集中的特征。
此外,你可以使用修复功能进行合成数据生成。 在修复示例中,我们注意到可以更改停车场中汽车的颜色,以帮助你使模型更能代表其运行的环境。 我们再举一个例子。 假设你正在识别金属管道上的缺陷。 可以使用 SAM 识别图像中的金属管,然后要求支持修复的模型添加划痕、凹痕或你希望能够检测到的其他缺陷。
6、结束语
我们才刚刚开始探索SAM模型的可能性。 生成式人工智能、零样本标签、图像字幕等还有更多应用有待探索。
如果你对 SAM 提供的功能感兴趣,我们建议你亲自尝试一下该模型!
原文链接:SAM分割模型的5个用例 - BimAnt