计算机应用   2017, Vol. 37 Issue (6): 1708-1715  DOI: 10.11772/j.issn.1001-9081.2017.06.1708
0

引用本文 

徐超, 闫胜业. 改进的卷积神经网络行人检测方法[J]. 计算机应用, 2017, 37(6): 1708-1715.DOI: 10.11772/j.issn.1001-9081.2017.06.1708.
XU Chao, YAN Shengye. Improved pedestrian detection method based on convolutional neural network[J]. Journal of Computer Applications, 2017, 37(6): 1708-1715. DOI: 10.11772/j.issn.1001-9081.2017.06.1708.

基金项目

国家自然科学基金资助项目(61300163)

通信作者

闫胜业, shengye.yan@gmail.com

作者简介

徐超(1991-), 男, 江苏盐城人, 硕士研究生, 主要研究方向:行人检测、卷积神经网络、物体检测;
闫胜业(1978-), 男, 河南新乡人, 教授, 博士, 主要研究方向:物体检测与识别、物体跟踪、特征点定位

文章历史

收稿日期:2016-10-14
修回日期:2017-01-13
改进的卷积神经网络行人检测方法
徐超1, 闫胜业1,2    
1. 江苏省大数据分析技术重点实验室(南京信息工程大学), 南京 210044;
2. 大气环境与装备技术协同创新中心, 南京 210044
摘要: 为了在行人检测任务中使卷积神经网络(CNN)选择出更优模型并获得定位更准确的检测框,提出一种改进的基于卷积神经网络的行人检测方法。改进主要涉及两个方面:如何决定CNN样本迭代学习次数和如何进行重合窗口的合并。首先,关于CNN样本迭代次序问题,在顺序迭代训练多个CNN分类模型的基础上,提出一种基于校验集正确率及其在迭代系列分类器中展现出的稳定性进行更优模型选择的策略,以使最终选择的分类器推广能力更优。其次,提出了一种不同于非极大值抑制(NMS)的多个精确定位回归框合并机制。精确定位回归框的获取以CNN检测过程输出的粗定位框作为输入。然后,对每个粗定位框应用CNN精确定位过程并获得对应的精确定位回归框。最后,对多个精确定位回归框进行合并,合并过程考虑了每个精确定位回归框的正确概率。更精确地说,最终的合并窗口是基于多个相关的精确定位回归框的概率加权求和方式获得。针对提出的两个改进,在国际上广泛使用的行人检测公共测试数据集ETH上进行了一系列实验。实验结果表明,所提的两个改进方法均能有效地提高系统的检测性能,在相同的测试条件下,融合两个改进的方法相比Fast R-CNN算法检测性能提升了5.06个百分点。
关键词: 深度学习    卷积神经网络    图像分类    行人检测    
Improved pedestrian detection method based on convolutional neural network
XU Chao1, YAN Shengye1,2     
1. Jiangsu Key Laboratory of Big Data Analysis Technology(Nanjing University of Information Science & Technology), Nanjing Jiangsu 210044, China;
2. Collaborative Innovation Center of Atmospheric Environment and Equipment Technology, Nanjing Jiangsu 210044, China
Abstract: In order to choose better model and acquire more accurate bounding-box when using the Convolutional Neural Network (CNN) in pedestrian detection, an improved pedestrian detection method based on CNN was proposed. The improvements include two aspects:how to determine the iterative learning number of training CNN samples and how to merge multiple responses of an object. Firstly, on the solution of the first improvement, multiple candidate CNN classifiers were learned from different training samples in different training iterations. And a new strategy was proposed to select the model with better generalization ability. Both the accuracy on the validation set and the stability of the accuracies during the iterative training procedure were considered by the proposed strategy. On the improvement of combining multiple responses, an enhanced refined bounding-box combination method was proposed which was different from the Non-Maximum Suppression (NMS) method. The coarse bounding-box of CNN detection procedure output was taken as the input for obtaining the one-to-one refined bounding-box. Then, the CNN accurate positioning process was used for each coarse bounding-box to get the corresponding refined bounding-box. Finally, the multiple refined bounding-boxes were merged by considering the correction probability of each bounding-box. Exactly, the final output bounding-box was obtained by the weighted average of multiple relevant refined bounding boxes with respect to their correction probabilities. To investigate the proposed two improvements, the comprehensive experiments were conducted on well-recognized pedestrian detection benchmark dataset-ETH. The experimental results show that, the two proposed improvements have effectively improved the detection performance of the system. Compared with the benchmark method of Fast Region proposals with CNN (R-CNN), the detection performance of the proposed method with the fusion of two improvements has greatly improved by 5.06 percentage points under the same test conditions.
Key words: deep learning    Convolutional Neural Network (CNN)    image classification    pedestrian detection    
0 引言

人是各类社会活动的中心,在各种现实场景中,人都是最为重要的关注对象,如行人过马路、车站安检等。人体目标检测作为一种特定物体检测,是车辆辅助驾驶、智能视频监控和人体行为分析等应用的前提,也可以应用在老年人监护、受害者营救等新兴领域中。随着硬件设备功能的不断强大和相关算法的提出、改进,使得人体目标检测系统的性能也不断提高[1-3]。因此人体目标检测具有非常重要的研究意义和价值,受到越来越多的研究人员关注。与此同时,人体目标检测依然存在一些问题。

