Norm-DP模型行人检测优化算法

2021-03-11 06:21柴恩惠马占飞
计算机与生活 2021年3期
关键词:金字塔行人样本

柴恩惠,马占飞+,智 敏

1.内蒙古科技大学包头师范学院 信息科学与技术学院,内蒙古 包头014030

2.内蒙古师范大学 计算机科学学院,呼和浩特010022

随着计算机视觉和深度学习技术[1-2]的发展,行人检测成为解决复杂和高级视觉问题的重要步骤,而在众多检测算法中,可变形部件模型(deformable part model,DPM)算法[3]和卷积神经网络模型(convolutional neural network,CNN)[4-5]算法的融合成为一大热点。DPM 相当于一个可变形的“弹簧”模型,属于基于结构的算法,特征提取部分使用的梯度方向直方图(histograms of oriented gradient,HOG)特征[6]主要针对浅层特征进行提取。CNN属于一种“黑盒子”模型,更适合对深层特征进行提取,因此这两大模型可分别作为两种空间特征融合进行特征提取,也可以在算法结构方面进行融合。例如:Ouyang 等提出将DPM算法中的四个步骤分别对应到CNN算法中,得到一个深度DPM 结构[7],该结构比传统DPM 结构在漏检率方面降低了9 个百分点,但没有达到CNN的检测精度;2017 年高琦煜等提出了一种融合CNN特征和HOG+SVM的行人检测算法[8],分别使用CNN和HOG 对浅层特征进行了多角度提取,比单独使用DPM算法或者单独使用CNN算法的检测精度高;文献[9]将CNN模型去除池化层,再使用几何约束对对象部件的变形进行建模,提出了一种新的训练策略,该策略用于通用目标的检测,没有针对行人目标检测进行性能的具体分析;Mordan等[10]提出了DP-FCN(deformable part-based fully convolutional network)模型,该模型由全卷积层、基于部件的可变形池化层和变形感知的定位模块组成,在PASCAL VOC 数据集进行目标检测的精度验证,没有针对行人目标检测进行性能的具体分析。Girshick等[11]提出了一种将DPM中的HOG金字塔特征替换成深度金字塔(deformable part model with convolutional neural network,DP-CNN)模型,但DPM算法中的HOG特征金字塔并不能完全匹配CNN 模型,主要原因是CNN 模型中max5 层的深度特征是163×163像素的区域,而HOG特征是8×8像素的区域。并且DP-CNN 模型算法的深度特征无法作为训练的正样本,因此需要像传统算法一样依靠数据集收集正样本,从而整个算法中需要样本提取的步骤。

综上所述,DP-CNN 算法虽然取得了重大突破,但是由于DPM模型与CNN模型不完全融合,在行人数量较多、行人姿势复杂和有严重遮挡情况时,该算法的精度会受到影响,存在误检和漏检问题,而且正负样本的训练也需要额外的时间。因此,本文提出了一种基于Norm-DP 模型的行人检测优化算法:首先,在DP-CNN 模型基础上加入规范化函数,提出了一种使用规范化函数融合DPM和CNN模型的算法,称之为规范化特征金字塔模型(normalization deep pyramid,Norm-DP),该模型解决了原有模型中HOG特征金字塔与CNN 模型不能完全匹配的问题。其次,本文算法在样本和模型训练阶段,可直接通过规范化深度金字塔特征提取训练所需的正负样本,省略了传统算法中从数据集收集样本的时间。并且只将特征金字塔与DPM 中的根部件滤波器卷积,减少卷积计算量。之后通过增加了潜在值信息的隐变量支持向量机(latent support vector machine,LSVM)[12]进行模型的训练。最后,本文算法还结合了改进的柔性非最大抑制算法(soft-non-maximum suppression,Soft-NMS)[13]和边界框回归算法(bounding box regression,BBR)[14]相结合的算法,用于行人定位框的优化,实现了高拟合效果。实验在INRIA和MS COCO数据集上对比了DPM、CNN、DP-CNN和带区域卷积神经网络模型(regions with convolutional neural network features,RCNN)[15]算法的检测结果,得出本文算法在行人数量多、姿势复杂和有遮挡情况中的检测精度更高。

1 基于Norm-DP模型算法的研究

