跳转至

A Mixed Diet Makes DINO An Omnivorous Vision Encoder

会议: CVPR 2026
arXiv: 2602.24181
代码: 无
领域: 图像分割
关键词: DINOv2, 跨模态对齐, 模态无关编码器, InfoNCE, 知识蒸馏

一句话总结

发现DINOv2等预训练视觉编码器在不同模态(RGB/深度/分割)间的特征对齐极差,提出Omnivorous框架通过在冻结backbone的最后几层上训练轻量适配器(对齐损失+锚定损失+模态混合增强),构建统一的模态无关特征空间,在跨模态检索上大幅超越baseline同时保持或提升下游任务性能。

研究背景与动机

领域现状:DINOv2等预训练视觉基础模型在单模态任务上表现出色,但被默认假设其特征空间对不同视觉模态(RGB、深度、分割图)具有一定的共享性。

现有痛点:作者通过实验发现,DINOv2中相同场景的RGB图和对应深度图的特征余弦相似度,与两张完全无关图片的相似度几乎相同:\(\cos(f(x_r), f(x_d)) \approx \cos(f(x_{r,1}), f(x_{r,2}))\)。这意味着DINOv2的特征空间在不同视觉模态之间是严重错配的。

核心矛盾:现有统一编码器方法(如Omnivore、ImageBind)需要从头联合训练整个backbone,计算代价大且破坏了已有模型的判别能力。简单的跨模态对齐又容易导致特征空间坍塌。

本文目标 如何在保留DINOv2强大语义表示的同时,以参数高效的方式实现不同视觉模态在同一特征空间中的对齐?

切入角度:借鉴NLP中多语言模型的演进——从语言特定到跨语言共享编码,视觉模型也需要类似的"跨模态"对齐。通过只微调最后几个block来实现,加上锚定损失防止漂移。

核心 idea:在冻结DINOv2 backbone上微调末尾block作为模态无关适配器,通过对称跨模态InfoNCE对齐损失+锚定蒸馏损失+模态混合增强,实现"杂食性"编码器。

方法详解

整体框架

输入任意模态的图像(RGB/深度/分割),经过冻结的DINOv2前L=8层提取中间特征,再通过可训练的适配器(后4层)映射到统一特征空间。训练时使用teacher-student架构:student共享冻结backbone但微调末尾block,teacher完全冻结作为锚定参考。

关键设计

  1. 对称跨模态InfoNCE对齐(Symmetric Cross-Modal Alignment):

    • 功能:在student输出空间中最大化同一场景不同模态的特征相似度
    • 核心思路:对所有模态对 \((m_1, m_2)\) 计算InfoNCE损失 \(\mathcal{L}_{\text{align}} = \frac{1}{3}\sum_{k_1}\sum_{k_2>k_1}\mathcal{L}_{\text{InfoNCE}}(m_{k_1}, m_{k_2})\),使用可学习温度参数 \(\tau\)。关键是只在adapted空间中对齐,避免对齐到可能未对齐的冻结特征
    • 设计动机:在student的adapted空间而非frozen空间中进行对称对齐,避免了将不匹配的frozen特征拉向错误目标的冲突优化
  2. 锚定蒸馏损失(Anchoring Loss):

    • 功能:约束student输出 \(h_m\) 接近teacher输出 \(h^*_m\),防止特征漂移或坍塌
    • 核心思路:\(\mathcal{L}_{\text{anchor}} = \frac{1}{|M|}\sum_{m \in M}(1 - \text{sim}(h_m, h^*_m))\),使用余弦距离
    • 设计动机:纯对齐损失可能导致trivia solution——特征空间坍塌到满足对齐但丢弃所有语义信息的退化解。锚定损失将student拉回teacher的表达空间,保持判别力。\(\lambda_{\text{anchor}}=10\) 控制平衡
  3. 数据增强:自然色彩调色板 + 模态混合(Colorization + Modality Mixup):

    • 功能:用对应RGB图片的颜色量化值给深度图和分割图着色,然后在模态之间进行alpha混合
    • 核心思路:深度图 \(x_d^{\text{mixup}} := (1-\alpha_d)x_d + \alpha_d x_r^{\text{aug}}\)\(\alpha \sim [0, 0.5]\),创建连续的模态频谱
    • 设计动机:(1) 自然着色防止模型通过颜色直方图等低级统计shortcut完成对齐;(2) 混合创建"hard positive"使对比任务更难但更有意义;(3) 连续模态空间增强了编码器的模态不变性

