什么是视觉语言模型 (VLM)¶
预计阅读:15 分钟 | 前置知识:了解 Transformer 和预训练概念
一句话定义¶
VLM(Vision-Language Model)是能同时理解图像和自然语言的多模态模型。
简单来说:给 VLM 一张图和一个问题,它能用自然语言回答关于图像的内容。
直觉理解¶
想象你给一个助手看一张无人机航拍照片,并问:"照片里有什么?有没有适合降落的区域?"
- 纯视觉模型:只能告诉你"这是建筑、这是道路、这是草地"
- VLM:能理解你的问题,结合图像内容回答"照片中央有一片开阔草地,面积约20x20米,适合降落。右侧有建筑群,需要避开。"
VLM 的核心能力是跨模态理解——把视觉信息和语言信息对齐到同一个语义空间。
核心架构¶
现代 VLM 通常由三个组件构成:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 视觉编码器 │ │ 跨模态对齐 │ │ 大语言模型 │
│ (Vision │ → │ (Alignment │ → │ (LLM: │
│ Encoder) │ │ Module) │ │ LLaMA等) │
└─────────────┘ └─────────────┘ └─────────────┘
图像 → 视觉token → 文本输出
特征向量 语言token空间 "图片里有..."
组件一:视觉编码器¶
将图像转换为特征向量序列(visual tokens)。
| 编码器 | 特点 |
|---|---|
| ViT (Vision Transformer) | 将图像切分为patch,用Transformer编码 |
| CLIP ViT | 用对比学习预训练,视觉-语言对齐 |
| SigLIP | CLIP的改进版,更好的对齐效果 |
| InternViT | 大规模视觉编码器,更强的视觉理解 |
组件二:跨模态对齐¶
将视觉特征映射到语言模型能理解的空间。
常见方案: - 线性投影:简单但有效(LLaVA方案) - Q-Former:用可学习的query提取视觉信息(BLIP-2方案) - Cross-Attention:在LLM层中注入视觉信息
组件三:大语言模型¶
负责理解+生成文本。常用的LLM底座: - LLaMA / LLaMA-3 - Qwen / Qwen-2.5 - Vicuna - InternLM
训练流程¶
VLM 的训练通常分两个阶段:
阶段一:预训练对齐¶
阶段二:指令微调¶
关键数据集: - LAION-5B:50亿图文对 - ShareGPT4V:高质量对话数据 - LLaVA-Instruct-150K:约 15.8 万条图文指令(58K 对话 + 23K 详细描述 + 41K 复杂推理)
VLM 的核心能力¶
| 能力 | 说明 | 示例 |
|---|---|---|
| 图像描述 | 用自然语言描述图像 | "图片中有一架白色无人机在草地上方飞行" |
| 视觉问答 | 回答关于图像的问题 | Q: "有多少人?" A: "图片中有3个人" |
| 视觉推理 | 基于图像进行逻辑推理 | "因为天空有乌云,可能即将下雨" |
| 视觉定位 | 在图像中定位特定物体 | "汽车在图像的左下角,坐标[120,340]" |
| OCR | 识别图像中的文字 | 读取标志牌、仪表盘数字 |
| 场景理解 | 理解场景的整体语义 | "这是一个十字路口,有红绿灯" |
代表性 VLM 模型¶
通用 VLM¶
| 模型 | 年份 | 核心创新 |
|---|---|---|
| CLIP (OpenAI) | 2021 | 对比学习对齐视觉和语言 |
| BLIP-2 (Salesforce) | 2023 | Q-Former桥接视觉和语言 |
| LLaVA (UW-Madison) | 2023 | 简单高效的视觉指令微调 |
| GPT-4V (OpenAI) | 2023 | 多模态大模型的里程碑 |
| Qwen-VL (阿里) | 2023 | 中文多模态大模型 |
| InternVL (上海AI Lab) | 2024 | 开源最强VLM之一 |
遥感/无人机 VLM¶
| 模型 | 年份 | 专注领域 |
|---|---|---|
| GeoChat | 2024 | 首个遥感VLM,支持多轮对话+定位 |
| RSGPT | 2023 | 遥感图像描述和VQA |
| SkySenseGPT | 2024 | 细粒度遥感理解 |
| EarthGPT | 2024 | 多传感器遥感理解 |
| RS-LLaVA | 2024 | 遥感领域LLaVA适配 |
VLM 在无人机中的应用¶
场景理解¶
任务规划¶
异常检测¶
降落点评估¶
VLM 的局限性¶
| 局限 | 说明 |
|---|---|
| 无动作输出 | VLM只能"说",不能"做"——需要额外模块转为动作 |
| 计算开销大 | 大型VLM需要大量算力,难以直接部署到无人机上 |
| 幻觉问题 | 可能"看到"不存在的东西(如误报障碍物) |
| 时序理解弱 | 单帧理解强,视频序列理解相对较弱 |
| 空间推理有限 | 对精确的3D空间关系理解不够准确 |
VLM → VLA 的演进¶
VLM 的局限性(无动作输出)催生了 VLA 的发展:
VLA 可以看作是"VLM + 动作头"的组合,让模型不仅能理解,还能执行。
延伸阅读¶
思考题¶
-
基本理解:VLM的三个核心组件是什么?各自的作用是什么?
-
架构对比:LLaVA的"线性投影"方案和BLIP-2的"Q-Former"方案有什么优劣?
-
无人机应用:如果要为无人机设计一个VLM,需要特别优化哪些能力?
-
挑战分析:为什么现有的VLM不能直接用于无人机控制?缺少什么?
-
进阶思考:VLM的"幻觉"问题在无人机场景下会有什么危险后果?如何缓解?