首先,相比于车辆等不易发生形变的物体,人体具有非刚性特点。人身体的各部位具有极高的自由度,当人做出蹲下、跑步和跳舞等动作时,人体姿态会发生很大变化。其次,人穿着衣物颜色和款式的不同,如风衣、裙子和帽子等都会对人体目标外观造成极大差异,也在不同程度上对人体造成了遮挡。最后,人体图像是人体表面反射外界光线并经过摄像设备光电转换和量化后的结果,光照强度的不同使得图像亮度存在变化,而光照方向的不同会导致图像上出现阴影或拉丝,从而影响图像质量。这些问题的存在使得人体目标检测成为计算机视觉的研究热点与难点之一。前人对于这些问题进行了多方面的尝试:在分类器选择方面,具有代表性的有支持向量机(Support Vector Machine, SVM)[4]、随机森林(Random Forest, RF)[5]和瀑布式分类器(Boosting)[6]等;在特征提取方面,提出了很多非常有意义的特征,包括Haar-like特征[7]、Edgelet特征[8]、Shapelet特征[9]、梯度直方图(Histogram of Oriented Gradient, HOG)特征[10]、词袋(Bag of Words, BoW)特征[11]、Integral Histograms特征[12]、Color Histograms特征[13]、Covariance Descriptors特征[14]等。这些特征从不同侧面尝试捕获图像的不同表示,为系统后续操作提供了更多地选择。

人体目标检测任务具有里程碑意义的工作是文献[10]提出的HOG特征结合SVM算法,该算法在保证精度大幅度提升地同时极大地提高了检测速度。文献[15]提出利用积分通道特征(Integral Channel Feature, ICF)和瀑布式分类器相结合的方法,使得行人检测效果进一步提升。文献[16]提出基于可变形部件模型(Deformable Part Model, DPM)检测算法,其主要思想是针对人体高自由度形变部件,建立一定形式的空间约束,根模型与部件模型共同作用来检测人体目标,该算法在当时取得了很好的性能。虽然上述传统检测方法在不同程度上对物体检测方法进行改进,但手工设计的特征对于复杂场景下目标多样性变化没有很好的鲁棒性,而卷积神经网络(Convolutional Neural Network, CNN)[17]最大的特点是可以通过大量数据自动地学习出物体特征,将这种特征送入分类器中可以获得极好的分类性能。卷积神经网络的发展可以追溯到文献[17]提出的反向传播(Back Propagation, BP)算法,该算法有效地训练了卷积神经网络,使得其成功运用到手写数字识别问题中。

文献[18]使用深度卷积神经网络算法在ImageNet大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)[19]上取得了当时最低的图像分类错误率,导致计算机视觉领域引发了研究深度学习的热潮。针对行人检测任务,文献[20]提出利用行人属性和场景属性来联合优化行人检测问题,设计多任务深度模型协调各个任务并减小不同数据集之间的差异,有效地降低了误检率,使得分类性能提高。文献[21]提出深度部件算法,该算法使用大量行人部件检测器,为深度学习处理遮挡行人的检测提供了思路。但上述两种算法并没有训练模型对粗定位检测框进行回归操作,所以检测框定位存在不准确情况。

文献[22]提出了区域卷积神经网络(Region proposals with CNN, R-CNN)物体检测框架,该框架使用CNN分别训练了检测框分类模型和回归模型,在物体检测库Pascal VOC Challenge[23]上表现出色。R-CNN算法是将每一个候选区域图像块都送入网络中进行一次卷积操作,这导致R-CNN存在运算量大、检测速度慢等缺点。文献[24]提出了空间金字塔池化网络(Spatial Pyramid Pooling Net, SPP-Net)算法来对R-CNN进行加速,该算法的优点是只需提取一次整幅图片的卷积层特征,再通过坐标映射[24]就可以得到每个候选区域对应的卷积特征。其缺点是特征提取CNN的训练和SVM分类器的训练在时间上是先后顺序,两者训练方式独立,因此网络只能更新全连接层参数[24],这在一定程度上限制了深度CNN的潜力。文献[25]提出的Fast R-CNN算法改进了R-CNN和SPP-Net算法中的不足,该算法最大的特点是将分类任务和坐标回归任务同时训练以更新整个网络参数,相比于R-CNN和SPP-Net提升了效率和精度。

Fast R-CNN算法仍然存在缺点:一方面随着训练迭代次数不断增加,会产生很多中间模型(每迭代训练1 000次保存一次模型),该算法选择最后一次迭代产生的模型作为最终模型,而训练模型过程中样本选择是概率事件,最后一次迭代产生的模型不一定使得分类性能最优;另一方面Fast R-CNN算法虽然进行了粗定位检测框坐标回归,但部分检测框定位依然不准确,影响检测性能。

