探索通过视觉提示引导AI模型进行点和框标注的方法。Ultralytics YOLO SAM 精准分割与更快的数据标注。
视觉提示是计算机视觉领域的新兴技术,用户通过提供空间或视觉线索——如点、边界框或涂鸦——引导人工智能模型聚焦图像中的特定对象或区域。与主要依赖文本描述的传统提示工程不同,视觉提示能实现与人工智能系统更精准直观的交互。 该方法利用现代基础模型的能力, 无需大量重新训练或标注数据集即可执行 分割与检测等任务。通过有效"指向"关键内容, 用户能即时将通用模型适配至新型任务, 从而弥合人类意图与机器感知之间的鸿沟。
从本质上讲,视觉提示通过将空间信息直接注入模型的处理管道来发挥作用。当用户点击某个对象或绘制一个框时,这些输入会被转换为基于坐标的嵌入向量,神经网络将这些向量与图像特征进行整合。这一过程是交互式架构(如Segment Anything Model,SAM)的核心机制,该模型基于几何提示来预测遮罩。
视觉提示的灵活性支持多种交互类型:
在CVPR 2024大会上展示的最新研究表明,视觉提示技术能显著缩短数据标注所需时间——人类标注员只需简单点击即可实时修正模型预测结果,无需手动勾勒多边形。
虽然两种技术都旨在引导模型行为,但区分视觉提示与基于文本的方法至关重要。文本到图像生成或零样本检测依赖于自然语言处理(NLP)来解读语义描述(例如"找到红色汽车")。然而,语言在描述精确空间位置或抽象形状时可能存在歧义或不足。
视觉提示通过将指令锚定在像素空间本身来消除这种模糊性。 例如在医学影像分析中,放射科医生点击可疑结节的操作远比通过文字描述其精确坐标和不规则形状更为精准。最强大的工作流程往往融合两种方法——用文本实现语义过滤,用视觉提示确保空间精度——这被称为多模态学习。
视觉提示的适应性使其在不同行业中迅速普及:
Ultralytics 支持可视化提示工作流,尤其通过SAM等模型实现。这些模型允许开发者通过编程方式传递点或框坐标来获取分割掩膜。
下面的示例演示了如何使用 ultralytics 用于向图像应用点提示的包,指示模型对位于特定坐标的segment 。
from ultralytics import SAM
# Load the Segment Anything Model (SAM)
model = SAM("sam2.1_b.pt")
# Apply a visual point prompt to the image
# The 'points' argument accepts [x, y] coordinates
# labels: 1 indicates a foreground point (include), 0 indicates background
results = model("https://ultralytics.com/images/bus.jpg", points=[[300, 350]], labels=[1])
# Display the segmented result
results[0].show()
视觉提示标志着计算机视觉正向"可提示"方向转变,模型不再是静态的 "黑匣子",而是互动工具。这种能力对 主动学习循环至关重要——模型通过整合用户反馈实现快速迭代优化。
对于希望将这些功能集成到生产环境中的开发者Ultralytics 提供了管理数据集和部署模型的工具,这些模型能够处理动态输入。随着研究的深入,我们预计视觉提示与大型语言模型(LLMs)将实现更紧密的集成,从而构建出能够像当前处理文本那样流畅地推理视觉输入的系统。