基于局部特征融合的行人重识别方法

2021-03-01 08:45涂园园姚绍华
智能计算机与应用 2021年12期
关键词:特征提取行人局部

涂园园,贺 松,姚绍华

(贵州大学 大数据与信息工程学院,贵阳 550025)

0 引 言

随着互联网技术的不断进步,行人重识别在视频监控、智能商业、智能安防等领域具有广泛的应用价值和研究意义。行人重识别是指在已知来源与无重叠摄像机拍摄到的图片或视频的资料库中识别出已知行人的技术,即一个摄像头(a)拍摄到某行人的图像或视频,利用计算机视觉技术在摄像头(b)拍摄的图像或视频中准确找到该行人。在实际监控环境中,由于光照、摄像头视角、行人姿态、遮挡及背景杂乱等复杂干扰,出现不同身份的行人图片很相似,而同一身份的行人图片却差异大的问题,如何对行人图片提取鲁棒性更强的特征是当前行人重识别研究亟需解决的问题。

行人重识别技术流程主要有两个步骤:第一步,利用特征表达方法从目标图像中提取鲁棒的行人图像特征;第二步,根据提取到的图像特征对行人图像进行相似度度量,行人图像对经过该距离度量函数能够准确反映出无重叠视域摄像头下的行人身份差异[1]。行人重识别研究主要方法有基于传统方法和基于深度学习方法,传统的行人重识别方法是从基于特征设计和基于距离度量学习两方面研究。基于特征设计的方法是通过设计鲁棒的、隐含的特征行人外观模型,提取图像任务当中的底层特征,比如颜色、纹理、光建点等特征,来减少光照条件、视角变化、姿态不同、遮挡等因素对图像对的影响,而且对身份异同具有识别能力。2006 年,Gheissari 等人首次提出利用H-S 直方图和边缘直方图提取行人特征[2];2008 年,Douglas Gray 等人针对摄像头视角不同,提出在不同的摄像头中运用特征学习的方式来挑选一组最优的特征,进而提高行人图像特征的整体鲁棒性[3];2015 年,Liao 等人针对视觉变化问题,提出一种局部最大发生率(Local Maximal Occurrence,LOMO)的特征表达算法,首先在水平条带上提取HSV 颜色直方图特征和SILTP(Scale Invariant Local Ternary Pattern)纹理直方图特征;其次,将水平条带上各个特征维度的最大出现频率特征作为该条带特征;最后,级联条带特征作为行人图像特征表达,取得了较好的识别效果[4]。而基于度量学习的方法是通过学习找到一个距离度量标准,用来计算图像对之间的距离或者相似度,使计算结果能够更准确地反映行人身份异同,研究方向侧重以欧式距离、马氏距离为核心思想提出的各种度量方法。但是传统的识别方法识别性能不佳,在海量、行人类别多的大数据集中无法使用。基于深度学习的方法与传统的行人重识别不同,其把特征提取和度量学习两个模块联合在一个网络中训练。2013年,LeNet-5 的发明者Lecun 基于AlexNet 提出了OverFeat,提出了学习边框的概念,引起了界内学者的研究热潮[5];2014 年,Yi 等人基于Siamese 网络模型,把行人分割成3 个重叠的局部块,每个局部块用两个卷积层和一个全连接层获得特征向量,再计算余弦相似度[6];2015 年,郑良等人提出第一个行人重识别的大数据集Market1501 后,深度学习的性能逐年大幅度提高[7]。

由于学习全局特征模型不够全面表征行人,对于衣着、外观等全局特征相似的目标,局部细节信息往往是区分不同行人的关键。本文提出一种多支路的全局和局部特征学习模型,ResNeXt50 作为基础的骨干网络,采用两个分支发掘高质量的局部特征,第一个支路采取传统的水平分割得到局部特征,每个局部特征以加权求和的方式进行融和;第二个支路采用批特征擦除(Batch Feature Model)模型。度量距离时使用联合交叉熵损失函数和三元组损失函数,增加网络性能。本文所提网络模型在Market1501 数据集上进行了实验,结果表明所提取的特征具有良好的表征能力和泛化能力。

