雷锋网AI技术评论注:本文作者罗浩,浙江大学博士生。本文系罗浩为雷锋网AI技术评论独家撰稿,未经许可不得转载。
3.基于局部特征的ReID方法。在早期的ReID研究中,大家主要关注的是全局特征,即利用整张图像来获取特征向量来进行图像检索。但后来大家逐渐发现全局特征遇到了瓶颈,于是开始逐渐研究局部特征。提取局部特征常用的思路包括图像切片、骨骼关键点定位、姿态校正等。
(1)图像切片是一种非常常见的提取局部特征的方法[12]。如下图所示,图片被垂直分成了几个部分。由于垂直切割更符合我们对人体识别的直观体验,因此水平切割很少用于行人重识别领域。
之后,几个分割的图像块按顺序发送到长短期记忆网络(LSTM),最终的特征结合了所有图像块的局部特征。但这个缺点是对图像对齐的要求比较高。如果两幅图像上下没有对齐,那么头部和上半身之间很可能会出现反差,从而导致模型做出错误的判断。
(2)为了解决图像未对齐时手动图像切片失败的问题,一些论文利用一些先验知识先对齐行人。这些先验知识主要是预先训练的人体姿势(Pose)和骨骼关键点(Skeleton)。 ) 模型。论文[13]首先使用姿态估计模型来估计行人的关键点,然后使用仿射变换来对齐相同的关键点。如下图所示,一个行人通常被分为14个关键点。这14个关键点将人体结果分为几个区域。为了提取不同尺度下的局部特征,作者设置了三种不同的PoseBox组合。之后,将三张PoseBox校正后的图片和原始校正后的图片发送到网络中提取特征。该特征包含全局信息和局部信息。特别提出,如果这种仿射变换可以在进入网络之前的预处理中进行,那么也可以在输入到网络之后进行。如果是后者,则需要对仿射变换进行改进,因为传统的径向变换是不可微的。为了使网络可训练,需要引入可微的近似辐射变化,本文不再详细介绍相关知识。
(3)CVPR2017工作Spindle Net[14]也使用14个人体关键点来提取局部特征。与论文[12]不同的是,Spindle Net没有使用仿射变换来对齐局部图像区域,而是直接使用这些关键点来提取感兴趣区域(ROI)。 Spindle Net网络如下图所示。首先,通过骨骼关键点提取网络提取14个人体关键点,然后利用这些关键点提取7个人体结构ROI。网络中用于特征提取的所有CNN(以橙色表示)参数都是共享的。该CNN 分为三个线性子网络FEN-C1、FEN-C2 和FEN-C3。对于输入的行人图片,有一个预训练的骨骼关键点提取CNN(以蓝色表示)获得14个人体关键点,从而获得7个ROI区域,包括三个大区域(头部、上半身、下半身)和四肢的四个小区域。这7个ROI区域和原始图像进入同一个CNN网络来提取特征。原始图像经过完整的CNN以获得全局特征。三个大区域经过FEN-C2和FEN-C3子网络以获得三个局部特征。四个肢体区域通过FEN-C3子网络获得四个局部特征。然后,如图所示,将这8个特征在不同尺度上进行连接,最终得到融合多个尺度下的全局特征和局部特征的行人重识别特征。
(4)论文[15]提出了一种全局-局部对齐特征描述符(GLAD)来解决行人姿势变化的问题。与Spindle Net类似,GLAD利用提取的人体关键点将图像分为三个部分:头部、上半身和下半身。然后将整幅图像和三幅局部图像输入到参数共享的CNN网络中,最终提取的特征结合了全局特征和局部特征。为了适应不同分辨率大小的图像输入,网络使用全局平均池化(GAP)来提取各自的特征。与Spindle Net 的细微差别在于,四张输入图像各自计算相应的损失,而不是将它们合并为一个特征来计算总损失。
(5)上述所有局部特征对齐方法都需要额外的骨架关键点或姿态估计模型。训练一个实用的模型需要收集足够的训练数据,这是非常昂贵的。为了解决上述问题,AlignedReID[16]提出了一种基于SP距离的自动对齐模型,无需额外信息即可自动对齐局部特征。采用的方法是动态对齐算法,也称为最短路径距离。这个最短距离就是自动计算的本地距离。
该局部距离可以与任何全局距离方法结合。论文[15]选择TriHard loss作为基线实验。整个网络最终的结构如下图所示。具体细节请参见原文。
4.基于视频序列的ReID方法目前,单帧ReID研究仍然是主流,因为数据集相对较小,即使在单GPU PC上进行实验也不会花费太长时间。然而,通常单帧图像的信息是有限的,因此很多工作集中在使用视频序列进行行人重新识别方法[17-24]。基于视频序列的方法之间的主要区别在于,这些方法不仅考虑图像的内容信息,还考虑帧之间的运动信息。
基于单帧图像的方法主要思想是利用CNN提取图像的空间特征,而基于视频序列的方法主要思想是利用CNN提取空间特征并利用循环神经网络网络(RNN)来提取时间特征。上图就是一个非常典型的想法。网络输入是图像序列。每幅图像通过共享的CNN来提取图像空间内容特征,然后将这些特征向量输入到RNN网络以提取最终的特征。最终的特征结合了单帧图像的内容特征和帧间的运动特征。该特征用于替代之前单帧方法的图像特征来训练网络。
视频序列类的代表性方法之一是累积运动上下文网络(AMOC)[23]。 AMOC输入包括原始图像序列和提取的光流序列。通常需要使用传统的光流提取算法来提取光流信息,但这些算法计算耗时且与深度学习网络不兼容。为了获得一个自动提取光流的网络,作者首先训练了一个运动信息网络(Motion network,Moti Nets)。该运动网络的输入是原始图像序列,标签是传统方法提取的光流序列。如下图所示,第一行显示原始图像序列,第二行显示提取的光流序列。该网络具有三个光流预测输出,即Pred1、Pred2和Pred3。这三个输出可以预测三个不同尺度的光流图。最后,网络融合三个尺度的光流预测输出,得到最终的光流图,预测的光流序列显示在第三行。通过最小化预测光流图和提取光流图之间的误差,网络可以提取更准确的运动特征。
AMOC的核心思想是,网络除了提取序列图像的特征外,还必须提取运动光流的运动特征。网络结构图如下图所示。 AMOC有两个子网络:空间网络(Spat Nets)和运动信息网络。图像序列的每一帧被输入到Spat Nets 以提取图像的全局内容特征。相邻的两个帧将被发送到Moti Nets 以提取光流图特征。然后将空间特征和光流特征融合并输入到RNN 中以提取时间特征。通过AMOC网络,可以提取每个图像序列结合内容信息和运动信息的特征。该网络使用分类损失和对比损失来训练模型。结合运动信息的序列图像特征可以提高行人重新识别的准确性。
论文[24]从另一个角度展示了多帧序列对于弥补单帧信息不足的作用。目前,大多数基于视频的ReID方法仍然无论情况如何都将序列信息交给网络,让网络自己学习有用的信息。信息,没有直观的解释为什么多帧信息有用。论文[24]明确指出,当单帧图像遇到遮挡等情况时,可以利用多帧的其他信息来弥补,直接诱导网络对图像进行质量判断,降低重要性质量较差的框架。花费。
如上图所示,文章认为当遮挡严重时,使用通用池化会导致注意力图恶化,遮挡区域的很多特征会丢失。通过使用论文的方法对每一帧进行质量判断,可以关注那些相对完整的帧,使注意力图更加完整。关键的实现是使用姿态估计网络。这篇论文被称为地标检测器。当地标不完整时,证明存在遮挡,图像质量会恶化。之后,将位姿特征图和全局特征图同时输入到网络中,让网络对每一帧进行权重判断,为高质量的帧分配较高的权重,然后进行线性叠加在特征图上。这个想法相对简单,但仍然很有说服力。
5、基于GAN映射的ReID方法
ReID一个非常大的问题就是数据获取困难。截至CVPR18 截止日期,最大的ReID 数据集只有几千个ID 和几万张图片(假设序列只算一张)。因此,在ICCV17 GAN建图和ReID挖了第一个坑之后,大量的GAN工作涌现,特别是CVPR18截止日期后,arxiv上出现了几篇好论文。
论文[25]是第一篇使用GAN进行ReID的文章,发表在ICCV17会议上。论文虽然比较简单,但是作为挖坑鼻祖却带来了一系列好作品。如下图,本文生成的图像质量并不是很高,甚至可以用惨不忍睹来形容。另一个问题是,由于图像是随机生成的,因此没有标签可以使用。为了解决这个问题,论文提出了一种标签平滑方法。实际操作也很简单,就是标签向量每个元素的值都一样,这样和就是1。反正你也分不清是属于哪个人的,就一碗水。生成的图像作为训练数据添加到训练中。由于当时的基线没有现在那么高,所以效果还是比较明显的。至少有了更多的数据,过度拟合就可以避免很多。
论文[26]是前一篇论文的增强版本,来自同一研究小组。上一篇文章中的GAN图还是随机的,但在这篇文章中它变成了可控生成图。 ReID 的一个问题是不同的摄像头存在偏差。这种偏差可能来自光线和角度等多种因素。为了克服这个问题,论文使用GAN 将图片从一台相机传输到另一台相机。 GAN还是一个比较正常的应用。与之前的工作不同,本文生成的图是可以控制的,这意味着ID是明确的。因此,标签平滑也得到了改进,公式如下:
在
是ID 的数量。
是手动设置的平滑参数,当
它是一个普通的one-hot向量。不过,由于是创建的图片,所以希望标签不要那么硬,所以我加了一个平滑参数。实验表明这种方法效果很好。最终整体网络框架如下:
除了相机偏差之外,ReID 的另一个问题是数据集中存在偏差。这种偏差很大一部分是环境造成的。为了克服这种偏差,论文[27]使用GAN将行人从一个数据集迁移到另一个数据集。为了实现这种迁移,对GAN损失进行了稍微设计。一个是前景的绝对误差损失,另一个是正常的鉴别器损失。判别器损失用于确定生成的图像属于哪个域,前景损失是为了保证行人前景尽可能真实且不变。这个前景mask是使用PSPnet得到的,效果如下图。论文的另一个贡献是提出了一个MSMT17数据集,这是一个相当大的数据集,希望能够尽快公开。
ReID的困难之一是姿势的差异。为了克服这个问题,论文[28]使用GAN创建了一系列标准姿势图片。论文一共提取了8个pose,基本覆盖了所有角度。每张图片都会生成这样标准的8个姿势,这样姿势不同的问题就解决了。最后对这些图像的特征进行平均池化,得到最终的特征。该特征整合了每个姿态的信息,很好地解决了姿态偏差问题。这项工作无论是在生成的图表还是实验结果方面都非常好。这项工作将单查询变成了多查询,但你无法反驳它,因为所有图都是由GAN 生成的。除了生成这些图所需的额外时间开销之外,没有使用任何额外的数据信息。当然,这项工作还需要一个预先训练的姿势估计网络来进行姿势提取。
总的来说,GAN映射是为了从某种角度解决ReID的困难而设计的。 GAN 可以弥补任何不足。不得不说GAN真是一个强大的东西。
后记:以上是基于深度学习的行人重识别研究综述。选取了一些有代表性的论文,希望能够帮助刚进入该领域的人快速了解近年来的工作。当然,还有很多优秀的作品没有收录。 ICCV17 上有十几篇ReID 文章。这几年总共应该有几百篇文章了。