基于双路卷积局部对齐的文本行人跨模态检索
2022-05-25莫承见
莫承见
(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
0 引 言
文本行人跨模态检索是图像文本检索领域的一个子任务,旨在根据给定的文本描述检索目标行人图像。人们提出了一系列相关方法来减少图像和文本模态的差异,但其中关于文本特征判别性不足的研究工作较少,大部分工作仅是采用简单的词嵌入方法进行文本特征提取,其工作重点在图像文本匹配阶段。对现有的一些工作方法进行分类,图像文本匹配大致分为全局匹配方法和局部匹配方法两种。全局匹配方法主要侧重于全局视觉和文本表示学习,无论模态如何,获得统一的特征空间[1-4]。然而,图像包含许多独特的局部细节,很难通过全局表示提取来探索。此外,图像中还有一些不相关的区域,给全局信息带来了噪声。为了进一步挖掘具有判别性和综合性的信息,研究者提出了一些局部匹配方法,通过局部对齐来匹配人物图像和文本描述[5-9]。
针对文本特征判别性不足的问题,本文采用BERT模型和Text-CNN网络提升文本特征的判别性。考虑到局部特征对图文检索任务的影响,本文结合全局特征匹配和局部特征匹配来提升检索性能。具体做法是,利用BERT模型对文本信息进行词嵌入,然后利用Text-CNN网络对嵌入特征进行进一步的特征提取。进行局部特征匹配时,本文通过将图像进行水平分割然后文本自适应进行对齐的方法进行局部特征的匹配。添加了局部特征的对齐后,本文在CUHK-PEDES数据集上进行了大量实验,实验结果表明了本文的方法优越性。
1 相关工作
文本行人跨模态检索是通过对行人的文本描述到图像库中检索对应身份的行人图像。LI等人[1]首次提出了跨模态行人重识别网络GNA-RNN,其通过网络学习两个模态的全局特征,然后计算两个模态全局特征的亲和度达到检索的目的。亲和度高代表文本和图像是匹配的,相反,亲和度低代表匹配错误。为了利用身份标签,LI等人[2]提出了一个两个阶段的CNN-LSTM网络进行文本图像匹配,性能较GNARNN有所提升。ZHENG等人[3]提出了一种双路模型用于学习文本和图像模态的特征嵌入,其通过两个支路分别独立提取文本和图像的全局特征,最后利用实例损失来约束模态间全局特征的信息对齐。ZHANG等人[4]认为全局匹配效果不好主要是因为约束函数的约束能力不行,因此其在损失函数上进行了创新,提出了CMPM和CMPC损失。这两个损失函数的应用,使得以往模型的性能有了很大的提升[5-6]。NIU等人[7]明确定义了图像和文本三种尺度类型的对齐:全局—全局,局部—局部以及全局—局部。先分别学习各种类型的对齐,然后将三种类型的对齐结果融合在一起,作为最终的匹配结果。
2 提出的方法
本文采用BERT模型和Text-CNN网络提取文本特征,并结合局部特征匹配和全局特征匹配以实现性能的提高[8-9]。具体地,本文采用双路卷积局部对齐网络结构来提取视觉和文本局部表示,使用通用PCB策略[10]提取图像局部表示,其中人物图像被水平分割成几个条纹。在文本表示学习路径中,词嵌入由具有预训练和固定参数的BERT模型学习,并通过Text-CNN网络对嵌入特征进行进一步的特征提取。Text-CNN网络由多分支残差网络组成,在每个分支中,学习文本表示以自适应匹配相应的图像局部表示,从而提取对齐的文本局部表示。此外,本文通过结合局部特征匹配和全局特征匹配,进而缩小图像和文本之间的特征差距,使得实验效果能进一步提升。
2.1 网络结构
本章首先介绍了双路卷积局部对齐网络结构,包括图像CNN分支和文本CNN分支,然后结合局部特征匹配与全局特征匹配用于消除模态差异。本文所提出方法的网络结构如图1所示。
2.2 学习特征表示
2.2.1 学习图像表示
如图1所示,该网络结构包含两个CNN分支,旨在分别从输入的人物图像和描述中学习图像和文本特征表示。图像CNN分支采用Resnet50作为主干提取图像特征,其主要由4个残差块组成。对于每个图像I,本文定义其第3个残差块输出为图像低级特征f1I,第4个残差块的输出作为图像高级特征fhI。然后通过以下方式获得图像全局特征表示:
式中:GMP(·)表示全局最大池化,作为挖掘局部显著信息的过滤器;vgI表示图像全局特征表示。在这里,本文采用PCB作为获取图像局部区域的策略,即:图像高级特征fhI被分割成K个水平条纹,它们分别是,对于每个条纹,本文采用全局最大池化来提取图像特征。因此,得到的图像特征集包含局部特征表示和全局特征表示。在测试阶段,仅采用全局特征表示来衡量相似度。
2.2.2 学习文本表示
文本CNN分支采用了高性能语言表示模型BERT提取词嵌入特征,其可以通过Transformer的双向训练来学习词之间的上下文关系。具体来说,将每个文本描述T分解成一个单词列表,并在每个句子的开头和结尾插入[CLS]和[SEP],然后这个列表被预先训练的符号器嵌入到符号中。为了保证文本长度的一致性,当文本长于L时,本文只选择前L个符号,当文本长度短于L时,在文本末尾应用零填充。之后,将每个符号化的文本描述输入到预训练好且参数固定的BERT模型,以提取词嵌入特征。本文只将BERT作为词嵌入层,后续的Text-CNN结构能够进一步处理词嵌入特征。为了减少训练参数并加速模型的收敛,冻结BERT模型参数,只更新Text-CNN结构的参数。
为了满足Text-CNN卷积层的输入要求,将词嵌入的维度从L×D转换成1×L×D,其中1、L和D分别表示卷积输入的高度、宽度及通道维度。本文采用多分支Text-CNN来获取不同级别的文本特征,Text-CNN的具体结构如图2所示。
图2 Text-CNN结构图
在文本CNN分支中,为了将词嵌入映射到与对应的图像低级特征f1I同一通道维度,将第一层卷积层的卷积核大小设为1×1,通过1×1卷积操作将词嵌入的通道维度映射到与图像低级特征f1I相同的通道维度,可以得到对应的文本低级别特征f1T,通过Text-CNN网络进行特征提取后可以获得文本局部特征表示和文本高级特征为fhT。随后通过全局最大池化处理,可以获得文本全局特征表示vgT,操作如下:
为了对应图像的K个局部区域,多分支Text-CNN网络包含K个Text-CNN。对于每个分支,包含3个文本残差瓶颈,旨在自适应地学习可以匹配视觉局部表示的文本表示。同时,为了保持文本信息未压缩,瓶颈中所有卷积层的步幅设置为1×1。对于每个分支的第一个瓶颈,将文本特征图的通道维度修改为与图像低级特征f1I的通道维度一致,然后在接下来的瓶颈中保持通道维度不变。在Text-CNN之后,获得了多个局部的文本特征。与图像CNN分支类似,本文采用全局最大池化层来提取文本局部表示。因此,得到文本特征集合,其包含了多个文本局部特征和一个文本全局特征。
2.3 目标函数
使用CMPM损失作为匹配损失,它将交叉模态投影合并到KL散度中以关联不同模态的表示。给定一批次中的n对图像文本对,对于每个图像特征vi,对应的图像-文本特征对构建为,其中yi,j=1代表着vi和tj属于同一个身份类别,而yi,j=0则代表两者不匹配。vi匹配到tj的概率定义为:
式中:pi,j代表的是一个批次里面图像文本对(vi,tj)在所有的对中所占的标量映射比例。因此,图像特征与文本特征越相似,从(vi,tj)到{(vi,tj)}n j=1的标量投影就越大。
考虑到在每一批次中,图像样本vi可能有多个匹配的文本样本,本文将(vi,tj)的真实匹配概率归一化为:
将vi与每个批次里面的正确匹配文本相关联的CMPM损失定义为:
式中:ε是一个防除零的小数字,在本文中设置为1×10-8。
按照相同的过程来执行相反的匹配(即文本到图像),其匹配损失为,计算方式类似于式(6)。则总的目标函数定义为:
3 实 验
3.1 数据集
CUHK-PEDES是现有主要的应用于文本行人跨模态检索的数据集。该数据集包含40 206张行人的图像和80 412条文本描述,一共有13 003个行人身份。每张行人图像都有对应两句文本描述。每个行人平均约有3.1张图片,每个文本描述包含超过23个单词。数据集包含9 408个不同的单词。本实验采用LI等[1]提出的数据分割方法,数据分为训练集、验证集及测试集。其中,训练集包含34 054 张图像,11 003个身份和68 126条文本描述;验证集包含3 078张图像,1 000个身份和6 158条文本描述;测试集包含3 074张图像,1 000个身份和 6 156条文本描述。
在图像CNN分支中,本文采用在ImageNet数据集上预训练好的Resnet50作为提取视觉特征图的主干。在文本CNN分支中,本文采用的是在包含Toronto Book Corpus和维基百科在内的大型语料库上预训练的BERT-Base-Uncase语言模型提取词嵌入。所有输入图像都调整为384×128,文本长度统一为L=60。参考文献[10],本文将图像局部区域数目设置为K=60。每批次包含64对图像文本对。
在训练阶段,使用Adam作为优化器来优化模型,其中权重衰减设置为4×10-5。该模型总共训练了80代,基础学习率设置为lr=0.003,并在训练 50代后衰减为lr=0.000 3。此外,在前10代中通过热身技巧初始化学习率。数据处理采用随机水平翻转以增加数据的技巧来进行数据增强,其中每个图像有50%的机会随机翻转。
3.2 评估方案
在测试阶段,采用余弦距离作为相似度的计算函数,其在跨模态检索领域被广泛采用,是通过网络提取得到的图像特征或者文本特征,查询文本(或图像)和图像(或文本)之间的距离,使用余弦相似度计算:
式中:fq代表查询特征,fg代表被查询特征。
然后对这些距离进行排序,使用top-k(k=1,5,10)来评估模型性能。具体地,就是给定一个查询文本描述,所有的目标图像集根据它们与文本的相似度大小来进行排序。成功的查询意味着匹配的行人图像存在于top-k图像之中。
3.3 与其他方法的比较
表1展示了本文方法与现有的文本行人跨模态检索方法的对比结果。将这些方法分为全局匹配和局部匹配两种类型,全局匹配方法(类型列标 记 为“G”)由GNA-RNN[1]、CMPM-CMPC[4]和MCCL[11]组成,局部匹配方法(类型列标记为“L”)包 含GLA[6]、MIA[7]、PMA[2]、CMKA[12]、RANAG[13]以及NAFS[9]。从表1可以发现,基于局部对齐的方法近年来已经成为热门话题并且相对取得了较好的性能,这可以证明局部细粒度对齐对于缩小模态间差距的重要性。
表1 在CUHK-PEDES数据集上的对比实验结果
3.4 消融实验
本节分别针对Text-CNN网络和局部特征对所提方法在数据集CUHK-PEDES上的性能影响进行消融实验。基线的具体设置为:图像支路使用Resnet50进行全局图像特征提取,文本支路使用BERT模型进行全局文本特征提取,得到的全局图像特征和全局文本特征在CMPM匹配损失的约束下进行网络训练,并获取相应的匹配结果。
表2展示了Text-CNN网络和局部特征对于所提方法的影响和贡献。从表2可以看出,Text-CNN网络和局部特征对模型性能都有一定的提升作用。利用文本检索图像时,基线加上Text-CNN后模型的rank-1较基线提升了7.73%,并且rank-5和rank-10都有相应的提升。基线加上局部特征对齐后的rank-1较基线提升了3.13%。当把这两部分结合起来,模型的性能相较于基线性能有了比较明显的提升,其rank-1的准确率能够达到62.41%。此外,在图像检索文本时,模型性能也有所提升。这证明了Text-CNN网络和局部特征对于文本行人跨模态检索任务是有效的。
表2 Text-CNN和局部特征的影响和贡献
4 结 语
本文针对文本行人跨模态检索中文本特征判别行不足的问题,提出了采用Text-CNN网络对文本特征进行进一步提取的算法。该方法详通过结合BERT模型和Text-CNN网络,能够有效地提升文本特征的判别性。此外,本文探讨了局部特征对于文本行人跨模态检索任务的有效性,通过添加局部特征对齐,同时结合全局特征的对齐,本文的性能达到了与主流方法性能相当的水平。本文方法在CUHK-PEDES数据集上进行了大量的实验,通过对比实验验证了本文方法的有效性和优越性,并通过消融实验分别验证了Text-CNN网络和局部特征对齐对于文本行人跨模态检索任务的影响和贡献。然而,本文仅考虑了局部特征和全局特征的结合,并没有全面考虑多尺度特征对于任务的影响,今后的工作将考虑多尺度特征的结合,优化网络结构,进一步提升匹配性能。