1 基于局部特征融合的行人重识别网络模型

本文提出的网络模型结构如图1 所示,主要有ResNet-50 基本主干网络、全局特征提取分支模块、局部特征提取模块和批特性擦除模块组成,将3 个模块的特征进行融合,最后采用交叉熵损失函数与三元组联合训练。ResNet-50 由6 个小模块组成,Conv1模块为卷积层,Conv2-Conv5 为残差模块,每个残差块包含多个卷积层、BN 层和激活函数[8]。本文对ResNet-50 网络进行修改:把Conv4模块引出分成局部特征提取模块(z1)和批特性擦除模块(z3),之前的网络结构和参数保持不变,把Conv5层输出的特征经过全局平均池、降维得到全局特征f2,该分支(z2)用于监督局部特征提取模块和特性擦除模块学习。经过3 个分支融合得到最终的行人特征,运用交叉熵损失函数与三元组联合训练。

图1 网络模型图Fig.1 Network model diagram

1.1 局部特征提取模块

如图1 所示,由于Conv4 所提取到的特征语义较高,对其水平分割得到3 个局部特征提取支流,经过全局平均池化得到3 个局部特征描述子(fP1、fP2、fP3),由于图片存在不对齐现象,因此通过局部特征融合更能表达支流重要性,通过对3 个支流经过3×1 卷积核、实例正侧化IN(Instance Normalization)和激活函数,得到局部特征权重向量,对3 个局部特征加权求和,得到融合后的特征f1。

1.2 批特性擦除模块

批特征擦除网络(Batch Feature Erasing,BFE)是由阿里智能实验室Zuozhuo Dai 等人在2018 年的CVPR 会议中提出。批特征擦除网络对同一批次行人图像的相同区域进行随机擦除,从而迫使网络对剩余的细粒度特征学习,学习到更具有判别力的局部特征。BEF 网络结构有两个特征提取分支,Global Branch 和Feature Erasing Branch[9]。Global Branch 提供了全局特征表示,同时对Feature Erasing Branch 的训练进行监督,本文同样增加一条全局特征提取支流,对特征擦除分支和局部特征提取分支进行监督。根据设置擦除的矩形高度比he和宽度比we,计算擦除矩形区域的高HBFE和宽WBFE,式(1)所示:

其中,H和W分别表示特征图的高和宽。

擦除后学习到具有判别力的局部特征。最后,通过平均池化得到特征f3。

1.3 损失函数

本文的网络模型采用交叉熵损失函数(Cross Entropy Loss)与三元组损失函数(Triplet Loss)联合训练。交叉熵损失函数表示真实概率与预测概率分布之间的差异,交叉熵的值越小,说明模型预测效果越好,常用于分类问题。模型训练过程中采用交叉熵损失函数,不同的行人身份作为不同的类别标签[10]。对于一个含有M个样本训练的数据集D={(x1,y2),…,(xi,yi),…,(xM,yM)}来说,xi表示样本集中第i个样本,yi表示该样本的标签,如式(2)所示:

其中,pi表示第i个样本被分类为第j类标签的概率。

三元组损失函数可以发掘样本之间的相对相似度,从而使正样本对之间的距离减小,负样本对之间的距离增大。输入三幅图片到网络中,正样本、负样本和锚样本,其中正样本与锚样本为同一身份组成正样本对,负样本与锚样本为不同身份组成负样本对。网络经过训练后使得同一身份的行人图片在特征空间的距离比不同身份的行人图片小[11],如公式(3)所示:

其中,d(a,p)为锚样本和正样本之间的距离;d(a,n)为锚样本与负样本之间的距离;m为设定的阈值。

因此,本文采用联合损失函数训练,对网络进行更好的优化,保证模型学习到具有判别力的特征,如式(4)所示:

2 实验与分析

2.1 实验环境与参数设置

