Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020)
Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020)
1. Motivation
- 可见光图像包含颜色、外观等信息,波长较短;红外图像包含结构和轮廓信息,波长较长,两个模态差异大
- 当前存在的方法都有以下弊端:对参数敏感,难收敛,计算量大。如何减少两个模态间的差异成为了解决跨模态行人重识别的关键问题。
- 大部分方法都是将两个模态图像映射到同一个特征空间,如图 (a) 所示(颜色一样的为同一个id的行人),直接映射的方式,难以很好的把两个模态的同一个id聚类到一起,因此本文提出了一个引入中间模态X,用轻量级网络,以自监督的方式学习到可见光和红外图像的知识。如图 (b) 所示,将难的双模态的跨模态 ReID 任务转化为较为容易的三模态的跨模态 ReID 任务。
2. Method
X Modality
- 简述
相对于其他方法(cmGAN,AlignGAN)用GAN方法学习判别性特征,GAN更为复杂、难训练,而本文提出的 X 模态是一种用轻量级网络,以自监督方式,额外代价可忽略不计的生成器生成的中间辅助模态,更为容易训练。
- 组成
由两个 1x1 的卷积和一个 ReLU 激活层构成,可见光图像作为输入, 先用一个 1x1 卷积处理为单通道图像,再用另外一个 1x1 卷积进行升维,恢复成三通道图像。ReLU 激活层用于提高网络的非线性表达能力。
优点
- 可以用可见光图像的标签作为训练标签,以一种自监督方式进行训练
- GAN方式的重建信息包括通道维度和空间维度信息,这样会破坏原始的空间结构信息,且复杂难以优化。而本文的轻量级网络只对通道信息进行恢复,简单且容易训练。
Testing
在测试阶段,选择红外图像(IR)作为查询,可见光图像(RGB)作为候选集,检索出与查询图像距离(欧氏距离)和最小的RGB图像和X模态图像,返回其索引,公式如下:
Overall
本文方法:先用一张RGB图像生成X模态的图像,然后将RGB、IR、X三个模态的图像分别输入同一个backbone(ResNet-50)中,使用模态间(CMG)和模态内(MRG)两个约束进行训练。接下来介绍 CMG 和MRG 两个约束:
- CMG



跨模态约束(CMG)包含两个部分,分别是 IR 模态和 X 模态之间的 cross 损失和 IR 模态和 RGB 模态之间的 cross 损失。这里的 cross 损失与Triplet 损失相似,其目的是将两个模态间同一个ID行人的图像距离拉近,不同ID的距离拉远。从而达到 IR-X、 IR-RGB 跨模态间的正样本距离拉近。
- MRG

对于 IR 模态:



模态内约束(MRG)由三个模态的损失构成,这里只说明 IR 模态下的损失,其余两个模态同理可得。IR 模态内的损失由两部分构成,一个是 id 损失,一个是 triplet 损失,相对于 CMG 比较简单。
- Optimization

上式为整个网络训练损失函数,其中,$ \lambda $ 是 CMG 的权重系数,用于衡量跨模态约束的对整体性能提升的贡献。
3. Experiments
I. Comparison with sota

总体来说,在两个数据集上都取得较为明显的提升。


与 cmGAN, D$ ^2 $RL , AlignGAN 使用同一个 backbone, 本文的方法在 SYSU-MM01 上提升更多。
II. Ablation study

其中 Baseline 表示只使用两个模态内的损失 $ \mathcal{L}_V $ 和 $ \mathcal{L}_I $ 进行训练; Baseline + X 表示引入 X 模态后,使用模态内的损失 $ \mathcal{L}_V $、 $ \mathcal{L}_I $ 和 $ \mathcal{L}_X $ ; Baseline + X + CMG 表示在使用模态内损失的基础上加入模态间损失 CMG。 由表可见,引入 X 模态有助于降低两个模态的差异性,使用 CMG 损失能进一步提升跨模态 ReID 任务的性能。
III. Discussions
A closer look at X


由上图知,可见光图像的三个颜色通道的统计是相似的,然而在 X 模态中,R 通道的强度比 G、B两个通道更强,可视化的视觉效果就是,X模态的图像偏红,介于 RGB 和 IR 两个模态之间,验证了通过引入中间模态有助于减小跨模态之间的鸿沟。

