探索Ultralytics的视觉语言模型(VLM)。了解它们如何Ultralytics 计算机视觉与大型语言模型(LLM)相融合,实现视觉问答(VQA)和开放词汇检测。
视觉语言模型(VLM)是一种能够同时处理和解读视觉信息(图像或视频)与文本信息的人工智能技术。 与仅关注像素数据的传统计算机视觉模型,或仅能理解文本的大型语言模型(LLM)不同,VLM弥合了这两种模态之间的鸿沟。通过在包含图像-文本对的海量数据集上进行训练,这些模型学会将视觉特征与语言概念关联起来,从而能够描述图像、回答关于视觉场景的问题,甚至根据其"所见"执行命令。
从本质上讲,视觉语言模型通常由两个主要组件构成:视觉编码器和文本编码器。视觉编码器处理图像以提取特征图和视觉表征,而文本编码器则处理语言输入。随后通过交叉注意力等机制将这两条独立的数据流融合,使视觉信息与文本信息在共享的嵌入空间中实现对齐。
2024年至2025年的最新进展正朝着更统一的架构方向发展,其中单一transformer 网络同时处理两种模态。 例如, Google 2 等模型展示了高效整合这些数据流如何提升复杂推理任务的性能。这种协同机制使模型能够理解上下文——例如在杂货店图像中识别"apple"指代水果,而在公司标识中则指代科技企业。
通过视觉与语言双重途径理解世界的能力,在各行各业中开辟了多元化的应用场景:
区分VLMs与其他人工智能类别有助于理解其特定作用:
现代视觉定位模型(VLMs)支持"开放词汇"检测,即通过自由文本提示而非预定义类别detect 。这Ultralytics YOLO模型的核心特性,可实现无需重新训练的动态类别定义。
下面的示例演示了如何使用 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 。然而,Ultralytics 高效架构的推出,先进视觉能力正逐步向边缘设备延伸。展望未来,我们期待视觉语言模型(VLMs)在机器人代理中发挥关键作用,使其能够根据复杂的语音指令实现自主导航与物体操作。
对于关注理论基础的研究者,OpenAI的原始CLIP论文为对比式语言-图像预训练提供了极佳的洞见。此外,持续关注CVPR会议论文对于追踪这些架构的快速演进至关重要。若需尝试训练自有视觉模型,可借助Ultralytics 实现高效的数据集管理与模型部署。