Vision Language Model (VLM)
探索 Ultralytics 的视觉语言模型(VLM)。了解它们如何连接计算机视觉和 LLM,以支持 VQA 和使用 Ultralytics YOLO26 进行开放词汇检测。
视觉语言模型 (VLM) 是一种人工智能,能够同时处理和理解视觉信息(图像或视频)与文本信息。传统的计算机视觉模型只关注像素数据,而大型语言模型 (LLM)只理解文本;VLM 则弥合了这两种模态之间的差距。通过在包含图像文本对的大型数据集上训练,这些模型学会将视觉特征与语言概念关联起来,因此能够描述图像、回答有关视觉场景的问题,甚至根据它们“看到”的内容执行命令。
视觉语言模型的工作原理#
VLM 的核心通常由两个主要组件构成:视觉编码器和文本编码器。视觉编码器处理图像以提取特征图和视觉表示,文本编码器则处理语言输入。随后,系统通过交叉注意力等机制融合这些不同的数据流,使视觉和文本信息在共享的嵌入空间中对齐。
2024 年和 2025 年的最新进展正朝着更加统一的架构发展,由单个 Transformer 主干网络处理两种模态。例如,Google PaliGemma 2等模型展示了有效整合这些数据流如何提升复杂推理任务的性能。这种对齐使模型能够理解上下文,例如识别出在杂货店图片中,“apple”指的是水果,而在徽标中则指的是科技公司。
实际应用#
通过视觉和语言理解世界的能力,为各行各业带来了多种应用:
- 视觉问答 (VQA):VLM 广泛用于医疗诊断,协助放射科医生工作。医生可以询问系统:“这张 X 光片上有骨折吗?”模型会分析医学图像并提供初步评估,从而减少诊断错误。
- 智能电商搜索:在零售环境中,VLM 让用户能够结合自然语言描述和图像搜索商品。购物者可以上传一张名人的穿搭照片,并询问:“帮我找一条图案相同但颜色是蓝色的裙子。”系统会利用语义搜索找到准确匹配项。
- 自动生成说明文字与无障碍支持:VLM 会自动为网络图像生成描述性替代文本,让依赖屏幕阅读器的视障用户更方便地访问数字内容。
VLM 与相关概念的区别#
区分 VLM 与其他 AI 类别,有助于理解 VLM 的具体作用:
- VLM 与 LLM:大型语言模型(例如纯文本版 GPT-4)只处理文本数据。它可以生成创意故事或代码,却无法“看见”图像。VLM 相当于为 LLM 装上了眼睛。
- VLM 与目标检测:传统的目标检测模型(例如早期 YOLO 版本)会识别物体的位置和类别(例如“汽车:99%”)。VLM 则更进一步,能够理解物体之间的关系和属性,例如“停在消防栓旁边的一辆红色跑车”。
- VLM 与多模态 AI:多模态 AI是一个更广泛的统称。所有 VLM 都是多模态模型(结合视觉和语言),但并非所有多模态模型都是 VLM;有些模型可能会结合音频和文本(例如语音转文本),或视频和传感器数据,但不包含语言组件。
使用 YOLO 进行开放词汇检测#
现代 VLM 支持“开放词汇”检测,你可以使用自由形式的文本提示词检测物体,而不是依赖预定义类别。这是 Ultralytics YOLO-World等模型的一项关键功能,无需重新训练即可动态定义类别。
以下示例演示如何使用 ultralytics 软件包检测文本描述的特定物体:
from ultralytics import YOLOWorld
# 加载能够理解视觉语言的模型
model = YOLOWorld("yolov8s-world.pt")
# 使用自然语言文本提示词定义自定义类别
model.set_classes(["person wearing sunglasses", "red backpack"])
# 运行推理,在图像中查找由文本定义的物体
results = model.predict("https://ultralytics.com/images/bus.jpg")
# 显示检测结果
results[0].show()挑战与未来方向#
视觉语言模型功能强大,但也面临重大挑战。其中一个主要问题是幻觉:模型会信心十足地描述图像中实际不存在的物体或文字。研究人员正积极探索基于人类反馈的强化学习 (RLHF)等技术,以改善定位能力和准确率。
另一个挑战是计算成本。训练这些大型模型需要大量 GPU 资源。不过,Ultralytics YOLO26等高效架构的推出,正帮助将先进视觉能力带到边缘设备。展望未来,我们预计 VLM 将在机器人智能体中发挥关键作用,使机器人能够根据复杂的口头指令进行导航和操控物体。
如果你对理论基础感兴趣,可以阅读 OpenAI 的 CLIP 原始论文,深入了解对比式图文预训练。此外,关注 CVPR 会议论文对于追踪这些架构的快速演进至关重要。要尝试训练自己的视觉模型,可以使用 Ultralytics Platform简化数据集管理和模型部署。









