点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者丨Happy    审稿丨邓富城

转载自丨极市平台

导读

Transformer在ReID领域的第一次全面探索!为更好的利用ReID的数据特性与Transformer的信息嵌入特征,本文提出了两种模块改进SIE与JPM,将ReID的提升到了新的高度。

TransReID: Transformer-based Object Re-Identification

论文:https://arxiv.org/abs/2102.04378代码:https://github.com/heshuting555/TransReID

本文是阿里巴巴与浙江大学在Transformer+ReID方面的一次突破性的探索,在多个ReID基准数据集上取得了超过CNN的性能。为更好的利用ReID的数据特性与Transformer的信息嵌入特征,本文提出了两种模块改进SIE与JPM,将ReID的提升到了新的高度。比如将MSMT17的指标从60.8%mAP提升到了69.4%mAP,将DukeMTMC-ReID的指标从78.6%mAP提升到82.6%mAP,将Occluded-DuKe的指标从43.8%mAP提升到59.4%mAP,将VehicleID的指标从84.7%mAP提升到85.2%mAP

Abstract

本文对Vision Transformer在目标重识别任务上的应用进行了探索。通过几种域适应,提出了一种强基线ViT-BoT作为骨干网络,它在多个ReID基准数据集上取得了CNN相当甚至更好的效果。考虑到ReID数据的特性,本文设计了两个这样两个模块:

  • 将camera或viewpoint信息作为嵌入到到Transformer架构中,因此ViT可以消除不同camera或viewpoint导致的偏差;

  • 设计一个与全局分之并行的Jigsaw分支以利用双分支学习框架促进模型的训练。该分支被设计用于学习更鲁棒的特征表达,同时对图像块进行置换以辅助transformer的训练。

基于上述两个模块,本文提出了首个用于ReID任务的Transformer架构:TransReID。在多个ReID基准数据集(包含行人、车辆等),所提方法取得SOTA性能。下图给出了MSMT17数据集上不同方案的性能对比,可以看到TransReID取得显著的性能提升。

总而言之,本文有这样几点贡献:

  • 首次提出一种纯Transformer架构用于ReID,并构建了一种强基线ViT-BoT(添加了几种改进)取得了与CNN相当的性能;

  • 将Side Information Embedding引入到统一框架中以编码目标ReID的不同类型的边界信息,通过实验证实:SIE可以降低不同camera或者viewpoint导致的特征偏差;

  • 提出JPM,它有助于更鲁棒特征表达的学习;

  • 所提TransReID在多个ReID基准数据集(包含MSMT17、Market1501、DukeMTMC-ReID、Occluded-Duke、VeRi-776、VehicleID)上取得了SOTA性能。

Method

接下来我们将从两个方面来介绍本文所提方案,首先:我们针对ReID任务进行一些简单的适应性改进,得到了基线网络ViT-BoT;然后在ViT-BoT基础上,提出了融合Side Information Embedding(SIE)与Jigsaw Patch, Module(JPM)的TransReID。

ViT-BoT

上图给出了本文所提的ViT-BoT的结构示意图。由于原始的ViT是针对图像分类任务所设计,不能直接用于ReID任务,为此,我们对其进行了几点适应性调整。

Overlapping Patches

在预处理阶段,ViT需要将图像块拆分为N个不重叠块,这就会导致块的局部近邻结构信息无法较好的保持;相反,我们提出采用滑动窗口形式生成重叠块。假设滑动窗口的步长为S像素,每个块的尺寸






,那么重叠部分的形状为










。基于上述定义,如果输入图像的尺寸为






,那么所得到的图像块数量如下:










































从上式可以得出:重叠区域越大,所提图像块数量越多。而更多的块通常可以带来更好的性能,但同时也会造成更高的计算量。为更好的区分,











表示S=12;而S=P时则忽略下角标。

Position Embedding

位置嵌入







则编码图像块







的位置信息,它有助于Transformer的Encoder编码空间信息。注:由于ReID任务的图像分辨率不同于ImageNet,故ImageNet上位置嵌入无法直接应用,本文提出了采用双线性插值辅助ViT-BoT处理任意输入尺寸。

Feature Learning

给定拆分图像块,另一个可学习嵌入(如class token)将嵌入到上述块信息中,最后一个编码层的class token将作为图像的全局特征表达。假设最终的class token表示为




,其他的输出表示为











































。损失函数定义如下:






















































TransReID

