探索视觉提示,通过点和框引导AI模型。了解Ultralytics YOLO和SAM如何实现精确的segmentation和更快的数据标注。
视觉提示是计算机视觉领域一项新兴技术,用户通过提供空间或视觉线索——例如点、边界框或涂鸦——来引导 AI 模型将焦点集中到图像中的特定物体或区域。与主要依赖文本描述的传统 提示工程 不同,视觉提示允许与 人工智能 (AI) 系统进行更精确和直观的交互。这种方法利用现代 基础模型 的能力来执行 segment 和 detect 等任务,而无需大量重新训练或大型标注数据集。通过有效地“指向”重要内容,用户可以即时将通用模型适应新任务,弥合人类意图与机器感知之间的鸿沟。
视觉提示的核心在于将空间信息直接注入到模型的处理流程中。当用户点击一个物体或绘制一个框时,这些输入会被转换为基于坐标的嵌入,神经网络将其与图像特征进行整合。这一过程对于像 Segment Anything Model (SAM) 这样的交互式架构至关重要,模型正是基于几何提示来预测掩码的。
视觉提示的灵活性允许各种交互类型:
在 CVPR 2024 上发表的最新研究强调了视觉提示如何显著减少 数据标注 所需的时间,因为人工标注员可以通过简单的点击实时修正模型预测,而无需手动描绘多边形。
尽管这两种技术都旨在引导模型行为,但区分视觉提示和基于文本的方法至关重要。文本到图像 生成或零样本 detect 依赖于 自然语言处理 (NLP) 来解释语义描述(例如,“找到那辆红色的车”)。然而,语言可能模糊不清或不足以描述精确的空间位置或抽象形状。
视觉提示通过将指令锚定在像素空间本身来解决这种模糊性。例如,在 医学图像分析 中,放射科医生点击可疑结节远比尝试通过文本描述其确切坐标和不规则形状要准确得多。通常,最强大的工作流程会结合这两种方法——使用文本进行语义过滤,并使用视觉提示实现空间精度——这被称为 多模态学习。
视觉提示的适应性使其在不同行业中得到快速采用:
Ultralytics 生态系统支持视觉提示工作流程,特别是通过 FastSAM 和 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 Platform 提供了管理数据集和部署能够处理动态输入的模型的工具。随着研究的进展,我们预计视觉提示与 大型语言模型 (LLMs) 之间将实现更紧密的集成,使系统能够以处理文本的相同流畅度来推理视觉输入。

开启您的机器学习未来之旅