VLDet: Enhancing Open-Vocabulary Object Detection through Multi-Level Fine-Grained Visual-Language Alignment
- 推文链接: https://mp.weixin.qq.com/s/M7ZMhnabdD5FkTcxdFY0Ew
- 推文标题: 超越YOLO-World!Meta发布开放词汇目标检测新框架!零样本能力也很强!
- 来源: https://arxiv.org/abs/2602.00531
- 本地PDF:
../raw/2026-01-31-vldet.pdf - 日期: 2026-01-31
- 标签:
open-vocabulary detection,visual-language,CLIP,feature pyramid,yolo-world - 研究方向: 2D Object Detection → 开放词汇检测 → 视觉-语言对齐
- 作者: Tianyi Zhang (UMN), Antoine Simoulin, Kai Li, Sana Lakdawala, Shiqing Yu, Arpit Mittal, Hongyu Fu, Yu Lin (Meta)
- 代码: 未开源
公众号推文解读
摘要
Meta 发布 VLDet(Visual-Language Detection),一个超越 YOLO-World 的开放词汇目标检测新框架。核心思路:通过多尺度特征金字塔(VL-PUB)将 CLIP 的全局视觉-语言知识适配到检测任务,同时引入 SigRPN 做 anchor-text 对比对齐,实现细粒度的视觉-语言对齐。
背景
- 传统检测器只能识别预定义类别,无法泛化到新类别
- OVR-CNN (2021):首提开放词汇检测,用 CLIP 做骨干,但 CLIP 是全局语义理解,小目标检测差(小物体 AP 不到大物体的 1/3)
- RegionCLIP (2022):从 CLIP 蒸馏区域级特征,但依赖伪标签,质量瓶颈
- YOLO-World (2024):实时开放词汇检测,52 FPS,但精度比 RegionCLIP 低 5 个百分点
核心创新
- VL-PUB (Visual-Language Pyramid Upscale Block):将 CLIP 的单尺度特征重构为多尺度特征金字塔,同时具备全局视野和局部专注
- SigRPN:sigmoid-based anchor-text 对比对齐 loss,提升新类别检测
- 数据:放弃伪标签,使用 Objects365 高质量人工标注
结果
- COCO2017 新类别 AP 58.7(超 YOLO-World-L 4.43 AP)
- LVIS 24.8 AP(超 SOTA 6.9%)
- 细粒度类别(波斯猫 vs 暹罗猫)准确率提升 35%
- 零样本检测能力也强
论文解读
1. Introduction
背景:
- 传统检测器只能检测预定义类别,无法适应动态环境
- OVD 方法近年有进展,但面临三大挑战:
- CLIP 单尺度骨干不适配检测:直接用 CLIP 单尺度 backbone 丢失空间信息;用伪标签训练多尺度 backbone(如 GLIP)需要大量额外处理,可复现性差
- 视觉-语言对齐不够细粒度:现有方法偏重 region-wise 对齐,忽略 image-wise 对齐也有益
- RPN 不够强:vanilla RPN 或单阶段检测器限制了 OVD 性能上限,更强的 RPN 能显著提升新类别 proposals
VLDet 贡献:
- VL-PUB: Visual-Language Pyramid Upscale Block,将 CLIP 的单尺度知识适配到检测,构建多尺度特征金字塔
- SigRPN: 首个为 OVD 设计的 RPN,用 sigmoid-based anchor-text contrastive loss 区分背景与任意类别前景
- 多层级对比 Loss:image-caption contrastive loss + anchor-text binary alignment + region-text alignment,从全局到局部全面对齐
- 仅用 Objects365 预训练(+ BLIP-2 生成 caption),无需伪标签,COCO Novel 58.7 AP,LVIS APr 24.8
关于 Base/Novel 评测协议:VLDet 遵循传统 OVD 评测(和 OVR-CNN、ViLD、RegionCLIP 一脉相承):COCO2017 上 48 类做 Base(有训练标注),17 类做 Novel(训练时完全不见);LVIS 上 866 个 Common+Frequent 做 Base,337 个 Rare 做 Novel。而 Grounding DINO / YOLO-World / LocateAnything 走的是大规模预训练 + zero-shot 直接评测的路线,不做 base/novel 划分。两种体系各有侧重:前者严格测试新类泛化,后者更贴近实际部署。VLDet 的 Novel AP 不可直接与 YOLO-World 的 zero-shot AP 对比。
2. Related Work
- OVD 方法演进:OVR-CNN(image-caption 预训练)→ ViLD(从 CLIP 蒸馏)→ RegionCLIP(区域级蒸馏,依赖伪标签)→ BARON(CLIP+COCO Cap)→ YOLO-World(实时但精度低)→ CCKT-Det++(SwinB, 46.0 AP)
- 关键问题:现有方法要么直接用 CLIP 单尺度 backbone(空间信息差),要么用伪标签训练多尺度 backbone(额外成本大);且偏重 region-wise 对齐,忽略 image-wise 对齐
- VLDet 的差异:不依赖伪标签区域或单阶段检测器,用特征金字塔 + 多层级对比 loss;首个将 image-wise 对齐纳入 OVD 框架的方法
3. Approach
3.1 Overall Architecture
数据流:
- 输入图像 x ∈ R^(H×W×3) → CLIP 图像编码器 → 单尺度特征 v₀ ∈ R^(H/p × W/p × C_v)
- 类别名 → CLIP 文本编码器 → 每类一个 token(l_cls ∈ R^(N×C_l)),训练时额外加 caption 分支(l_cap ∈ R^(L×C_l))
- v₀ 和 l_cls / l_cap 通过 VL-PUB 融合并生成多尺度特征金字塔
- 多尺度特征送入 SigRPN(生成 proposals)+ ROI Head(分类+回归)
文本编码的关键设计:
- 每个类别名独立编码为一个 embedding 向量(padding 到统一 token 长度——论文原文:(e.g. 5 tokens for each class on COCO2017)),而非像 GLIP 那样把所有类别名拼成一个长序列。Padding 是在输入端做的:不同类名的 subword token 数不同(如 "dog" 1 个,"parking meter" 2 个),Transformer 批处理要求同一 batch 内序列长度一致,所以 pad 到最长类名的长度;最终经过 text encoder 后输出的都是同一维度的 embedding 向量,与 padding 无关
- 与 GLIP 的区别:GLIP 将所有类名拼成 "cat. dog. person. ..." 一起编码,每个类占多个 token 位置,需要额外做 token grouping 找回每个类的表示;类别数多时(如 O365 的 365 类)直接超出 text encoder 的 256 token 上限
- 与 YOLO-World / Grounding DINO 的做法一致:都是每类独立编码、得到一个向量
- 训练时额外使用 caption 分支(推理时不用),为 class name embedding 提供更多文本上下文
3.2 VL-PUB (Visual-Language Pyramid Upscale Block)
问题:CLIP 视觉编码器只输出单尺度特征,但目标检测需要多尺度特征金字塔来检测不同大小的物体。
VL-PUB 的结构:
- 输入:单尺度视觉特征 v₀ + 文本特征 l_cls / l_cap
- 通过双向交叉注意力(bi-directional cross-attention)融合视觉和文本特征:
- 视觉 → 文本:注入语义信息
- 文本 → 视觉:文本获得空间上下文
- 融合后通过上采样/下采样生成多尺度特征 P₂, P₃, P₄, P₅, P₆
VL-Fuse 层:VL-PUB 内的视觉-语言融合层,在每个尺度上都进行跨模态交互。消融实验显示 VL-Fuse 将 AP 从 40.18 提升到 40.98(+0.8)
与 YOLO-World RepVL-PAN 的区别:YOLO-World 在 YOLOv8 的多尺度 PAN 上做视觉-语言融合,骨干本身就是多尺度的;VLDet 是从 CLIP 的单尺度 ViT 出发,先融合再构建金字塔,本质上是"先对齐再分尺度"
3.3 SigRPN (Sigmoid-based RPN)
问题:传统 RPN 用二分类(前景/背景)做 objectness,但在 OVD 中,新类别没有专门训练过,RPN 难以提出新类别的 proposals。
SigRPN 的核心——Anchor-Text Binary Alignment Loss (AAL):
对每个 anchor,计算其视觉特征与所有前景类别文本特征的相似度均值,减去与背景文本特征的相似度:
s_obj = (1/N' × Σ φ(v, l_i) - φ(v, l₀)) / τ
其中 N' 是前景类别数,l₀ 是背景文本特征
用 BCE loss 监督 s_obj 作为 RPN 分类 loss
核心洞察:通过对比"所有前景类别的平均相似度"与"背景相似度"的差异来判断 objectness,这使得 RPN 能对任意类别的前景产生响应,而不仅限于训练时见过的类别
优势:
- 传统 RPN 的二分类只对 base 类有效,SigRPN 的对比式 objectness 天然泛化到 novel 类
- 类别名编码为单个 token,计算相似度高效且类别数无上限
3.4 多层级对比 Loss
VLDet 设计了三个层级的对比 loss,从粗到细:
| Loss | 层级 | 对齐对象 | 作用 |
|---|---|---|---|
| L_ICL (Image-Caption Loss) | Image-wise | 整图特征 ↔ caption 文本特征 | 全局语义对齐,在 mini-batch 内计算,平衡 image-wise 与 region-wise 训练 |
| L_AAL (Anchor-Text Alignment Loss) | Region-wise (RPN) | anchor 视觉特征 ↔ 类别文本特征 | 区分前景/背景,提升新类别 proposals |
| L_RAL (Region-Text Alignment Loss) | Region-wise (ROI) | ROI 视觉特征 ↔ 类别文本特征 | 细粒度区域-类别对齐,用于最终分类 |
- L_ICL 是 VLDet 的独特贡献——首个将 image-wise 对齐纳入 OVD 框架,消融显示 +L_ICL 将 AP 从 38.89 提升到 40.18(+1.3)
- 训练时 caption 分支提供更丰富的文本上下文,增强 class name token 的语义质量
- 总 loss:L = L_AAL + L_RAL + L_ICL + L_box(标准 box regression loss)
3.5 训练数据
- 不使用伪标签:放弃 RegionCLIP/YOLO-World 依赖的 GLIP 伪标注方案
- 训练数据:Objects365 一个数据集的图像,配两种标注:
- O365 原始检测标注(框 + 类别名)→ 用于 region-wise loss(L_AAL + L_RAL)
- BLIP-2 为每张 O365 图像生成的 caption(prompt: "Describe this image in one sentence.",约 170 万 image-caption pairs)→ 用于 image-wise contrastive loss(L_ICL)
- 不是两个数据集,而是同一批图像的两种标注来源
- 数据规模远小于 Grounding DINO(~480 万图)或 YOLO-World(~162 万图但含 CC3M† 伪标注)
- 优势:无需伪标签生成的额外处理,可复现性强
3.6 训练配置
| 配置 | 预训练 | OVD Fine-tune |
|---|---|---|
| 基础框架 | Cascade RCNN | — |
| 图像编码器 | CLIP ViT-B / ViT-L | — |
| 学习率 | 语言骨干 1e-5,其余 1e-4 | 全部 1e-5 |
| 优化器 | AdamW, wd=1e-4 | AdamW, wd=1e-4 |
| Batch Size | VLDet-B: 2, VLDet-L: 1 | 同预训练 |
| Epochs | 50 | 15 |
| GPU | 64×A100 | — |
| 冻结策略 | — | 冻结 V2L 层(visual-to-language 投影层),否则 base 类过拟合导致 novel AP 暴跌 |
关键发现——冻结 V2L 层:OVD fine-tune 时必须冻结视觉到语言的投影层(V2L₁ + V2L₂),否则模型会过拟合 base 类,APr 从 24.83 暴跌到 14.77。最优策略是冻结两个 V2L 层。
4. Experiments
4.1 OVD 主结果(COCO2017 + LVIS)
| 方法 | 预训练数据 | Backbone | COCO Novel AP | COCO Base AP | COCO All AP | LVIS APr | LVIS APc | LVIS APf | LVIS AP |
|---|---|---|---|---|---|---|---|---|---|
| OVR-CNN | COCO Cap | RN50 | 22.8 | 46.0 | 39.9 | — | — | — | — |
| ViLD | CC3M | RN50 | 27.6 | 59.5 | 51.3 | 16.7 | 26.5 | 34.2 | 27.8 |
| RegionCLIP | CC3M | RN50 | 31.4 | 57.1 | 50.4 | 17.1 | 27.4 | 34.0 | 28.2 |
| F-VLM | CLIP | RN50 | 28.0 | — | 39.6 | 18.6 | — | — | 24.2 |
| BARON | CLIP+COCO Cap | RN50 | 42.7 | 54.9 | 51.0 | 23.2 | 29.3 | 32.5 | 29.5 |
| YOLO-World-M | O365+Gold | Y8-M | — | — | — | 15.9 | 24.6 | 39.0 | 28.8 |
| YOLO-World-L | O365+Gold+CC3M | Y8-L | — | — | — | 20.4 | 31.1 | 43.5 | 34.1 |
| OV-DQUO | CLIP | RN50x4 | 45.6 | — | 48.1 | — | — | — | — |
| CCKT-Det++ | CLIP | SwinB | 46.0 | — | 46.2 | — | — | — | — |
| VLDet-B | O365 | ViT-B | 54.2 | 50.4 | 51.2 | 16.9 | 30.1 | 43.8 | 35.6 |
| VLDet-L | O365 | ViT-L | 58.7 | 53.9 | 55.2 | 24.8 | 44.7 | 48.0 | 44.6 |
- VLDet-L COCO Novel AP 58.7,超 CCKT-Det++ 12.7 AP(+27.6%)
- VLDet-L LVIS APr 24.8,超 BARON 1.6(+6.9%)
- 仅用 O365 单数据集,训练数据量远小于 Grounding DINO / YOLO-World
与 YOLO-World 的可比性说明:两者评测协议不同,不可直接对比。VLDet 在 COCO/LVIS 的 Base 类上 fine-tune 15 epochs 后评测(传统 OVD 协议),YOLO-World 在 LVIS 上是 zero-shot 直接推理(无 fine-tune)。所以 VLDet-L LVIS AP 44.6 vs YOLO-World-L 34.1 的 10.5 AP 差距中,fine-tune 的贡献不可忽略。VLDet 应与 BARON、RegionCLIP 等同样做 OVD fine-tune 的方法比较。
4.2 消融实验
模块消融(VLDet-B, LVIS val):
| 配置 | AP | APr |
|---|---|---|
| 非预对齐 backbone | 34.86 | — |
| 预对齐 + 冻结语言编码器 | 37.29 | — |
| 预对齐 + 语言编码器可训练 | 38.03 | — |
| 单尺度 backbone | 35.78 | — |
| 多尺度 backbone(VL-PUB) | 38.03 | — |
| + Caption 分支 | 38.89 | — |
| + Caption & L_ICL | 40.18 | — |
| + Caption & L_ICL & VL-Fuse | 40.98 | — |
- VL-PUB(多尺度)比单尺度 +3.3 AP
- Caption 分支 +0.86 AP
- L_ICL +1.3 AP
- VL-Fuse +0.8 AP
冻结策略消融(VLDet-B, LVIS val):
| E_L | V2L₁ | V2L₂ | AP | APr |
|---|---|---|---|---|
| ✗ | ✗ | ✗ | 44.03 | 14.77 |
| ✗ | ✗ | ✓ | 44.09 | 24.24 |
| ✗ | ✓ | ✓ | 44.33 | 24.83 |
| ✓ | ✗ | ✓ | 40.82 | 24.65 |
| ✓ | ✓ | ✓ | 41.78 | 24.26 |
- 不冻结 V2L → APr 从 24.83 暴跌到 14.77(严重过拟合 base 类)
- 最优:冻结 V2L₁ + V2L₂,语言编码器不冻结
Mini-batch 大小消融:batch size=8 最优,平衡 image-wise 与 region-wise 对齐
Prompt 模板消融:"A photo of label" 模板无性能增益,且需要更多 token,因此 VLDet 直接用 class name
4.3 对传统闭集检测的迁移(Table 2)
论文在 COCO2017 上评测了两种场景:Zero-Shot OD(ZOD,预训练后直接推理)和 Fine-Tuned OD(FOD,在 COCO 全类别上 fine-tune)。
| 方法 | 预训练数据 | ZOD (AP) | FOD (AP) |
|---|---|---|---|
| ViTDet-B | IN1K | — | 51.6 |
| YOLOv11-L | — | — | 53.4 |
| ViLD | CLIP400M | 36.6 | 39.1 |
| RegionCLIP | CC3M | 29.6 | — |
| GLIP-T | O365+Gold | 44.6 | 53.8 |
| YOLO-World-M | O365+Gold | 42.8 | 51.2 |
| YOLO-World-L | O365+Gold+CC | 45.1 | 53.3 |
| FIBER-B* | O365+COCO+CC+SBU+VG | 49.3 | 58.4 |
| Grounding-DINO-L* | O365+COCO+OI+Gold+Cap4M+RefC | 60.7 | 62.6 |
| VLDet-B | O365 | 43.7 | 54.1 |
| VLDet-L | O365 | 45.8 | 55.9 |
*灰色标记:预训练数据包含 COCO,严格来说不是 zero-shot
- ZOD:VLDet-L 45.8 AP,超 YOLO-World-L 0.7 AP(且训练数据更少、GLOPs 更低:221 vs GLIP 的 407)
- FOD:VLDet-L 55.9 AP,超 YOLOv11-L 2.5 AP,仅用 5 epochs fine-tune
- Grounding-DINO-L 和 FIBER-B 虽然 ZOD 更高,但预训练数据量远大于 VLDet(且含 COCO,不是严格的 zero-shot)
- 说明 CLIP 预对齐的视觉-语言特征为检测器提供了更好的初始化
5. Conclusion
- VLDet 通过多层级细粒度视觉-语言对齐,显著提升 OVD 性能
- VL-PUB 解决 CLIP 单尺度到检测多尺度的适配问题
- SigRPN 用对比式 objectness 实现对新类别的泛化
- COCO Novel 58.7 AP / LVIS APr 24.8,双榜 SOTA
- 仅用 Objects365 + BLIP-2 caption,无需伪标签
个人评价
核心价值: OVD 方向的重要进展。CLIP 到检测的适配一直是痛点,VL-PUB 用特征金字塔解决这个问题,思路简洁有效。SigRPN 的 sigmoid contrastive loss 也有借鉴意义。
对比 YOLO-World: YOLO-World 追求速度牺牲精度,VLDet 用两阶段检测器 + Objects365 高质量数据,在精度上大幅领先。
局限性: 代码未开源,两阶段架构推理速度不如 YOLO-World。
疑问解答 (Q&A)
Q1: VLDet 和 DisDop 的区别?
答: VLDet 是 Meta 的通用 OVD 方法(COCO/LVIS),核心是 CLIP 特征金字塔适配 + SigRPN。DisDop 是面向遥感/航空 OVD 的蒸馏方法。两者目标不同——VLDet 追求通用 OVD SOTA,DisDop 解决 domain gap 做轻量蒸馏。
Q2: VL-PUB 和传统 FPN 的区别?
答: 传统 FPN 在检测骨干上构建金字塔(如 ResNet 各 stage),VL-PUB 是将 CLIP 的单尺度输出重构为多尺度,通过双向交叉注意力注入文本语义,不只是空间上的多尺度融合。
