Skip to content

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 方法近年有进展,但面临三大挑战:
    1. CLIP 单尺度骨干不适配检测:直接用 CLIP 单尺度 backbone 丢失空间信息;用伪标签训练多尺度 backbone(如 GLIP)需要大量额外处理,可复现性差
    2. 视觉-语言对齐不够细粒度:现有方法偏重 region-wise 对齐,忽略 image-wise 对齐也有益
    3. RPN 不够强:vanilla RPN 或单阶段检测器限制了 OVD 性能上限,更强的 RPN 能显著提升新类别 proposals

VLDet 贡献

  1. VL-PUB: Visual-Language Pyramid Upscale Block,将 CLIP 的单尺度知识适配到检测,构建多尺度特征金字塔
  2. SigRPN: 首个为 OVD 设计的 RPN,用 sigmoid-based anchor-text contrastive loss 区分背景与任意类别前景
  3. 多层级对比 Loss:image-caption contrastive loss + anchor-text binary alignment + region-text alignment,从全局到局部全面对齐
  4. 仅用 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 对比。


  • 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

数据流

  1. 输入图像 x ∈ R^(H×W×3) → CLIP 图像编码器 → 单尺度特征 v₀ ∈ R^(H/p × W/p × C_v)
  2. 类别名 → CLIP 文本编码器 → 每类一个 token(l_cls ∈ R^(N×C_l)),训练时额外加 caption 分支(l_cap ∈ R^(L×C_l))
  3. v₀ 和 l_cls / l_cap 通过 VL-PUB 融合并生成多尺度特征金字塔
  4. 多尺度特征送入 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-4AdamW, wd=1e-4
Batch SizeVLDet-B: 2, VLDet-L: 1同预训练
Epochs5015
GPU64×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)

方法预训练数据BackboneCOCO Novel APCOCO Base APCOCO All APLVIS APrLVIS APcLVIS APfLVIS AP
OVR-CNNCOCO CapRN5022.846.039.9
ViLDCC3MRN5027.659.551.316.726.534.227.8
RegionCLIPCC3MRN5031.457.150.417.127.434.028.2
F-VLMCLIPRN5028.039.618.624.2
BARONCLIP+COCO CapRN5042.754.951.023.229.332.529.5
YOLO-World-MO365+GoldY8-M15.924.639.028.8
YOLO-World-LO365+Gold+CC3MY8-L20.431.143.534.1
OV-DQUOCLIPRN50x445.648.1
CCKT-Det++CLIPSwinB46.046.2
VLDet-BO365ViT-B54.250.451.216.930.143.835.6
VLDet-LO365ViT-L58.753.955.224.844.748.044.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)

配置APAPr
非预对齐 backbone34.86
预对齐 + 冻结语言编码器37.29
预对齐 + 语言编码器可训练38.03
单尺度 backbone35.78
多尺度 backbone(VL-PUB)38.03
+ Caption 分支38.89
+ Caption & L_ICL40.18
+ Caption & L_ICL & VL-Fuse40.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_LV2L₁V2L₂APAPr
44.0314.77
44.0924.24
44.3324.83
40.8224.65
41.7824.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-BIN1K51.6
YOLOv11-L53.4
ViLDCLIP400M36.639.1
RegionCLIPCC3M29.6
GLIP-TO365+Gold44.653.8
YOLO-World-MO365+Gold42.851.2
YOLO-World-LO365+Gold+CC45.153.3
FIBER-B*O365+COCO+CC+SBU+VG49.358.4
Grounding-DINO-L*O365+COCO+OI+Gold+Cap4M+RefC60.762.6
VLDet-BO36543.754.1
VLDet-LO36545.855.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 的单尺度输出重构为多尺度,通过双向交叉注意力注入文本语义,不只是空间上的多尺度融合。