Page 416 - 《软件学报》2026年第5期
P. 416
唐昊 等: 基于视觉 Transformer 的双视图融合细粒度图像识别 2295
其中, Concat(·) 表示特征串联拼接操作. 得到串联拼接后的特征向量 x aug 后, 再将其输入至一个由全连接层构成的
l
线性分类器 FC 2 中便可完成分类预测. 预测的类别概率 P 2 由公式 (11) 计算得出:
( aug )
P 2 = FC 2 x (11)
l
其中, FC 2 (·) 表示应用在 x aug 上的全连接层, 其输出为各类别的预测概率. 本文所提出的局部区域特征自适应增强
l
模块通过为局部视图中的图像块特征嵌入赋予相关性权重系数, 加强了对局部关键区域的关注, 使模型具备更强
的辨识能力, 特别是对于那些较难辨识的细粒度样本.
3.4 模型框架的训练与推理
如图 2 所示, 本文设计的双视图融合识别框架将前文介绍的 3 个专为 ViT 定制的模块进行综合应用, 实现了
基于全局视图和局部视图的细粒度识别. 需要特别指出的是, 该模型在训练和测试阶段的流程有所差异. 在训练阶
段, 对所有训练样本同时进行基于全局视图和基于局部视图的两阶段细粒度识别, 以此来驱动模型提取更具区分
性的全局和局部特征. 在测试阶段, 本文设计了一种基于双视图置信度的自适应推理策略, 根据样本识别难易程度
的判断, 自适应地选择单视图或双视图的识别方式, 以实现对大规模细粒度图像的高效识别.
3.4.1 基于双视图相似度的对比损失函数
针对细粒度图像类间差异小、类内差异大的特点, 以及 Transformer 模型归纳能力的局限, 本文对损失函数进
行了多角度优化. 由于模型训练阶段通过基于自适应阈值的关键区域定位模块引入了图像的局部视图, 因此本文
对于图像的双视图均采用分类任务常用的交叉熵 (cross-entropy) 损失来计算分类损失. 具体计算公式如下:
( ( ) ) ( )
2
1
L = L ce Softmax W 1 x class +b 1 ,y , L = L ce (Softmax W 2 x aug +b 2 ,y) (12)
cls l cls l
其中, W 1 、 W 2 和 、 b 2 分别表示两个分类器 FC 1 和 FC 2 的权重矩阵和偏置向量, Softmax(·) 函数将全连接层的输
b 1
出转换为类别概率分布, y 代表输入样本的真实类别标签.
细粒度图像有类间混淆性高且类内差异性较大的特性, 交叉熵损失函数虽能优化 ViT 模型捕获显著的类间差
异, 但在捕获类间细微差异和类内差异方面能力有限. 鉴于此, 本文还设计了一种基于双视图相似度的对比损失函
B 的训练批次, 首先通
数, 用于驱动模型在增大不同子类特征差异的同时减小相同子类特征差异. 对于一个大小为
过基于自适应阈值的关键区域定位模块生成图片的局部视图, 即可将该批次中训练数据的总量扩充至 2B. 然后,
在获取所有全局视图的分类标记嵌入 x class 与局部视图的局部区域特征嵌入 x aug 后计算所有样本对的平均对比损
l l
失, 具体过程如下:
2B
2B 2B
1 ∑ ∑ [ ( )] ∑ {[ ( ) ] }
L con = 1−cos z i ,z j + max cos z i ,z j −α ,0 (13)
(2B) 2
i=1 i=1 j=1
y i =y j y i ,y j
(
)
其中, z i 为第 个图像经过 ViT 编码器映射生成的全局分类标记嵌入或局部区域特征嵌入, cos z i ,z j 表示 z i 和 z j
i
α 时才会在对比损失中起作用. 为了防止重复计算, 对于每个输入样本的全局分类
的余弦相似度, 当其大于超参数
标记嵌入及其局部区域特征嵌入, 本文只计算一次与其他样本特征嵌入的相似度.
综合来看, 通过分别计算全局视图与局部视图的交叉熵损失和对比损失, 并将其融合, 帮助模型区分不同子类
差异, 同时归并相同子类差异. 因为基于全局视图和局部视图分别计算出的交叉熵损失是利用同一批次的输入样
本得到的, 所以在融合过程中, 将二者之和视为总损失的一部分, 基于双视图相似度的对比损失视为另一部分. 最
终, 模型的总体损失函数为:
1 2
L total = 0.5×L +0.5×L + L con (14)
cls cls
3.4.2 基于双视图置信度的自适应推理策略
人类视觉系统在处理视觉信息时, 通常先快速捕获全局信息, 如整体形状和场景概貌, 帮助迅速构建对环境的
基本理解. 在面对视觉信息不清晰或存在不确定性的情况下, 人类往往会采取额外的步骤以澄清或确认, 如改变视
角、聚焦细节或结合其他感官信息, 进一步关注局部细节. 这种视觉感知机制可以根据需求在全局视图和局部视

