SAM分割模型的5个典型用例

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lio-sam是一个开源项目,是LIO(Linux内核iSCSI target)模块的一个分支。它是专门为高性能和可扩展性而设计的iSCSI目标代码。 lio-sam项目的主要目标是提供一个高性能的iSCSI目标,同时保持Linux kernel的稳定性和可靠性。它在传输层使用Scst(SCSI target实现)和LIO(Linux iSCSI实现)的组合,并有一些优化以提高性能。它还支持各种iSCSI功能,如CHAP认证、数据压缩和IPsec等。 代码阅读lio-sam对Linux内核和iSCSI有一定的了解是很有帮助的。lio-sam使用了一些Linux内核的机制,如工作队列和内存管理。了解这些机制将有助于理解lio-sam的实现原理和性能优化技巧。 在阅读lio-sam代码时,可以关注以下几个方面: 1. LIO模块的初始化和配置:lio-sam在加载模块时进行一些初始化工作,包括创建Scst的实和配置iSCSI target。了解这些步骤可以帮助理解lio-sam的工作流程和配置方式。 2. iSCSI连接管理:lio-sam负责管理iSCSI连接,包括连接的建立、维护和中断。了解连接管理的实现原理可以帮助理解lio-sam如何处理多个客户端的连接和请求。 3. SCSI命令处理:lio-sam的核心功能是处理SCSI命令。了解lio-sam如何解析SCSI命令、调用底层存储设备和返回响应可以帮助理解其工作原理和性能优化方法。 4. 性能优化技巧:lio-sam的设计目标之一是提高性能。代码中可能包含一些性能优化技巧,如批量处理、IO调度和缓存管理等。了解这些技巧可以帮助优化自己的应用程序。 需要注意的是,代码阅读是一项耗时耗力的工作,需要具备一定的编程和系统知识。在阅读代码时,可以结合官方文档、论坛和社区来获取更多的信息和帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值