针对上述问题,本文提出投票Fast R-CNN算法。实验结果表明,本文提出的两个改进方法能够有效地提高检测性能,设置相同测试条件下,投票Fast R-CNN算法相比Fast R-CNN算法,检测性能提升了5.06个百分点。

1 投票Fast R-CNN行人检测算法

投票Fast R-CNN行人检测算法改进主要体现在两个方面:第一,测试所有中间模型在验证集上的检测性能,根据验证集测试结果的离散分布情况,挑选出最优模型;第二,使用非极大值抑制(Non-Maximum Suppression, NMS)[22]操作之前的精确定位检测框得分和位置信息,采用概率加权投票方式来确定最终检测框位置,使检测性能进一步提升。

1.1 候选区域提取

基于特征的目标推荐(Object Proposal)是一类常用的目标搜索策略,与穷举搜索策略[10]不同之处在于穷举搜索策略会为每类物体分别设置滑动窗口尺寸并考虑目标尺度问题,而基于特征的目标推荐策略无需穷举出图像每个尺度位置上的目标区域,且不考虑类别问题,比较适用于图像中目标类别较多时的候选区域提取。该类算法首先根据一些特征来生成图像中的疑似目标区域,其数量远少于穷举搜索策略产生的候选框数量,极大地减轻了系统后续操作的计算量。基于特征的目标推荐策略代表算法有selective-search[26]、Edge-Boxes[27]等,其中,selective-search算法使用相似区域聚合来提取候选框,而Edge-Boxes算法使用边缘信息来提取候选框。本文算法在数据准备阶段需要提供图片数据集的感兴趣区域(疑似人体目标区域),考虑到行人目标利用边缘信息提取候选框更加合理,所以本文使用Edge-Boxes算法来提取图片数据集中的感兴趣区域候选框。

1.2 感兴趣区域池化层

Fast R-CNN算法中感兴趣区域池化层[25]实质上是SPP-Net算法中空间金字塔池化层的简化版[24],即将所有感兴趣区域卷积特征都池化到同一个尺度。感兴趣区域池化层输入的是表示整幅图像特征的N个特征图和数量为R的感兴趣区域,其中$R\gg N$。整幅图像特征图由网络最后一层卷积层提供(本文使用VGG16[28]网络的conv5_3卷积层),使用使用多维矩阵H*W*C表示:H表示行数,W表示列数,C表示通道数。每一个感兴趣区域用{k, r, c, h, w}表示,其中:k表示每个感兴趣区域的索引,(r, c)、hw分别表示感兴趣区域的左上角坐标、高和宽。由于每个感兴趣区域大小不同,导致其卷积特征图大小也不同,而全连接层要求输入维度不变,所以对于不同大小的感兴趣区域特征图,其池化操作块大小是变化的[25]。具体计算式如式(1) 所示:

${s^i} \approx \frac{{{h^i}}}{{H'}}*\frac{{{w^i}}}{{W'}}$ (1)

其中:iN+si表示池化操作块大小;hiwi表示感兴趣区域特征图的行和列;H′和W′表示感兴趣区域池化层的固定输出大小(VGG16网络中为7×7),最终感兴趣区域池化层输出多维矩阵H′*W′*C

1.3 网络损失函数

投票Fast R-CNN算法的网络结构中有两个子输出层,如图 1所示:第一个子输出层输出感兴趣区域的类别概率pj,第二个子输出层输出感兴趣区域的坐标偏移量tj={txj, tyj, twj, thj},其中jN+

图 1 网络结构示意图 Figure 1 Schematic diagram of network structure

网络总损失L为分类任务损失和坐标回归任务损失之和,计算式如式(2) 所示:

$L(p, k, t, {t^*}) = {L_{{\text{cls}}}}(p, k) + \lambda [k \geqslant 1]{L_{{\text{loc}}}}(t, {t^*})$ (2)

其中:k表示类别标签,k≥1表示只对人体正样本进行坐标回归;Lcls(p, k)表示标准交叉熵损失。Lcls(p, k)计算式如式(3) 所示:

${L_{{\text{cls}}}}(p, k) = - \ln \left( {pk} \right)$ (3)

坐标回归损失中,所有需要回归的人体正样本与真实标注框的坐标偏移量集合表示为t={tx, ty, tw, th},集合t中的正样本通过CNN预测得到的坐标偏移量集合表示为t*={tx*, ty*, tw*, th*},其中t使用R-CNN中的参数定义[22],计算公式如式(4) 所示:

