基于Adaboost算法和颜色特征的公交车辆视频检测
2016-05-31邝先验
邝先验,朱 磊,吴 赟,徐 晨
(江西理工大学电气工程与自动化学院,江西赣州341000)
基于Adaboost算法和颜色特征的公交车辆视频检测
邝先验,朱磊,吴赟,徐晨
(江西理工大学电气工程与自动化学院,江西赣州341000)
摘要:针对城市交通公交车辆视频检测问题,本文建立一种基于Adaboost算法和车窗颜色特征的公交车辆视频检测算法。首先采用前景检测方法寻找运动的车辆,这种方法是对经过滤波、膨胀的三帧差分法和经过滤波、阈值法去阴影、膨胀处理的混合高斯法这两种方法获取的前景进行“与”操作。并对前景检测算法中获取的运动车辆使用Adaboost算法和haar特征训练的分类器进行检测,将公交车辆和大客车车辆与其他小客车车辆进行分类。然后,考虑到公交车辆相对于大客车车辆,其车窗具有明显的用于标示公交线路等信息的特征颜色,采用canny算子边缘检测法,结合连通域处理进行车窗定位,将车窗区域转入HSV颜色空间,统计特征颜色像素占车窗总像素的比率,并与设定的阈值进行比较,若大于该阈值,则判断为公交车辆,否则为非公交车辆。在visual studio 2010和opencv测试平台上,对包含公交车辆的城市交通流视频进行实验,测试结果显示,本文的运动检测算法能较好地适应视频序列中的噪声,比单一的三帧差分或混合高斯法具有更高的鲁棒性,经测试大量包含公交车辆视频序列后获取的canny边缘检测及连通域阈值,能够让车窗定位的准确率达到95%以上,车窗特征颜色的识别算法能够有效、准确地区分公交车辆和大客车车辆,从而实现对公交车辆的检测和识别。
关键词:智能交通系统;公交车辆;视频检测;Adaboost算法;HSV颜色空间
0引言
智能交通系统是将先进的信息、计算机、人工智能、电子及控制技术应用在交通运输中,形成一种提高效率、保护环境、节省能源、安全可靠的综合运输系统。车辆检测技术在智能交通系统中占据重要地位,传统的感应线圈、超声波检测器等车辆检测方法已很难满足成本低廉、可靠性强、使用寿命长的要求。
公交车以其站台固定、定点和廉价的特点,成为大多数人出行的首选交通工具,公交车辆的检测能为城市交通规划、公交车站台停车平均时间提供重要信息。公交优先[1]是智能交通系统的重要组成部分,而公交车辆检测技术是实现公交优先的关键技术。根据检测原理的不同,公交车辆的检测方法主要有[2]:感应线圈检测法、光学检测法、声波检测法、射频( RFID) 检测法、基于GPS的车辆检测法和基于视频的检测法。与其他方法所不同的是基于视频的检测法由于无需在车辆上安装辅助设备,只需在需要检测的地点安装视频摄像头,且目前由于各大城市智能交通系统的建设和完善,视频摄像头在大多数关键地点均已安装,因此,采用视频检测法可以极大减少检测系统的设备使用量,提高现有系统的使用效率。
近年来,随着电子信息、计算机视觉和计算机性能的增强与发展,使基于视频的车辆检测技术得以实现,这种技术具有安装使用方便、无需高昂的设备成本、易维护和性能稳定的优点,从而广泛地应用在智能交通系统中。
运动车辆前景检测是实现目标车辆检测的第一步,对确定目标的大致区域有重要作用。前景提取主要有背景差法[3]、光流法[4]、帧间差法、混合高斯背景建模、前景提取法[5]和组合方法[6]。背景差法是当前视频帧与事先准备的背景参考模型做差运算,获得的差分图即为运动前景,这就要求具有准确的背景参考模型才能获得理想的前景图象,然而对于相机抖动时,这种方法则会产生较大误差。光流法因本身运算量大,不利于实时检测,这种方法在前景提取运用中较为少见。帧间差法是对视频序列中相邻的两帧图像进行差运算来获得前景目标,这种方法只能检测运动物体的轮廓,针对于这种局限性,产生了三帧差分的前景检测方法。混合高斯模型是使用几个高斯分布来表示图像中每个像素的特征,用获取的新一帧图像的每个像素与高斯背景进行匹配,若成功匹配则为背景像素,否则为前景。
提取运动前景后,就能够进行目标车辆的检测。文献[7]使用Adaboost算法和haar特征训练的分类器对运动前景区域进行多尺度检测,实现对车辆的分类。文献[8]首先计算每个前景区域的面积比,接着采用LSD算法对感兴趣区域面积比并符合公交车辆的前景进行宽度的检测,但是要区分面积比和宽度都较为接近的大客车车辆与公交车辆,则很难达理想效果。文献[9]使用直线检测和车牌黄色像素个数阈值相结合的方法,对公交车站的公交车进行检测,取得较好效果,但大客车车辆也具有黄色车牌和直线特征,这种方法较难在混合交通流上取得满意效果。
本文首先采用基于三帧差分和混合高斯模型的运动前景检测算法,提取运动车辆的前景,利用公交车辆在前景区域中面积相对其他车型大的特点,初步标记出运动前景的感兴趣区域,使用训练好的公交车辆分类器对感兴趣区域进行检测。采用车窗特征颜色比较法区分公交车辆和大客车车辆,采用canny算法定位车窗,并统计公交车辆车窗区域特征颜色像素比率,与事先设定的阈值相比较和判断,从而实现对公交车辆的准确识别。
1运动车辆前景检测算法
1.1运动车辆前景检测方法
三帧差分法能够较好地适应光线场景变化带来的影响,但是只能提取运动物体的轮廓,而混合高斯模型能够获得最大化的感兴趣区域,但不能适应光照变化带来的干扰。本文采用一种提取运动车辆的方法,能够有效地抑制噪声和光照变化,该方法将三帧差分法和去阴影获得的混合高斯法得到的2种前景图像分别经过中值滤波和形态学的膨胀操作处理,然后进行“与”的运算,得到最终运动前景图像,运用公交车辆面积和长与宽的比值相对其他车辆大的特点,经连通域处理,标记运动的感兴趣区域。运动车辆预检测并不能准确检测运动目标,只能确定目标的大致区域,供分类器进行具体的检测。
1.2三帧差分前景检测算法
三帧差分法是相邻两帧差分法的一种改进算法,它是对视频序列中连续的三帧图像进行差分运算。三帧差分法弥补了两帧差分法难以检测目标重叠部分造成的空洞现象的缺点,能够较好地检测出实际运动目标的轮廓。具体算法如下:
Step1:读入视频图像序列中连续的三帧图像Ik-1、Ik、Ik+1。利用公式:
(1)
对连续的两帧图像做帧间差分运算。
Step2:设定合适的阈值T对所得的差分图像按以下方法进行二值化处理:
(2)
(3)
Step3:按照方法:
(4)
对二值化图像b(k,k-1)(x,y)和b(k+1,k)(x,y)进行“与”操作得到的Bk(x,y)即为三帧差分法的图像。
1.3混合高斯前景检测算法
在高斯背景中,场景中的每一个像素的值可以由K个高斯成分组成的混合分布来表示,即图像中像素n在t时刻的取值为xn的概率为:
(5)
(6)
(7)
(8)
(9)
(10)
其中α是模型的学习率,ρ为参数的学习率,反映的是高斯分布函数的收敛速度。如果xn与像素的K个高斯分布都不匹配,则混合高斯模型中排在最后面的几个高斯分布将被新的高斯成分所替代,新成分的均值为当前像素值xn,标准差为初始较大值,权重为较小值,剩下的高斯分布保持相同的均值和方差,它们的权重按照式子
(11)
(12)
T为权值阈值。
2Adaboost分类器
Adaboost算法是经过改进的Boosting算法[10],该算法不需要任何弱分类器的先验知识,其核心是针对同一个训练集训练不同的弱分类器,再把这些弱分类器集合成一个更强的最终分类器。
2.1Adaboost算法原理
令样本集S={(x1,y1)…(xt,yt)},其中xn是训练的样本空间,yn是样本类别描述集合,令yn∈{1,-1}(1表示含有公交车的正样本,-1表示不含公交车的负样本),t是样本的总个数,其中正样本数a,负样本数b,满足t=a+b。
①初始化样本权重:
(13)
②对每个e=1,…,E(E为弱分类器个数):
1)归一化权重为:
(14)
对每个特征f,训练弱分类器pf;
2)计算所有特征弱分类器分类错误率:
(15)
3)选取其中最小错误率εe的弱分类器pe;
4)根据这个最佳弱分类器,重新更新权重:
(16)
当dn=0时,表示样本正确分类,dn=1时,则为错误分类,其中βe=εe/(1-εe);
5)最后的强分类器:
(17)
2.2Haar特征
Haar特征是Viola等人提出的用于运动物体检测的一种矩形特征,具有简单、速度快、准确率高的特点,最先被用于人脸识别。Lienhart等人对该特征进行了扩展[11],加入了旋转45°矩形特征,给出了45°特征值的快速算法,提高了Haar特征检测的识别性能。本文在对运动车辆的识别中,采用3种常用的Haar特征:边沿特征、线性特征和中心特征,如图1所示。
图1 常用的Haar特征Fig.1 Common feature of Haar
图2 公交车辆的Haar特征Fig.2 The Haar feature of bus
这些特征模板由2个到3个白色和黑色的矩形组成,其特征值为白色矩形像素之和减去黑色矩形像素之和。对于大小为36×36像素的图像,它所包含的矩形特征数量超过810 000个,要计算所有的矩形特征,将非常耗时。积分图[12]方法只需遍历一次图像就能够求出图像中所有区域像素的和,并将这些数据作为数组元素保存起来,因此图像中任何一个矩形特征的值可以通过搜索数组元素进行简单的运算而求出,这样可减少运算次数,提高检测效率。本文采用提取公交车尾部图像的Haar特征(如图2所示),通过Adaboost算法训练出一个级联分类器,对运动车辆前景中的感兴趣区域进行检测。
3公交车辆车窗特征颜色检测算法
通过上述运动前景和分类器的检测算法,基本上能够识别出与公交车辆形态相似的车辆,如公交车辆、大客车(如旅游客车、企事业单位和部门的内部大客车),接下来需要区分公交车辆和大客车。对比公交车辆和大客车车辆的各自特征,不难发现,公交车辆的前后车窗均有某种特定颜色(国内以红色或绿色为主,如图3)的车标信息,这些车标信息主要用于标示本车的公交线路等信息,而其他大客车的这种特征颜色信息明显更少,因此,可以考虑对车窗的特征颜色数量进行统计并比较,从而识别出公交车辆。首先定位车窗,然后统计得到车窗内特定颜色(本文以红色为例)的像素数量占车窗图像总像素的比率,并与事先设定的像素比率阈值进行比对,若大于该阈值,则认为车辆为公交车辆,否则,为大客车。
图3 公交车辆和大客车的车窗特征Fig.3 Window feature of bus and motor coach
3.1车窗定位
公交车和大客车的车窗像素相对于车窗以外的车辆外壳像素的变化较大,车窗轮廓边缘信息突出,而其他区域这种特征相对车窗较小,选择合适的边缘检测及其阈值,就可定位出车窗的位置。
对分类器检测的车辆进行canny算子[13]的边缘检测:
①对感兴趣区域平滑滤波:图像的一阶导数对噪声是敏感的,使用高斯核函数对图像的感兴趣区域进行平滑滤波,减少噪声。高斯核函数越大,噪声减少得就越明显,同时在边缘检测时也会得到更多的错误。
②计算边缘的幅值:使用水平和垂直方向的Sobel操作计算图像的一阶导数,并且将计算的长度作为“边缘长度”,即:
E(x,y)=|Gx(x,y)|+|Gy(x,y)|。
(18)
③计算边缘的方向角:
(19)
④数字化边缘方向:一旦边缘方向角确定,就可以使数字图像的方向角逼近边缘方向,考虑到像素的任意性,一个像素的边缘方向应该只有4个值0°(左-右方向),45°(左下-右上方向),90°(下-上方向),135°(左上-右下方向)。一般来说,通常逼近这4个方向中最接近的一个。
⑤非极大值抑制:在获取边缘方向之后,将在这个方向上的非极大值抑制掉,并且生成细化的边缘。
⑥双阈值法检测并连接边缘:跟踪没有被抑制的像素,通过阈值法找出边缘像素,canny边缘检测使用了高(T2)和低(T1)两个阈值,边缘像素的确定可按以下方法确定:
当|E(x,y)| 当|E(x,y)|>T2时,像素是边缘像素; 当T1<|E(x,y)| 边缘检测后的车窗区域能形成完整地连通区域,通过寻找连通域的方法,定位车窗的区域(图4)。本文通过对大量包含公交车辆视频序列的图像进行实验,低阈值T1取40,高阈值T2取90。 图4 车窗定位Fig.4 Location of the windows 3.2基于车窗特征颜色的公交车辆识别 本文以车窗内的红色特征颜色为例来判别车辆类别。HSV空间[14]是由A.R.Smith根据颜色直观性创建的一种颜色空间,采用的是用户直观的色彩描述方法,在颜色提取和识别中具有更高的鲁棒性,本文采用HSV空间来统计图像区域内的红色特征颜色值的数量。 首先,对所标记出的车窗区域转入HSV空间,根据红色像素在HSV空间中的范围,遍历车窗区域的所有像素,找出红色像素的像素点(如图5所示),并统计得到该区域总像素点数Nsum和红色像素点数Nred,该车辆的车窗红色像素数量占车窗区域总像素数量的比率为: (20) 然后将rred与比率阈值rth进行比较,若rred≥rth,则该车为公交车,否则非公交车。 rth的确定:采集城市公交系统中的各线路公交车辆前后车窗图片序列,统计出图片序列中每辆公交车车窗的总像素点数Nsum(i)和红色特征颜色的像素点数Nred(i),获得每辆公交车辆车窗红色像素比率r(i)=Nred(i)/Nsum(i),取其最小值rmin=min(r(i)),通常红色像素比率阈值rth可直接取为rmin,考虑到实际视频中由于光照、图片倾斜或车窗污染等原因,该值会有所降低而造成误判,为了降低误判概率,本文将rmin乘以适当的百分比φ(本文取φ=90%),即: rth=rminφ。 (21) 图5 HSV空间车窗红色区域图(右侧)Fig.5 Red area of windows in HSV color space 4实验结果及分析 本文以visual studio 2010为操作平台,结合opencv2.4.8和Matlab 7.0对一段包含公交车的混合交通流视频进行测试,检测流程如图6所示,各项实验结果如下: 图6 公交车辆视频检测流程Fig.6 Flow chart of bus video detection 4.1运动目标检测实验 如图7(a)和(b)所示,右侧由上到下分别是三帧差分法、混合高斯法和本文检测算法对比图(二值图),左边是该种方法经过连通域分析对应的目标检测的效果图(彩色图)。 图7 运动目标检测结果Fig.7 Result of moving object detection 图8 3种方法的前景图Fig.8 The foreground picture of three methods 图8中,由左到右依次为原始图像、三帧差分、混合高斯和本文算法的前景图,实验结果显示三帧差分法只能够提取运动物体的轮廓,前景存在严重的空洞(如图7(a)和(b)所示),不能通过寻找连通域来标记和检测运动车辆,但是该方法能够适应背景的轻微变化,噪声较少(如图8所示)。混合高斯法产生的空洞较少,因此能够在一定程度上准确地检测运动目标的整体(如图7(a)混合高斯法效果图所示),但是受背景变化的影响,对运动车辆的检测存在不稳定性,并且混合高斯法的噪声(如图7(a)和(b)混合高斯法前景图所示)相对明显。本文的方法结合了两种方法的优点,有效地减小各自的缺陷,准确地实现了对运动车辆的检测。 4.2分类器的训练实验 4.2.1样本的提取及归一化 样本包括训练的正样本和负样本,本文选择的正样本是只包含公交车尾部区域的图像,对选择的正样本进行尺寸的归一化,本文的正样本图像大小是45×45像素。负样本是不包含公交车尾部区域的图像,来自于视频序列背景的截图以及少部分其他类型车辆。最后获得训练的正样本1 128张,负样本3 204张。 4.2.2Haar特征提取与训练 对采集的正样本和负样本进行Haar特征的提取,通过Adaboost算法对特征进行训练,最后获得一个由14级强分类器组成的级联分类器。 4.3公交车辆视频检测实验 首先,对运动目标前景检测所获取的感兴趣区域的矩形框进行放大(经大量实验测试,放大倍数取2),将放大的感兴趣区域转为灰度图像,使用本文的分类器和红色像素检测算法,得到最终的检测结果。 对采集的多段包含公交车视频的序列按照本文的方法进行检测,检测部分结果如图9所示: 图9 公交车辆视频检测结果Fig.9 Detection results of bus video 检测视频中包括公交车123辆、小汽车101辆、大客车和货车72辆、电动车42辆,识别结果如表1所示,其中准确识别公交车115辆,小汽车、大客车和货车、电动车错误识别数分别为4、4、0,公交车识别率为93.50%,非目标车辆误检率为3.72%。 表1 公交车辆视频检测结果 5结论 本文针对混合交通流里的公交车辆视频检测问题,首先采用了三帧差分和混合高斯法相结合的运动前景提取算法,根据公交车辆面积和长与宽的比值相对其他车辆大的特点,经连通域处理,标记运动前景中感兴趣区域,过滤掉两轮车及部分小汽车等非目标车辆。基于Adaboost算法,用公交车尾部图像训练出的分类器对感兴趣区域进行检测,最后利用公交车辆车窗内部具有特征颜色(红色或绿色)车标的特点,对分类器检测的结果进行canny边缘检测,定位车窗区域,转向HSV空间,统计特征颜色像素比率,与设定的像素比率阈值相比较,从而区分公交车辆与大客车车辆。实验表明,这种方法能够较好地识别检测出混合交通道路上的公交车辆。 参考文献: [1]郭四玲,韦艳芳,时伟,等.公交车停靠时间的统计分析[J].广西师范大学学报(自然科学版),2006,24(2):5-9. [2]梁乙朝. 公交信号优先技术助力北京公共交通发展[J]. 公路交通科技,2011,28(S1):6-30. [3]屈晶晶,辛云宏. 连续帧间差分与背景差分相融合的运动目标检测方法[J]. 光子学报,2014,43(7):1-8. [4]袁国武,陈志强,龚健,等. 一种结合光流法与三帧差分法的运动目标检测算法[J].小型微型计算机系统,2013,34(3): 668-671. [5]王玮,李红波,吴渝. 一种运动目标阴影轮廓的两步检测算法[J]. 广西师范大学学报(自然科学版),2010,28(3):165-169. [6]邝先验,王成坤,许伦辉. 基于组合前景提取的混合交通两轮车辆视频检测[J]. 交通运输系统工程与信息,2014,14(5): 49-54,73. [7]刘洋,王海辉,向云露,等. 基于改进的Adaboost算法和帧差法的车辆检测方法[J].华中科技大学学报(自然科学版),2013(S1):379-382. [8]凌利. 基于视频的公交车辆检测技术研究[D]. 北京:北方工业大学,2013. [9]肖静文,余志,聂佩林,等. 基于几何与颜色特征的公交车辆视频检测算法[J]. 中山大学学报(自然科学版),2005,44(3):152-154. [10]FREUND Y,SCHAPIRE R E. A desicion-theoretic generalization of on-line learning and an application to boosting [J]. Computational Learning Theory,1995(2):23-37. [11]LIENHART R,MAYDT J.An extended set of Haar-like features for rapid object detection [C]//Proceedings of 2002 International Conference on Image Processing.Rochester, New York,USA:IEEE,2002:I-900-I-903. [12]VIOLA,PAUL, JONES M J. Robust real-time face detection [J].International Journal of Computer Vision,2004(2):137-154. [13]CARNICER M R,SALINAS M R,BOLIVAR Y E,et al. A novel method to look for the hysteresis thresholds for the Canny edge detector[J]. Pattern Recognition,2011,44(6):1201-1211. [14]ZHONG Q U,LIN Lidan,GAO Tengfei,et al. An improved keyframe extraction methed based on HSV colour space[J]. Journal of Software,2013,8(7):1751-1758. (责任编辑李小玲) Bus Video Detection Based on Adaboost Algorithm and Color Feature KUANG Xianyan,ZHU Lei,WU Yun,XU Chen (School of Electrical Engineering and Automation, Jiangxi University of Science and Technology,Ganzhou Jiangxi 341000, China) Abstract:A bus video detection method for urban public transport is proposed based on AdaBoost algorithm and window color feature. Firstly, the foreground detection method is used to find the motion of vehicle. This method is the "and" operation of two methods: three frame difference method of filtering and expansion and the mixed Gauss method after filtering, threshold method to remove shadow and expansion processing, whcih classifies vehicles in motion detected by the foreground detection algorithm into public transport vehicles, buses and other passenger vehicles, using the Adaboost algorithm and Haar feature training classifie. Compared with the large bus, the window of a public transport vehicle has obvious color characteristics indicating the bus lines and other information. The edge detection of canny operator and connected domain processing are used to locate the windows, then transfer the windows area into HSV color space, count the ratio of characteristic color pixels from windows area, and compare the ratio with threshold that has been set. If the ratio is larger than threshold, then believe it is a public transport bus, otherwise it is not. The experiments are performed using the traffic flow video that contains bus in a city. Experimental results show that, motion detection algorithm in this article has better adaptation with noise from video sequence than Three-frame differencing method or Gaussian mixture model. The threshold of connected domain processing and canny operator from a lot of video sequence contains bus lead to window positioning accuracy rate of more than 95%. Algorithm of characteristic color of windows can distinguish bus and motor coach effectively and accurately. Keywords:intelligent transportation systems;bus vehicles;video detection;Adaboost algorithm;HSV color space 中图分类号:U491.123 文献标志码:A 文章编号:1001-6600(2016)01-0009-10 基金项目:国家自然科学基金资助项目(51268017,61263024,61463020);江西省教育厅科技项目(GJJ13427) 收稿日期:2015-10-08 doi:10.16088/j.issn.1001-6600.2016.01.002 通信联系人:邝先验(1976—),男,江西南康人,江西理工大学副教授,博士。E-mail:xianyankuang@163.com