赞
踩
这篇论文是2021年2月由浙大罗浩团队和阿里共同发表的文章,该文章首次将transformer应用于行人重识别领域。
论文地址:https://arxiv.org/pdf/2102.04378v2.pdf
1、对于reid任务,重要的是能够在全局域上提取行人结构信息等,由于感受野的限制,CNN只能关注局部信息,而加上attention机制不能从本质改变,如下图的 figure1;
2、其次是一些细粒度(fine-grained)的细节信息对reid任务很重要,而CNN在经过一层卷积和池化后feature map的分辨率降低,丢失了很多细节信息,如下图的 figure 2。
1、多头注意力机制(multi-head attention)可以让网络关注于整个行人的身体;
2、没有卷积和下采样,不会丢失细节信息。
1、提供一个transReID网络;
2、加了一个JPM结构(jigsaw patches module),对patch进行重新排列,能提取全局不变性的特征;
3、加了一个SIE结构(side information embeddings),合并非视觉信息,消除不同相机间的匹配差异。
1、绝大多数CNN是基于resnet网络;两个loss:ID loss和triplet loss;针对loss的改进,如增加BNNet;或circle loss等。
2、细粒度特征的提取。主要方法是针对图像水平切割成条纹或语义上的解析(例如关键点估计等)。
3、额外信息的补充。针对不同相机拍摄行人造成的光线、分辨率、姿态等信息不同,利用额外信息,如相机ID、角度信息、定位信息等,以及基于相机的BN层。
4、列举一些视觉领域上的transformer网络,VIT,IPT,DEIT等。
总体上继承了ViT的结构,只是最后输出上有所改变。(ViT是2020年提出来的用于分类的一个transformer-based baseline,已收录于2021ICLR,链接:https://arxiv.org/pdf/2010.11929v1.pdf)
Z0是transformer的输入。Cls是新增加的一个分类embedding,F是一个线性变换,将输入的patch变到D维度,P是每个patch的一个位置信息,维度是(N+1,D),加1是类别信息。
与ViT等网络的联系和区别:
1、输入的patch有overlap。滑窗选取,滑窗步长为S,P为patch大小,NH、NW是高宽上的patch个数。个数向下取整,S越小patch越多,计算量也越大。
2、和vit一样加入可学习的定位embedding。
3、采用有监督学习,两个loss的设置:ID loss用交叉熵函数实现;triplet loss改写为下面这种形式,相当于把值给缩小到一个范围,防止收敛不稳定。
在baseline framework改进后的结构图如下
1、动机:如果存在有遮挡或未对齐的行人图像,需要学习行人局部的细粒度信息。CNN中常用striped feature方法,JPM是将最后一层的输入打乱顺序,然后分组,这样能增强学习行人局部不变性特征的能力。
2、具体如下:
一、选前m个和后N-m个进行位置调换;
二、将所有patch随机分成k个组。
最后的损失=未打乱顺序的+打乱顺序的每一组的
推理阶段,把最后一层输出的局部和全局特征整合连接作为最后的feature。只用全局的特征,性能只稍微差一点。
损失函数如下:
1、动机:处理一些非视觉信息,如拍摄相机、角度的不同带来的影响。启发:位置信息(2维)的编码。
2、方法:采用1维编码方式,把每个相机和角度进行标号,分别得到Sc和Sv,维度为(r,D),r是相机个数或角度个数。一张图对应输入是一个1xD的编码。对于一张图的所有patch,Sc,Sv都是相同的标号值。同时为了更好融合两个信息,采用S(c,v),维度是(Nc*Nv,D)。
此外,这里SIE用的是分类信息如(1,0,0,0,…),也可以加入数值信息。
因此最终的输入有两部分,Z0是上面的原始输入,后面那部分是相机标号信息和角度信息
1、实验所用数据集
2、transReID和其他方法的对比实验结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。