本文提出的Norm-DP模型算法分为Norm-DP模型构建、训练正负样本和模型训练三部分。建模部分是在DP-CNN 模型的基础上进行规范化回归操作。由于DP-CNN 原型生成时没有考虑到DPM 与CNN 模型之间不能完全匹配的问题,因此在行人较多、姿势复杂和有遮挡情况下检测精度不理想,因此本文算法使用规范化函数对DP-CNN 进行优化。正负样本的训练与传统算法也有所不同,传统算法是通过数据集得到正负样本,需要消耗时间来训练样本,正样本为具有行人框的图片,负样本为周围环境。但本文算法中的样本是直接从生成的norm5 特征金字塔中进行采样,从而省略了单独训练样本的时间。模型训练部分使用LSVM。

1.1 构建Norm-DP模型

Norm-DP 模型以图像作为输入,先构建图像金字塔,要求每一层图像金字塔与其在层次结构中的下一层金字塔之间保持的比例因子。以图像金字塔作为输入,利用含有conv5的DP-CNN原型进行特征提取,生成具有256 个特征图的conv5 特征金字塔。利用一个3×3 的滤波器,以1 为步长,对256 个conv5特征金字塔进行下采样,生成256个max5特征金字塔,每一层特征图金字塔的空间分辨率为其对应的图像金字塔层分辨率的1/16。设max5特征金字塔中每一层的位置为(j,k)处的单元块对应输入图像中像素为(16j,16k)的区域,像素为163×163,因此可以被基于滑动窗口的检测算法很好地定位。在max5特征金字塔的每一层都添加规范化步骤,即通过规范化函数得到更加拟合的深度金字塔模型,即norm5特征金字塔。例如,对于金字塔第i层的(j,k)位置处的一个256 维特征向量xi,j,k规范化特征的计算公式如式(1)所示:

其中,μi是平均特征向量,而σi是第i层金字塔的标准偏差。每一层norm5特征金字塔中的特征与DPM中的若干个根滤波器进行卷积,得到DPM 分数金字塔。Norm-DP模型构建整体流程如图1所示。

1.2 训练正负样本

本文算法直接从Norm-DP模型中的Norm5 特征金字塔中采样,得到训练所需的正样本。正样本的IOU值是通过边界框的维数和DPM中根滤波器的维数的差的最小值确定的,公式如下:

其中,l为正样本的IOU 值,为边界框维数,(p,q)为DPM根滤波器维数。得到的IOU>0.5的为正样本。从而得到了p×q×256 维的norm5 特征的正样本。负样本是随机选择与DPM根滤波器像素大小相同的框,其中IOU值<0.5的作为负样本。IOU是通过两个区域重叠部分的面积除以两个区域的并联部分的面积得出的结果,即两区域的交集除以两个区域的并集。得到的IOU与本文算法中设定的阈值为0.5作比较,得出正负样本集。

1.3 使用LSVM对Norm-DP模型进行训练

支持向量机被广泛应用于目标检测方面的模型训练方法,但常常由于丢失信息,造成训练出的模型检测性能的下降。因此,本文中使用的LSVM 是在原有的支持向量机基础上添加了潜在值信息(支持向量机中遗漏的输入信息)。设β为根滤波器偏移量的模型参数向量,z为目标匹配参数,集合Z(x)定义了样本x中可能的隐形变量的值。ψ(x,z)是特征金字塔中的一层Norm-DP 特征向量,通过取最大值得到得分,如式(3)所示:

Fig.1 Process of Norm-DP model building图1 Norm-DP模型构建流程

优化模型参数向量β要通过使用梯度下降算法迭代,使得函数值收敛到L(β)的最小值,即得到了函数的局部最优值,L(β)的计算如式(4)所示:

利用提取的正负样本和DPM根滤波器卷积通过LSVM 算法,让根滤波器不断叠加正负样本,得到最终用于定位的模型。

2 融合Soft-NMS和BBR的定位框优化算法

本文算法在检测定位阶段将输入图像分成若干个区域,使用训练好的Norm-DP模型遍历图像区域,将得分较高的区域用定位框的形式进行标注,从而实现行人检测。在此基础上,为了更好地拟合行人目标,利用Soft-NMS 算法对行人定位框进行边缘细化,之后融合BBR算法对定位框进一步回归。

2.1 使用Soft-NMS算法优化定位框

本文算法在边界框优化时结合了Soft-NMS 算法,是对NMS的改进,分为线性加权和高斯加权两种形式,本文中使用的Soft-NMS属于在NMS基础上进行高斯加权,NMS算法如式(5)所示。

