阅读笔记-TransReID Transformer-based Object Re-Identification
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阅读笔记-TransReID Transformer-based Object Re-Identification相关的知识,希望对你有一定的参考价值。
参考技术A这篇文章在ViT的基础上提出了一种仅利用Transformer结构实现的ReID方法,并获得了较好的实验性能。
这篇文章的创新点包括三部分:
TransReID结构如图3所示,相对于ViT-BoT主要两点不同,第一个是embedding层引入了SIE即边缘信息,第二个是局部分支的处理。
主要目的是缓解跨摄像机、跨视角等条件下的表观偏置,一般的基于CNN的方法通过设计专门的损失函数或者设计特殊的网络结构融合side information,比如相机id和视角信息等。
本文的方法直接对相机编码和视角进行了编码,然后与表观编码和位置编码进行融合。具体而言,相机id编码表示为 , 视角编码表示为 , 如果相机id和视角信息同时存在,则编码为 , 而非 ,作者分析认为是避免了 的相互抵消,但我觉得其原因在于联合分布优于边缘分布。对于相机id的编码对整张图像相同,而对于视角的编码则对一个目标的所有patch相同。
注意: 这里 是和位置编码一样的直接学习的参数,他和位置编码不同点在于 对同一图像中同一目标的不同patch是相同的,而位置编码这是不同图像中相同位置的patch是相同的。
文章中将最后一层transformer分成并行的两个transformer,一个和原来的一样用于提供全局特征。另一个则用于提供局部特征。
问题的关键是如何构建局部特征,最直接的想法是将patches分成 个group,然后学习 个局部特征。如果按顺序划分的话,由于patch本身就是按距离有序的,因此会导致信息局限在有限连续区域内。所以本文对patch进行了随机的划分成不重叠的 组。
文章中说了很多,什么shift operation, shuffle operation。本质就是随机分组。
分组之后,每组的特征再加上token class的特征放入到transformer中输出一个token class 的特征表示该组提供的局部特征,所有的组共享一个transformer,每组使用的损失函数和全局的损失函数相同。
注意 这里在获得局部特征时,不是讲每一组特征cat在一起,然后输入query数为k+1的transformer中,而是每一组单独输入query 数为 的的transformer中。这样的话,其position embedding可以与整个Trans\'R\'eID对应起来。
图4给出的是使用SIE前后对于相机id,视角产生的特征偏置的弥合作用。
a,b两个图表示的不使用SIE时,在相机ID和视角两个方面同类和不同类中样本相似度的分布,我们希望的是样本特征能够与是否同类无关,也就是说希望绿色和粉色的两个分布重合,但可以发现不用SIE时两个分布差别较明显。
c,d分别表示使用SIE之后的分布差异,可以发现两个分布有靠拢的趋势,但其实差别还是挺大的。
提出了一种纯依赖transformer的ReID方法,包括SIE和JPM两个模块。其实个人觉得JPM这块还有挺大的值得讨论的空间。
本学期阅读计划
本学期我计划阅读的书是软件需求过程,我打算每周精读一章,发表一篇阅读笔记,以下为具体发布阅读笔记时间
内容 | 时间 |
阅读笔记一 | 10月12日 |
阅读笔记二 | 10月19日 |
阅读笔记三 | 10月26日 |
阅读笔记四 | 11月2日 |
阅读笔记五 | 11月9日 |
阅读笔记六 | 11月16日 |
以上是关于阅读笔记-TransReID Transformer-based Object Re-Identification的主要内容,如果未能解决你的问题,请参考以下文章
DETR(DEtection TRansforme)调试记录
markdown AWS Cloud Experience Porto Alegre,Transforme sua empresa com Big Data
Transforme结构:位置编码 | Transformer Architecture: The Positional Encoding