一种深度模型行人检测方法
2016-12-21郭秋滟
郭秋滟, 李 欣
(1. 西昌学院 汽车与电子工程学院, 四川 西昌 615013; 2. 清华大学 深圳研究生院, 广东 深圳 518055)
一种深度模型行人检测方法
郭秋滟1, 李 欣2
(1. 西昌学院 汽车与电子工程学院, 四川 西昌 615013; 2. 清华大学 深圳研究生院, 广东 深圳 518055)
提出一种新的深度模型,通过多个阶段的后向传播来联合训练多阶段分类器实现行人检测。该模型可将分类器的得分图输出存储在局部区域中,并将其作为上下文信息来支持下一阶段的决策。通过设计具体的训练策略,深度模型可对硬性样本进行挖掘来分阶段训练网络,进而模拟串联分类器。此外,每个分类器可在不同的难度水平上处理样本,并通过无监督预训练和专门安排的各阶段有监督训练来对优化问题正规化,提高了行人检测的可靠性。理论分析表明该训练策略有助于避免过拟合。基于3个数据集(Caltech, ETH和TUD-Brussels)的实验结果也验证了该方法优于当前其他最新算法。
串联式分类器; 行人检测; 深度模型; 上下文信息
0 引 言
行人检测[1-2]是多种重要应用领域基本的计算机视觉问题之一。由于存在视角变化、姿态、光照、遮挡等各种挑战,行人检测难度很大,只简单利用一种整体分类器难以有效实现行人检测。例如,侧面视角下行人视觉线索不同于正面视角下的视觉线索。单个检测器难以有效同时捕获两个视觉线索。为了处理行人复杂的外观变化,许多方法选择一组分类器分阶段做出行人和非行人决策[3]。不同分类器负责不同样本。串联式分类器往往采取序列训练策略。使用早先阶段无法有效分类的硬性样本来训练后续阶段的分类器。
直观来说,因为这些分类器通过紧密交互可以产生协同作用,所以我们希望对这些分类器进行联合优化。此外,虽然早期分类器无法对硬性样本做出最终决策,但是它们的输出所提供的上下文信息可用于支持后续阶段的决策。然而,由于参数太多,训练样本相对较少,所以分类器容易出现训练数据过拟合问题。为了对大量分类器参数进行联合训练,本文提出一种深度模型,既可对这些分类器进行联合学习,又可防止训练过程同时出现过拟合问题。
对行人检测问题已展开了研究,如文献[4]针对单幅图像中的行人检测问题,提出了基于自适应增强算法(Adaboost) 和支持向量机(SVM)的两级检测方法, 应用粗细结合的思想有效提高检测的精度。文献[5] 提出了一种新的颜色自相似度特征(CSSF),在颜色通道上计算两个选定的矩形块的比值衡量自相似性。文献[6]针对HOG特征检测准确率高、计算量大的特点,通过对HOG特征的结构进行调整,提出了使用Fisher特征挑选准则来挑选出有区别能力的行人特征块,得到MultiHOG特征。文献[7-20]提出多种特征来提升行人检测性能。这些方法利用尺寸可变滑动窗口来扫描图片,进而将行人检测看成一种分类任务。人们已经提出了多种生成性和区分性分类方法。生成性方法,如文献[7-9],计算一个窗口围住一位行人的概率。区分性分类器,比如文献[10-13]中的boosting分类器和文献[14-16]中的SVM,试图通过参数来将阳性和阴性样本分开。因为行人外观具有多样性,所以多篇文献利用了混合模型[17-19],混合模型通过有监督或无监督聚类来训练分类器。近期,深度模型已经成功应用于手写数字识别、对象分割、人脸识别和场景理解、对象检测和识别领域。文献[20-24]利用深度模型进行多阶段特征的无监督学习。然而,他们没有在每个阶段添加额外的分类器,而且分类得分没有在不同阶段之间作为上下文信息进行传输。因此,构建了深度模型和多阶段分类器间的联系,进而对串联分类器进行联合优化,有效地提高了行人检测的可靠性,最后仿真实验结果也表明了该方法的优越性。
1 深度模型架构
1.1 特征准备
(1)
图1给出了31个箱子的区分性功率。丢弃了区分性最低的6个箱子。因此,利用每个区块有25个维度的HOG特征来降低计算量。
图1 31维HOG特征的区分性(DPk值见图下)
为了利用局部区域中的上下文信息,本文深度模型采用11个金字塔3 × 3空间局部区域中的检测得分。因为一个行人窗口包含15 × 5 × 36特征,所以通过利用15 × 5 × 36过滤器来过滤局部17 × 7 × 36特征金字塔,可以获得具体某一金字塔的3 × 3检测得分。图2给出了从3种窗口尺寸中构建特征图的一个示例。鉴于篇幅所限,我们这里只给出了11个金字塔中的3个金字塔。
图2 规模不同的3个特征金字塔中构建特征图
1.2 基于深度学习架构的推理
图3给出了深度学习架构。整个架构基于图2所示的特征图。我们对同一特征图f采用不同的过滤器Fi然后获得不同的得分图si。在该图中,有2层隐藏层,采用了3个分类器。为了方便起见,我们将输入层得分图s0看成是h0。
图3 深度学习架构
将这些节点连接起来的权重分为3种:①Fi+1表示第i层用于过滤特征图及获得得分图si+1的分类器。②Wh,i表示将隐藏节点hi-1和hi连接起来的权重(转移矩阵)。③Ws,i表示将得分图si和隐藏节点hi连接起来的权重。因为输入s0被看成是h0,所以h0和h1间的权重矩阵表示为Wh,1。
输入特征图f有11个金字塔,每个金字塔为17 × 7 × 36特征。该输入可用于不同层训练的多个分类器中。在推理阶段,分类器Fi+1可对特征图f进行过滤,并输出得分图si+1:
(2)
其中:⊗表示过滤操作。通过利用线性SVM训练而得的分类器F0过滤特征图f,可获得初始得分图s0。F0固定,s0可用作上下文检测得分信息。
利用式(2)求得得分图si后,si和hi-1可与hi中的隐藏节点完全相连,于是有:
(3)
(4)
最后,窗口包含行人的概率为:
(5)
1.3 深度模型的分阶段训练
算法1对训练步骤进行了总结。算法包括两步。首先通过去除所有层中的追加分类器来训练深度模型,以便到达优质初始化点。对经过简化的上述模型进行训练可避免过拟合。然后,挨个增加每一层上的分类器。在每个阶段t,对直到第t层的所有当前分类器进行联合优化。每一轮优化可在先前训练阶段到达的优质初始点周围发现一个更优局部最小值。
步骤1.1(算法1中的第1和2行):采用文献[25]中的逐层无监督预训练方法来训练连环隐藏转移矩阵Wh,i+1。在该步骤中,设置Ws,i+1=0,Fi+1=0且i=0,…,L。
步骤1.2(算法1第3行):BP用于微调所有Wh,i+1,其中Ws,i+1=0,且Fi+1=0。
步骤2.1(算法1第4行):对过滤器Fi+1(i=0,…,L)进行随机初始化,以便搜索出下一步中的区分性信息。
步骤2.2(算法1中的第5~7行):通过BP后向传播逐步对串联过滤器Fi+1(i=0,…,L)进行训练。在阶段t,对直到第t层的分类器Fi+1和权重Ws,i+1(∀i≤t)进行联合更新。
算法1:分阶段训练。
线性SVM滤波器:W0
隐藏层数量:L
输出:转移矩阵:Wh,i+1,Ws,i+1
新滤波器:Fi+1,i=0,…,L
将Ws,i+1和Fi+1中的元素设置为0;
对所有转移矩阵Wh,i+1进行无监督预训练;
通过BP来微调所有转移矩阵Wh,i+1,同时保持Ws,i+1和Fi+1为0;
对Fi+1随机初始化;
fort=0 toLdo
利用BP来更新第0层至第t层间的参数,即Fi+1,Wh,i+1,Ws,i+1,0≤i≤t;
end
输出Wh,i+1,Ws,i+1,Fi+1,i=0,…,L
1.4 理论分析
1.4.1 步骤1的分析
因为Ws,i设为0,故步骤1可看成是利用输入s0、隐藏节点hi和标识y对深度置信网络(DBN)[25]进行训练。步骤1.1用于进行无监督预训练,步骤1.2用于微调。在该步骤中,DBN网络利用线性SVM获得的上下文得分图作为输入来训练样本。该DBN网络可对大部分样本进行正确分类。
1.4.2 步骤2的分析
步骤2训练策略的属性描述如下:
(6)
(7)
将第n个训练样本表示为xn。将其标签估计表示为yn,其真实标签表示为ln。算法1中的步骤2.2对式(7)中的参数Θi进行训练。在循环t开始时,Ws,i+1=0。如果yn=ln,即训练样本已经被正确分类,则对样本xn来说式(7)中的dθi,j为0。因此,先前阶段被正确分类的样本不会影响参数更新。对于被错误分类的样本,估计误差越大,dθi,j的值越大。参数更新主要取决于被错误分类的样本的影响。因此,在训练策略下,每个阶段引入一个新的分类器来帮助处理被错误分类的样本,而正确分类的样本不会对新的分类器产生影响。这就是本文多阶段训练的核心思想。
(2) 在步骤2.2第t阶段对t+1个分类器(即i=0,…,t时它们的参数Θi)进行联合优化,以便这些分类器可更好地互相之间展开协作。
(3) 深度模型可保留特征的上下文信息及检测得分。卷积分类器Fi利用上下文特征(用金字塔覆盖行人周围较大区域的特征),以获得得分图。得分图是第2层上下文信息,我们将得分在局部区域的分布传输给下个隐藏层。不同层中的得分图联合处理分类任务。传统的串联分类器往往丢失这些信息。如果检测窗口在早先串联阶段被否决,则其特征和检测得分无法用于下一阶段。
(4) 整个训练阶段有助于避免过拟合。首先采取非监督方式对转移矩阵Wh,i进行预训练,这可提高泛化能力。有监督分阶段训练可认为是向参数施加正规化约束,即在早期训练策略中要求部分参数为0。在每个阶段,利用先前训练策略到达的优质点对整个网络初始化,追加的滤波器对被错分的硬性样本进行处理。在先前训练策略中有必要设置Ws,t+1=0且Ft+1=0;否则,它将成为标准的BP。在标准的BP中,即使是简单的训练样本也可能对各个分类器造成影响。不会根据它们的难度水平将训练样本分配给不同的分类器。整个模型的参数空间很大,很容易进行过拟合。
2 仿真实验
在训练和测试阶段,利用HOG和CSS特征及一个线性SVM分类器来生成得分图作为底层的输入。利用一个保守阈值来修剪样本,降低计算量。在3×3窗口中生成每一层的得分图,将11个金字塔与对齐后的最大得分图进行融合,作为得分图中心。与文献[14]类似,我们利用对数平均丢失率来衡量总体性能,其中对数平均丢失率表示范围在10-2~100且在对数空间均衡分布的9个FPPI率的均值,并利用文献[14]中的评估代码绘出丢失率和每幅图像的错判量(FPPI)之间的关系。
2.1 总体性能
在如下3个公共数据集上进行实验:Caltech数据集、ETHZ数据集及TUD-Brussels 数据集。我们只关注合适的子集,即含有50像素或更高、未遮挡或部分遮挡的行人图像。深度模型(ContDeepNet)行人检测方法与目前较为典型的行人检测算法做比较:VJ[21], Shapelet[18], PoseInv[14], ConvNet-U-MS[20],FtrMine[11], HikSvm[15], HOG[7], MultiFtr[24], Pls[19],HogLbp[23], LatSvm-V1[12],LatSvm-V2[13],MultiFtr+CSS[22],FPDW[11],ChnFtrs[10],DN-HOG[16],MultiFr+Motion[22],MultiResC[17],CrossTalk[9], Contextual Boost[8]。
2.1.1 Caltech数据集的性能比较
使用Caltech训练数据集作为训练数据,并用Caltech测试数据集进行测试。图4给出了实验结果。被比较算法已经采用了多种特征,比如Haar-like特征、形状子特征( shapelet )、HOG、LBP和CSS。其中,文献[8,13]采用基于部位的模型、文献[7,23]采用线性SVM、文献[15]采用内核SVM、文献[8,9,10,21]采用串联分类器、文献[16,20]采用深度模型、文献[12]中的MultiResC和文献[8]中的上下文增强(Contextual-Boost)算法与本文类似,采用HOG+CSS作为特征。上下文增强(Contextual-Boost)算法虽然采用串联分类器,但是没有对分类器进行联合优化,它们的对数平均丢失率为48%。所有现有算法中,这两种算法的对数平均丢失率最低。与MultiResC和上下文增强(Contextual-Boost)算法相比,ContDeepNet算法的对数平均丢失率下降到45%,性能提升了3%。
图4 Caltech测试数据集的性能比较
2.1.2 ETHZ数据集的性能比较
图5给出了对ETHZ行人数据集的实验结果。与大多数算法利用INRIA训练数据集进行训练并利用ETHZ数据集进行测试类似,深度模型也利用INIRA训练数据集进行训练。ConvNet-U-MS表示文献[20]中给出的卷积网络模型运行结果。ConvNet-U-MS是当前所有算法中对数平均丢失率最低的算法,但是与ConvNet-U-MS相比,ContDeepNet方法的对数平均丢失率为48%,性能提升了2%。ConvNet-U-MS利用一种深度模型来学习低层次特征,但是它既没有利用上下文得分,也没有利用多阶段分类器。
图5 ETHZ数据集的性能比较
2.1.3 TUD-Brussels数据集的性能比较
图6给出了TUD-Brussels行人数据集的实验结果。利用INRIA训练数据集进行模型训练。本文算法的对数平均丢失率为63%。有部分算法的性能优于本文算法。这些算法利用的特征更多。性能最优的MultiFtr+Motion[22]算法利用了运动特征。
图6 TUD数据集的性能比较
2.2 架构比较
采用不同架构时的实验结果,比较两种3层深度网络的性能。第1个网络表示为DeepNetNoFilter,未额外采用分类器。第2种网络即为本文采用了3个额外分类器的ContDeepNet网络。两种网络在其他方面均相同,利用Caltech训练数据集进行训练,利用Caltech测试数据集进行测试。如图7所示,当包含额外分类器时,对数平均丢失率下降了6%。
图8给出了被ContDeepNet正确分类但是被DeepNetNoFilter错误分类的检测样本。这些样本是从两种算法300个检测样本中选择出来的检测得分最高的样本。追加的分类器有助于本文深度模型处理硬性样本。例如,公交灯、轮胎和树干的虚警现象被正确排除,侧视、模糊、被遮挡的行人和行进中的自行车的漏警现象被正确检测出来。
图7 不同深度架构对Caltech测试数据集的性能比较
图8 被DeepNet-NoFilter错误分类但被ContDeepNet正确分类的检测结果
2.3 训练策略的比较
在架构与ContDeepNet相同、但训练策略不同的条件下展开一组实验。其中,BP表示整个网络只利用BP策略进行训练,不经逐层预训练对所有参数随机初始化,然后通过后向传播来对所有转移矩阵和过滤器进行同步更新。PretrainTransferMatrix-BP算法采用文献[26]中的方法对所有转移矩阵进行无监督预训练,然后通过BP方法对整个网络进行微调。Multi-stage表示本文所提训练策略,它采用逐阶段BP策略而不是标准BP策略来训练整个网络。图9的实验结果证明了本文训练策略的有效性。
图9 架构与ContDeep-Net相同但训练策略不同时对Caltech测试数据集的运行结果
3 结 语
提出了一种新的多阶段上下文深度模型,并针对行人检测设计了专门的训练策略。该模型可对串联分类器进行模拟。来自特征图和得分图的金字塔上下文信息可在串联分类器中传播。通过多阶段后向传播,对深度模型中的所有分类器进行联合训练。通过无监督预训练和专门设计的多阶段有监督训练策略,避免过拟合,有效提高了行人检测的准确性。下一步工作重点是对复杂背景下人体动作识别进行研究,提出一种基于定位的人体联合姿态跟踪和动作识别算法。
[1] 苏松志, 李绍滋, 陈淑媛, 等. 行人检测技术综述[J]. 电子学报, 2012, 40(4): 814-820.
[2] 陈 锐, 彭启民. 基于稳定区域梯度方向直方图的行人检测方法[J]. 计算机辅助设计与图形学学报, 2012, 24(3): 372-377.
[3] Benenson R, Mathias M, Timofte R,etal. Pedestrian detection at 100 frames per second[C]∥Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012: 2903-2910.
[4] 种衍文, 匡湖林, 李清泉. 一种基于多特征和机器学习的分级行人检测方法[J]. 自动化学报, 2012, 38(3): 375-381.
[5] 曾波波, 王贵锦, 林行刚. 基于颜色自相似度特征的实时行人检测[J]. 清华大学学报(自然科学版), 2012, 52(4): 571-574.
[6] 田仙仙, 鲍 泓, 徐 成. 一种改进 HOG 特征的行人检测算法[J]. 计算机科学, 2014, 41(9): 320-324.
[7] Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]∥IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR2005). IEEE, 2005: 886-893.
[8] Ding Y, Xiao J. Contextual boost for pedestrian detection[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR2012). IEEE, 2012: 2895-2902.
[9] Dollár P, Appel R, Kienzle W. Crosstalk cascades for frame-rate pedestrian detection [M]. Computer Vision. Springer Berlin Heidelberg, 2012: 645-659.
[10] Dollár P, Tu Z, Perona P,etal. Integral Channel Features [J].BMVC. 2009, 2(3): 510-518.
[11] Dollár P, Tu Z, Tao H,etal. Feature mining for image classification[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR2007). IEEE, 2007: 1-8.
[12] Felzenszwalb P, McAllester D, Ramanan D. A discriminatively trained, multiscale, deformable part model[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR2008). IEEE, 2008: 1-8.
[13] Felzenszwalb P F, Girshick R B, McAllester D,etal. Object detection with discriminatively trained part-based models [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645.
[14] Lin Z, Davis L S. A pose-invariant descriptor for human detection and segmentation [M]. Computer Vision. Springer Berlin Heidelberg, 2008: 423-436.
[15] Maji S, Berg A C, Malik J. Classification using intersection kernel support vector machines is efficient[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2008). IEEE, 2008: 1-8.
[16] Ouyang W, Wang X. A discriminative deep model for pedestrian detection with occlusion handling[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR2012). IEEE, 2012: 3258-3265.
[17] Park D, Ramanan D, Fowlkes C. Multiresolution models for object detection [M]. Computer Vision-ECCV 2010. Springer Berlin Heidelberg, 2010: 241-254.
[18] Sabzmeydani P, Mori G. Detecting pedestrians by learning shapelet features[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR2007). IEEE, 2007: 1-8.
[19] Schwartz W R, Kembhavi A, Harwood D,etal. Human detection using partial least squares analysis[C]∥IEEE 12th international conference on Computer vision. IEEE, 2009: 24-31.
[20] Sermanet P, Kavukcuoglu K, Chintala S,etal. Pedestrian detection with unsupervised multi-stage feature learning[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR2013). IEEE, 2013: 3626-3633.
[21] Viola P, Jones M J, Snow D. Detecting pedestrians using patterns of motion and appearance [J]. International Journal of Computer Vision, 2005, 63(2): 153-161.
[22] Walk S, Majer N, Schindler K,etal. New features and insights for pedestrian detection[C]∥IEEE conference on Computer vision and pattern recognition (CVPR2010). IEEE, 2010: 1030-1037.
[23] Wang X, Han T X, Yan S. An HOG-LBP human detector with partial occlusion handling[C]∥12th International Conference on Computer Vision. IEEE, 2009: 32-39.
[24] Wojek C, Schiele B. A performance evaluation of single and multi-feature people detection [M]. Pattern Recognition. Springer Berlin Heidelberg, 2008: 82-91.
[25] Hinton G, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets [J]. Neural Computation, 2006, 18(7): 1527-1554.
Research on a Pedestrian Detection Scheme Based on Deep Model
GUOQiu-yan1,LIXin2
(1. School of Automotive and Electronic Engineering, Xichang College, Xichang 615013, China;2. Graduate School of Shenzhen, Tsinghua University, Shenzhen 518055, China)
The existing pedestrian detection schemes are based on cascaded classifiers, hence it has too many parameters and low reliability of detection. In this paper, we propose a new deep model that can jointly train multi-stage classifiers through several stages of back propagation to achieve pedestrian detection. It keeps the score map output by a classifier within a local region, and uses it as contextual information to support the decision at the next stage. Through a specific design of the training strategy, this deep architecture is able to simulate the cascaded classifiers by mining hard samples to train the network stage-by-stage. However, each classifier handles samples with different difficulty levels, and unsupervised pre-training and specifically designed stage-wise supervised training are used to regularize the optimization problem for the reliability of pedestrian detection. Both theoretical analysis and experimental results show that the training strategy helps to avoid over-fitting. Experimental results on three datasets (Caltech, ETH and TUD-Brussels) show that the presented approach outperforms the state-of-the-art approaches.
cascaded classifiers; pedestrian detection; deep model; contextual information
2015-07-06
国家自然科学基金项目资助(61371138/F010403)
郭秋滟(1981-),女,四川隆昌人,讲师,研究方向:图像处理、计算机视觉。
E-mail: 929138392@qq.com
TP 391
A
1006-7167(2016)08-0121-06