APP下载

基于类Haar特征和AdaBoost的车辆识别技术

2016-06-22张雪芹李志前董明杰

张雪芹, 方 婷, 李志前, 董明杰

(1.华东理工大学信息科学与工程学院,上海 200237;2.苏州千视通视觉科技股份有限公司,江苏 苏州 215000)

基于类Haar特征和AdaBoost的车辆识别技术

张雪芹1,方婷1,李志前2,董明杰1

(1.华东理工大学信息科学与工程学院,上海 200237;2.苏州千视通视觉科技股份有限公司,江苏 苏州 215000)

摘要:在海量的监控视频中,快速、准确地识别车辆对公安破案和追踪具有重要的研究意义。通过提取车辆的类Haar特征,采用AdaBoost方法构建分类器可以实现监控视频中的车辆识别。针对原始算法误检率较高的问题,提出了采用背景差分去除背景干扰,以及采用目标对象差分法进行二次识别的两种改进算法。实验结果表明,两种改进算法都能够有效地降低误检率,提高检测率,并且对不同交通场景下的监控视频具有很好的检测效果。

关键词:监控视频; 车辆检测; 类Haar特征; AdaBoost分类器

近年来,视频监控系统已经广泛应用于智能安防、交通安全、城市治安等多个领域,成为侦查破案的重要辅助手段。在视频监控中,通常最受关注的监控对象是场景中的行人和车辆。目前,在事故发生后,公安部门往往只能通过人工查看录像进行求证,人工成本高且效率低下。智能视频监控可以自动检测不同的物体,发现视频中的行人与车辆[1],从而能够更加有效地协助安全人员进行后续处理。

目前,国内外对车辆识别与检测的研究很多,如Komaropoulos等[2]描述了一种基于α-稳定统计模型的新型k最近邻(k-Nearest Neighbor,k-NN)分类算法进行车辆分类。Zhou等[3]先利用主成分分析(Principle Component Analysis,PCA)进行特征提取,然后采用支持向量机(Support Vector Machine,SVM)分类器进行识别,对于有阴影或者光线昏暗等情况下的运动车辆检测具有不错的识别效果。文学志等[4]针对Adaboost算法训练时间过长的问题,对弱分类器训练进行改进,降低训练时间的同时提高了识别性能。Arrospide等[5]将Log-Gabor应用于基于图像的车辆识别,具有很好的识别效果。刘洋等[6]采用帧间差分法提取运动区域,再用AdaBoost进行分类,不但减小了干扰区域,而且加快了速度。田寅等[7]采用一种基于多传感器进行特征融合的算法,对中大型车辆识别得到了很好的分类效果。

本文基于类Haar特征与AdaBoost分类器[8-9],结合运动目标检测方法对监控视频中的车辆进行自动识别,提出了两种改进算法:

(1)在AdaBoost分类的基础上,采用目标对象差分法进行二次识别,提高了准确率;

(2)采用背景差分法提取运动区域,消除背景中干扰物体的影响,再通过AdaBoost分类器进行分类,提高检测率的同时,缩短检测时间。

为了减少光照的影响,两种算法都进行了背景更新。实验结果表明改进后的算法识别性能更好,误检率更低。

1算法简介

1.1类Haar特征

1.1.1特征定义类Haar特征是Papageorgiou等[10-11]提出的一种矩形特征,由Viola与Jones[8-9]应用于人脸识别系统。它定义为图像中相邻区域内像素灰度值总和的差,即白色区域的像素和减去黑色区域的像素和,它反映了白色区域到黑色区域的梯度变化情况。Lienhart 等[12-13]进一步扩展类Haar矩形特征库,使得扩展后的特征集为{f1,f2,…,f15},共15种,如图1所示。

1.1.2积分图像积分图是只需遍历一次图像即可求出图形中所有区域的像素和的方法。由于类Haar特征的特征值计算量非常大,因此在特征的计算中引入了积分图的思想,加快计算图像特征值的速度。

积分图定义如下:

(1)

图1 类Haar矩形特征

式中:I(x′,y′)表示图像(x′,y′)位置的灰度像素值;SAT(x,y)为对应点的积分图像值。

得到积分图后,以特征模版f1为例,对于图2所示区域A和B,可计算出其Haar特征值。设:

(2)

其中:SAT(i1,j1)为矩形块A的像素和;SAT(i2,j2)为矩形块A和B的像素和,它们分别是点(i1,j1),(i2,j2)的积分图像值。则其特征值为

(3)

图2 特征值计算示例

