Press "Enter" to skip to content

ICCV2021:阿里达摩院将Transformer应用于目标重识别,效果显着(附源代码)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

作者:Edison_G

 

阿里达摩院 和 浙江大学 合作的TransReID框架。成功将Pure Transformer架构应用于目标重识别ReID任务,效果超过了当前先进方法的性能!文章2021年5月刚出来,也入选了顶会ICCV2021!

 

 

 

公众号ID |ComputerVisionGzq

 

学习群 |扫码在主页获取加入方式

 

 

论文地址: https://arxiv.org/pdf/2102.04378.pdf

 

开源代码: https://github. com/heshuting555/TransReID

 

1

 

前言

 

 

提取稳健的特征表示 是目标重识别 (ReID) 的关键挑战之一。尽管基于卷积神经网络 (CNN) 的方法取得了巨大成功,但它们一次只处理一个局部邻域,并且会因卷积和下采样算子(例如池化和跨步卷积) 导致细节信息丢失 。为了克服这些限制,研究者提出了一个名为 TransReID 的纯基于transformer的目标ReID框架。

 

2

 

背景

 

ReID全称Re-identification,也就是目标重识别的意思。简单理解就是对于一个特定的目标(可能是行人、车辆、人脸或者其他特定物体),在候选图像集中检索到它。或称图像中目标的实例级检索。

 

目标重识别(ReID)与 跟踪(Tracking)有什幺区别?

 

从任务的角度来看,两者最主要的区别如下:

 

目标重识别 :给定一张切好块的行人图像 (probe image, 即图像大部分内容只包含这个人), 从一大堆切好块的图像 (gallery images) 中找到跟probe image中同一身份的人的图像。这些图像通常是由不同摄像头拍摄的不连续帧。

 

跟踪:给定一张切好块的行人图像 (probe image), 从一段全景视频 (panorama track, 视野中只有一小部分是这个行人) 中找到 probe 所在的位置。这段全景视频是由单个摄像头拍摄的连续帧。

 

 

在视频监控领域,最终目标是要做到 多目标跨摄像头跟踪  (Multi-target Multi-camera Tracking, 简称MTMC Tracking)。而目标重识别和行人跟踪都是为了达到这个最终目标的子任务。

 

 

今天我们具体来说说目标重识别。 通过回顾基于CNN的方法,我们发现了两个在目标重识别领域没有得到很好解决的重要问题。

 

(1) 在全局范围内利用丰富的结构模式对于 目标重识别 至关重要。然而,由于 感受野存在一个高斯核的衰减 ,基于CNN的方法主要关注小的判别区域。最近,已经引入了注意力模块 来探索远程依赖关系,但其中大部分都嵌入在深层中,并没有解决CNN的原理问题。因此, 基于注意力 的方法仍然更喜欢大的连续区域,并且难以提取多个多样化的判别部分(见下图 1)

 

 

(a) Original images, (b) CNN-based methods, (c) CNN+attention methods, (d) Transformer-based methods

 

(2) 具有详细信息的细粒度特征也很重要。然而,CNN的下采样算子(例如池化和跨步卷积)降低了输出特征图的空间分辨率,这极大地影响了区分具有相似外观目标的能力。如下图所示,基于CNN的特征图丢失了背包的细节,难以区分两个人。

 

 

如上图中的这对负样本对(CNN识别错误,Transformer识别正确),两张图片的外观特征是非常相似的,但是从书包的细节可以看出,左边书包侧面有一个杯子,而右边书包侧面则没有杯子,因此可以判断是两个ID。但是因此CNN的下采样操作,在网络最后输出的特征图上已经看不清杯子这个细节了。 但是Transformer没有下采样操作,因此特征图能够比较好地保留细节信息,从而识别目标。

 

3

 

新框架

 

具体来说,研究者首先将图像编码为一系列补丁,并通过一些关键改进构建基于 transformer 的强基线,这在使用基于CNN的方法的多个ReID基准测试中取得了有竞争力的结果。 为了进一步增强 transformer 上下文中的稳健特征学习,精心设计了两个新颖的模块。

 

(i) Jigsaw Patch Module (J PM) 被提出通过移位和补丁混洗操作重新排列补丁嵌入,从而生成具有改进识别能力和更多样化覆盖范围的鲁棒特征。

 

(ii) Side Information Embeddings (SI E) 以通过插入可学习的嵌入来合并这些非视觉线索来减轻对相机/视图变化的特征偏差。

 

据我们所知,这是第一项采用纯 transformer 进行ReID研究的工作。TransReID的实验结果非常有前途,在人和车辆ReID基准测试中都达到了最先进的性能。

 

Transformer-based strong baseline

 

研究者参考CNN的baseline BoT设计Transformer-based strong baseline。如下图所示。

 

 

研究者参考ViT将图片分成N个patch,并引入一个额外的cls token共N+1个embedding。经过Transformer layers之后将cls token作为图像的全局特征,之后经过一个BNNeck结构计算triplet loss和分类ID loss。

 

此外,还有一个技巧性操作,是对图像进行patch分块的时候可以让相邻的patch之间有一定的overlap。当然这个操作会使得patch数目增加从而使得模型训练的资源消耗增加,但是性能也会有比较稳定提升。

 

Jigsaw Patch Module

 

ReID任务经常会遇到遮挡、不对齐这些问题,一般会采用细粒度的局部特征来处理这些问题,水平切块就是非常常用的一种局部特征方法。

 

为了扩大每个group的视野,研究者将所有的patch embedding按照一定规则进行打乱,然后再进行分组。这样每个group就可能包含来自图片不同区域的patch,近似等效于每个group都有比较全局的感受野。

 

具体打乱操作分为两步:

 

 

Side Information Embeddings

 

ReID任务中相机、视角的差异会给图像带来一些外观上的差异。对于CNN框架,通常需要专门设计结构来处理这个问题,例如设计loss、对数据进行先验处理、改变模型结构等等。这些设计通常比较定制化且比较复杂,推广性并不强。而transformer则比较擅长融合不同模态的信息,因此研究者提出了SIE模块来利用相机ID、视角等辅助信息。

 

 

4

 

实验及分析

 

论文中使用的数据集的统计数据

 

 

不同Backbone的对比

 

下表给出了不同Backbone的准确度和推理时间的对比,将ResNet50作为baseline,同时给出了ViT和DeiT的结果。

 

 

可以看到,DeiT-S/16在速度上与ResNet50是接近的,在准确度上同样也有可比的性能。当使用更深的DeiT-B/16和DeiT-V/16时,同样和ResNest50取得了相似的速度和准确度。当在pre-patch环节缩小conv的stride时,patch的数目增加,速度下降,但是准确度也会收获稳定的提升。

 

和SOTA对比

 

下表给出了和SOTA方法对比的结果。

 

 

可以看到,和CNN的方法相比,TransReID在六个ReID数据集上取得了更好的准确度,这显示了pure transformer架构在图像检索任务上同样适用。 在ImageNet上取得更好分数的DeiT在下游的ReID任务上并没有超过ViT。 这是因为ViT使用了更大的ImageNet22K做预训练,更大的预训练数据使得ViT有更好的迁移性。

 

可视化

 

 

(a) Input images, (b) Baseline, (c) JPM w/o rearrange, (d) JPM.

 

© THE END

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注