1. CLS token 与 patch token
工业场景中的零部件检索是一项极具挑战的细粒度识别任务。与自然图像分类不同,工业零部件往往外观相似、纹理细微、视角多变,且常处于复杂的背景环境中。传统方法依赖人工设计的特征描述子,在光照变化、遮挡和视角偏移下鲁棒性不足。近年来,视觉基础模型(Vision Foundation Model)的快速发展为这一领域带来了新的契机。
CVPR 2026 的一项工业零部件检索研究,构建了包含超过 17k 个工业零部件实例的大规模数据集,系统比较了 DINOv2、DINOv3 和 SigLIP2 三种主流视觉基础模型。研究揭示了一个关键结论:patch token 表征在视角和背景变化较大的情况下尤为重要,并且可以通过轻量级框架在冻结编码器上训练达到良好效果。
本文将围绕这一研究展开,深入探讨不同 token 表征(CLS token 与 patch token)在检索任务中的表现差异,并给出特征提取策略的配置建议,帮助读者在实际项目中做出更优的技术选型。
2. 工业零部件检索的挑战
工业零部件检索的目标是:给定一个查询图像,从大规模零部件库中找出与之匹配的同一实例。这一任务在智能制造、质量检测、库存管理等领域有广泛的应用需求。
与通用图像检索相比,工业零部件检索面临以下独特挑战:
- 类间相似度高:不同型号的螺栓、轴承、齿轮在外观上高度相似,仅凭整体轮廓难以区分。
- 类内差异大:同一零部件在不同视角、光照、磨损程度下呈现显著差异。
- 背景干扰强:零部件常出现在生产线、仓储货架等复杂背景中,前景与背景的区分困难。
- 细粒度纹理关键:决定零部件身份的关键信息往往集中在局部纹理、倒角、螺纹等细微结构上。
这些挑战使得「整体性」的表征方式(如 CLS token)可能不足以捕捉判别性细节,而「局部性」的表征方式(如 patch token)则展现出独特优势。
3. 视觉基础模型与 Token 表征
3.1 三种主流模型概览
研究比较的三种视觉基础模型各有特点:
- DINOv2:自监督学习训练的 ViT 模型,以丰富的语义特征和强大的迁移能力著称,是细粒度识别任务中的常用基线。
- DINOv3:DINO 系列的演进版本,在特征判别力和训练效率上进一步提升。
- SigLIP2:基于对比学习的视觉-语言模型,通过 sigmoid 损失优化图文对齐,具备较强的开放世界理解能力。
3.2 CLS Token 与 Patch Token 的区别
在 Vision Transformer(ViT)架构中,输入图像被切分为若干 patch,每个 patch 经过嵌入后送入 Transformer 编码器。模型通常有两种方式提取图像级特征:
- CLS token:在输入序列前附加一个特殊的分类 token,经过多层自注意力后,其输出向量聚合了整张图像的全局信息。它适合表达「这张图大概是什么」。
- Patch token:每个 patch 对应的输出向量保留了该局部区域的特征。通过对所有 patch token 进行池化(如平均池化、最大池化)或直接使用,可以保留更丰富的空间细节,适合表达「这张图的哪些局部区域具有判别性」。
直观理解:CLS token 像是一句话的「摘要」,而 patch token 像是这句话的「逐词标注」。对于工业零部件这种依赖局部细节区分的任务,逐词标注往往比摘要更有价值。
4. Patch Token 的关键作用
4.1 实验设置
研究团队构建了包含超过 17k 个工业零部件实例的大规模数据集,覆盖多种零部件类型、拍摄视角和背景环境。在冻结编码器(即不微调模型参数)的前提下,仅训练一个轻量级检索头,系统比较了三种模型在不同 token 表征策略下的检索性能。
4.2 核心结论
实验结果显示:
- 在视角和背景变化较大的情况下,patch token 表征显著优于 CLS token。这是因为视角变化会导致整体外观发生剧烈改变,而局部 patch 特征相对稳定,能够捕捉到跨视角下依然存在的判别性结构。
- 冻结编码器 + 轻量级框架即可达到良好效果。这意味着无需昂贵的全量微调,即可在工业场景中快速部署,大幅降低了计算资源和标注成本。
- 不同模型的最优 token 策略存在差异。DINOv2 和 DINOv3 在 patch token 池化策略下表现突出,而 SigLIP2 由于训练目标不同,其 token 表征的行为模式也有所不同,需要针对性调优。
4.3 为什么 Patch Token 更鲁棒
从注意力机制的角度看,CLS token 在自注意力层中会与所有 patch token 交互,其表征倾向于「平均化」全局信息,容易稀释局部细节。而 patch token 各自独立保留局部响应,在池化时可以通过加权或选择性地突出高判别性区域,从而在视角和背景变化下保持稳定。
5. 特征提取策略配置指南
基于上述研究结论,本节给出面向实际项目的特征提取策略配置建议。
5.1 选择 Token 类型
| 场景 | 推荐策略 |
|---|---|
| 视角固定、背景单一 | CLS token 即可满足需求,计算开销小 |
| 视角多变、背景复杂 | 优先使用 patch token 池化表征 |
| 细粒度差异为主 | patch token + 注意力池化 |
| 快速原型验证 | 先用 CLS token 跑通流程,再切换 patch token 对比 |
5.2 池化策略选择
当使用 patch token 时,池化方式直接影响检索性能:
- 平均池化(Mean Pooling):对所有 patch 一视同仁,稳定但可能稀释局部强特征。
- 最大池化(Max Pooling):突出响应最强的 patch,适合捕捉显著判别区域,但对噪声敏感。
- 注意力池化(Attention Pooling):学习每个 patch 的权重,自适应地聚焦关键区域,通常效果最佳但需额外训练参数。
5.3 轻量级框架设计
研究验证了「冻结编码器 + 轻量级检索头」的可行性。一个典型的轻量级框架包含:
该轻量级检索头的核心流程如下:
初始化阶段:定义检索头的结构,包括一个多头注意力池化层、一个层归一化层和一个线性投影层。其中注意力池化层负责自适应地聚合 patch token,线性投影层将特征映射到目标维度(如 512 维)。
前向计算阶段:输入为形状为
[B, N, D]的 patch token 张量(B 为批大小,N 为 patch 数量,D 为特征维度)。首先对所有 patch token 取平均,得到一个全局查询向量;随后将该查询向量与全部 patch token 一起送入多头注意力层,让查询向量有选择地聚合各局部区域的信息;接着对输出做层归一化,再经线性投影降维。输出阶段:对投影后的特征做 L2 归一化,得到最终的检索特征向量,便于后续用余弦相似度进行检索匹配。
5.4 训练与推理要点
- 冻结编码器:加载预训练权重后设置
requires_grad = False,仅训练检索头,大幅减少显存占用和训练时间。 - 数据增强:针对视角和背景变化,训练时引入随机裁剪、旋转、色彩抖动等增强策略,提升检索头的泛化能力。
- 度量学习:使用三元组损失(Triplet Loss)或 InfoNCE 损失训练检索头,拉近同类样本、推开异类样本。
6. 从 CLS 到 Patch Token 的迁移
假设一个零部件检索系统最初使用 CLS token 表征,检索精度在视角变化场景下不理想。迁移到 patch token 的步骤如下:
- 提取 patch token:从冻结的 ViT 编码器输出中取出所有 patch token,而非仅取 CLS token。
- 设计池化层:根据数据特点选择注意力池化或平均池化。
- 重新训练检索头:在原有训练集上重新训练轻量级检索头,通常只需少量 epoch 即可收敛。
- 评估对比:在验证集上对比 CLS 与 patch token 的检索精度,确认提升幅度。
切换 token 表征的伪代码逻辑如下:
关闭梯度计算:在特征提取时使用无梯度模式,避免不必要的显存开销。
前向提取:调用模型的
forward_features方法,获取包含 CLS token 和所有 patch token 的完整输出序列。分支选择:
- 若使用 patch token:去掉序列首位的 CLS token,仅保留各 patch 的 token,并对它们做平均池化,得到聚合后的局部特征;
- 若使用 CLS token:直接取序列首位的 CLS token 作为全局特征。
归一化输出:对最终特征做 L2 归一化,得到可直接用于检索比对的向量。
7. 总结
CVPR 2026 的这项研究为工业零部件检索提供了清晰的技术指引:在视角和背景变化显著的场景中,patch token 表征是比 CLS token 更优的选择,且通过冻结编码器加轻量级框架即可高效落地。
这一结论不仅适用于工业零部件检索,对更广泛的细粒度识别任务(如缺陷检测、商品识别、生物特征匹配)同样具有参考价值。未来,随着视觉基础模型的持续演进,如何更高效地利用 token 级表征、如何与多模态信息融合,将是值得深入探索的方向。
对于正在构建检索系统的工程师,建议从 CLS token 快速起步,在遇到视角鲁棒性瓶颈时果断切换到 patch token 策略,并结合注意力池化与度量学习,往往能以较小的成本获得显著的精度提升。