Table 5 展示了用其他方案生成的模态替代 X 模态的实验结果。其中 Mean 表示将 RGB 图像进行逐通道计算均值,Gray 表示将 RGB 图像转化为灰度图,V 表示选取 RGB 图像的 HSV 颜色空间中的 V 信息; Y 表示选取 RGB 图像的 YCbCr 颜色空间中的 Y信息。由实验可知,采用轻量级网络生成的 X 模态效果最佳。
IV. Parameter analyse

4. Conclusion
本文亮点在于引入一个中间模态 X,旨在减少两个模态间的差异性,更好的学习到两个模态间的联系。
X 模态是由一个轻量级网络,以自监督方式生成的,额外计算量可忽略不计。
Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020)的更多相关文章
- 关于Delphi错误:Cannot make a visible window modal
Delphi的fsMDIChild类型的窗体是不能使用ShowModal的,否则会弹出"Cannot make a visible window modal"异常, 但是把fsMD ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- Image Processing and Computer Vision_Review:Local Invariant Feature Detectors: A Survey——2007.11
翻译 局部不变特征探测器:一项调查 摘要 -在本次调查中,我们概述了不变兴趣点探测器,它们如何随着时间的推移而发展,它们如何工作,以及它们各自的优点和缺点.我们首先定义理想局部特征检测器的属性.接下来 ...
- 2016CVPR论文集
http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...
- CVPR2016 Paper list
CVPR2016 Paper list ORAL SESSIONImage Captioning and Question Answering Monday, June 27th, 9:00AM - ...
- Kendo UI使用笔记
1.Grid中的列字段绑定模板字段方法参数传值字符串加双引号: 上图就是个典型的例子,openSendWin方法里Id,EmergencyTitle,EmergencyDetail 三个参数,后两个参 ...
- [转]Angular——提示框
本文转自:https://blog.csdn.net/whm18322394724/article/details/80177950 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...
- (转)Awesome Knowledge Distillation
Awesome Knowledge Distillation 2018-07-19 10:38:40 Reference:https://github.com/dkozlov/awesome-kno ...
- 论文笔记之:Learning Cross-Modal Deep Representations for Robust Pedestrian Detection
Learning Cross-Modal Deep Representations for Robust Pedestrian Detection 2017-04-11 19:40:22 Moti ...
随机推荐
- [译]介绍一下渐进式 Web App(即时加载) - Part 2
在上一篇,介绍一下渐进式 Web App(离线) - Part 1的文章中,我们讨论了典型的pwa应该是什么样子的并且同时也介绍了 server worker.到目前为止,我们已经缓存了应用壳.在 i ...
- VUE四 axios详解
axios的中文文档写的已经很详细 https://www.kancloud.cn/yunye/axios/234845
- Hyperledger Fabric ChainCode开发
预览 Hyperledger Fabric的chaincode开发目前支持Go.Java.Node.js语言,下面以Go语言作为例子,我们先看下面的一个官方提供chaincode模板 ··· pack ...
- python安装包的3的方式
1.pip pip install 包名 2.压缩包(针对pip安装不上) 1.下载源码解压(压缩包有setup.py) 2.python setup.py install 3.****.whl文件 ...
- ubutu 12.04
1.[系统设置]->[外观]->[行为]->[自动隐藏启动器],隐藏左侧边栏后,可以按快捷键[CTRL+a]弹出侧边栏. 2.QtCreator调试,提示[ptrace不允许的操作] ...
- 附014.Kubernetes Prometheus+Grafana+EFK+Kibana+Glusterfs整合性方案
一 glusterfs存储集群部署 注意:以下为简略步骤,详情参考<附009.Kubernetes永久存储之GlusterFS独立部署>. 1.1 架构示意 略 1.2 相关规划 主机 I ...
- node.js中http.respone.end方法概述
方法说明: 结束响应,告诉客户端所有消息已经发送.当所有要返回的内容发送完毕时,该函数必须被调用一次. 如果不调用该函数,客户端将永远处于等待状态. 语法: response.end([data], ...
- python飞机大战简单实现
小游戏飞机大战的简单代码实现: # 定义敌机类 class Enemy: def restart(self): # 重置敌机的位置和速度 self.x = random.randint(50, 400 ...
- [Docker03] Deploy LNMP on Docker
Deploy MYSQL docker pull mysql 挂载卷保存数据文件 mkdir -p /mysql/data chmod -p 777 /mysql/data MySQL使用过程中的环境 ...
- Effective python(五):内置模块
1,考虑使用contextlib和with语句改写可复用的try/finally代码 with lock:print('lock is held')相当于try:print('lock is held ...