2. 天津市智能计算及软件新技术重点实验室(天津理工大学), 天津 300384
2. Tianjin Key Laboratory of Intelligence Computing and Novel Software Technology(Tianjin University of Technology), Tianjin 300384, China
公交车是我国目前主要的公共交通工具之一,也是人群聚集的区域。对公交车的乘客进行统计与分析,对于改善公交服务、保障公共安全等有重要的意义。随着车载监控摄像头的普及和计算机视觉技术的发展,研究人员开始尝试利用人脸检测技术对公交乘客进行统计,但由于公交车上的摄录视频有光照变化、模糊、遮挡、低分辨率和姿势变化等各种问题(公交车摄录情况如图 1所示),这仍是一个尚未解决的难题。
2001年Viola等[1]提取Haar特征和积分图提出基于AdaBoost算法的检测器,实现了实时运行,其在正脸和接近正脸上有很好的效果,是人脸检测史上的里程碑,但是它在拥挤的环境中性能较差。ViolaJones检测器之后的人脸检测算法,主要聚集在提取不同类型的特征[2-4]和构建不同的级联结构[5]。其中各种各样的复杂特征[6-8]一定程度上可以提升人脸检测的性能,但产生的大量特征[9-10]需要花费很长时间去训练。另一个发展是学习不同的级联结构[11-12]来适应多角度的人脸变化,对每一个特定的人脸角度(或角度范围)学习一个级联分类器,然而在公交车的场景下,人脸姿态极为多变,定义所有的人脸姿态并不容易,并且随着复杂级联结构中分类器数目的增长,计算花费也会增长,此外这种方法还需要手工标注每一张训练图片中人脸的姿态。2010年Felzeswarb等[13]提出可变形部件模型(Deformable Part Model, DPM),DPM连续获得目标检测类比赛(Visual Object Class,VOC)2007— 2009的检测冠军,但是DPM相对复杂,检测速度很慢。DPM之后出现了基于深度学习的目标检测,深度学习可以学到较好的特征集,但是这样的特征并不直观。2014年Marku等[14]提出基于像素强度对比的目标检测(Pixel intensity comparison-based object detection, Pico)算法,它提取点对的特征,对两个像素点进行对比。这种方式提取的特征比Haar特征有效,运算时间更短,但是Pico特征的设计过于简单,对模糊低分辨率和受到遮挡图像的鲁棒性较差。2016年,Liao等[15]提出了归一化的像素差异(Normalized Pixel Difference, NPD)特征,与Pico特征同属于像素级特征; 但是NPD特征对于低分辨率和光照等问题具有良好的鲁棒性,将其与决策树结合,不需要提前对人脸进行标注,就可以将不同角度的人脸自动划分到树分类器的叶子节点上。
在上述检测算法的训练过程中,准确率是衡量分类效果的标准,但有时准确率并不能真正评价分类效果。因为当错误分类发生时,不同误分类带来的损失不同,不同误分类的权重也不同。对公交车环境下的人脸检测而言,漏检一个人脸窗口的代价比误检一个人脸窗口的代价更大。本文在文献[15]的基础上,引入代价敏感学习策略,构造代价敏感深度决策树来实现公交环境下的鲁棒人脸检测。
1 研究框架本文提取NPD特征,用代价敏感深度决策树处理公交车环境中任意姿态和遮挡问题的人脸集合。规定对正样本误分类的代价大于对负样本的误分类代价。利用代价敏感的Gentle Adaboost训练出多棵深度决策树,将所有树级联,最终构成代价敏感深度决策树。系统的流程如图 2所示。
本章主要介绍NPD特征和深度决策树。深度决策树可以学习NPD特征的最优子集,使其组合成具有较强区别能力的特征。树分类器中的叶子节点可以自动划分不同视角的人脸,而且不需要提前标注训练的人脸图片的角度。
2.1 NPD特征NPD特征表示两个像素值之间的相对差异,NPD特征的定义为:
$f\left( {x,y} \right) = \left( {x - y} \right)/\left( {x + y} \right)$ | (1) |
其中:x, y≥0是像素值,当x=y=0时,x点与y点之间不存在灰度差异,所以定义x=y=0时, f(0, 0) =0。
f(x, y)的正负符号表示两个点之间的灰度关系,f(x, y)的阶数表示两个点相对的灰度差异。同|x-y|这种表达方式相比,NPD特征具有尺度不变性、较强的光照鲁棒性。公交车环境下光照变化无处不在,所以这点特性非常重要。由于NPD特征仅仅采用了图像中的任意2个点作特征值计算,特征的表达更加灵活,相比Haar-like矩形特征和Pico特征,NPD特征对于姿态变换、遮挡以及模糊和低分辨率等都更具鲁棒性。除此之外,NPD特征具有反对称性,无论f(x, y)或f(y, x)都可以进行特征表示,所以特征空间能够相应减小。其还拥有有界性,由式(1) 可知,界限为[-1, 1],有界性有助于对NPD特征直方图化,并据此实现一个决策树分类器。
2.2 深度决策树经典的决策树算法[16]主要有在1986年Quinlan提出的ID3算法和1993年提出的C4.5算法,以及在1984年Breiman等提出的分类与回归树算法(Classification And Regression Tree,CART)。上述决策树算法在分裂节点时都是由单阈值决定的,忽略了树内部的分支流动顺序信息,而且这种阈值方式不能获取到不同特征维度之间的联系。
2015年Liao等[15]基于CART算法提出深度二次树(Deep Quadratic Tree,DQT)算法,是一种新的树节点分裂的计算方法:(ax2+bx+c) < t,其中,t为分裂阈值,通过一元二次方程的特性设置系数。此函数检测x是否处于中,[θ1、θ2]是已知的两个阈值,同x < t单边界的比较,该方法考虑到了两个边界,可以实现更好的分割。结合本文选用的NPD特征设置,可以获得三种特征结构,分别是:
$ - 1 \le \frac{{x - y}}{{x + y}} \le \theta < 0$ | (2) |
$0 < \theta \le \frac{{x - y}}{{x + y}} \le 1$ | (3) |
${\theta _1} \le \frac{{x - y}}{{x + y}} \le {\theta _2}$ | (4) |
式(2) 和式(3) 分别表示了x的亮度低于y和x的亮度高于y,这两种结构用传统的单边界比较方式就可以表达,但是x < t这种方式不能表达式(4)。对于脸部和背景图片的比较,脸部有可能比背景暗也有可能比背景亮,需要式(4) 这种结构,式(2) 和式(3) 这两种结构不能描述完全,因此要采用二次深度树。
3 基于代价敏感的深度决策树深度决策树以获得最小错误率为最终目标,不考虑正确率之外的其他影响因素。深度决策树将所有分类错误造成的代价都视为相同的代价,在构建模型时,叶子节点倾向于将样例标记为训练集中样本数量较多的类。对于本文研究的公交车环境下的人脸检测而言,人脸相对于整个背景是一个小概率事件,对于这样的小概率事件,可以认为漏检一个人脸窗口的代价比误检一个人脸窗口的代价更大。在公交车环境中,正样本的分布多种多样,而且某种情形下的正样本可能样本量比较少,对于这样的难例,只有加大对正样本的权重,才能更好地检测出正例困难样本。基于此本文引入了代价敏感学习,构造代价敏感深度决策树。
代价敏感决策树算法的研究[17]有两种:一种是在决策树算法中使用代价敏感的叶节点分裂准则,建立单个的代价敏感决策树模型; 另一种是在决策树算法的基础上附加代价敏感集成学习元算法,建立多棵决策树对分类结果加权求和获得最终的分类模型。第二种方法的通用性较好,本文所做的研究主要是在深度决策树的基础上,附加Gentle Adaboost算法[18],并改进Gentle Adaboost算法的权重因子[19],使其在正样本错分率大于负样本错分率时,加大正样本权重。建立多棵深度决策树后用Soft-Cascade[20]级联,获得最终的代价敏感深度决策树。
Gentle Adaboost算法进行权重更新时,只重视对样本的整体分类能力,以加权均方误差最小化的准则训练深度决策树。其权重更新的公式为:
${w_{t + 1,i}} = {w_{t,i}} \cdot {\rm{exp}}\left( { - {y_i} \cdot {h_t}\left( {{x_i}} \right)} \right)$ | (5) |
其中:yi=1为人脸正样本,yi=-1为非人脸负样本,xi代表第i个样本,ht(xi)代表第t棵深度决策树的分类结果。对训练样本分类正确时yi·hi(xi)>0所以wt+1, i < wt, i,该样本的权重值降低; 对训练样本分类错误时yi·hi(xi) < 0,所以wt+1, i>wt, i该样本的权重值增加。样本权重更新的目的是加大分类错误的样本占有的权重比例,使下一棵深度决策树分类时,将重点放在被错分的样本上。
根据公交车环境下正样本的分类错误的代价大于负样本的分类错误代价,对Gentle Adaboost算法进行改造。当正样本的错分率大于负样本的错分率时,为了体现正样本被错误分类时比负样本付出的代价更大,可对正样本的权重进行如下的改变:
${w_{t + 1,i}} = {C_t} \cdot {w_{t,i}} \cdot \exp \left( { - {y_i} \cdot {h_t}\left( {{x_i}} \right)} \right)$ | (6) |
其中:Ct>1称为代价敏感因子,且Ct=exp((FPR-FNR)·k),FNR为正样本的错分率,FPR为负样本的错分率, k>0为调节因子。通常当负样本比正样本的数量越多,k的取值越大,使Ct的大小可以根据正负样本错分率进行调整,在本实验过程中k取值为1。权重更新方式改变后加大了正样本的权重,分类器更加重视对正样本的分类。但是毫无顾虑地增加正样本权重,会造成权重分配的过适应,为了避免在训练过程中因困难样本而造成权重分布严重扭曲,需要采取措施来限制样本权重的过度增加。在实验的过程中定义样本最大权重为100。
${w_{t,i}}{\rm{ = }}\min \left( {\exp \left( { - {y_i} \cdot {h_t}\left( {{x_i}} \right)} \right),maxWeight} \right)$ | (7) |
代价敏感深度决策树的权重更新流程如下:
初始化权重:
${w_{0,j}} = \left\{ {\begin{array}{*{20}{c}} {1/2m,{y_i} = 1,\;m为正样本数}\\ {1/2n,{y_i} = - 1,\;n为负样本数} \end{array}} \right.$ | (8) |
1) 采用双阈值训练一棵深度决策树。
2) 计算本轮样本的权重平均值ut和权重标准差σt:
${u_t} = \frac{1}{{m + n}}\mathop \sum \limits_{i = 1}^{m + n} {w_{t,i}}$ | (9) |
${\sigma _t} = \sqrt {\frac{1}{{m + n}}\mathop \sum \limits_{i = 1}^{m + n} {{\left( {{w_{t,i}} - {u_i}} \right)}^2}} $ | (10) |
3) 计算当前深度决策树对应的FNR、FPR值。
4) 更新权重:
如果wt, i-ut>3σt同时yi·hi(xi) < 0,则wt+1, i=wt, i,否则
$\begin{array}{l} {w_{t + 1,i}} = \\ \left\{ {\begin{array}{*{20}{l}} \begin{array}{l} {w_{t,i}} \times \exp \left( { - {y_i} \times {h_i}\left( {{x_i}} \right)} \right)\left( {FPR - FNR} \right)·1,\\ \quad \quad \quad \quad \quad \quad \quad \quad FPR > FNR \end{array}\\ \begin{array}{l} {w_{t,i}} \times \exp \left( { - {y_i} \times {h_i}\left( {{x_i}} \right)} \right),\\ \quad \quad \quad \quad \quad \quad \quad \quad FPR < FNR \end{array} \end{array}} \right. \end{array}$ | (11) |
5) 深度决策树的个数加1,权重归一化
为了验证算法的有效性,分别在公共数据集和本文建立的公交车视频数据集上对提出的算法进行测试。
4.1 基于FDDB数据集的性能评价学习算法模型使用带标注的人脸数据集(Annotated Facial Landmarks in the Wild,AFLW)[21]训练建立模型,使用FDDB数据集评估模型。对AFLW图集作变换,最终训练过程中生成20万正例。采用无人脸背景图替换掉AFLW所有图片中的人脸部分作为负例,每轮作随机采用,最终生成20万负例。FDDB是无约束自然场景人脸检测数据集,该数据集包含了从各个不同自然场景下不面孔拍摄的2845幅图像中的5171个人脸,每个人脸都有其规定的坐标位置。
本文采用的人脸模板是24×24,设定DQT的最大深度是8,当到达树的最大深度或者到达当前叶子节点的正例与负例总量过小时,停止当前这棵DQT的训练。在一棵树内的训练条件下,不会更新权重,数据会在这棵DQT内不断被划分,每个分支节点都依据被划分到的数据训练NPD特征。当一棵树训练完成,对正样本敏感的Gentle Adaboost进行权重更新,权重更新完成后进行下一棵树的训练。所有NPD节点组合成一个DQT,所有DQT组合成一个Soft-Cascade的分类器。本文训练得到最终的检测器包含1000个DQT。分类器结构如图 5所示。
本文通过评检测率和受试者工作特征曲线(Receiver Operating Characteristic curve,ROC)来评估本文建立的决策树模型。Jain等[22]提出了一种评价代码,用于不同人脸检测算法的比较, 并且还提出了基于ROC的两种性能评价指标:离散得分指标(discrete score metric)和连续得分指标(continuous score metric),分别对应着人脸的粗匹配(coarse matching)和精确匹配(precise matching)。表 1是将本文训练得出的基于NPD的原始分类器和改进后具有代价敏感的分类器与FDDB数据集上提供的Pico、ViolaJones、Mikolajczyk[23]、XZJY[24]、Koestinger等[25]方法在FP等于0、10和100时检测率比较。考虑到本文目的是研究一种训练简单、不需要提前标注人脸姿态信息、检测速度较快的方法,不与训练复杂的深度学习类人脸检测方法和检测速度缓慢的DPM算法进行比较。
图 6和图 7是本文方法在两种性能指标下人脸检测准确率召回率曲线。曲线上的点越接近(0,1) 表示检测器性能越好。因Koestinger方法也是从AFLW数据集上学习模型,在ROC曲线图上加入了Koestinger方法的比较,本文方法在两种指标下性能都是最好的。
NPD特征仅包含两个像素点,并且可以使用查找表技术,使得每个NPD特征的求值只需要访问很少的内存。因NPD特征本身的优越性,训练得出的分类器检测速度比较快, 并且采用代价敏感Gentle Adaboost后,在训练过程中加大正样本的权重,删除较小权重的样本,对于同一个训练集,改进后的算法使最终参与训练的样本数减少,训练出的最终分类器体积减少。在CPU为i7-6700 3.40 GHz, 内存为8 GB的计算机上检测出一张人脸的平均时间如表 2所示,改进后方法的检测速度得到提升。
本文采集了3万张公交车环境下的样本,样本来源于两辆公交车从早上7点到下午5点的不同时间段的21个公交车视频。其中1.5万张为正样本,涵盖了不同光照条件下不同姿态的人脸。1.5万张正样本加入到随机选取出的1.5万张AFLW数据图片中,将这3万张样本进行变换生成30万张正样本。本文自制的部分正负样本如图 8、9所示。
在训练时依旧采用24×24的人脸模板,设定深度决策树的最大深度为8,训练过程中用代价敏感Gentle Adaboost更新时,设定每个样本的最大权重100。最终本文方法训练出1500棵深度决策树。为方便训练模型的评估,本文从现有的公交车视频中截取131帧图像,包括283张人脸作为测试集。在检测时,采用固定待检图像不变、等比放大检测窗口的方法。相比以往最小检测窗口设定为24×24,最大窗口设定为3956×3956的方式,本文结合公交车摄录实际情况将最小的检测窗口尺寸设定为41×41,以1.2倍增幅递增,最大窗口设定为532×532,实验表明这种设定方式有效提升了检测速度,检出率和检测到每张脸所用的时间如表 3、4所示。改进后的模型在公交车上应用时具有更高的检出率,误检窗口有所增加,但是检测时间有所降低。
在公交车摄录截图的部分检测结果如图 10所示。
本文提出了一种基于代价敏感深度决策树的人脸检测方法,在深度决策树级联的学习过程中引入代价敏感学习,减小了图像的漏检率。与现有的深度决策树的方法比较,该方法训练得出的分类器体积减小,检测速度提升,更适合公交车环境下的人脸检测。虽然该算法可以检测出遮挡严重的脸部,但是公交车环境下还有一部分乘客刷卡后马上背对摄像头完全无法露出脸部,因此本文可能后续的工作包括:与跟踪算法相结合,进一步提升乘客的检出率,达到更加精确的公交乘客流量统计。
[1] | VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]//Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2003:511-518. |
[2] | LIENHART R, MAYDT J. An extended set of Haar-like features for rapid object detection[C]//Proceedings of the 2002 International Conference on Image Processing. Piscataway, NJ:IEEE, 2002:900-903. |
[3] | LI S, ZHU L, ZHANG Z, et al. Statistical learning of multi-view face detection[C]//Proceedings of the 7th European Conference on Computer Vision. London:Springer-Verlag, 2002:67-81. |
[4] | JONES M, VIOLA P. Fast multi-view face detection[C]//Proceedings of the 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2003:276-286 |
[5] | WU B, AI H, HUANG C et al. Fast rotation invariant multi-view face detection based on real AdaBoost[C]//Proceedings of the 6th IEEE International Conference on Automatic Face and Gesture Recognition. Washington, DC:IEEE Computer Society, 2004:79-84. |
[6] | FROBA B, ERNST A. Face detection with the modified census transform[C]//Proceedings of the 6th IEEE International Conference on Automatic Face and Gesture Recognition. Washington, DC:IEEE Computer Society, 2004:91-96. |
[7] | JIN H, LIU Q, LU H, et al. Face detection using improved LBP under Bayesian framework[C]//Proceedings of the 2004 IEEE First Symposium on Multi-Agent Security and Survivability. Washington, DC:IEEE Computer Society, 2004:306-309. |
[8] | MITA T, KANEKO T, HORI O. Joint Haar-like features for face detection[C]//Proceedings of the 10th IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 2005:1619-1626. |
[9] | ZHANG H, GAO W, CHEN X, et al. Object detection using spatial histogram features[J]. Image and Vision Computing, 2006, 24(4): 327-341. DOI:10.1016/j.imavis.2005.11.010 |
[10] | ZHANG L, CHU R, XIANG S, et al. Face detection based on multi-block LBP representation[C]//Proceedings of the 2007 International Conference on Advances in Biometrics. Berlin:Springer-Verlag, 2007:11-18. |
[11] | LI S, ZHANG Z. FloatBoost learning and statistical face detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(9): 11-12. |
[12] | HUANG C, AI H, LI Y, et al. High-performance rotation invariant multiview face detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(4): 671-686. DOI:10.1109/TPAMI.2007.1011 |
[13] | FELZENSZWALB P F, GIRSHICK R B, MCALLESTER 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 |
[14] | MARKUŠ N, FRLJAK M, PANDŽIC I S, et al. Object detection with pixel intensity comparisons organized in decision trees[J]. Computer Science, 2013, 14(4): 2657-2662. |
[15] | LIAO S, JAIN A K, LI S Z. A. Fast and accurate unconstrained face detector[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016, 38(2): 211. |
[16] | 李航. 统计学习方法[M]. 北京: 清华大学出版社, 2012: 55-75. (LI H. Statistical Learning Methods[M]. Beijing: Tsinghua University Press, 2012: 55-75.) |
[17] | 李秋洁, 茅耀斌, 叶曙光, 等. 代价敏感Boosting算法研究[J]. 南京理工大学学报(自然科学版), 2013, 37(1): 23-28. (LI Q J, MAO Y B, YE S G, et al. Cost-sensitive Boosting algorithm[J]. Journal of Nanjing University of Science and Technology, 2013, 37(1): 23-28.) |
[18] | 曹二奎. 基于Gentle Adaboost的人脸检测算法研究[D]. 西安: 西安电子科技大学, 2013: 49-60. (CAO E K. Research on face detection algorithm based on Gentle Adaboost[D]. Xi'an:Xidian University, 2013:49-60.) http://cdmd.cnki.com.cn/Article/CDMD-10701-1013303948.htm |
[19] | 曹莹, 苗启广, 刘家辰, 等. 具有Fisher一致性的代价敏感Boosting算法[J]. 软件学报, 2013, 24(11): 2584-2596. (CAO Y, MIAO Q G, LIU J C, et al. Fisher consistent cost sensitive Boosting algorithm[J]. Journal of Software, 2013, 24(11): 2584-2596.) |
[20] | BOURDEV L, BRANDT J. Robust object detection via soft cascade[C]//Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2005:236-243. |
[21] | KÖSTINGER M, WOHLHART P, ROTH P M, et al. Annotated facial landmarks in the wild:a large-scale, real-world database for facial landmark localization[C]//Proceedings of the 2011 IEEE International Conference on Computer Vision Workshops. Piscataway, NJ:IEEE, 2011:2144-2151. |
[22] | JAIN V, LEARNED-MILLER E. FDDB:a benchmark for face detection in unconstrained settings[EB/OL].[2016-11-20]. http://www.cics.umass.edu/~elm/papers/fddb.pdf. |
[23] | MIKOLAJCZYK K, SCHMID C, ZISSERMAN A. Human detection based on a probabilistic assembly of robust part detectors[C]//Proceedings of the 8th European Conference on Computer Vision. Berlin:Springer-Verlag, 2004:69-82. |
[24] | SHEN X, LIN Z, BRANDT J et al. Detecting and aligning faces by image retrieval[C]//Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2013:3460-3467. |
[25] | KÖSTINGER M, WOHLHART P, ROTH P M, et al. Robust face detection by simple means[EB/OL].[2016-11-20]. http://dagm2012.icg.tugraz.at/cvaw12/procs/02_Koestinger_cvaw2012.pdf. |