其中,Si为当前检测框的得分,Νt为IOU的阈值,M为得分最高的检测框,bi表示与M候选框重叠的候选框。由于传统的NMS 算法在IOU(M,bi)≥Nt时会将相邻的两个候选框的得分强制性归0,如果图像中行人之间存在重叠部分会造成检测失败或者漏检。Soft-NMS针对生成的一组候选框计算得分后选取分数最大的候选框,记录该候选框的位置数据存储到最终目标检测框的数据集合中,即M。通过计算最大得分候选框与重叠候选框的IOU 值,并与重叠IOU阈值进行比较。小于阈值的候选框得分不变,仍为对应的Si,并一起放入到最终检测数据集合中。但大于重叠IOU阈值的候选框得分将不会直接赋值为0,而是通过计算最大得分候选框与重叠候选框的IOU值,用该候选框的Si减去该IOU值与Si的乘积,将最终的值定义为候选框的分数。因此,Soft-NMS只会将重叠候选框的得分通过一个衰减函数减小,但不会直接变为0。候选框之间大部分重叠时,得分只会有很大程度上减少;相反的,如果候选框之间只有少部分重叠,候选框的原有检测得分将减少很小的值,由此来提高定位的精度。如式(6)所示为线性加权Soft-NMS函数。

但是,线性加权函数并不是一个连续函数,在重叠程度超过IOU阈值Nt时,分数可能产生突变,导致检测结果序列产生大的变动,将当前检测框得分乘以一个高斯权重函数,就解决了上述问题。它对没有重叠的检测框的原有检测分数不产生衰减,同时对高度重叠的检测框产生大的衰减。函数如式(7)所示。其中D表示被选中的候选框组成的集合,σ为候选框一共的数量。

2.2 融合BBR进一步优化定位框

对于窗口,一般使用四维向量(x,y,w,h)来表示,其中x,y表示区域的中心点的横纵坐标,w,h表示窗口区域的宽度和高度。如图2所示,本文算法将Soft-NMS 优化后的边界框定义为行人候选区域(虚线表示),行人全部范围定义为真实标注区域(外侧实线表示),计算真实区域和真实标注区域,计算真实平移量和真实缩放量,通过式(8)的映射函数计算到回归区域的移动和放缩数据。其中WT* 为学习参数,t*表示4维变量数据,Φ5(P)表示候选区域的特征向量。

通过式(9)利用最小二乘法计算候选区域到真实标注区域和到回归区域的移动数据的差。

以从候选区域映射到回归区域的映射函数d*(P)作为自变量,求对应的exp的值乘以对应的候选区域的4 维变量,最终得到回归区域(如图2 内侧实线表示)的4 维数据,即最终定位框的区域的中心点横纵坐标,以及宽度和高度。

Fig.2 BBR schematic diagram图2 BBR原理图

3 实验与分析

3.1 实验环境和样本集

实验使用的GPU 为NVIDIA-GTX1080Ti,CPU为Intel i7-5200U,内存为32 GB,需要配置Caffe、TensorFlow、Matlab、OpenCV 和Python。使用样本集结合标准样本集和自制样本集,标准样本集采用INRIA 和MS COCO 数据集,INRIA 包括有正样本图像614 个和负样本图像1 218 个的训练数据集;以及有正样本图像288个,负样本图像453个的测试数据集。MS COCO包括训练集123 287个,测试集81 434个,共包含了80 个种类;自制样本集针对行人数量多、姿势复杂和有遮挡情况,在图像上手动截取行人图片。通过对比传统DPM 算法、传统CNN 算法、基于DP-CNN 算法、传统RCNN 算法的检测精度,对本文算法进行评估。

3.2 实验设计及分析

本文算法实验部分分别对定位框优化和模型融合的效果进行研究。

融合Soft-NMS 算法和BBR 算法的定位框优化算法的实验效果如图3 所示:(a)为没有使用任何定位框优化算法的检测效果,(b)为只使用了Soft-NMS算法后的检测效果,(c)为使用融合Soft-NMS和BBR算法的检测效果。没有使用定位框优化算法时,行人的身体部分被其他物体遮挡,导致候选框过度剪切,虽然也可以检测出行人,但部分定位框已造成损失。使用了Soft-NMS 算法后,定位框可以很好地反映行人位置,但是边界框拟合效果较差。使用融合Soft-NMS 和BBR 算法后,不仅可以准确地定位行人,定位框也具备了较高的拟合性。