$\left\{ \begin{gathered} {t_x} = ({G_x} - {P_x})/{P_w} \hfill \\ {t_y} = ({G_y} - {P_y})/{P_h} \hfill \\ {t_w} = \ln ({G_w}/{P_w}) \hfill \\ {t_h} = \ln ({G_h}/{P_h}) \hfill \\ \end{gathered} \right.$ (4)

其中:Pi={Px, Py, Pw, Ph}表示需要回归的正样本中心点位置、宽和高;Gi={Gx, Gy, Gw, Gh}表示真实标注框中心点位置、宽和高。计算出tt*后,回归模型的代价损失函数计算式如式(5) 所示:

${L_{{\text{loc}}}}(t, {t^*}) = \sum\limits_{i \in \{ x, y, w, h\} } {smoot{h_{{L_1}}}({t_i} - t_i^*)} $ (5)

其中smoothL1计算式如式(6) 所示:

$smoot{h_{{L_1}}}(x) = \left\{ {_{|x| - 0.5, }^{0.5{x^2}, }} \right.\mathop {}\nolimits_{其他}^{|x| < 1} $ (6)

投票Fast R-CNN算法中网络损失函数引入参数λ的目的是为了控制两个子任务之间的平衡。本文所有实验中设置λ=1,表示分类任务和检测任务同等重要。

1.4 CNN样本迭代学习次序

Fast R-CNN这类物体检测算法[22, 24-25]在测试阶段使用最后一次迭代产生的模型作为最终模型,但卷积神经网络训练过程中样本选择存在随机性,随着迭代次数不断增加,最后一次产生的模型效果往往不是最优。基于此考虑,本文将迭代产生的40个模型分别在训练集和验证集上测试模型性能,其性能评价标准和测试集评价标准一致[29]。随着迭代次数不断增加,模型在训练集上检测性能越来越优,而验证集上中间迭代次数产生的模型检测性能最优,这对最后一次迭代产生的模型效果不是最优的假设提供了支持。

考虑CNN样本迭代次序对检测性能的影响情况,假设每个中间模型为最优模型的可能性使用置信值β来表示,其中β∈[0, 1],那么通过最小值方法取对应模型作为最优模型的做法可能并不充分。本文针对多个CNN模型在验证集上的检测性能结果,提出取离散数据中最平滑点对应模型为最优模型的方法,使得其在测试集上检测性能更优。对离散数据取平滑的方法有多种,其中常用的一种是均值平滑法[30],该方法具有计算简单、平滑效果明显等优点,其计算式如式(7) 所示:

$\left\{ {_{y_k^* = ({y_{k - 2}} + {y_{k - 1}} + {y_k})/3}^{x_k^* = ({x_{k - 2}} + {x_{k - 1}} + {x_k})/3}} \right.$ (7)

其中:kN+k≥3;(xk, yk)表示离散数据点的坐标值;(xk*, yk*)表示经过均值平滑方法处理后的数据点坐标。

考虑到迭代模型在验证集上所展现的检测性能结果极可能是呈曲线形式的,中间往后的数据平滑稳定可能性较大,而均值平滑处理方法并没有使用权重信息,所以本文提出使用傅里叶变换中测不准原理[31]关于分辨率的定义,来平滑处理中间模型在验证集上的检测性能数据,其中关于分辨率的计算式如式(8) 所示:

$\Delta {r^2} = \int_{ - \infty }^\infty {{r^2}|s(r){|^2}{\text{d}}r\int_{ - \infty }^\infty {|s(r){|^2}{\text{d}}r} } $ (8)

其中:s (r)表示检测性能,r表示迭代次数,迭代次数和检测性能成对应关系。选择最优模型具体做法是将测不准原理分辨率计算公式中的积分变成离散加和,找出Δr2的最小值即分辨率最低点,就得到离散数据最平滑稳定点和对应迭代次数模型,此模型作为最终检测模型。

1.5 概率加权投票合重框

Fast R-CNN算法中虽然训练了模型对粗定位检测框坐标进行回归,但最终检测结果依然会出现类似于图 3中定位不准确的虚线检测框。基于此定位不准确情况,本文提出了使用精确定位检测框概率加权投票算法,进一步精确检测框位置,从而满足大部分行人检测算法采用的评估标准,即检测框和真实标注框重合度至少50%的条件[29]。整体检测框投票算法流程如图 2所示。

图 2 合重框算法流程 Figure 2 Flow chart of merging multiple bounding-boxes algorithm
图 3 检测框投票示意图 Figure 3 Schematic diagram of bounding-box voting

首先将测试图片送入到本文使用的卷积神经网络中进行检测,使用标准NMS[22]之后得到的检测框集合标记为Y={(Si, Bi)},其中:iN +Si表示检测框决策得分,Bi表示检测框左上角坐标、宽和高。使用类似的定义表示需要进行投票的检测框集合y={(Sj, Bj)},其中:BjN (Bi),N (Bi)表示NMS后被抑制掉的检测框中与Bi重合度达到50%以上的检测框集合。检测框投票的主要思想是根据Bj得到最终检测框的坐标位置,其投票权重为Sj,权重计算式如式(9) 所示:

${w_j} = \max (0, {S_j})$ (9)

概率加权投票后,最终检测框位置计算式如式(10) 所示:

${B'_i} = \sum\limits_{j:{B_j} \in N({B_j})} {} {w_j} \cdot {B_j}/\sum\limits_{j:{B_j} \in N({B_i})} {{w_j}} $ (10)

最终检测框集合记为Y′={(Si, Bi′)},检测框投票算法示意图如图 3所示。图 3(a)中的检测框都是进行了坐标回归的精确定位检测框,其中实线框表示被抑制掉的检测框,虚线框表示NMS之后保留的检测框,即不使用概率加权投票方法的最终结果检测框。相比于图 3(b)实线的真实标注框,显然图 3(a)虚线的检测框定位不够准确。利用图 3(a)实线的精确定位框,使用概率加权投票合重框算法后,得到最终检测框如图 3(b)虚线框所示,可见该检测框达到评估为正确检测框的要求[29]

2 实验结果与分析 2.1 实验数据集 2.1.1 训练数据集

实验使用多个数据集图片来组成训练集,其中包括INRIA行人数据库[10]提供的训练集(共614张图片)、TUD-MotionPairs行人数据库[32]中的训练集(共1 092张图片,将未标注完全的图片进行了手工标注,增加了2 864个行人目标)和一些手工标注了的互联网图片。整个训练集共有2 981张图片,图片包含9 679个人体目标。验证集由训练集中随机取出的600张图片组成,包含1 232个人体目标。输入卷积神经网络的图片和训练样本示例如图 4所示,其中人体正样本(图中实线框)要求与真实标注框(图中较小实线框)重合度至少50%以上,负样本(图中虚线框)要求与真实标注框重合度在0.1到0.5之间,按照Fast R-CNN算法中的实验设置,每张图片随机选取64个感兴趣区域(16个正样本,48个负样本)送入网络进行训练[25]。在训练集准备过程中,采用了水平翻转的方式对数据集进行扩充[18]

图 4 训练样本示意图 Figure 4 Schematic diagram of training samples
2.1.2 测试数据集

为了评估本文提出算法的性能,测试集选择国际上广泛使用且非常具有挑战的行人检测公共测试数据集ETH[33],ETH数据集采用一对车载的AVT Marlins F033C摄像头进行拍摄。由于拍摄场景是行人众多的街道,所以图像背景信息较为复杂。整个测试集含有3个视频序列,分别在正常光照(999张)、阴天(446张)、强光(354张)3种光照条件下进行拍摄,其中每张图片分辨率为640×480,帧率13~14 frame/s,给出标定信息和行人标注信息。

2.2 实验设置

考虑到使用Fast R-CNN给定的原始参数[25]不会对本文提出的算法造成影响,所以在设置实验相关参数时,按照Fast R-CNN的设置将所有网络层的权重学习率设置为1,偏差学习率设置为2,全连接层参数使用标准偏差在0.001到0.01之间的零均值高斯分布初始化。对于训练数据集,考虑到VGG16网络结构深度[28]会导致训练时间很长,本文设置训练迭代总次数为40 000次,其中前30 000次迭代使用的全局学习率为0.001,后10 000次迭代使用的全局学习率为0.000 1,冲量设置为0.9,权重衰减因子设置为0.000 5。

2.3 性能评价指标

目前大部分行人检测算法[20-22, 24]使用进行修改后的Pascal目标检测竞赛[23]评估标准。图片送入卷积神经网络检测后,输出结果包含最终检测框的左上角坐标、宽、高和决策得分。如果检测框与真实标注框重合面积大于某个阈值,则认为该检测框与真实标注框相匹配。实验中使用重合面积必须大于50%的标准[29],重合面积计算公式如式(11) 所示:

$a = \frac{{{\text{area}}(B{B_{{\text{dt}}}} \cap B{B_{{\text{gt}}}})}}{{{\text{area}}(B{B_{{\text{dt}}}} \cup B{B_{{\text{gt}}}})}} > 0.5$ (11)

其中:BBdt表示最终检测框; BBgt表示真实标注框。若多个BBdtBBgt匹配,则决策得分高的检测框将被选择,而没有被匹配的BBdt记为误检,未被匹配的BBgt记为漏检。

实验中使用的检测性能评价数据是漏检比例(Missing Rate)和平均每幅图像误检率(False Positive Per Image, FPPI)[29],其中漏检率MR计算式如式(12) 所示:

$MR = 1 - TP/{N_{{\text{pos}}}}$ (12)

平均每幅图像误检率FPPI计算式如式(13) 所示:

$FPPI = FP/{N_{{\text{img}}}}$ (13)

其中:TP表示准确检测的正例;Npos表示正例总数;FP表示误检总数;Nimg表示测试图片总数。MRFPPI构成检测性能的受试者工作特征(Receiver Operating Characteristic, ROC)曲线,改变决策得分阈值可以得到不同的ROC曲线,当增大决策得分阈值后,可以排除更多的误检,同时漏检率也会增加,而当减小决策得分阈值时,可以降低漏检率,相应地,误检也会增多,由此可见MRFPPI呈负相关。大部分物体检测算法性能都使用FPPI数值分别在{0.010 0,0.017 8,0.031 6,0.056 2,0.100 0,0.177 8,0.316 2,0.562 3,1.000 0}时对应漏检率数值求平均定义,即平均漏检率(Average Miss Rate)[29],所以本文所说的检测性能也采用这种方式表示。FPPI数值为0.1表示在10张图存在1个误检的情况,如果对应的漏检率越低则表示算法性能越好,由此可见,平均漏检率也是越低检测性能越好。

2.4 实验分析

为了测试投票Fast R-CNN行人检测算法性能,本文分别进行了3个方面的实验:样本迭代学习次序实验、重框处理机制对比实验和正确检测率及检测时间对比实验。

2.4.1 样本迭代学习次序实验

通常Fast R-CNN算法挑选最后一次迭代产生的模型作为最终模型,实验得到第40 000次迭代模型在ETH测试集上的平均漏检率数值为45.07%。进行多组实验后观察到,迭代过程中产生的其他中间模型检测效果也很好。基于此考虑,为了选择性能最优的模型,实验首先固定决策得分阈值为0.8,NMS阈值为0.3,然后将得到的40个模型依次在训练集和验证集上进行测试。检测性能和迭代次数关系如图 5所示。

图 5 检测性能和迭代次数关系 Figure 5 Relationship between detection performance and iterative number

随着迭代次数的增加,模型在训练集上检测性能越来越优,如图 5中实折线所示。在设置相同参数和实验步骤情况下,模型在验证集上的检测性能,如图 5中虚折线所示。

由于训练过程是概率事件,具有随机性,通过在验证集离散数据上使用最小值法选择模型不一定最优。本文选择性能图最平滑点对应的迭代模型作为最终检测模型。考虑到迭代模型在验证集上性能极可能是呈曲线形式,中间往后的数据平滑稳定的可能性较大,所以本文使用傅里叶变换中测不准原理[31]计算分辨率的方法来找离散结果最平滑点。通常情况下,这样取得的点对应的模型效果会更优。实验结果表明,第27 000次迭代对应的点在验证集上为最小值点,而经过计算后得到第31 000次迭代对应的点为最平滑点。

本文分别将这两个模型在ETH测试集上进行测试,实验结果如图 6所示。由图 6可以看出,第31 000次迭代模型的平均漏检率数值为41.63%,而第27 000次迭代模型的平均漏检率数值为43.58%,表明第31 000次迭代模型在ETH测试集上的检测性能优于第27 000次迭代模型,即使用计算分辨率方法得到的模型使得分类性能更优,对本文所提出的假设进行了验证。所以本文采用计算中间模型在验证集上检测性能最平滑点方法找到最终模型,即选取第31 000次迭代产生的模型。

图 6 测试集检测性能对比 Figure 6 Comparison of test set detection performance
2.4.2 重框处理机制对比实验

大部分目标检测算法在后处理过程中,采用标准策略的NMS[22]算法消除多余的检测框,其特点是简单高效。如果NMS阈值设置太高,检测结果中会保留很多误检框;而阈值设置得太低,则导致靠近的目标中决策得分低的检测框被决策得分高的检测框所抑制;以上两种情况都会影响检测性能。

本次实验使用第31 000次迭代模型,固定决策得分阈值为0.8,设置NMS阈值从0.3~0.6间隔0.05取值,测试NMS阈值对检测性能的影响。由图 7结果可知,当增大NMS阈值时,误检框保留太多会导致性能下降比较明显。Fast R-CNN算法在ETH测试集上使用标准NMS的检测性能如图 7中折线所示。为了将本文提出的加权投票合重框方法和Fast R-CNN提出的标准NMS方法进行性能对比,选择Fast R-CNN取得较优检测性能时的NMS阈值(0.35) 作为加权投票合重框方法的NMS参数,其检测性能在图 7中使用方块表示。由图 7可知,相比于Fast R-CNN算法提出的标准NMS处理精确定位框方法,本文提出的概率加权投票合重框机制使得最终检测框定位更加准确,在ETH测试数据集上取得了更优的检测性能,平均漏检率数值降低了1.62个百分点。

图 7 重框处理机制对比 Figure 7 Comparison of repeated bounding-box processing mechanisms

分析图 7实验结果可知,Fast R-CNN只是保留了在一定重合条件下决策得分最高的检测框,然而针对最高决策得分对应的检测框本身定位不准确的情况,Fast R-CNN没有进行处理。而本文提出的基于概率加权投票合重框方法,本质上与NMS不同,在得到决策得分最高的检测框后,利用NMS之前的那些精确定位检测框对决策得分最高的检测框进行位置再精确,使得那些原来检测为行人却由于不符合评估标准而被记为误检的检测框,重新记为正确检测框。这样在降低了误检率的同时也提高了正检率,从而使得检测性能提升。

2.4.3 检测正确率及检测时间对比实验

将投票Fast R-CNN算法与HOG+SVM[10]、局部相关通道特征(Locally Decorrelated Channel Feature, LDCF)[34]、Roerei[35]、Fast R-CNN[25]、可切换深度网络(Switchable Deep Network, SDN)[36]和SpatialPooling[37]这几种行人检测算法从正确检测率角度进行了对比,正确检测率定义为各算法在ETH上得到的结果检测框中与真实标注框重合度大于50%的检测框(正检)个数和结果检测框总数的比值,该比值表示了模型找到正样本的可靠性。在选取平均每幅图像误检个数都为0.1的情况下,各行人检测算法的正确检测率如表 1所示。

表 1 不同算法在ETH数据集的正确检测率对比 Table 1 Comparison of correct detection rate on ETH dataset of different algorithms

表 1中可知,本文提出的投票Fast R-CNN行人检测算法具有较高的正确检测率。

本文对投票Fast R-CNN算法的检测时间也进行了评估,实验选用几种比较受关注的且检测精度较高的行人检测算法来对比检测时间,由于有些算法是使用中央处理器(Central Processing Unit, CPU)实现的,而有些算法是使用图形处理器(Graphic Processing Unit, GPU)实现的,不太好直接比较其计算复杂度,所以本文实验不区分各算法的硬件环境。其中,HOG+SVM[10]、LDCF[34]、Roerei[35]和SpatialPooling[37]这几种算法的检测时间是在CPU环境下测得的,而Fast R-CNN[25]、SDN[36]和本文算法的检测时间是在GPU环境下测得的。检测时间为检测一张640×480大小的图片所需的时间,单位为s。不同算法在ETH行人数据集上的检测性能平均漏检率和时间比较如表 2所示。

表 2 不同行人检测算法检测时间对比 Table 2 Comparison of detection time of different pedestrian detection algorithms

表 2中可以看出,相比于其他几种行人检测算法,本文提出的投票Fast R-CNN算法检测性能较优,同时检测速度也较快。

2.5 实验结果

根据上述实验分析,最终设置决策得分阈值为0.8,NMS阈值为0.35,并选择第31 000次迭代产生的模型作为检测模型。Fast R-CNN算法和本文投票Fast R-CNN算法的检测性能比较如图 8所示,本文算法迭代训练多个CNN模型,并选择最优模型的方法使得分类性能更优,而通过加权投票合重框方法使得最终检测框定位更准确,结合这两种改进方法相比较于Fast R-CNN算法,在ETH测试集上检测性能提升了5.06个百分点。

图 8 本文算法与Fast R-CNN算法检测性能对比 Figure 8 Comparison of detection performance between Voting Fast R-CNN algorithm and Fast R-CNN algorithm

为了更进一步比较检测性能,将本文算法与其他几种受关注的且精度较高的行人检测算法进行了检测性能比较,实验结果对比如图 9所示。在相同测试数据集和评估标准下,本文算法取得较好的检测性能。

图 9 不同行人检测算法性能对比 Figure 9 Comparison of detection performance of different pedestrian detection algorithms

图 10显示了本文算法在ETH行人测试数据集上进行检测的部分效果,从图 10中可以看出投票Fast R-CNN算法取得了很好的检测效果。

图 10 本文算法行人检测结果 Figure 10 Pedestrian detection results of Voting Fast R-CNN algorithm
3 结语

本文提出了一种卷积神经网络的行人检测方法。为了选择出更优模型使得检测性能提升,在顺序迭代训练多个CNN分类模型的基础上,提出根据校验集正确率及其分类器展现出的稳定性进行更优模型选择的策略,使最终分类器推广能力更优。为了获得定位更准确的检测框,提出一种新的重框处理机制,机制中对候选区域精确定位框进行概率加权合并。实验结果表明,相同测试条件下,融合两个改进方法相比Fast R-CNN算法性能提升了5.06个百分点,在国际上广泛使用的行人检测公共测试数据集ETH上取得了40.01%的结果。但是本文针对离散数据平滑处理的方法和精确定位重框处理机制的初步探索,仍然存在一些不足,如何使结果检测框定位更准、效率更高将是下一步工作的研究方向。

参考文献
[1] CAI Z, SABERIAN M, VASCONCELOS N. Learning complexity-aware cascades for deep pedestrian detection[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 2015:3361-3369.
[2] OREN M, PAPAGEORGIOU C, SINHA P, et al. Pedestrian detection using wavelet templates[C]//Proceedings of the 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 1997:193-199.
[3] HOSANG J, BENENSON R, DOLLAR P, et al. What makes for effective detection proposals[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(4): 814-830. doi: 10.1109/TPAMI.2015.2465908
[4] MAJI S, BERG A C, MALIK J. Classification using intersection kernel support vector machines is efficient[C]//CVPR 2008:Proceedings of the 2008 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2008:1-8.
[5] BREIMAN L. Random forests[J]. Machine learning, 2001, 45(1): 5-32. doi: 10.1023/A:1010933404324
[6] FREUND Y, SCHAPIRE R E. A decision-theoretic generalization of on-line learning and an application to boosting[C]//EuroCOLT'95:Proceedings of the 1995 Second European Conference on Computational Learning Theory, LNCS 904. Berlin:Springer, 1995:23-37.
[7] ZHANG S, BAUCKHAGE C, CREMERS A B. Informed Haar-like features improve pedestrian detection[C]//Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2014:947-954.
[8] WU B, NEVATIA R. Detection of multiple, partially occluded humans in a single image by bayesian combination of edgelet part detectors[C]//ICCV'05:Proceedings of the 2005 Tenth IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 2005:90-97.
[9] SABZMEYDANI P, MORI G. Detecting pedestrians by learning shapelet features[C]//Proceedings of the 2007 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2007:1-8.
[10] DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//CVPR'05:Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2005:886-893.
[11] LAMPERT C H, BLASCHKO M B, HOFMANN T. Beyond sliding windows:object localization by efficient subwindow search[C]//CVPR'08:Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2008:1-8.
[12] PORIKLI F. Integral histogram:a fast way to extract histograms in cartesian spaces[C]//CVPR'05:Proceedings of 2005 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2005:829-836.
[13] WALK S, MAJER N, SCHINDLAR K, el al. New features and insights for pedestrian detection[C]//Proceedings of 2010 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2010:1030-1037.
[14] TUZEL O, PORIKLI F, MEER P. Pedestrian detection via classification on riemannian manifolds[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(10): 1713-1727. doi: 10.1109/TPAMI.2008.75
[15] DOLLAR P, TU Z, PERONA P, el al. Integral channel features[C]//Proceedings of the 2009 British Machine Vision Conference. Durham, UK:BMVA, 2009:91.1-91.11
[16] FELZENZWALB P F, GRISHICK R B, MCALLISTER D, et al. Object detection with discriminatively trained part-based models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645. doi: 10.1109/TPAMI.2009.167
[17] LECUN Y, BOSER B, DENKER J S, et al. Backpropagation applied to handwritten zip code recognition[J]. Neural Computation, 1989, 1(4): 541-551. doi: 10.1162/neco.1989.1.4.541
[18] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//NIPS'12:Proceedings of the 25th International Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2012:1097-1105.
[19] RUSSAKOVSKY O, DENG J, SU H, el al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252. doi: 10.1007/s11263-015-0816-y
[20] TIAN Y L, LUO P, WANG X G, et al. Pedestrian detection aided by deep learning semantic tasks[C]//Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2015:5079-5087.
[21] TIAN Y L, LUO P, WANG X G, et al. Deep learning strong parts for pedestrian detection[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 2015:1904-1912.
[22] GIRSHICK R, DONAHUE J, DARRELL T, et al. Region-based convolutional networks for accurate object detection and segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(1): 142-158. doi: 10.1109/TPAMI.2015.2437384
[23] EVERINGHAM M, VAN GOOL L, WILLIAMS C K I, et al. The pascal visual object classes (VOC) challenge[J]. International Journal of Computer Vision, 2010, 88(2): 303-338. doi: 10.1007/s11263-009-0275-4
[24] HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[C]//Proceedings of the 2014 13th European Conference on Computer Vision, LNCS 8691. Berlin:Springer, 2014:346-361.
[25] GRISHICK R. Fast R-CNN[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2015:1440-1448.
[26] UIJLINGS J R R, VAN DE SANDE K E A, GEVERS T, et al. Selective search for object recognition[J]. International Journal of Computer Vision, 2013, 104(2): 154-171. doi: 10.1007/s11263-013-0620-5
[27] ZITNICK C L, DOLLÁR P. Edge boxes:locating object proposals from edges[C]//ECCV 2014:Proceedings of 2014 13th European Conference on Computer Vision, LNCS 8693. Berlin:Springer, 2014:391-405.
[28] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL].[2016-09-14]. http://www.philkr.net/CS395T/slides/w5_vgg.pdf.
[29] DOLLAR P, WOJEK C, SCHIELE B, et al. Pedestrian detection:an evaluation of the state of the art[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(4): 743-761. doi: 10.1109/TPAMI.2011.155
[30] 冯兴辉, 张旭, 陈礼贵, 等. 直线特征测量数据的平滑去噪[J]. 机械制造, 2015, 53(4): 71-72. ( FENG X H, ZHANG X, CHEN L G, et al. Smoothing denoising of linear feature measurement data[J]. Machinery, 2015, 53(4): 71-72. )
[31] 刘远社. 傅里叶变换与测不准原理[J]. 西南民族大学学报(自然科学版), 2003, 29(5): 567-569. ( LIU Y S. Fourier transform and uncertainty principle[J]. Journal of Southwest University for Nationalities (Natural Science Edition), 2003, 29(5): 567-569. )
[32] WOJEK C, WALK S, SCHIELE B. Multi-cue onboard pedestrian detection[C]//CVPR 2009:Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2009:794-801.
[33] ESS A, LEIBE B, VAN GOOL L. Depth and appearance for mobile scene analysis[C]//Proceedings of the 2007 IEEE 11th International Conference on Computer Vision. Piscataway, NJ:IEEE, 2007:1-8.
[34] NAM W, DOLLÁR P, HAN J H. Local decorrelation for improved pedestrian detection[C]//Proceedings of the 2014 International Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2014:424-432.
[35] BENENSON R, MATHIAS M, TUYTELAARS T, et al. Seeking the strongest rigid detector[C]//CVPR'13:Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2013:3666-3673.
[36] LUO P, TIAN Y L, WANG X G, et al. Switchable deep network for pedestrian detection[C]//Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2014:899-906.
[37] PAISITKRIANGKRAI S, SHEN C H, VAN DEN HENGEL A. Strengthening the effectiveness of pedestrian detection with spatially pooled features[C]//Proceedings of the 2014 European Conference on Computer Vision, LNCS 8692. Berlin:Springer, 2014:546-561.