尽管前述所设计的ViT-BoT可以在目标ReID任务上取得很好的效果,但它并未充分利用ReID数据的特性。为更好的探索边界信息与细粒度信息,我们提出了SIE与JPM,并将所提框架称之为TranReID,其结构信息见上图。

Side Information Embedding

在目标重识别领域,一个极具挑战的问题是:不同相机、视觉及其他因素导致的视觉偏差。为克服上述问题,基于CNN的方案通常需要修改网络结构或者调整损失函数以利用这些非可视化信息(比如相机ID,视角等)。

Transformer则及其善于融合这类边界信息,故而Transformer非常适用于ReID任务。类似与位置嵌入,我们采用可学习层编码这些边界信息。具体的说,如果图像的相机ID为C,那么它对应的相机嵌入可以表示为









,不同位置嵌入会岁图像块变化,相机嵌入则对所有块相同。另外,如果视角信息V可知,我们同样可以将其编码到所有块中。

接下来,我们就需要考虑如何集成这两种不同类型的信息了。最简单的一个想法:直接进行想家,即
















。但这种方式可能导致信息抵消。我们提出采用联合编码方式:











。也就是说,如果有







个相机ID,







个视角标签,那么











总计有












个不同的值。那么第i个块的输入定义如下:


































Jigsaw Patch Module

接下来,我们对ViT-BoT的最后一层调整为双并行分之结构(采用两个独立Transformer层分别用于学习全局特征与局部特征)。假设最后一层的输入隐含特征表示为























































。全局分支为标准transformer层,它将输入编码为


































,注:







表示全局特征。为学习更细粒度的部件级特征,一种直接的方式将输入特征分为k组,然后送入transformer层中学习k个局部特征,表示为
























。已有研究表明:token、主要受近邻token影响,因此近邻块的组合只能观察到有限的连续区域信息。

为解决上述问题,我们提出了Jigsaw Patch Module(JPM)对图像块先置换再分组。置换操作通过移动操作+块置换实现,可以描述如下:

  • Step1:  The shift operation

前每个块被移到后面,即




































移动m步变为












































































.

  • Step2: The patch shuffle operation

经过前述移动后的块进一步通过置换操作(group=k)进行处理,此时隐含特征变为:






























































.

我们将置换后的特征分成k组,JPM可以将其编码为k个局部特征
























,因此每个特征可以编码不同的部件,全局特征与局部特征分别采用分类损失





















进行训练,整体损失定义如下:











































































在推理阶段,我们对卷积特征与局部特征进行拼接得到最终的特征表达





























,如果仅仅采用







可以进一步减少计算浪,但性能也会稍微下降。

Experiments

为验证所提方案的性能,我们在四个行人ReID数据集(Market-1501, DukeMTMC-ReID, MSMT17, Occluded-Duke)与两个车辆ReID数据集(VeRi-776、VehicleID)上进行验证。下图给出了不同数据集的ID、数量等信息的简介。

在实现方面,所有行人图像resize为






大小,所有车辆图像resize为






,数据增强包含padding(10)、RandomCrop、RandomErasing等。batch=64,每个ID4张图像。SGD优化器,初始学习率0.01,cosine学习率机制。如无特殊说明,对于行人而言,










;对于车辆而言,










上表给出了ViT-BoT在MSMT17与VeRi-776数据集上的性能对比。从表中数据可以看到:

  • 具有更大骨干网络的BoT可以取得更好的性能;

  • ViT-BoT可以取得与ResNeSt50相当的性能,而训练时间更少;

  • 进一步降低步长s,模型的性能可以进一步的提升;

  • ViT-BoT(s=12)取得了最佳的速度-精度均衡。

上表给出了TransReID在不同ReID数据集上的性能对比。从表中信息可以看出:

1.在行人重识别方面,在MSMT17与DukeMTMC-ReID数据集上,TransReID以显著优化优于ABDNet的性能(+8.6%/+4.0%mAP);在Market-1501数据集上,TransReID同样取得了与SOTA方案相当的指标。

2.在遮挡ReID方面,相比PGFA与HOReID,TransReID取得了11.9%mAP的性能提升,切无需任何语义信息进行对齐;甚至通过重叠块辅助,TransReID可以取得59.2%mAP的指标

3.在车辆重识别方面,在VeRi-776数据上,TransReID取得了81.7%mAP,以2.1%mAP由于SAVER;在更大的数据集VehicleID上,所提方法可以取得85.2%mAP的指标。

全文到此结束,更多消融实验与分析建议各位同学查看原文。

点个在看 paper不断!

