探索 Ultralytics 的视觉语言模型 (VLM)。了解它们如何利用 Ultralytics YOLO26 弥合计算机视觉和 LLM 之间的鸿沟,实现 VQA 和开放词汇 detect。
视觉语言模型 (VLM) 是一种人工智能,能够同时处理和解释视觉信息(图像或视频)和文本信息。与仅关注像素数据的传统计算机视觉模型或只理解文本的大型语言模型 (LLMs)不同,VLM弥合了这两种模态之间的鸿沟。通过在包含图像-文本对的海量数据集上进行训练,这些模型学习将视觉特征与语言概念关联起来,使它们能够描述图像、回答有关视觉场景的问题,甚至根据它们“看到”的内容执行命令。
视觉语言模型(VLM)的核心通常由两个主要组件构成:视觉编码器和文本编码器。视觉编码器处理图像以提取 feature maps 和视觉表示,而文本编码器则处理语言输入。这些不同的数据流随后通过 cross-attention 等机制进行融合,以在共享嵌入空间中对齐视觉和文本信息。
2024 年和 2025 年的最新进展已转向更统一的架构,其中单个 Transformer 主干网络处理两种模态。例如,Google PaliGemma 2 等模型展示了如何有效地整合这些数据流可以提高复杂推理任务的性能。这种对齐使模型能够理解上下文,例如识别出“apple”一词在杂货店图片中指水果,但在徽标中指科技公司。
通过视觉和语言理解世界的能力,在各行各业开启了多样化应用:
区分VLM与其他AI类别有助于理解其具体作用:
现代VLM实现了“开放词汇”detect,您可以使用自由形式的文本提示而不是预定义类别来detect对象。这是Ultralytics YOLO-World等模型的关键特性,它允许动态定义类别而无需重新训练。
下面的示例演示了如何使用 ultralytics 包,用于 detect 由文本描述的特定对象:
from ultralytics import YOLOWorld
# Load a model capable of vision-language understanding
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference to find these text-defined objects in an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()
尽管视觉语言模型功能强大,但它们面临着重大挑战。一个主要问题是幻觉,即模型自信地描述图像中根本不存在的物体或文本。研究人员正在积极研究基于人类反馈的强化学习(RLHF)等技术,以提高基础性和准确性。
另一个挑战是计算成本。训练这些大型模型需要大量的 GPU resources。然而,Ultralytics YOLO26 等高效架构的发布正在帮助将先进的视觉能力引入边缘设备。展望未来,我们预计 VLM 将在 robotic agents 中发挥关键作用,使机器人能够根据复杂的口头指令进行导航和操作物体。
对于对理论基础感兴趣的人,OpenAI 的原始 CLIP paper by OpenAI 为对比语言-图像预训练提供了出色的见解。此外,及时了解 CVPR conference papers 对于追踪这些架构的快速发展至关重要。要尝试训练自己的视觉模型,您可以使用 Ultralytics Platform 进行流线型数据集管理和模型部署。
开启您的机器学习未来之旅