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 ...
随机推荐
- I - A计划 HDU - 2102
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- 从0到1使用MyBatis
MyBatis作为最流行的数据中间层,成为企业Java软件开发中非常重要的软件. 一.基本配置 1.首先需要导入Maven <dependency> <groupId>org. ...
- 全面认识HBase架构(建议收藏)
在网上看过很多HBaes架构相关的文章,内容深浅不一,直到发现了一篇MapR官网的文章https://mapr.com/blog/in-depth-look-hbase-architecture/#. ...
- js的变量——基本类型保存在栈中,引用类型保存在堆中
javascript的基本类型:Undefined,Null,Boolean,Number,String 引用类型:Object,Array,Function 基本类型值在内存中占据固定大小,被保存在 ...
- git版本回退问题记录
因为之前有个前端改了文件目录进行合并时候丢失掉些许代码,然后我在以前分支进行了代码层级的整理,项目如果想要启动还需还原回以前的版本,我进行了三次文件夹层级提交,所以我需要进行三次的版本回退. git命 ...
- 遍历Map的四种方式(Java)
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- SpringBoot WebSocket STOMP 广播配置
目录 1. 前言 2. STOMP协议 3. SpringBoot WebSocket集成 3.1 导入websocket包 3.2 配置WebSocket 3.3 对外暴露接口 4. 前端对接测试 ...
- 这些MongoDB的隐藏操作你真的都掌握了吗?反正我是刚知道
背景 最近公司系统还原用户时偶尔会出现部分用户信息未还原成功的问题,最为开发人员,最头疼的不是代码存在bug,而是测试发现了bug,但一旦我去重现,它就不见了.Are you kidding me? ...
- 原来rollup这么简单之 rollup.rollup篇
大家好,我是小雨小雨,致力于分享有趣的.实用的技术文章. 内容分为翻译和原创,如果有问题,欢迎随时评论或私信,希望和大家一起进步. 分享不易,希望能够得到大家的支持和关注. 计划 rollup系列打算 ...
- 深入理解JS引擎的执行机制
深入理解JS引擎的执行机制 1.灵魂三问 : JS为什么是单线程的? 为什么需要异步? 单线程又是如何实现异步的呢? 2.JS中的event loop(1) 3.JS中的event loop(2) 4 ...