本项目主要通过在公开数据集上进行图像内容检索任务,来评估和比较不同视觉大模型提取的特征性能。实验目前主要聚焦于对比 DINOv3 和 CLIP 在不同参数规模下的检索准确率。
测试并验证主流视觉基础模型(如 DINOv3 和 CLIP)在图像相似度匹配和检索任务中的能力差异。通过比对不同输出模式(Feature 模式与 Embedding 模式)以及不同模型参数量对最终 Top-K 检索结果的影响,为后续的特征融合或传统方法结合提供基线数据。
实验使用了以下两个主要数据集进行测试:
- SMVS (Stanford Mobile Visual Search): 包含 business_cards、cd_covers、dvd_covers、landmarks、museum_paintings、print、video_frames 等多个子类别。
- DISC21 (Image Similarity Challenge 2021): 使用了 Kaggle 上的自用子集,其中 Queries 由 500 张有真值的图片组成,References 库包含全量 50000 张图片。
本项目评估了多种不同参数规模的模型,并对其输出特征进行了标准化处理:
利用 timm 库提供的 DINOv3 模型。测试了以下版本:
- small (21M) / small+ (29M) / base (86M) / large (300M) / huge+ (840M)
特征提取模式:
- Embedding 模式: 对每张图片输出一个 768 维的张量,并进行 L2 正则化。
- Feature 模式: 输出三个
[B, 768, 16, 16]的张量(对应不同层数特征图)。处理时,对特征图进行 16x16 平均池化,随后进行 L2 正则化提取可用特征向量。
测试了以下版本:
- xsmall (8M) / medium (38M) / base (86M) / large (304M)
通过多次迭代和测试,得出了以下初步结论:
- 特征层级的影响: 随着网络层数变深,基于 Feature 图提取的特征效果越好,但通常直接使用 Embedding 得到的特征表现最佳。
- 模型规模的影响: 通常情况下,模型参数量越大,检索效果越好。但在 SMVS 数据集的全面测试中,DINOv3 的 huge+(840M) 模型出现了性能反常下降的情况。
- DINOv3 vs CLIP:
- CLIP 在特定文本相关或高辨识度物体类别(如名片 business_cards、DVD/CD 封面 dvd_covers)上展现出极高的准确率(CLIP-large 的 Top-3 准确率可达 90% 以上)。
- DINOv3 在地标(landmarks)和视频帧(video_frames)等类别上相对更具优势。
以下是各模型在 SMVS 数据集所有类别上的总体平均指标(Top-1 / Top-3 / mAP)汇总:
| 模型架构 | 规模参数 | Top-1 | Top-3 | mAP |
|---|---|---|---|---|
| DINOv3 | small (21M) | 0.4755 | 0.6200 | 0.5389 |
| DINOv3 | small+ (29M) | 0.4860 | 0.6392 | 0.5524 |
| DINOv3 | base (86M) | 0.5882 | 0.7246 | 0.6474 |
| DINOv3 | large (300M) | 0.5656 | 0.7026 | 0.6260 |
| DINOv3 | huge+ (840M) | 0.4281 | 0.5540 | 0.4834 |
| CLIP | xsmall (8M) | 0.3871 | 0.5636 | 0.4645 |
| CLIP | medium (38M) | 0.6654 | 0.7826 | 0.7182 |
| CLIP | base (86M) | 0.6415 | 0.7543 | 0.6908 |
| CLIP | large (304M) | 0.6945 | 0.8061 | 0.7439 |
以下是各模型在 DISC21 数据集上的指标(Top-1 / Top-3 / mAP)汇总。注:DINOv3 数据取自直接使用 Embedding 作为查询向量的结果。
| 模型架构 | 规模参数 | Top-1 | Top-3 | mAP |
|---|---|---|---|---|
| DINOv3 | small (21M) | 0.5480 | 0.5900 | 0.5667 |
| DINOv3 | small+ (29M) | 0.5560 | 0.6040 | 0.5760 |
| DINOv3 | base (86M) | 0.6380 | 0.6660 | 0.6510 |
| DINOv3 | large (300M) | 0.6940 | 0.7260 | 0.7090 |
| CLIP | xsmall (8M) | 0.2520 | 0.2820 | 0.2657 |
| CLIP | medium (38M) | 0.2940 | 0.3480 | 0.3190 |
| CLIP | base (86M) | 0.2960 | 0.3280 | 0.3097 |
| CLIP | large (304M) | 0.3020 | 0.3560 | 0.3250 |
注:具体各子类别的详细性能指标,请参阅实验报告原始记录。