最新开源!TransReID:首个基于Transformer的ReID网络,各项任务全面领先!相关推荐

  1. 重磅开源!首个基于Transformer的视频理解网络来啦!

    部分转载自:机器之心  |  编辑:小舟.陈萍 Facebook AI 提出新型视频理解架构:完全基于Transformer,无需卷积,训练速度快.计算成本低.最近由Facebook提出的首个完全基于 ...

  2. 清华朱军团队开源UniDiffuser:首个基于Transformer的多模态扩散大模型!文图互生、改写全拿下!...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[多模态和扩散模型]微信技术交流群 转载自:机器之心 该论文提出了一个为多 模态设计的概率 ...

  3. 重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN

    向AI转型的程序员都关注了这个号☝☝☝ 翻译 | AI科技大本营(rgznai100) 参与 | 周翔.reason_W成龙,Shawn 今年 2 月,南京大学的周志华教授和他的学生 Ji Feng ...

  4. PoseFormer:首个纯基于Transformer的 3D 人体姿态估计网络,性能达到 SOTA

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文分享一篇 52CV 粉丝的论文『3D Human Pose Estimation with Spa ...

  5. 刷爆 AI 圈!基于 Transformer 的 DALL-E 代码刚刚开源了

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | AI科技评论 OpenAI在1月5日公布DALL-E模型以 ...

  6. 刷爆AI圈!基于Transformer的DALL-E代码刚刚开源了

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:AI科技评论 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 ...

  7. 无需卷积,完全基于Transformer的首个视频理解架构TimeSformer出炉

    选自Facebook AI 机器之心编译 编辑:小舟.陈萍 Facebook AI 提出新型视频理解架构:完全基于Transformer,无需卷积,训练速度快.计算成本低. TimeSformer 是 ...

  8. CNN 与 Transformer 的强强联合!谷歌最新开源 BoTNet,ImageNet 达 84.7%准确率

    Conv+Transformer=BotNet,这是伯克利.谷歌最新提出的工作BotNet,它充分利用了CNN与自注意力的优势,在ImageNet上取得了84.7%的top1精度,同时文中各种实验分析 ...

  9. 最新综述:基于Transformer的NLP预训练模型已经发展到何种程度?

    ©作者 | 机器之心编辑部 来源 | 机器之心 Transformer 为自然语言处理领域带来的变革已无需多言.近日,印度国立理工学院.生物医学人工智能创业公司 Nference.ai 的研究者全面调 ...

最新文章

  1. 使用PowerShell登陆多台Windows,测试DCAgent方法
  2. MMD_2a_FindSimilarSets
  3. python 计时_Python time clock()方法
  4. Qt界面美化 QSS
  5. angularjs(显示和隐身) 依赖注入
  6. 交互式应用安全测试(IAST)学习笔记
  7. OpenGL ES着色器语言----------------储存修饰符
  8. java判断胡牌_怎么写一个c++程序判断麻将是否胡牌(只讨论清一色的情况)
  9. html怎么改变图片整体大小,css怎么改变图片大小?
  10. Android P update_engine分析(三) --boot_control的操作
  11. 布兰迪斯大学计算机美国大学排名,布兰迪斯大学2021年US News美国最佳大学排名第几?...
  12. 微信小程序中显示换行、空格
  13. Havel-Hakimi定理(判断一个度序列是否可图)
  14. android tv tts,android触摸语音事件
  15. 程序员如何打造薪资15k
  16. Windows7无法自动安装FT232RL驱动解决方法
  17. Git基础概念与Flow流程介绍
  18. CES 2018前瞻:家居/音箱/AR/汽车都有什么新玩法 | 关注
  19. SPSS-概率单位回归分析Probit回归 (随笔笔记)
  20. 如何用ArcScene进行洪水淹没分析

热门文章

  1. 一个中国人看了爽的笑话
  2. Java与UML交互图
  3. LSGO软件技术团队招新 线下组队学习
  4. opencv3 视频稳像
  5. Python 可视化近 90 天的百度搜索指数 + 词云图
  6. 热点 | Excel不“香”了,数据分析首选Pyhton!
  7. 鸿蒙霸榜GitHub,从最初的Plan B到“取代Android”?
  8. 百度AI快车道—企业深度学习实战营,推荐系统主题专场即将开课
  9. Scikit-learn 发布 0.20版本!新增处理缺失值、合并Pandas等亮点功能
  10. Alpha Go 之父恩师Tomaso Poggio:深度学习需要从炼金术走向化学