损失函数 / 训练策略

总目标:\(\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{align}} + \lambda_{\text{anchor}} \mathcal{L}_{\text{anchor}}\)。CLS token和dense token分别计算损失,dense token子采样64个。使用6个数据集(MOVi、ScanNet、TartanAir等),在ViT-B/14上冻结前8层,微调后4层。

实验关键数据

主实验

任务/数据集 指标 Omnivorous DINOv2 提升
ScanNet跨模态检索 (GAP) R@1 46.1% 4.6% +41.5%
MOVi跨模态检索 (GAP) R@1 86.2% 15.5% +70.7%
ImageNet分类 (Linear) Top-1 83.8% 80.4% +3.4%
NYUv2深度估计 (Linear) δ₁ 0.896 0.875 +0.021
ADE20k分割 (Linear) mIoU 0.475 0.463 +0.012

消融实验

λ_anchor 跨模态对齐 (cos sim) 跨场景判别 (1-cos sim) 说明
0 ~0.70 ~0.36 过度对齐,判别力坍塌
1.0 ~0.65 ~0.70 好的平衡
10.0 (默认) ~0.55 ~0.78 保守但稳健
100.0 ~0.35 ~0.80 接近冻结baseline

关键发现

  • 跨模态零样本迁移:用RGB训练的深度预测head,零样本切换到分割图输入,DINOv2 RMSE=1.536(随机水平),Omnivorous RMSE=0.532,甚至对未见过的NOCS模态也有效
  • ImageNet k-NN几乎与teacher持平(81.97% vs 81.94%),证明锚定损失有效防止了表征漂移
  • 模态混合αmax从0增到1.0时,分类和分割持续改善,深度略降,默认0.5是好的trade-off

亮点与洞察

  • "模态间对齐差"的关键发现:量化证明DINOv2对RGB和深度图的特征相似度几乎等于随机对,这个observation本身就很有启发价值
  • 参数高效的post-hoc对齐:只微调末尾4层block就大幅改善跨模态对齐,同时保持甚至提升下游任务性能。方法设计轻量实用
  • 自然着色+模态混合的巧妙增强:通过RGB颜色调色板给深度/分割图着色,消除了颜色直方图shortcut并创建了连续的模态频谱

局限与展望

  • 目前仅在DINOv2 ViT-B/14上验证,未测试更大scale和其他backbone
  • DINOv2的高分辨率fine-tuning步骤在Omnivorous训练后是否仍需要尚不清楚
  • 在iNaturalist和GLDv2等细粒度数据集上略有回退,训练数据包含大量模拟多物体场景可能是原因
  • 未涉及文本模态的对齐,仅限视觉模态内部

相关工作与启发

  • vs ImageBind: ImageBind用图像做桥梁绑定6个模态但需从头联合训练,Omnivorous只需post-hoc微调少量层
  • vs Omnivore: Omnivore从头训练单一ViT处理图像/视频/3D,Omnivorous保留预训练backbone的大部分参数
  • vs CMC (Contrastive Multiview Coding): CMC需要大量负样本且局限于特定模态对,Omnivorous通过锚定损失避免了对大规模负样本的依赖

评分

  • 新颖性: ⭐⭐⭐⭐ 发现和切入角度很好,但teacher-student+对比学习框架并不新
  • 实验充分度: ⭐⭐⭐⭐⭐ 检索/分类/深度/分割全面评测,消融详尽
  • 写作质量: ⭐⭐⭐⭐ 条理清晰,motivation有说服力
  • 价值: ⭐⭐⭐⭐ 对多模态统一编码器方向有实际推动