引入积分图后,矩形特征的特征值计算与图像的坐标值无关,只需根据模板的4个端点坐标即可得到特征值,极大地提高了计算速度。

1.2AdaBoost分类器

AdaBoost(Adaptive Boosting)是Boosting算法中的一种,由Freund[14]提出,它可对同一个样本集合训练不同的弱分类器,然后将其进行加权整合,得到一个强分类器。

AdaBoost分类器通过不断改变样本数据分布生成。算法如下:

给定训练样本集合

其中:N为样本总数;xi代表图像的特征;yi为类标,yi={0,1},i=1,2,…,N。

(2)对于t=1,2,…,T,其中T为弱分类器个数,循环执行如下操作:

①归一化权重:

(4)

②对于每一个特征j,训练一个弱分类器:

(5)

其中:Pj取±1,表示不等式的方向;fj(x)表示特征值;θj为阈值。

③计算弱分类器的加权(qt)错误率εj:

(6)

④挑选误差最小的弱分类器ht(x):

(7)

⑤按最优弱分类器ht(x)更新样本权值:

(8)

(3)形成强分类器:

(9)

由算法训练步骤可知,初始时,对每个样本赋予相同的权值,之后每一次迭代更新权值时,提高错分样本的权值,降低正确分类样本的权值。根据新的样本数据,重新训练并得到新的弱分类器。最后将弱分类器通过加权整合成强分类器。

1.3类Haar特征和AdaBoost分类器的车辆检测算法

类Haar特征能够较好地描述车辆的结构以及边缘特征,而在样本数据库不够理想的情况下,AdaBoost分类器能够通过不断自我调整形成强分类器。因此本文提出基于类Haar特征和AdaBoost分类器(HaBoost算法)对监控视频中的车辆进行自动识别。

训练时,对正样本与负样本分别提取Haar特征,并送入AdaBoost分类器进行训练,得到分类模型。检测时,对待测视频序列的每一帧图片顺序提取Haar特征,送入AdaBoost分类器进行检测,并对检测出车辆的部位进行矩形抠取标注。

2两种改进的HaBoost算法

2.1概述

HaBoost算法能够有效获取车辆特征,从监控画面识别出车辆。但是由于监控视频中的运动车辆往往出现在复杂的背景环境中,导致该方法的误报率较高。

考虑监控视频的背景相对固定,本文提出两种去除背景图像干扰、降低误报率的改进算法:TD_HaBoost算法和BD_HaBoost算法。

考虑到背景中光照的变化,为了得到更好的差分效果,两种算法都采用了背景更新,即将视频逐帧灰度化,与灰度化背景图像进行背景差分并进行二值化处理,得到二值化图像。遍历二值化图像统计白色像素点的个数,当总个数大于阈值时,判断为运动帧,否则为非运动帧。不断将非运动帧更新为背景图像,以此来减少光照的影响。

2.2TD_HaBoost算法

TD_HaBoost算法对监控画面进行两次识别。首先,通过HaBoost算法对监控视频进行第1次车辆识别,并且通过矩形框“抠出”识别到的目标对象。其次,将矩形框标出的车辆区域与背景图片中对应位置区域进行灰度像素相减,计算出像素差值总和。设定阈值,当差值总和大于阈值时,则表示第1次识别出的区域为动态运动目标——车辆。在此算法中同样采取了背景更新。

TD_HaBoost算法框架如图3所示。TD_HaBoost算法描述如下:

(1) 将视频每一帧与背景图像灰度化得到Ik-ray(x,y)和Dray(x,y),将其相减得到差分图像MDk-ray(x,y)。

(10)

(2)将步骤(1)中得到的差分结果二值化,得到二值化矩阵。

(11)

其中,TS为二值化阈值。

(3)遍历二值化结果矩阵,统计白色像素点pix(x,y)个数P。

(4)当P

(5)提取运动帧Ik(x,y)的Haar特征,进行分类。假设该帧检测到N个目标对象。

(6)对每个目标对象区域操作如下:

①获取目标对象区域左上角坐标以及区域的宽和高;

②根据坐标位置找到背景图像对应区域;

③对目标对象以及背景图像对应区域进行灰度化,并将对应像素点的灰度值相减;

④计算灰度差值总和Z,如Z>T2,则判断目标对象为运动车辆,否则为非运动车辆。

(7)对输入视频的第2帧~第M帧,重复上述步骤。

通过目标对象差分法,可以排除被误检为车辆的静态物体,从而降低误检率。

