跨镜追踪(行人重识别Person Re-identification)读书笔记(一)

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/weixin_33860450/article/details/85010207

《AlignedReID: Surpassing Human-Level Performance in Person Re-Identification》

论文地址:https://arxiv.org/pdf/1711.08184v1.pdf

GitHub复现代码:https://github.com/huanghoujing/AlignedReID-Re-Production-Pytorch

跨镜追踪,也称之为行人重识别(ReID),指的是在不同设备(摄像头)不同场景下识别出特定行人。ReID这项技术在监控安防领域极具意义,但算法想做好难度较大,多变的背景以及多变的目标信息使之难以产品化。

这篇文章提出了一种网络叫做AlignedReID,该网络的局部特征能够指引全局特征的学习,且比较精巧的是,该网络的局部特征不需要额外的监督即可完成,它采用的是一种寻找局部特征集最短路径的方法来自动对齐局部特征。该网络在Marknet1051中rank-1能达到94.4%,在CUHK03能达到97.8%

该网络结构如图所示 ,输入N张图(训练时128,测试时32),利用CNN提取特征图(此处CNN采用Resnet50),得到N*2048*7*7的特征图,N为输入的图片数,2048为channel数,7*7为H和W。在这里网络一分为二,下面的分支直接进行global pooling提取全局特征图,得到N*2048*1特征图,并进一步计算各张图像之间的特征距离最后出来的便是N*N的global distance,如上所示,这张global distance每个点表征的是N张图中第i(特征图横坐标)图和第j(特征图纵坐标)图之间的特征距离。那上面的分支有什么用呢?上首先进行1*1的卷积进行降维,将2048的channel降成128,接着对特征图进行H方向上的压缩提取,即原来的H*W压成H(此处为7)所以最后特征由N*2048*7*7变成N*128*7。

                         

全局特征的距离采用L2,而局部特征距离则采用一种对特征自顶向下动态最短路径匹配的机制,如上图所示 ,其中将样本分为7个横条即对应网络上分支中local feature的H=7,假设两张图的特征分别为F = {f1,··· ,fH} 和G = {g1,··· ,gH}(H=7),首先定义两个局部条块特征的距离为:

 这个公式的特点是能够把两个特征的距离限制在[0,1)之间。其次计算上图中的7*7的距离图,图中每个点即公式中的dij,最后,计算距离图中从(1,1)到(7,7)的最短距离,计算公式如下,这个最短距离就是网络中两张特征图的local feature distance,N张图对应的local feature distance便是最后的N*N图。文章指出,这最短距离S能够自动寻对齐相同部件是基于相同人体部位其特征距离应该是最短这一思想,并且由于S路径的连贯性,这其中也会包含一些必走的特征距离很大的路线,但是这些路线的dij在反向传播是由于得到的导数接近0,因此对网络几乎不产生影响,对网络更新有贡献的是那些自动对齐的人体部件,因为它们的特征距离较小。因此网络最后会慢慢的优化出特征距离较小的那些人体部件,即自动对齐这些部件。

                              

最后,贴一下该算法在数据集上的表现。

                                                 

猜你喜欢

转载自blog.csdn.net/weixin_33860450/article/details/85010207
今日推荐