Fig.3 Comparison of detection results of positioning frame optimization algorithms图3 定位框优化算法的检测结果对比

由于本文模型是在DP-CNN 模型基础上进行的改进,为了说明Norm-DP 模型的性能,对比DP-CNN模型算法和本文Norm-DP模型算法在行人数量较多和有严重遮挡情况下的检测效果,如图4 所示,(a)~(d)为DP-CNN模型算法在行人之间存在遮挡和图片背景较为复杂情况下的检测结果,(a)中部的三个行人之间由于男性行人手臂遮挡两边女性行人导致漏检;(b)中由于行人无遮挡,DP-CNN 算法正确定位,但边框拟合效果不好;(c)(d)中都漏检了被遮挡的女性,并且(d)中图像两端的男性没有被检测出。这是因为DP-CNN 模型算法中DPM 和CNN 的像素区域不同,融合效果不佳,最终模型的部件滤波器在扫描整张图像时,没有找到对应的部件位置,因此出现了明显漏检。(e)~(h)则是本文Norm-DP模型算法的检测结果,除了在(h)图中由于左边男性身体缺失导致漏检,其他检测结果均没有漏检的产生。(i)为行人数量较多情况时DP-CNN模型算法的检测结果,部分行人目标产生了误检,甚至还出现了漏检,这也是由于HOG 特征不能很好地映射到CNN 模型中导致的。(j)是本文Norm-DP 模型算法在行人较多时的检测结果,每个行人都用拟合性很好的边框进行了定位。因此,本文算法具有很好的拟合效果。

3.3 实验结果及分析

Fig.4 Comparison between detection results of DP-CNN algorithm and proposed algorithm图4 DP-CNN算法与本文算法检测结果对比

Table 1 Comparison of experimental results of INRIA data set表1 INRIA数据集实验效果对比

Table 2 Comparison of experimental results of MS COCO data set表2 MS COCO数据集实验效果对比

本文实验分别在INRIA 和MS COCO 数据集测试集中选取各1 000张(多为单个行人或少量行人无遮挡情况)与自制数据集500张(多为行人数量多、姿势复杂和有遮挡的行人图片)组成实验测试数据集,对最优的DPM算法、CNN算法、DP-CNN算法,RCNN算法,以及本文算法进行实验,选取检测精度(检测精度=正确检测数量/数据集总数)作为评判标准。表1为INRIA 数据集和自制数据集的检测结果;表2 为MS COCO数据集和自制数据集的检测结果。在单个行人情况下除DPM和CNN算法,其余算法的检测精度相差不大,但是在行人数量较多时,分别在INRIA数据集和MS COCO 数据集中检测精度比DP-CNN模型算法提高了6.4个百分点和1.2个百分点,比RCNN算法提高了4.0 个百分点和2.8 个百分点;在行人数量较多且有遮挡时,分别在INRIA数据集和MS COCO数据集中检测精度比DP-CNN模型算法提高了6.0个百分点和6.2 个百分点,比RCNN 算法提高了6.0 个百分点和3.0个百分点。

由于本文算法主要针对DP-CNN进行改进,通过定性和定量分析可以得出,在行人数量较多、姿势复杂和有遮挡情况下,本文算法优于DP-CNN算法。

4 结束语

本文算法主要步骤为:首先,在深度金字塔网络模型的基础上,构建适用于行人检测的Norm-DP 网络;其次,直接提取Norm-DP特征作为训练所需的正负样本;然后,将传统DPM算法中的部件滤波器直接省略,只保留根滤波器,使用LSVM 进行模型训练;最后,使用Soft-NMS 算法和BBR 算法结合后,对定位时的边界框进行优化,使得在行人数量较多和行人之间有严重遮挡情况下的检测效果比较突出。本文算法虽然在性能方面取得了理想的效果,但是对GPU 占用较大,因此,后续工作将减少GPU 的使用。并且在IOU阈值设定时,随着阈值的不同,检测结果也会有小程度的影响,针对这一部分也需要继续研究。

猜你喜欢
金字塔行人样本
“金字塔”
毒舌出没,行人避让
Great Vacation Places
路不为寻找者而设
规划·样本
人大专题询问之“方城样本”
金字塔是用金子造的吗
我是行人
随机微分方程的样本Lyapunov二次型估计
“官员写作”的四个样本