图3 TD_HaBoost算法框架

2.3BD_HaBoost算法

2.3.1概述BD_HaBoost算法的基本思想是:选取背景帧,将视频逐帧与背景帧进行背景差分,剔除非运动帧的同时将其更新为背景帧,提取运动目标区域,然后对此区域提取类Haar特征,最后通过AdaBoost分类器进行车辆识别。

BD_HaBoost算法框架如图4所示。

BD_HaBoost算法描述如下:

图4 BD_HaBoost算法框架

(1) 将视频的每一帧与背景图像灰度化得到Ik-ray(x,y)和Dray(x,y),将其相减得到差分图像MDk-ray(x,y)。

(2)将步骤(1)中得到的差分图像进行二值化得到MDk(x,y)。

(3)遍历二值化结果矩阵,统计白色像素点pix(x,y)个数P。

(4)当P

(5)根据差分图像MDk-ray(x,y)找到运动目标区域,提取帧Ik(x,y)的运动目标区域。

(6)对运动目标区域进行Haar特征提取。

(7)用AdaBoost分类器分类。

通过运用背景差分法,可以消除掉复杂背景图片中干扰物体对识别的影响,降低运动目标误检率。同时,只对运动目标区域提取类Haar特征可以加快检测速度。

2.3.3多运动目标提取算法由于视频中存在多个车辆出现的情况,因此本文提出了多个运动目标提取的方法,可以依次提取运动物体并提取Haar特征,从而进行分类。

算法描述如下:

(1)在二值化图像MDk-ray(x,y)上遍历像素点,直至找到白色像素点pix(x,y)。

(2)根据白色像素点坐标(x,y),以及事先选取的长、宽,在Ik(x,y)上“抠出”一长方形区域。

(3)对此区域提取Haar特征并进行Adaboost分类。

(4)将MDk-ray(x,y)上对应的长方形区域像素置0,从pix(x,y)下一个像素点开始遍历,找到白色像素点pix(x,y)后重复步骤2~步骤4。

3实验数据及分析

3.1实验数据与环境描述

本文共收集了6 000张训练样本,其中包括1 000张车辆样本,5 000张非车辆样本。车辆样本包括轿车、货车、面包车、越野车等,颜色有白色、黑色、红色、灰色和蓝色等,非车辆样本包括道路路面、建筑物、窗户栏杆、树木、桥梁河流、行人等。

实验中采用了3段视频,第1段视频是直行公路上的监控视频,第2段视频是交叉路口的监控视频,第3段视频是大型购物中心外的视频。各段视频信息如表1所示。

表1 视频信息

实验采用的CPU为Intel(R) Core(TM) i5-3230M,操作系统为Windows 7,开发环境为Visual Studio2010,图像处理包为OpenCV2.4.7。

3.2实验与结论

为评估3种算法的性能,实验设置指标如下:车辆检测率hr、虚警率fr、漏报率mr,定义如下:

(12)

其中:m1表示测试样本中含有车辆的总帧数;m2表示测试样本中不含车辆的总帧数;x1表示正确检测出车辆的帧数;x2表示正确检测出的不含车辆帧数;y1表示未准确检出车辆的帧数;y2表示将非车辆误识别为车辆的帧数。

为了验证本文提出的改进算法的有效性,将本文算法与类Haar+BP神经网络+背景差分算法(HaBP)、HOG+SVM+背景差分算法(HoSVM)进行了比较,实验结果如表2、表3所示。

从表2可以看出,与HaBP、HoSVM和HaBoost算法相比,TD_HaBoost和BD_HaBoost算法检测率更高,误报率和漏报率低。

表2 各算法性能比较

表3 各算法检测时间比较

表3给出了5种算法对3段视频进行检测时的单帧平均检测时间。

表3中,TD_HaBoost算法的检测时间包含了背景更新以及二次识别的时间,BD_HaBoost算法的检测时间包含了背景差分以及背景更新的时间。

可以看出,BD_HaBoost算法由于剔除了非运动帧,并且只对运动目标区域提取特征,检测时间最短。TD_HaBoost算法由于对运动帧进行第2次判别,检测时间较长。HoSVM算法检测时间最长。HaBoost与HaBP检测时间相近。对TD_HaBoost算法,通过在读取视频时加大帧率,仍然可以达到正常视频播放的流畅效果(25帧/s)。

为了对实验结果有一个更直观的展示,图5给出了应用本文提出的两种改进算法分别对3段视频进行车辆识别的结果示例。

图5 识别结果实例

