综述7 | 可见光-红外跨模态ReID的综述

1. 为什么需要跨模态行人重识别

传统的 RGB-RGB 行人重识别只能解决光线充足下的识别任务,而在夜间或者是光线较暗处,可见光摄像机几乎已无用武之地。如今的摄像机大多都将红外和可见光功能配在了一起,其中红外摄像机在白天或者黑夜都能够获取行人的红外图像信息,这为跨模态行人重识别的研究提供了有利的条件。因此在reid中,我们可以给定一个probe,不仅要能匹配RGB图像,也要能匹配到红外图像。反之亦然。

跨模态reid问题于2017年在行人重识别领域首次被 Wu等人提出定义。他们提出了一个跨模态行人重识别框架,并提供了一个公开的大规模 RGB-红外多模态行人数据库,名称为SYSU-MM01。之后开始有大量相关工作涌现,然而距离跨模态行人重识别能够投入实际场景中应用依旧存在许多问题。


2. 面临的挑战

目前,跨模态行人重识别问题面临的困难与挑战主要在于:

(1)两种模态下捕捉的图像存在较大差异。RGB图像拥有三个通道,包含了红绿蓝的可见光颜色信息,而红外图像只有一个通道,包含了近红外光的强度信息。而且从成像原理的角度出发,二者的波长范围也有所区别。不同的清晰度和光照条件在两类图像上所能产生效果可能会大相径庭。

(2)数据集较为单一且规模较小。虽然现在已经有许多工作致力于扩充行人重识别数据集,然而数据集中的图像大多来源于相似型号以及角度的机位,和实际中多样化的场景差距较大。

(3)传统行人重识别中存在的模态内差异,例如低分辨率、遮挡、视角变化等问题在跨模态行人重识别中也依旧存在。

综上,如何较好地减少两种模态图像间的差异,学习两种模态间共享的鲁棒性特征,是目前研究的关键。


3. 数据集

现有两个同时包含 RGB 图像和红外图像的公开基准数据集。
在这里插入图片描述

SYSU-MM01

SYSU-MM01是跨模态行人重识别课题第一个标准数据集,是跨模态reid的公认权威数据集。它由 6 个摄像头来捕捉行人图像,具体是 4 个 RGB 和 2 个 IR 摄像头。具体的:
在这里插入图片描述
表格每一列:相机的索引号,拍摄地点,室内还是室外,白天还是黑夜,ID数目,每个ID对应的RGB图像数量,每个ID对应的IR图像数量。

RegDB

RegDB 数据集共有 412 个不同身份的行人,每个人分别对应10张RGB图像和10张红外图像,其中拍摄到 156 个行人的正面,256 个行人的背面。该数据集总共有 4120 张RGB 图像和 4120 张的红外图像。


4. 评价指标

CMC 曲线

CMC(Cumulative Match Characteristic,CMC)曲线,即累积匹配曲线,它反映了分类器性能,一般使用Rank-k 表示,表示按照某种相似度匹配规则匹配后, 第 n 次能判断出正确的行人标签的测试数目与总的测试样本数目之比。例如 Rank-1 识别率就是表示第一
次匹配检索后就能返回正确匹配的概率。

mAP 均值平准精度
mAP(mean Average Precision)根据准确率-召回率曲线计算得到反应召回率。具体操作是分别求出每个类别的平均准确值后再次取平均值。平均准确值是求准确率-召回率曲线下的面积,综合考虑了准确率和召回率,是衡量一个模型好坏的标准。

5. 解决方法

(一)目前,该方向主要有两种思路:

(1)基于近红外和可见光模态下的行人特征提取方法( 使用参数共享的卷积网络,学习到两种模态数据之间的共享特征)

论文阅读10 | RGB-Infrared Cross-Modality Person Re-Identification,ICCV2017,提出了一种基于深度零填充的方式将两种模态以参数共享的方法进行训练来解决行人重识别问题。


visible Thermal Person Re-Identification via Dual-Constrained Top-Ranking,IJCAI. 2018, 提出了一种基于双向双约束 top-ranking 损失的双路网络来提取行人特征。


Hierarchical discriminative learning for visible thermal person re-identification,AAAI. 2018, 他们提出了一个层级跨模态匹配模型来联合优化行人在特定模态和共享模态下的特征描述。

(2)基于生成式的方式(Generative Adversarial Networks,GANs)将两种跨模态下的行人转换成同一种模态,以实现行人重识别过程。( 使用GAN网络,通过训练生成器和判别器去学习模态之间的关联)

论文阅读8 | Rgb-infrared cross-modality person re-identification via joint pixel and feature alignment ,ICCV2019,使用GAN网络将彩色图像全部转换为灰度图像,首次使用像素对齐和特征对齐两个方面。