本实验环境为64 位windows10 操作系统,2080Ti 显卡,内存64GB,基于python3.8 的深度学习框架pytorch1.6 编程。初始化行人图片大小为258×128,利用ImageNet 预训练得到初始权重,批量大小为32 张,60 次迭代,使用ADAM 优化器更新梯度参数,初始学习率为3.5×10-4。

2.2 数据集与评价指标

Marketl501 数据集是用6 个不同的摄像头拍摄1 501个行人的32 668张图像,其中训练集有751 个行人身份,共12 936张图片,测试集有750 个行人身份,共19 732张图片。实验中采用行人重识别中的首位匹配率Rank-1 和平均准确率(mean Average Precision,mAP)作为评价指标。

2.3 实验分析

2.3.1 网络结构的消融

本文在Market-1501 数据集上,设置损失函数为交叉熵损失函数和三元组损失函数,不同网络结构组合下的性能结果,见表1。首先,对每个网络结构进行实验;其次,两个结构融合;最后,进行3 个网络结构的实验。通过实验可知,单个模块相比与融合模块精确程度低了6 个点左右,说明不同的模块放在同一个网络,相比与原来的模块性能得到提升,反映了不同模块融合具有互补的作用。在单模块实验中,批特性擦除模块识别效果最好,在2 分支网络实验中批特征擦除模块与局部模块组合的网络结构最好,可能是批特性擦除有助于网络学习注意力和弱特征区域的原因。最后3 个模块同时实验,在Market-1501数据集上mAP达到了84.12%,Rank-1 达到了95.16%,表明3 个模块在网络上相互监督学习,提升网络性能。

表1 不同模块在Market-1501 数据集上的性能比较Tab.1 Performance comparison of different modules on Market-1501 dataset

2.3.2 损失函数的消融

本文在Market-1501 数据集上,设置在3 个分支融合的网络结构下,使用不同的网络损失函数得到网络性能结果,见表2。使用损失函数为交叉熵损失函数和三元组损失函数联合训练网络比单独使用三元组损失函数在Market-1501 数据集上的mAP和Rank-1 分别高出了2.68%和1.29%,可见本文使用联合损失函数一定程度上提高了模型的性能。

表2 不同损失函数在Market-1501 数据集上的性能比较Tab.2 Performance comparison of different loss functions on market-1501 dataset

2.3.3 与其他方法比较

本文模型在Market-1501 上与5 个主流模型的性能比较,见表3。本文模型在Market-1501 上mAP和Rank-1 分别达84.12%和95.06%,相比Tri-Net,mAP和Rank-1 分 别 提 升 了14.98%和10.14%,与BEF 相比,本文在Rank-1 上高出了0.66%,与目前DG-Net 优质模型相比,Rank-1 提高了0.26%。

表3 Market-1501 数据集上各方法比较Tab.3 Comparison of methods on market-1501 dataset

2.3.4 可视化分析

本文模型在Market-1501 上行人图像检索结果如图2 所示,每张query 有10 张按准确率递减排序的查询结果,绿色数字为正确结果,红色数字为错误查询结果。可以看出与query 具有状态一致性的图像匹配更准确;与query 角度不同的图像通过局部特征提取也能查询出来;对背景复杂,图像噪声大的图像匹配效果基本准确,验证本文所提模型具有较好的效果。

图2 图像检索结果Fig.2 Image retrieval results

3 结束语

本文采用ResNet50 作为基础模型,通过3 个分支,即融合局部特征提取分支、全局特征提取分支和批特征擦除分支进行局部特征融合。提取具有鉴别性的行人特征,并加入交叉熵损失函数和三元组损失函数联合训练模型。通过在Market-1501 实验,表明局部提取具有有效性,得到细粒度特征,有利于提升网络对行人判别能力,提高精确度。

猜你喜欢
特征提取行人局部
同步定位与建图特征提取和匹配算法研究
日常的神性:局部(随笔)
毒舌出没,行人避让
凡·高《夜晚露天咖啡座》局部[荷兰]
路不为寻找者而设
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
我是行人
基于曲率局部二值模式的深度图像手势特征提取
丁学军作品
局部求解也生动