基于深度学习的行人重识别研究综述

https://mp.weixin.qq.com/s?__biz=MzI5NTIxNTg0OA==&mid=2247488888&idx=3&sn=408fc75228d24503b4ebbd5535d53478&chksm=ec57a2ffdb202be99a2cac4cd4a1336a2516f963d3b4d61999a508dc0c42cc523ad048cd7916&mpshare=1&scene=1&srcid=1220YhdmvFYgMG4yFH58F2A4#rd
基于表征学习的ReID方法[1-4]
1.把行人重识别问题看做分类(Classification/Identification)问题或者验证(Verification)问题:
这个方案是通过设计分类损失与对比损失,来实现对网络的监督学习。
(1)分类问题是指利用行人的ID或者属性等作为训练标签来训练模型;
(2)验证问题是指输入一对(两张)行人图片,让网络来学习这两张图片是否属于同一个行人。
2.用Classification/Identification loss和verification loss来训练网络,网络输入为若干对行人图片,包括分类子网络(Classification Subnet)和验证子网络(Verification Subnet)。分类子网络对图片进行ID预测,根据预测的ID来计算分类误差损失。验证子网络融合两张图片的特征,判断这两张图片是否属于同一个行人,该子网络实质上等于一个二分类网络。
3.光靠行人的ID信息,模型泛化能力查,额外标注了行人图片的属性特征,例如性别、头发、衣着等属性,通过结合ID损失和属性损失能够提高网络的泛化能力。
4.优缺点:比较鲁棒,训练比较稳定,结果也比较容易复现-----在数据集的domain上过拟合,并且当训练ID增加到一定程度的时候会显得比较乏力

基于度量学习的ReID方法[5-11]
通过网络学习出两张图片相似度。在行人重识别问题上,具体为同一行人的不同图片相似度大于不同行人的不同图片。最后网络的损失函数使得相同行人图片(正样本对)的距离尽可能小,不同行人图片(负样本对)的距离尽可能大。
用的度量学习损失方法有
对比损失(Contrastive loss)[5]、正样本对之间的距离逐渐变小,负样本对之间的距离逐渐变大,从而满足行人重识别任务的需要
三元组损失(Triplet loss)[6-8]、被广泛应用的度量学习损失,之后的大量度量学习方法也是基于三元组损失演变而来。。拉近正样本对之间的距离,推开负样本对之间的距离,最后使得相同ID的行人图片在特征空间里形成聚类,达到行人重识别的目的
四元组损失(Quadruplet loss)[9]、相比于三元组损失只考虑正负样本间的相对距离,四元组添加的第二项不共享ID,所以考虑的是正负样本间的绝对距离。因此,四元组损失通常能让模型学习到更好的表征。
难样本采样三元组损失(Triplet hard loss with batch hard mining, TriHard loss)[10]、更难的样本去训练网络能够提高网络的泛化能力,
边界挖掘损失(Margin sample mining loss, MSML)[11]。
基于局部特征的ReID方法
提取局部特征的思路主要有图像切块[12]、利用骨架关键点定位以及姿态矫正等等。
1.图像切块:图片被垂直等分为若干份,按照顺序送到一个长短时记忆网络,最后的特征融合了所有图像块的局部特
(对图像对齐要求高)
2.解决对齐问题:利用先验知识(预训练的人体姿态和骨架关键点模型)对齐图像
论文[13]先用姿态估计的模型估计出行人的关键点,然后用仿射变换对齐局部图像区域
论文[14]Spindle Net用了14个人体关键点来提取局部特征,用这些关键点来抠出感兴趣区域
对于输入的一张行人图片,有一个预训练好的骨架关键点提取CNN(蓝色表示)来获得14个人体关键点,从而得到7个ROI区域,其中包括三个大区域(头、上身、下身)和四个四肢小区域。这7个ROI区域和原始图片进入同一个CNN网络提取特征。原始图片经过完整的CNN得到一个全局特征。三个大区域经过FEN-C2和FEN-C3子网络得到三个局部特征。四个四肢区域经过FEN-C3子网络得到四个局部特征。之后这8个特征按照图示的方式在不同的尺度进行联结,最终得到一个融合全局特征和多个尺度局部特征的行人重识别特征。
论文[15]提出了一种全局-局部对齐特征描述子,来解决行人姿态变化的问题。GLAD利用提取的人体关键点把图片分为头部、上身和下身三个部分。之后将整图和三个局部图片一起输入到一个参数共享CNN网络中,最后提取的特征融合了全局和局部的特征。和Spindle Net略微不同的是四个输入图片各自计算对应的损失,而不是融合为一个特征计算一个总的损失。
以上所有的局部特征对齐方法都需要一个额外的骨架关键点或者姿态估计的模型。而训练一个可以达到实用程度的模型需要收集足够多的训练数据,这个代价是非常大的。为了解决以上问题,提出AlignedReID
论文[16]AlignedReID提出基于SP距离的自动对齐模型,在不需要骨架关键点或者姿态估计的模型等额外信息的情况下来自动对齐局部特征。而采用的方法就是动态对齐算法,或者也叫最短路径距离。这个最短距离就是自动计算出的local distance。
基于深度学习的行人重识别研究综述
基于视频序列的ReID方法[17-24]
不仅考虑了图像的内容信息,还考虑了帧与帧之间的运动信息等。
主要思想是利用CNN 来提取空间特征的同时利用递归循环网络来提取时序特征。
网络输入为图像序列。每张图像都经过一个共享的CNN提取出图像空间内容特征,之后这些特征向量被输入到一个RNN网络去提取最终的特征。最终的特征融合了单帧图像的内容特征和帧与帧之间的运动特征。而这个特征用于代替前面单帧方法的图像特征来训练网络。
代表方法之一是累计运动背景网络[23] ,输入是原始的图像序列和提取的光流序列。提取光流信息,
在遮挡较严重的情况下,利用一个pose estimation的网络,
基于深度学习的行人重识别研究综述
基于GAN造图的ReID方法
1.[25]GAN造图随机
2.[26]可以控制的生成图,克服不同的摄像头存在着bias,用GAN将一个摄像头的图片transfer到另外一个摄像头,ID是明确的
3.[27]环境造成数据集存在bias,用GAN把一个数据集的行人迁移到另外一个数据集
4.[28] 为了克服姿态的不同,用GAN造出了一系列标准的姿态图片

测试方法:
1.输入一对行人,输出该对行人的相似度,按相似度排序
2.输入单个人,提取特征,计算与其他人欧式距离,按距离排序(快,常用)