王 年,刘天翔,汪曙光,唐 俊
(1.安徽大学 电子信息工程学院,安徽 合肥 230601;2.清华大学 合肥公共安全研究院,安徽 合肥 230601)
行人重识别(person re-identification,简称Re-ID)是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术,在人员追踪、走失查询等应用中具有重要意义. 由于实际视频监控场景的复杂性(如姿势、衣物、遮挡及背景杂乱等),行人重识别的效果会受到影响.近年来,行人重识别已成为研究的热点问题,主要内容可以分为以下两个方面:①图像特征的提取;②对姿势、衣物、遮挡及背景杂乱等干扰因素进行处理.目前基于深度学习的方法是解决以上问题的主要方法,该方法主要是利用卷积神经网络(convolutional neural networks,简称CNN)进行处理,具有较好的可辨性、稳健性以及较快的处理速度.通过全局特征获得一些显著信息,并以此辨别是否存在检测目标,提升检测指标的Rank-1正确率和平均精度,是近期常用的行人重识别方法. 由于在复杂的监控场景中,捕获图像特征的高复杂度通常会限制全局特征的学习,并且由于行人重识别训练数据集的大小有限、多样性较弱,因此在学习全局特征中很容易忽略一些重要或不常见的细节信息,使得全局特征对那些特征不明显或特征差异性不大的识别任务效果不理想.
为了解决上述问题,论文提出了一种基于属性标签随机擦除与多分支网络的行人重识别方法,该方法先对带有包属性标签的行人图像进行随机擦除和数据增广,然后通过基础网络和两个分支网络进行特征提取.在局部分支网络中,针对每幅特征图均分的6个水平条纹,分别提取每个条纹中细粒度信息来辅助全局特征,以便更好地识别指定行人.论文由每个均分的条纹为行人重识别提供细粒度的信息.局部分支能够集合每个条纹中特定的判别信息,同时可以消除剩余条纹信息的影响.全局分支关注显著信息,用于提供全局特征. 通过两个分支的特征级联来提升特征学习的能力.
论文使用的是端到端的方法,易于模型的训练和数据测试,通过在Market-1 501、DukeMMC-reID数据集上实验,验证了论文方法具有较高的准确性和鲁棒性.
K
阶导数编码的方式,对需要检测的待查询集图像进行重排序,进一步提升了识别效果.文献[8]通过在训练阶段采用对齐的方法,使网络性能得到提高.文献[9]也采用类似的方法将输入的特征图在垂直方向进行若干等分的划分,采用图像的局部特征图,有利于提升网络识别的性能.因此,论文使用局部分支网络提取分割特征图的更高层语义特征,以提高识别性能.在深度神经网络模型的训练阶段,分类损失函数(softmax loss)是常用的损失函数之一,它在分类任务中表现出很好的效果,与其他损失函数相结合使用可以进一步提高分类效果.度量学习也是常见的解决图像检索问题的有效方法之一,常使用对比损失和三元组损失函数(triplet loss).在最大化类间距离与最小化类内距离任务中,常使用孪生网络和对比损失函数.三元组损失函数在减小或限制同类样本之间距离的同时增大不同类别样本之间的距离.为了能够更好地解决度量学习中的性能问题,论文采用分类损失函数和困难三元组损失函数(hard triplet loss)相结合作为损失函数.
利用行人的属性标签进行模型训练的方法也是Re-ID研究方向之一.Market-1 501的属性标签如图1(a)所示,其中标注性别(男、女)、头发长度(长、短)、是否背包(是、否)、是否提手提包(是、否)等共27个属性标签.DuckMTMC-reID的属性标签如图1(b)所示,其中标注性别(男、女)、是否背包(是、否)、是否提手提包(是、否)等共23个属性标签.论文在属性标签中把提袋、背包、提包作为数据集属性标签中的包属性标签随机擦除进行数据增广.
图1 数据集上的属性标签示例(gender这一属性采用1表示男性、2表示女性)
在深度学习中,如果没有充足的数据量,则模型易出现过拟合的现象,通常需要通过数据增广来提升网络的泛化能力.数据增广一般有8种方法:旋转或反射变换、翻转变换、缩放变换、平移变换、尺度变换、对比度变换、噪声扰动和颜色变换.但由于网络模型的泛化能力有限,不能很好地识别带有遮挡物的行人图像,而行人遮挡物最常见的就是所携带的包,为了提升网络的鲁棒性,可以对带有包属性标签的行人图像进行随机擦除.
随机擦除是一种新颖的数据增广(数据预处理)方法.论文采用包属性随机擦除的数据增广方法,即随机擦除那些有包属性标签的行人图像,若行人图像有包属性标签则对其进行随机擦除,否则不进行擦除,降低包对行人重识别的影响.在随机擦除的过程中,为了避免擦除掉行人头部等重要信息,只对中间部位进行随机擦除,产生不同大小、位置的擦除区域,提升网络提取特征的表达能力,这样不仅降低过拟合的风险而且提升模型的鲁棒性.具体过程如下:
(1) 随机选择一个特定的矩形区域I
,然后通过把原有的像素值置为0的方式进行像素擦除.其中图像的面积为S
=WH
,(1)
其中:W
为行人图像的宽,H
为行人图像的高.随机擦除矩形框的高和宽为
(2)
(3)
其中:S
,R
,H
,W
分别为擦除的矩形框面积、高宽比、高、宽.(2) 在图像中随机选择一个点P
(x
,y
),其中所选的点必须满足以下条件x
+W
≤W
,(4)
y
+H
≤H
.(5)
(3) 选择合适的点构成可擦除矩形框.该实验选定(x
,y
,x
+W
,y
+H
)作为矩形区域,将其中带有包属性标签的行人图像的像素值置为0.最后,将图片输出,图片经过预处理后的结果如图2所示.图2 图像经过预处理后的效果对比图
论文选择ResNet-50作为基础网络,该网络具有架构简单、性能较好的优点.利用一个全局分支和一个局部分支对基础网络进行改进,如图3所示.
首先大小为384×128的图像通过ResNet-50的前4个阶段进行特征学习,为了保持最后特征图的尺寸,去除前4个阶段的下采样,第4个阶段输出特征图的维度是2 048×24×8,接下来分成两个分支.
在局部分支中,将特征图平均分成P
个水平条纹(P
=6),然后在各条纹上应用全局均值池化,得到P
个2 048×1维度的特征向量,再使用1×1卷积核降维,获得256×1维的特征向量.最后,对每个条纹对应的特征向量,分别采用N
类别(训练集ID数目)的分类损失函数训练得到P
个N
-ID的分类器,每个分类器都使用全连接层和顺序交叉熵层实现.在训练期间,由分类损失函数监督每个分类器预测输入图像的身份.在全局分支中,首先采用全局平均池化将特征图池化为2 048×1维的特征,然后采用1×1卷积核降维到512×1,最后采用分类损失函数进行ID分类及困难三元组损失函数的监督.
图3 网络结构示意图
在图像识别任务中,通常将其视为一个多类别的分类问题,而在多分类任务中最常见的就是分类损失函数.分类损失函数表示为
(6)
其中:L
为损失函数;N
为类别数;S
为Softmax的输出向量S
的第i
个值,表示样本属于第i
个类别的概率;y
(1≤i
≤n
)为标签,真实标签对应的位置y
的值为1,其余都是0.结果为L
=-logS
.(7)
在行人重识别模型训练过程中将每个行人ID视为一类,训练特征提取网络,为每幅图像预测一个所属类别.与传统的分类损失函数不同,为了得到更好的模型,采用文献[19]中改良后的分类损失函数.改良后的分类损失函数表示为
(8)
其中:α
为第ID个学习特征,N
和C
分别为训练过程中的批次大小和类别数量.三元组损失函数虽然经常被用于行人重识别的任务中,但是其存在很大的缺陷,如重复学习大量冗余信息,模型并没有学习到太多有用的信息,而且随着数据集的增大,模型训练的时间也会大幅度增加.
(9)
三元组损失函数任务的关键部分就是困难三元组的学习,通过学习两个长得特别像的人(困难负样本)细粒度信息,或者学习同一个人(困难正样本)在不同环境下不同姿势的特征信息,这样在训练模型的过程中能更加有效.论文使用困难三元组损失函数,这是一个三元组损失函数的改进版本,具体损失函数如下
(10)
图4 困难三元组示意图
论文在训练模型的过程中使用了深度学习中最常用的两个损失函数用作训练阶段的损失函数,即用于分类的分类损失函数和困难三元组损失函数.论文在不同分支上的损失函数不是完全相同的.首先在局部分支中,只使用分类损失函数,通过实验发现,直接使用三元组损失函数达不到理想的效果,原因是论文将图像均匀分成6个水平条纹,最理想的情况是不同图像之间相同的位置代表相同的身体部位,但是对于实际的图像而言,计算不同背景之间的距离并没有任何意义,使用这样的三元组进行训练模型可能会使整个模型崩溃.因此,论文在全局分支中使用的是分类损失函数和困难三元组损失函数的结合.
论文实验选用的数据集是Market-1 501和DukeMMC- reID.Market-1 501数据集分别从6个不同摄像头拍摄到1 501个不同行人的图像,然后用DPM(deformable parts models)算法检测行人的边界框并进行自动裁剪.由于检测过程中存在误差,这样使数据集更加接近实际应用情况.将整个数据集分为训练集和测试集,其中训练集包含751人的12 936张图像,测试集由750人的3 368张查询图像和19 732张候选图像组成.DukeMMC-reID数据集由8个相机拍摄的1 812行人的36 411张图像组成,通过手绘边界框将行人从中裁剪出来,其中训练集由702人的16 522张图像组成,测试集由702人的2 228张查询图像和17 661张候选图像组成.训练图像和测试图像中人物身份不重叠.在评估中,有两种查询模式:单查询模式和多查询模式,具体的选择取决于同一身份的图像数量,论文所使用的是单查询模式.选择首位命中率(Rank-1 accuracy)和平均精度均值(mean average precision,简称mAP)来作为衡量Re-ID的指标.
图5为查询图像排名前10的次序示意图.由图5可见,对于每张查询图像,论文将所有候选图像按其到查询图像的欧式距离进行升序排列,带有绿色边框的图像属于正确标识,带有红色边框的图像则属于错误标识.
图5 查询图像排名前10的次序示意图
P
个ID的人,每个人随机抽取K
张图像.设置P
=16和K
=4来训练模型,在所有实验中间距为1.2.论文选择动量为0.9的随机梯度下降优化算法的优化器,l
正则化的权重衰减因子设置为0.001.对于学习率策略,将初始学习率设置为0.01,并在训练40和60个周期后将学习率衰减到0.001和0.000 1,整个训练过程持续80个周期.在评估过程中,论文提取了与原始图像和水平翻转版本相对应的特征,然后将这些特征的平均值作为最终特征.论文的模型在PyTorch框架上实现.A
为基准网络(ResNet-50),B
为在基准网络的基础上添加全局分支和局部分支的改良网络,C
为在改良网络的基础上添加图像包属性随机擦除.表1 消融研究实验结果
从表1中看出:在Market-1 501数据集上,改良网络的方法(在基准网络的基础上添加全局分支和局部分支),比基准网络的方法在Rank-1上提升了4.2%,mAP提升了6.5%;对改良网络进行包属性随机擦除和没有进行包属性随机擦除相比,在Rank-1上提升了1.4%,mAP提升了4.7%;对于DukeMTMC-reID数据集,改良网络的方法比基准网络的方法在Rank-1上提升5.5%,mAP提升了9.1%;对改良网络进行包属性随机擦除和没有进行包属性随机擦除相比,在Rank-1上提升了0.5%,mAP提升了1.8%.总之,通过实验证明了论文方法的有效性.
表2为Market-1 501数据集不同方法试验结果比较,表3为DukeMMC-reID数据集不同方法试验结果比较.
表2 Market-1 501数据集不同方法试验结果比较
表3 DukeMMC-reID数据集不同方法试验结果比较
由表2,3可见论文的方法能够得到更好的实验结果.在Market-1 501数据集上,Rank-1值比经典的非深度学习方法KISSME高48.8%,比深度学习方法Triplet Loss高8.3%,相比同样通过属性标签和自身ID来提高行人的重识别能力的APR与DPN方法来说,rank-1分别提高了8.9%和6.3%.在DukeMTMC-reID数据集上,相比同样利用了属性标签的APR与DPN方法,Rank-1提升了12%左右.综上所述,利用属性标签进行随机擦除对数据集进行数据增广,然后通过全局分支和局部分支的级联能更好地提升网络特征表达能力,提高网络性能.
论文从去除物体遮挡和提升网络特征提取能力的两个方向出发,提出了一种基于属性标签随机擦除与多分支网络的行人重识别的方法.一方面属性标签随机擦除利用包属性标签随机擦除图像限定区域;另一方面同时学习图像的局部特征和全局特征,该网络不仅能有效地提取判别性强的全局特征,还能在特征学习过程中进一步关注局部特征.并且该网络是个端到端的学习过程,没有增加额外的训练流程,且不引入任何局部定位操作.在Market-1 501和DukeMMC-reID数据集上实验表明该方法可得到理想的实验结果.