4结论

通过提取类Haar特征,采用AdaBoost算法可以对监控视频中的车辆进行有效识别。但是该方法受到视频画面中背景复杂性的影响,误检率高。在此算法的基础上,本文提出了两种改进算法(TD_HaBoost和BD_HaBoost),通过对运动目标对象进行识别,排除背景的干扰,大大降低了误报率,提高了检测正确性,并且通过背景更新减少了光照的影响。这两种改进算法对不同的检测环境及不同的车辆姿态,都取得了不错的效果。

参考文献:

[1]高东发,黎绍发.一种基于视频监控的运动目标快速分类方法[J].计算机应用与软件,2006,23(10):36-38.

[2]KOMAROPULOS E M,TSAKALIDES P.A novel KNN classifier for acoustic vehicle classification based on alpha-stable statistical modeling[C]//Proceeding of the 15th Workshop on Statistical Signal Processing.Cardiff:IEEE,2009:1-4.

[3]ZHOU Jie,GAO Dashan,ZHANG David.Moving vehicle detection for automatic traffic monitoring[J].IEEE Transactions on Vehicular Technology,2007,56(1):51-59.

[4]文学志,方巍,郑钰辉.一种基于类Haar特征和改进AdaBoost分类器的车辆识别方法[J].电子学报,2011,39(5):1121-1126.

[5]ARROSPIDE J,SAGADO L.Log-Gabor filters for image-based vehicle verification[J].IEEE Transactions on Image Processing,2013,22(6):2286-2295.

[6]刘洋,王海晖,向云露,等.基于改进的 Adaboost 算法和帧差法的车辆检测方法[J].华中科技大学学报(自然科学版),2013,41(1):379-382.

[7]田寅,董宏辉,贾利民等.用于车辆分类的多传感器车型特征融合算法[J].华南理工大学学报(自然科学版),2014,42(3):52-57.

[8]VIOLA P,JONES M.Robust real-time object detection[J].International Journal of Computer Vision,2001,4:34-47.

[9]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.USA:IEEE,2001:511-518.

[10]PAPAPEORGIOU C,POGGIO T.A trainable system for object detection[J].International Journal of Computer Vision,2000,38(1):15-33.

[11]PAPAPEORGIOU C,OREN M,POGGIO T.A general framework for object detection[C]//IEEE International Conference on Computer Vision.Bombay:IEEE,1998:555-562.

[12]LIENHART R,MAYDT J.An extended set of Haar-like features for rapid object detection[C]//Proceedings of 2002 International Conference on Image Processing.USA:IEEE,2002,:900-903.Bombay:IEEE,1998:555-562.

[13]LIENHART R,KURANOV A,PISAREVSKY V.Empirical analysis of detection cascades of boosted classifiers for rapid object detection[C]//Proceedings of the 25th German Pattern Recognition Symposium.Germany:IEEE,2003:297-304.

[14]FREUND Y,SCHAPIRE R E.Experiments with a new boosting algorithm[C]//Proceedings of the 13th Conference on Machine Learning.USA:Morgan Kaufmann,1996:148-156.

Vehicle Recognition Technology Based on Haar-Like Feature and AdaBoost

ZHANG Xue-qin1,FANG Ting1,LI Zhi-qian2,DONG Ming-jie1

(1.School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China; 2.Suzhou Thousand of Vision Visual Technology Company Limited,Suzhou 215000,Jiangsu,China)

Abstract:It is quite important for solving crimes and tracking the suspect to find the vehicle quickly and accurately from huge volume video records.By extracting Haar-like features and adopting AdaBoost algorithm to construct classifier,one can identify vehicle in surveillance video.Aiming at the high false alarm rate of the original algorithm,this paper proposes two improved methods:the one adopts the background difference algorithm to remove the interference of background,and the other utilizes the target object difference algorithm to achieve the second identification.Experimental results have shown that the proposed algorithms can reduce the false alarm rate and improve the detection rate.Moreover,the two algorithms have better detection results for surveillance videos in different traffic scenes.

Key words:video surveillance; detecting vehicle; Haar-like feature; AdaBoost classifier

收稿日期:2015-07-17

基金项目:国家自然科学基金(61371150)

作者简介:张雪芹(1972-),女,博士,副教授,主要研究方向为网络安全、模式识别。E-mail:zxq@ecust.edu.cn

文章编号:1006-3080(2016)02-0260-06

DOI:10.14135/j.cnki.1006-3080.2016.02.017

中图分类号:TP391.41

文献标志码:A