Learning to reduce dual-level discrepancy for infrared-visible person re-identification, CVPR. 2019, 提出一种将近红外图像和可见光图像进行相互转换的方法,并提取相应模态下的行人图像特征。


Cross-Modality Person Re-Identification with Generative Adversarial Training, IJCAI. 2018, 设计一个基于判别器的生成对抗训练模型,从不同的模态中学习具有判别力的特征。

(二)目前,跨模态行人重识别的研究可大致分为以下三类

早期的研究主要集中于基于表征的学习以及基于度量的学习这两种方法,之后又出了基于模态互转的学习方法。

(1)基于表征学习的方法

基于表征学习的方法主要研究如何设计建模合理的网络架构,能够提取两种模态图像共享的具有鲁棒性和鉴别性的特征,尽量缩小模态间存在的差异性,输入到共享参数的网络,从而比较二者的相似性。

(2)基于度量学习的方法

基于度量学习的方法旨在通过网络学习出两张图片的相似度,关键在于设计合理的度量方法或者损失函数,从而使得在模态一致的情况下,属于同一个体的样本图像距离尽可能小,不属于同一个体的样本图像距离尽可能大;而不属于同一模态也不属于同一个体的样本图像距离尽可能大。

(3)基于模态互转的方法

让不同模态的数据之间相互转换。随着近年来 GAN 的快速发展,实现模态的相互转换,将跨模态行人重识别问题转化为单模态的行人重识别问题,这在很大程度上减少了模态间的差异这一难点。


6. 总结展望

发展仍处在初级阶段. 想要取得更大的突破, 未来的发展方向可以从以下方面考虑:

(1)构建高质量的数据集。现有跨模态行人重识别的数据集数量少, 并且其规模也很小只包含了几百个ID。可供训练的图片非常有限, 影响跨模态行人匹配的效果. 同时目前数据集的场景不够丰富, 但是现实会遇到多样的环境, 不同的环境, 不同的光线等因素都会影响跨模态图像之间的匹配, 造成很大的差异。

(2)关注模态转换的研究。研究者们通常采用一般的方法, 结合特征提取和度量学习解决模态间和模态内变化. 根据对现有方法的分析, 发现采用模态转换的方法, 识别率明显优于传统的方法. 其中 GAN、风格迁移等方法可以有效地实现两个域之间的转换, 有效缓解模态间的差异。

(3)结合局部特征学习. 在行人重识别中颜色是区别行人的有效信息, 由于红外图像特殊性, 无法在跨模态行人重识别中使用. 因此, 其他的信息变得异常关键,我们可以结合局部特征, 学习出具有鲁棒性特征, 从而提高行人识别率。

参考:https://zhuanlan.zhihu.com/p/55320029

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
deep-person-reid是一个用于行人重识别的开源库,它基于PyTorch深度学习框架实现。在使用deep-person-reid进行行人重识别之前,需要进行以下步骤: 1.安装deep-person-reid库 ``` pip install deep-person-reid ``` 2.准备数据集 deep-person-reid支持Market1501、DukeMTMC-reID、CUHK03等多个数据集。你需要先准备好数据集并按照要求的文件夹结构进行组织。 3.配置文件 在deep-person-reid中,模型的配置信息是通过yaml文件进行配置的。你需要创建一个yaml文件,指定数据集路径、模型类型、训练参数等信息。以下是一个示例配置文件: ``` data: sources: ['market1501'] targets: ['market1501'] height: 256 width: 128 combineall: False transforms: ['random_flip', 'color_jitter'] model: name: resnet50 pretrained: True num_classes: 751 loss: name: triplet margin: 0.3 weight_t: 1 weight_x: 1 weight_reg: 0.0005 optimizer: name: adam lr: 0.0003 weight_decay: 5e-04 lr_scheduler: name: step step_size: 40 gamma: 0.1 train: start_epoch: 0 max_epoch: 60 batch_size: 32 workers: 4 print_freq: 10 test: batch_size: 100 workers: 4 ``` 在这个示例配置文件中,我们指定了使用Market1501数据集,使用resnet50模型,使用triplet loss进行训练,使用adam优化器进行优化等等。 4.训练模型 使用deep-person-reid训练模型非常简单,只需要执行以下命令即可: ``` python train.py --config-file /path/to/config.yml ``` 其中,`/path/to/config.yml`指定了你的配置文件路径。 5.测试模型 在训练完成后,你可以使用以下命令测试模型: ``` python test.py --config-file /path/to/config.yml ``` 这个命令会输出模型在测试集上的准确率等指标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值