基于MapReduce的公路视频图像车型分类研究
2016-06-24许晓珑
许晓珑, 丁 箐, 白 天, 叶 勇, 石 竹
(1.福建省厦门市公路局 信息处,福建 厦门 361008; 2.中国科学技术大学 软件学院,安徽 合肥 230051)
基于MapReduce的公路视频图像车型分类研究
许晓珑1, 丁箐2, 白天2, 叶勇2, 石竹2
(1.福建省厦门市公路局 信息处,福建 厦门 361008; 2.中国科学技术大学 软件学院,安徽 合肥 230051)
摘要:分析公路视频图像,从而对经过的车辆进行较高精度的分类,是一个颇且实用价值的课题。如何在保证分类精度的同时提高系统性能,无疑是一个具有挑战性的任务。提出了一个多特征融合的分类框架,结合车辆的全局几何特征、SIFT局部特征,以及Gabor纹理特征对车辆进行分类,提高了分类精度;为了提高系统的性能,设计了基于MapReduce的并行算法,通过对图像分块,实现数据并行。实验结果表明,该方案能够在提高分类精度的基础上仍然保持较高的系统性能。
关键词:车型分类; 多特征融合; MapReduce
鉴于目前普通公路上视频监控摄像头越来越多,分辨率也越来越高,如何充分利用这些视频监控摄像头来对公路交通流量进行统计并以较高的精度进行车型分类,能够节约交通量调查工作的开支,减轻交通量自动观测设备的维护工作,极大地提高交通量调查的效率,具有极其重要价值和意义。
1国内外概况及发展趋势
针对车辆类型的识别技术核心主要包含两个方面,即车辆特征的提取,以及分类算法的选择。车辆特征主要包括几何形状特征、边缘特征、颜色特征、纹理特征等;采用的分类算法主要包括神经网络、支持向量机、粒子群方法和决策树、K-Means聚类算法等。车辆的几何特征识别算法相对简洁,但算法实际应用时受外界各种因素影响较大,车辆分类特征元素主要是车辆的几何特征如车头宽高比、长高比、顶宽比等。如陶青萍等人[1]通过分析车辆的顶长比和长高比为特征,采用模糊神经网络作为分类器对车辆进行分类,霍炜等人[2]则采用综合车辆的顶长比、空间占有率、形状复杂度等几何特征,使用BP神经网络来识别车辆类型。Hsieh等人[3]利用车辆大小和线性特征将车辆粗略分类,再利用车辆斜上边缘特征进一步分类,采用的分类器类似贝叶斯分类器,一个创新点是基于多个帧来识别车辆类型。李波等[4]通过选取车辆大小、形状、边缘特征等相应的特征来识别类型,但使用了基于粒子群方法和决策树的分类器。周爱军等[5]则先得到车辆边缘信息,然后利用Harris算法检测车辆角点,最后通过计算角点的Hausdorff距离来识别车辆,但分类的车型少。G. Fung等人[6]则针对具有较大分辨率的摄录机所摄录的图像,利用车辆移动中出现的各种角点进行重建进而识别,因此对摄录机的精度要求较高。W.Sinatra等人[7]则利用在人脸识别中常用的PCA方法和加权LDA方法提取机动车视频图像特征, 采用支持向量机对车型进行识别。马文华等[8]也采用PCA提取图像全局特征,然后使用SIFT、Surf算法提取局部特征点,同样选择了支持向量机作为分类器。也有些学者采用了使用车辆局部特征来识别车辆的方法,如秦克胜等人[9]将车轮模拟为圆形,车身模拟为梯形,使用Hough变换来检测这两者,然后使用支持向量机分类,但算法只能识别车辆的侧面图像,且受环境干扰大,识别率不高。Zafar等通过提取不同子带的特征来提高识别率[10],黄灿[11]采用了Sift算法检测目标车辆图像的车脸局部特征,但算法性能较差,识别速度不高。其后续工作还采用了Gabor滤波提取车辆排气孔区域的纹理特征,然后将Gabor跟SURF局部特征融合起来。Iqbal等人[12]则结合了Sift和Sobel算法提取局部特征,由于特征维数较高,算法性能较差,且能够识别的车型种类并不多。
基于车辆纹理特征的识别方法则通过提取区域纹理特征,根据不同种类车辆在纹理特征上的差异进行识别。从理论上来说该方法可以对车辆进行更准确的分类,但实际应用时选择合适的纹理特征并不容易,如果要求较高图像质量,往往会导致算法性能有较大程度的下降。如马蓓,张乐等人[13]使用灰度共生矩阵对车辆进行纹理分析,利用“最小距离分类”对车辆类型进行识别,但如果待识别图像的分辨率有较大变化,算法提取的纹理特征就会相应有较大误差,识别率有很大的降低。张阳等人[14]则提取LBP纹理特征,分类器使用基于HIK的支持向量机,但同样存在对图像分辨率依赖严重的问题。由于信息熵特征可以很好地反映车身灰度内容的空间位置信息,D. R.Lim等人[15]则提出抽取Gabor轮廓特征,但是Gabor特征数据量巨大,如果减少特征维数,在提高实时性的同时降低了车型识别的准确率。康维新等人[16]提取了80辆目标车型的 Gabor特征,采用BP神经网络进行分类。
综上所述,可以看到车型识别问题从本质上来说是一个基于多维特征进行模式识别的问题,目前并没有任何一个特征能够很好地适应各种不同的视频信息。因此为了准确地识别车型,需要尽可能多地提取特征。但是对于分类算法来说,随着特征维数的增多,网络结构复杂度和训练时间将大幅度增大,考虑到系统的实时性要求,其应用价值将大大降低。因此如何在尽可能提高特征维数的情况下,仍然能够保证应用的性能满足实际需求,就成为项目能否成功的关键因素。
2多特征融合分类框架
图1显示了项目中对车辆进行识别的多特征融合分类框架的基本流程,通过视频监控器采集的交通视频已经过初步的处理,形成原始图像。需要对该原始图像首先进行预处理,该预处理进行必要的图像去噪、车辆切分等操作。
图1 特征融合分类流程
根据图像前视图、侧视图、俯视图、后视图等类型,抽取不同的特征。在本文中笔者针对前视图抽取的车辆几何特征为“车头宽高比”,即车头宽度和高度的比值。单纯使用车辆的几何特征来识别精度不高,受限严重,因此在实际操作中采用了车辆全局几何特征结合局部特征的方式,具体来说,根据图像类型,同时抽取车辆外形几何特征,以及基于SIFT算法提取的车头局部特征,再结合车脸的Gabor纹理特征,最终得到M+N+1个特征向量:1 个全局特征向量,M个SIFT局部特征向量,以及N个Gabor局部特征向量。采用归一化互相关方法来计算对应特征向量的相似度,然后采用最近邻法进行分类。将针对车辆全局几何特征的分类器称为集合特征分类器,针对SIFT以及Gabor局部特征向量的分类器分别称为SIFT特征分类器和Gabor特征分类器,最后采用加权求和的方式在相似度的层面上并行集成所有的分类器。具体公式如下
(1)
3特征提取并行化
可以发现,多特征融合分类框架在实际运用中提取车辆的几何特征相对来说复杂度较低,但基于SIFT提取特征以及提取Gabor特征相对复杂,导致系统实时性有较大问题,而提高性能的一个很有效的手段就是算法并行化,以往也存在相关的SIFT或Gabor并行化的研究[17],但总的来说比较复杂,很难由没有经验的程序员完成。而MapReduce是目前云计算领域最经典的分布式并行计算编程模型,其类似于传统的Master/Slave程序,属于数据并行编程的范畴,但MapReduce使得程序员可以将主要精力放在如何编写Map和Reduce函数上,其他并行计算中的复杂问题诸如进程间通信、分布式存储、任务调度、容错等都交给MapReduce系统处理,在很大程度上降低了并行计算的编程难度。因此笔者考虑采用MapReduce并行编程框架来有效地提高SIFT算法、以及Gabor变换的运行效率。
3.1并行化框架
SIFT算法和Gabor变换一般采用金字塔模型,即采用不同分辨率来获取同一个图像的多尺度表达,模型图像越靠近下层尺寸越大,相应分辨率越高、尺度越细,因此可以描述车辆图像更多细节;越往上层,图像尺寸和分辨率越低、尺度越粗,因此越为概括。在多特征融合分类框架中利用金字塔模型实现对于多特征在不同尺度空间的提取。
提取SIFT和Gabor局部特征一般仅需使用相应的局部区域数据,因此本质上算法在数据空间具有很好的并行性。首先将高度为Height、宽度为Width的图像划分为高度宽限制值L的M×N数据块,其中M=⎣Height/L」+1;N=⎣Width/L」+1;由于SIFT特征提取空间是对图像高斯金字塔进行连续采样,相邻的金字塔上下两层的行列分辨率折半减少,因此图像的尺寸以4次方减小,如果数据块划分不恰当的话会导致并行结果和串行结果不一致,因此必须对数据块划分加以限制,即M和N必须是某常数限制值L的整数倍,其中L=2σ-2;σ是金字塔的层数。另外,SIFT特征提取过程中需要使用领域数据,对于某个检测点的极值比较,就是对其所有相邻点的比较过程,即一方面需要和它同层的8个相邻点比较,另一方面要和其上下相邻两层锁对应的2×9个点比较,来实现极值点的检测。并行算法执行过程中需要进程间通信获得所需的数据,系统需要有一个Reduce过程来解决上述的通信问题。因此本方案采用两个MapReduce过程来实现特征提取,算法流程图如图2所示。
图2 SIFT及Gabor特征提取并行化流程
3.2算法步骤
本节给出详细的算法步骤。
步骤1:首先对图像进行预处理,按前面所述原则进行数据划分,以文件形式存放于Hadoop系统中。
步骤2:第一次的Map过程,将分块的图像文件作为输入,系统启动两个并行线程,一个线程构造高斯尺度金字塔;另一个线程对图像金字塔模型的每一层提取Gabor特征。具体方式如下:
假设I(x,y) 为原始图像,则其在尺度空间σ的定义为
L(x,y,σ)=G(x,y,σ)×I(x,y)
(2)
其中,G(x,y,σ)是在金字塔尺度σ下的高斯函数卷积核。
对于Gabor特征的提取,具体做法是对图像金字塔模型的每一层提取Gabor特征,对车头图像来说,一共进行4个方向的Gabor变化,即{0°,45°,90°,135°},定义Gabor小波核函数ψ(x,y,k),其中k是Gabor内核的方向和尺度,kμ,v=kvexp (iΦμ),其中kv是采样尺度,Φμ是采样方向,则对于图像I(x,y),其金字塔第σ层图像P(x,y;σ)在第i个方向上提取的Gabor特征Gi(x,y,σ)为第i个方向的Gabor滤波与图像的卷积操作
Gi(x,y,σ)=I(x,y,σ)*ψi
(3)
步骤3:第一次Reduce过程,主要集中于SIFT特征提取过程中需要使用的领域数据交换,即每个进程将自身生成的高斯尺度金字塔的每层的最外周的像素点信息进行数据交换。
for(i =0; i<σ;i++ ) {//σ是金字塔的层数
write (k, hashMapk);
}
(k,hashMapk)是键值对,其中k为该进程处理的数据块的索引,对应的hashMapk是采用hashMap保存的像素点信息,其数据格式为(σi,arraym,n),其中σi为对应的金字塔层数,m,n为像素点的空间坐标。
步骤4:第二次的Map过程,集中于尺度空间的SIFT特征点检测以及每个像素点Gabor能量的计算。如前面所属,SIFT算法中极值点的监测,就是每个采样点和其所有相邻点的比较过程。结合自身数据和第一次Reduce得到的领域数据,实现极值点的检测。
对于Gabor能量的计算,每个像素点(x,y)的能量中每个像素点的能量E(x,y)定义如下
E(x,y)=[GR]2+[GL]2
(4)
其中:GR和GL分别对应Gabor特征Gi(x,y,σ)的实部和虚部。根据E(x,y)分别计算 Gabor的4个方向{0°,45°,90°,135°}的Gabor幅值响应值总和,得到向量(S1,S2,S3,S4),再通过计算向量间距离最近者匹配。
步骤5:第二次Reduce过程,生成SIFT描述符,结合Gabor能量得到最终输出的特征向量。
4实验结果
国家目前并没有明确颁布基于车辆外形分类的国家标准。按照高速公路观测站交通流量统计表中的车型类别,如表1 所示,将车型分为8种,即小客、大客、拖挂、小货、中货、大货、特大货和集装箱。
表1车型分类标准
类别12345678车型小客小货中货大货特大货集装箱拖挂大客
XX市公路局在其所辖市区各路段设置了大量的交通监控摄像头,这些摄像头精度有较大的差别,摄像角度相差很大,且不同时间段录制的视频无论是光线、背景等条件也有很大的区别。笔者随机地从不同的路段实地录制的监控录像根据不同时间段截取时长30mins的交通监控视频,并从中手动抠取以上8个类别的样本,按照正视图、侧视图、后视图区分,每类各200个,共计1 600个样本。计算环境为Core i7处理器,8 Gbyte内存,Linux操作系统。图3所示为需要进行车型分类的基础视频中随机摘取的视频图像,公路为涵洞口附近的双向四车道,该视频录制于阴天,所以光线较差。图4为程序对图像进行切分后所生成的车辆图片。
图3 基于视频的原始图片
图4 切分后车辆图片
首先利用高斯混合模型GMM获取动态背景,然后利用差分法对车辆所在区域进行二值化处理,再运用Canny边缘检测算法分割图像,从而获得图4所得切分后的单个车辆区域,最后对获得的车辆区域提取各种特征。表2显示了在复杂条件下的各算法分类的综合准确率,数据为对随机抽取的80个视频进行分类的结果。由于部分视频像素较低,且有的视频背景较为复杂,夜晚环境下车辆大灯照明对图像识别有较大的影响,因此各种特征提取算法应用到车辆分类中准确率都不是很高,但能看到采用多种特征融合的方案对于分类准确率有较大幅度的提高。
表2各算法分类准确率 %
算法SIFTGabor几何特征多特征融合准确率63.2461.5137.3881.33
接下来检验采用MapReduce并行化后对应用执行时间的影响,将Hadoop系统部署在相同配置机器共16台,表3显示了对100个从视频中随机摘取的帧图像进行特征提取所需时间的平均值。
表3各算法性能 s
算法单台机器16台机器图像分为4块16台机器图像分为16块SIFT52.48——Gabor47.35——几何特征0.12——多特征融合102.3561.2421.25
可以看到,对于单台机器来说,采用并行化并不能提高系统性能,虽然从理论上来说,单台机器并行线程也能够提高系统性能,但由于MapReduce并行化采用的是文件系统实现通信,因此对性能损失是比较大的。但当机器数目增加后,线程并行处理能力得到了释放,系统的处理时间有较大的缩短,当图像分为16块后,所有的机器都能够参与图像的特征提取,处理时间进一步降低。但是从加速比来看,相对于传统的多处理机来说,还是有所不足,考虑到MapReduce的易用性,牺牲部分性能还是值得的。
5小结
根据视频监控录像实现公路车流量分析和车型分类、识别以及计数在现实世界中有着广泛的应用,是一个非常有实用价值的课题。目前已经存在不少方法来实现车辆的识别,但由于车辆图片的背景复杂、车辆类型众多,无论是采用全局特征还是局部特征,算法或者识别率较低或者性能较差。本文提出了一个多特征融合的分类框架,结合车辆的全局几何特征、SIFT局部特征、以及Gabor纹理特征对车辆进行分类,提高了分类精度。为了在提高分类精度的同时保证足够的系统性能,设计了基于MapReduce的并行算法,通过对图像分块,实现数据并行。实验结果显示本文设计基本能够满足实际需求。
目前的分类算法是采用比较简单的欧氏距离向量最近邻法,使用实现多特征的融合,后期笔者计划采用BP神经网络,将多特征分别作为BP神经网的输入,使用机器学习期望实现更高的识别率。另外,多特征的机器学习会使得系统性能急剧降低,所以并行化BP神经网络的学习过程将是下一步工作的另一个重点。
参考文献:
[1]陶青萍, 陶白云. 基于模糊神经网络的汽车类型自动识别分类系统[J]. 计算机工程与应用, 1998, 34(11):78-81.
[2]霍炜,刘大维,王江涛. 复杂背景下的车型自动分类研究[J].青岛理工大学学报,2008,29(1): 107-115.
[3]HSIEH J W,YU S H,CHEN Y S, et al. An automatic traffic surveillance system for vehicle tracking and classification[J]. IEEE transactions on intelligent transportation systems,2006,7(2):175-187.
[4]LI BO,ZENG Z Y,CHEN J X. Vehicle classification and tracking based on particle swarm optimization and meanshift[C]//International Conference on Advances in Computer Science and Engineering.[S.l.]:IEEE Press,2010:417-422.
[5]周爱军,杜宇人.基于视频图像Harris角点检测的车型识别[J].扬州大学学报(自然科学版),2009,18(3):13-15.
[6]FUNG G,YUNG N,PANG G. Vehicle shape approximation from motion for visual traffic surveillance [C]//IEEE Conference on Intelligent Transport System.[S.l.]:IEEE Press,2008,18(2):608-613.
[7]SINATRA W,SUYKENS J A K. Vehicle recognition based on support vector machine[C]//International Symposium on Distributed Computing and Applications to Business, Engineering and Science.Stockholm:[s.n.], 2010:179-182.
[8]MA W H, MIAO Z J,ZHANG Q.Vehicle classification based on multi-feature fusion[C]//International Conference on Wireless, Mobile & Multimedia Networks (ICWMMN) .[S.l.]:IEEE Press,2013: 215-219.
[9]秦克胜.基于图像处理的车型识别技术研究[J].北京理工大学学报,2009,9(1):9-11.
[10]ZAFARI,EDIRISINGHEEA,ACARBS.Localizedcontourletfeaturesinvehiclemakesandmodelrecognition[J].Electronicandimaging, 2009, 22(1):74-76.
[11]黄灿.基于局部特征的车辆识别[J].中国图象图形学报,2010,20(1):14-16.
[12]IQBALU,ZAMIRSW,SHAHIDMH.Imagebasedvehicletypeidentification[C]//Proc.ofthe2thIEEEInt.ConferenceonInformationandEmergingTechnologies.Cairo:[s.n.],2010:252-255.
[13]马蓓,张乐.基于纹理特征的汽车车型识别[J].电子科技,2010,8(7):31-33.
[14]ZHANGY,WANGJQ,FUW,etal.Specificvehicledetectionandtrackinginroadenvironment[C]//3rdInternationalConferenceonInternetMultimediaComputingandService,ICIMCS2011.[S.l.]:IEEEPress,2011:182-186.
[15]LIMDR,GUNTOROAT.CarrecognitionusingGaborfilterfeatureextraction[J].Circuitsandsystems,2009,6(2):453-455.
[16]KANGWX,SHENGZ.Trailing:vehiclevideoretrievalbasedonKalmanandOpenCV[C]//The3thInternationalConferenceonFutureBiomedicalInformationEngineering.[S.l.]:IEEEPress,2011:78-81.
[17]姜桂圆,张桂玲,张大坤.SIFT特征分布式并行提取算法[J].计算机研究与发展,2012,49(5): 1130-1141.
许晓珑(1985— ),硕士,高级工程师,主要研究方向为数据挖掘.;
丁箐(1972— ),博士,讲师,主要研究方向为无线网络、分布式计算;
白天(1975— ),博士,讲师,主要研究方向为图像处理与分析。
责任编辑:闫雯雯
Vehicle classification based on highway video using MapReduce programming model
XU Xiaolong1, DING Qing2, BAI Tian2, YE Yong2, SHI Zhu2
(1.InformationOffice,highwayadministrationofXiamen,FujianXiamen361008,China;2.SchoolofSoftwareEngineering,UniversityofScienceandTechnologyofChina,Hefei230051,China)
Abstract:Vehicle classification with a higher accuracy based on highway video, using image analysis technology is a very valuable subject. However, how to improve system performance while ensuring the classification accuracy is undoubtedly a challenging task. Since both global features and local features are essential to classification, a multi-feature fusion classification framework is presented, which combines with global geometric features, SIFT, and Gabor local features to improve the classification accuracy. In order to improve system performance, a parallel algorithm based on MapReduce programming model is designed. Experimental results show that this scheme can improve the classification accuracy and still maintain a high system performance.
Key words:vehicle classification; multi-feature fusion; MapReduce
中图分类号:TP391.4
文献标志码:A
DOI:10.16280/j.videoe.2016.03.024
基金项目:国家自然科学基金项目(61379130)
作者简介:
收稿日期:2015-07-22
文献引用格式:许晓珑, 丁箐, 白天,等. 基于MapReduce的公路视频图像车型分类研究[J].电视技术,2016,40(3):111-115.
XU X L, DING Q, BAI T,et al. Vehicle classification based on highway video using mapreduce programming model[J].Video engineering,2016,40(3):111-115.