Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Interactive Segmentation

交互式分割会将用户的点击、框选或涂鸦转换为物体掩码,并通过用于纠正的点击不断优化掩码,涵盖从 GrabCut 到 Meta 的 SAM。

交互式分割会根据用户提供的少量提示(例如点击、边界框或涂鸦)生成像素级精准的对象掩码,并随着用户添加修正不断优化掩码。正向点击表示某个点属于对象,负向点击表示某个点不属于对象,因此每轮之后,用户只需指出剩余的最大错误即可。这种方法不依赖类别:模型会分割用户指示的任何对象,包括训练期间从未见过的对象,因此常用于数据标注、照片编辑以及勾画医学扫描中的结构。它是一种人在回路的图像分割方法。

点击循环的工作原理#

模型会接收图像和到目前为止的所有点击,许多模型还会接收上一轮的掩码,然后预测新的掩码。循环会持续进行,直到掩码达到足够好的效果:

基准测试会模拟这类用户:每次新点击都会落在最大误差区域的中心,得分是达到与真实标注 交并比 85% 或 90% 所需的点击次数,在 GrabCut、Berkeley 和 DAVIS 等数据集上分别记为 NoC@85 和 NoC@90。

Ultralytics 包会通过点提示运行 Meta 的 SAM 模型,其中标签 1 表示正向点击,0 表示负向点击:

from ultralytics import SAM

# Meta's SAM 2.1 base model, run through the Ultralytics package
model = SAM("sam2.1_b.pt")
image = "https://ultralytics.com/images/bus.jpg"

# Round 1: a single positive click on the pedestrian's dark coat
results = model(image, points=[[[250, 620]]], labels=[[1]])
print(f"1 click: {int(results[0].masks.data.sum())} mask pixels")

# Round 2: add a positive click on the pedestrian's jeans and a negative click on the bus
results = model(image, points=[[[250, 620], [290, 760], [420, 560]]], labels=[[1, 1, 0]])
print(f"3 clicks: {int(results[0].masks.data.sum())} mask pixels")
results[0].save(filename="interactive_mask.jpg")

单击一次后会打印出 32,598 个掩码像素,单击三次后则为 33,120 个,因此在外套上单击一次就已选中了行人的绝大部分,额外点击则将掩码细化了约 500 个像素。Ultralytics Platform的标注编辑器也运行相同的循环:在智能模式下,单击当前 SAM 掩码外部会添加该区域,单击内部则会减去该区域;完成的掩码会根据数据集任务保存为多边形、边界框或定向框。

从图割到可提示模型#

早期工具会直接优化边界。智能剪刀(1995 年)会将描绘的轮廓吸附到明显边缘上;GrabCut 于 2004 年由 Microsoft Research 发布并收入 OpenCV,它会分割用户绘制框内的对象:迭代拟合前景和背景的颜色模型,并求解图割。自 2016 年以来,深度学习方法会将点击编码为图像旁边的额外输入通道,并通过卷积神经网络学习掩码;后来的模型还会将上一轮掩码作为输入来进行细化。

Meta 于 2023 年发布的 Segment Anything Model (SAM) 将处理过程拆分,使交互几乎即时完成:大型视觉 Transformer只对图像编码一次,轻量级提示编码器和掩码解码器则会在约 50 毫秒内将每组新点击转换为掩码。SAM 还通过自身的交互循环进行训练:在构建 SA-1B 数据集时,标注人员使用模型的连续版本点击分割对象,每个掩码的平均处理时间从 34 秒降至 14 秒。SAM 2 将点击扩展到视频,可在帧间传播掩码;SAM 3 则新增了可提示概念分割,能够找出所有符合简短文本短语的实例。

交互式分割与自动分割#

实例分割模型无需人工输入,就能自动分割固定的一组训练类别,适用于必须处理每一帧的生产流水线。交互式分割以灵活性换取自动化,通常用于创建这类模型的训练掩码,且经常嵌入主动学习循环:该循环会将模型最不确定的图像发送给标注人员。视觉提示是通过点、框或示例图像引导视觉模型这一更广泛的概念,而交互式分割则是其中以迭代方式生成掩码的形式。

实际应用#

  • 数据集标注:标注人员只需点击几下即可勾勒对象,无需描绘数百个多边形顶点;使用 SAM 辅助的标注人员每个掩码只需 14 秒,速度比 COCO 的手动掩码标注快 6.5 倍。
  • 医学影像:放射科医生使用框和修正点击,在 CT 和 MRI 扫描中勾画肿瘤和器官;MedSAM 则通过在涵盖 10 种成像模态的 1,570,263 对医学图像-掩码数据上微调 SAM,将其应用于医学领域。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来