Page 455 - 《软件学报》2025年第10期
P. 455
4852 软件学报 2025 年第 36 卷第 10 期
˜ V ∈ R (K+1)×d .
入序列
2.2.2 随机语言掩码模块
给定输入文本, 我们选择以 15% 的概率随机屏蔽文本令牌, 并替换为特定的掩码符号, 比如用“[MASK]”代替.
如果特定的单词被屏蔽, 模型将尝试从其他单词中挖掘有用的行人线索. 比如图 1(c) 图片中的女士, 如果对应文本
描述中突出的“a pink shirt”和“a pair of blue jean shorts”被掩码, 模型则会更加注意其他特征, 比如“a pair of gray
shoes”和“shoulder bag”. 通过这种方式, 可以获得更深入的语义理解和上下文感知能力, 从而增强模型对文本-图像
行人重识别任务的准确性和鲁棒性. 在训练阶段, 随机语言掩码增加了图像-文本跨模态对齐的难度, 但是在推理
阶段, 有助于模型挖掘更多的语义对齐.
2.2.3 语义一致特征金字塔网络模块
传统的卷积神经网络通常在靠前的层次提取图像的低级特征, 如边缘、纹理等; 而在较深层次提取图像的高
级语义特征, 如物体的形状、部件等. 这些不同层次的特征对目标检测任务都是有价值的. 然而, 如果仅在单一尺
度上进行跨模态对齐, 模型可能会忽略局部组件与全局上下文之间的潜在关系, 无法满足高精度识别的要求. 为了
解决这个问题, 语义一致特征金字塔网络通过提取图像的多尺度特征并利用交叉注意力进行融合, 自适应地调整
特征图之间的权重, 使每个特征图都能关注到其他尺度上的重要特征.
首先, 将一维序列 ˜ V ∈ R (K+1)×d 利用 Seq2Img 操作还原为二维图像特征 ˆ V ∈ R H×W×C , SCFP 采用 2×2 卷积进行降
采样从输入图像 ˆ V ∈ R H×W×C 中提取不同尺度的特征图. 高分辨率特征为局部特征, 包含了目标的边缘、局部大小
形态等信息; 低分辨率特征为全局特征, 包含了目标的形态、大小、位置等信息. 我们设计 4 层不同分辨率的特征
图层, 各层尺度和作用见表 1.
表 1 SCFP 的 4 个特征图层的尺度及功能比较
No. 尺寸 功能
0 [H,W,C] 原始输入图像
1 [H/2,W/2,C] 高分辨率的低级特征, 仅包含边缘、纹理等信息
2 [H/4,W/4,2C] 以提取更加丰富的降采样后特征图的特征
3 [H/8,W/8,4C] 尺寸适中, 既包含局部细节信息, 又有全局信息
4 [H/16,W/16,8C] 低分辨率但具有更丰富语义信息的全局特征, 但丢失了许多局部特征
第 1 层的通道数不变, 尺寸缩小为原图的 1/2, 仅包含边缘、纹理这样的低级特征; 第 2 层将通道数扩展为原
始图像的 2 倍, 将图像尺寸缩小为原来的 1/4, 可提取更加丰富的特征; 第 3 层尺度的通道数扩展为输入图像的
4 倍, 图像尺寸缩小为原来的 1/8, 该尺度也将作为最终输出图像特征的尺度, 尺寸适中, 不会像第 4 层特征图丢失
很多局部细节信息, 又不会像第 1、2 层特征图没有提取到全局信息; 第 4 层的通道数扩展为输入图像的 8 倍, 而
图像尺寸缩小为原来的 1/16, 包含全局特征, 但是过于抽象丢失了许多局部特征.
然后, SCFP 将不同尺度的特征图通过交叉注意力计算进行融合. 这样可以增强各个尺度特征图之间的互补
性, 使得模型能够更好地提取图像中不同尺度的语义信息. 令第 1 层和第 2 层的特征图进行一次交叉注意力计算.
首先, 利用 Patch embedding 将二维图像转化为一维 token 序列, 尺寸分别为 [B,H ×W/4P,C] 和 [B,H ×W/16P,2C],
其中, B、C、H、W 分别表示图像批大小、通道、高度和宽度的维度, 如公式 (3) 所示.
E v = Patch embedding( ˆ V) (3)
然后, 将第 1 层得到的 token 序列经过一个线性层做降采样与第 2 层的 token 序列进行尺寸上的对齐, 作为注
意力操作的 Q (尺寸为 [B,H ×W/16P,2C]), 第 2 层得到的 token 序列作为注意力的 K、V (尺寸为 [B,H ×W/16P,2C]).
通过一个常规的多头注意力操作 (Multi-head attention、Add & Norm、Feed forward、Add & Norm), 得到尺寸为
[B,H ×W/16P,2C] 的一维 token 序列 X. 再利用 Seq2Img 操作还原 X 为二维图像特征 X 1 , 尺寸为 [H/4,W/4,2C], 包
含了非常丰富的局部信息.
第 3、4 层的交叉融合操作大致同上, 略微不同之处是将第 4 层得到的 token 序列通过一个线性层做上采样

