CV方向介绍 | 基于自然语言的跨模态行人ReID的SOTA方法简述(下)

  • Post author:
  • Post category:其他


点击我爱计算机视觉标星,更快获取CVML新技术


本文为52CV群友Jokie对ReID一个新的子方向最新总结,原载于知乎:

https://zhuanlan.zhihu.com/p/89730837

阅读本文前推荐先阅读:


CV方向介绍 | 基于自然语言的跨模态行人re-id的SOTA方法简述(上)

本文将接着上篇的内容,继续和大家学习近年相关优秀的基于自然语言的跨模态行人re-id的SOTA方法。由于已做完wider challenge 2019的比赛,相关的调研已经不再进行,现在把我之前调研过的方法放出来,其余的大家还是看原文吧。

MIA(Arxiv 2019)

论文:Improving Description-based Person Re-identification by Multi-granularity Image-text Alignments

代码:未开源

本文的作者团队来自中科院自动化所,同时也是今年Wider-Challenge-2019 Tracks 4的冠军团队。文中为基于自然语言的行人重识别任务提出了多粒度的匹配方案。本文的motivation是,相比于COCO数据集等跨类别的文本图片的category-level的跨模态检索,基于自然语言的reid这种同一类别下id-level的检索任务更加难分(如下图所示)。因为作者认为id-level的检索任务:

  • 需要提取更细粒度度attribute-level的特征;

  • 2个模态的信息量不对等,例如可能A模态的属性在B模态没有体现,就无法对齐;

  • 同一文本描述在图像模态下的体现是多变的(例如

    white skirt

    在视觉模态可以是长白裙也可以是短白裙)

为此,本文做出了以下贡献点:

  • 声称是首个在该task实现局部视觉信息和局部文本信息(名词短语等)的匹配。(但是个人认为上篇提到的GALM方法也是用了local matching的思路。)

  • 为了解决现存的这种细粒度跨模态检索的问题,作者提出了一种在多粒度(global-global,local-local,global-local)上的实现视觉-文本信息对精准匹配的模型,并且是可端到端训练的。

  • 为了让多个粒度信息实现更好的匹配,针对这个模型提出了一个有效的训练步骤。

  • Most importantly,在CUHK-PEDES达到了SOTA性能。

1.网络结构

网络结构如上图所示,整体分为

(1) 2个模态的全局和局部特征信息提取模块

全局特征提取都是常规思路,分别用CNN和Bi-GRU提取视觉模态和文本模态的全局特征。而局部特征的话,在局部视觉模态的特征提取上,采取了类似ECCV 2018《Beyond part models: Person retrieval with refined part pooling》这篇文章的方法,把CNN得到的feature maps 根据映射回原输入图片的感受野在H维度上分为了M等份,得到M个局部视觉特征图,再经过均值池化,1X1卷积和FC层分别得到M个局部视觉的特征表达,如下图所示。

而文本模态的局部特征,则是使用NLTK提取出文本表达的名词,对各名词使用Bi-GRU双向输出的隐层向量concat起来,再接一个fc层来得到各局部文本模态的特征表达。

(2) 多粒度视觉-文本特征对齐模块

第二部分的多粒度特征对齐模组,作者设计了3个粒度特征的attention支路,希望让2个模态的特征能更充分的对齐,最后用一个weighted sum的相似度来表征最终2个模态信息的相似度。

CMPM+CMPC(ECCV 2018)

论文:Deep Cross-Modal Projection Learning for Image-Text Matching

代码:

https://github.com/YingZhangDUT/Cross-Modal-Projection-Learning

文中基于隐空间特征学习的跨模态检索方法提出了2个损失函数以提升跨模态特征的匹配性能,分别是Cross-Modal Projection Matching(CMPM)和Cross-Modal Projection Classification(CMPC)。

与一些方法是通过构建一个相似性学习网络来学习2个模态的低维特征的匹配分数,本文提出的优化目标是一个模态到另一个模态的投影,借此学到一个更具判别性的隐层特征。

1.网络结构

网络结构非常简洁,分别用一个resnet 和bi-LSTM分别提取image和text的特征,主要的改进在于隐空间特征学习的约束目标。

2.CMPM

作者大致说了一下基于metric learning的ranking loss的问题,如收敛慢,容易陷入局部最优解,选用semi-hard negative的话则需要比较大的batch来构建三元组等等。作者认为,当把某一个模态的特征模归一化,另一个模态到这个模态的投影的可以用来表示2个模态的特征匹配度。

因此,作者提出了CMPM(Cross-Modal Projection Matching),简单来说,作者把每个batch的image-text对的匹配构建了一个概率分布,用网络的预测值和真值分布的KL散度来约束网络,以希望网络学到的单个模态到另一个模态的投影尽可能趋近于真实的分布。

具体地,对于每个mini-batch 的n个image-text对,


如果2个模态之间是互相匹配的,则y=1。否则y=0。于是对一个batch,把单个模态到另一个模态的投影概率分布可以表示为

而真实的投影概率分布可以表示为

因此,损失函数可构建为2个分布的KL散度

2.CMPC

作者从人脸识别领域获得灵感,人脸识别领域后期通过改进最后的softmax层获得了”类内更紧凑,类间更稀疏”的判别性特征,为此,作者仿照Norm-softmax,构建从一个模态到另一个模态的投影进行norm-softmax分类的目标函数。把接入softmax的fc层的weight作归一化,bias去掉,使得优化的目标是使各个投影与投影之间能很好的分类。

实验

在仅仅改进loss的情况下,可以获得比较大的提升。

特征用t-SNE降维可视化

番外:一篇用对抗思想做跨模态检索的文章

论文:Adversarial Cross-Modal Retrieval(ACMM 2017)

除去跨模态检索中常用的Intra-modal loss(也就是之前调研所说的ID softmax loss)+Inter-modal loss(Ranking Triplet Loss)之外,本文加入了对抗思想以期望学到的子空间中的语义特征能跟具判别性,也就是在2个模态提取特征并投影到子空间后,再输入到一个模态分类器,希望这个判别器能将投影到子空间的特征重新判别出其是来自于Image模态还是Text模态,通过对抗学习以让类内2个模态在子空间的特征投影更紧凑。

下图为文中关于对抗表达学习所带来子空间特征的效果。

其他

还有一些其他的方法,不一一赘述了,感兴趣的可自行查阅原文:

  • Identity-aware textual-visual matching with latent co-attention(ICCV 2017)

  • Improving Text-based Person Search by Spatial Matching and Adaptive Threshold(WACV 2018)

  • ref=”arxiv.org/abs/1808.0157″>Improving deep visual representation for person re-identification by global and local image-language association(ECCV 2018)



ReID交流群

关注最新最前沿的行人重识别ReID、行人检测、步态识别技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)


(请务必注明:ReID)

喜欢在QQ交流的童鞋,可以加52CV官方

QQ群

:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