【学习笔记】模拟设计(1):基于Bag-of-Features算法的车辆检测研究

 

2016年微型机与应用第1期作者:梁炳春1,2,孙韶媛1,2,彭宝1,2,赵海涛3  摘要:车辆检测已成为交...



2016年微型机与应用第1期

作者:梁炳春1,2,孙韶媛1,2,彭宝1,2,赵海涛3

 摘要:车辆检测已成为交通运输工程(ACC)和先进辅助驾驶系统(ADAS)中的核心技术之一。该算法利用车辆的边缘特征与BagofFeatures(BoF)模型的融合对前方运动车辆进行实时检测,主要包含车辆假设存在区域生成和假设区域验证两部分。首先,对图像进行预处理后利用Sobel边缘检测处理得到车辆假设存在的区域;然后,利用BagofFeatures的K最近邻域算法对假设存在区域进行验证。该算法与其他算法最大的区别在于将边缘和BagofFeatures相结合来提高检测率。通过对实际道路视频进行测试,结果表明,该方法能够实时准确地检测出道路上前方运动车辆。

0引言

车辆已成为人们日常生活中的必需品。然而,由车辆交通事故所导致的死亡人数、经济损失等也都在逐年递增。因此,研究先进的辅助驾驶系统变得越来越有意义,而车辆检测作为先进辅助驾驶系统中的核心技术势必会成为近些年来研究的重点。

近几年,关于车辆实时检测的研究日益增多,其所用方法也多种多样。如参考文献[1]基于车辆底部的阴影特征对车辆进行检测;文献[2]使用车辆的角点特征进行车辆的检测;文献[3]中Syed Jahanzeb Hussain Pirzada等人利用Canny边缘检测和BoF特征相结合对前方运动车辆进行检测;文献[4]中Matthews等人通过检测车辆的垂直边缘,得到了车辆左右边缘的位置。在图像处理中通过边缘检测能够有效地提取出车辆假设存在的初始区域,为了在检测过程中能有效滤除虚警目标提高检测的准确性,从而增加了对假设存在区域进行验证的步骤。因此,本文提出了通过Sobel检测算子进行边缘检测生成车辆假设存在区域的方法。但是,仅仅使用边缘不能够准确地实现较高的检测率。所以,增加了验证级算法,即利用BagofFeatures(BoF)的K最近邻域算法对区域进行验证。

1车辆检测方法设计

本文提出的算法主要包含两个步骤:首先,对图像进行预处理后使用Sobel边缘检测提取出车辆假设存在的区域;然后,利用BoF的K最近邻域算法对假设区域进行验证以排除虚警目标,提高车辆检测的准确性。主算法流程如图1所示。



2车辆假设存在

边缘是图像最基本的特征之一,也是目标物体与背景图像的分界,其包含很多重要的信息,包括方向、形状、阶跃性质等[5]。因此,使用Sobel边缘检测算子提取出车辆假设存在的区域对提高整个车辆检测系统的实时性和准确性有很大的作用。

2.1Sobel边缘检测算子

边缘作为物体的一个重要特征,携带了图像中目标物体的大量重要信息,因此边缘检测在图像处理中的目标检测和识别领域具有重要的研究价值。边缘检测算子主要包含Canny算子、Robert算子、Prewitt算子和Sobel算子等[6]。其中Sobel算子凭借其算法简单、计算量小、速度快等优势得到了广泛的应用。所以,本文选用Sobel检测算子对车辆边缘进行检测。

Sobel算子的基本原理是利用水平模板和垂直模板对一些离散的数据(图像)进行邻域平均或加权平均运算,从而检测出图像的边缘点。Sobel算子模板如图2所示,包含两组3×3的矩阵,分别为横向及纵向。将其与图像作平面卷积运算,即可分别得出横向和纵向的亮度差分近似值。其公式如式(1):



其中,A为原始图像;Gx和Gy分别代表经纵向和横向边缘检测的图像。



图像的每一个像素的梯度值可以由横向及纵向梯度近似值结合式(2)计算:



梯度方向可由式(3)计算得到:



经过Sobel算子对图像进行边缘检测处理后的结果如图3(b)所示。



  2.2车辆假设存在区域的提取

为了提高整个检测过程的实时性,该方法先提取出感兴趣区域(ROI)。ROI区域的生成首先是将灰度化的图像经过Sobel边缘检测后,根据视觉上近大远小的客观规律,获知图像相应区域的车辆高度等参数的先验知识;再由地面的视野最远点出发,缩小车辆的搜索范围,框定地面部分类似梯形的车辆搜索区域,大大减少了外界其他复杂纹理的干扰,得到车辆假设存在的区域。提取出的假设区域结果用白色矩形方框标记出来,如图4所示。



3假设存在区域的验证

本文使用的车辆检测方法对车辆假设存在区域的验证十分重要,它能有效滤除虚警目标以提高检测的准确性。BoF算法是目标检测中运用比较广泛的技术之一,因此本文使用BoF算法对假设区域进行验证,其算法框架如图5所示[7]。



 3.1Bag-of-Features算法概述

Bag-of-Features (BoF) 的算法思想来源于Bag-of-Words模型,该模型是文本检索领域中最为重要的模型之一,其基本原理是把一个文本视为包含词汇表中若干单词的词袋。同理,在图像处理领域中,也可将一帧帧数字图像视为由若干视觉单词(Visual words)构成。如图6所示将一张纹理图像看作若干纹元的直方图。



 3.2假设区域的验证

BoF是一种用于图像和视频检索的算法,该算法对于不同角度、光照的图像,基本都能在图像库中正确检索,并且在目标识别领域中表现出优越的性能。使用BoF算法进行假设区域验证主要包含三个步骤:特征提取、构建图像码书以及分类器设计。

3.2.1特征提取

特征提取有三种常用方法:密集采样、随机提取、基于特征点的块提取方法[8]。根据以上三种方法的优缺点,本文采用基于特征点的块提取方法中的Harris角点检测从图像中提取特征点。Harris是对Moravec角点检测算子的扩展。Moravec角点检测算法的缺点主要是不能准确找出全部角点,没有对图像进行降噪处理,因此其响应对噪声敏感,尤其是对边缘响应很敏感。而Harris算法受信号处理中自相关函数的启发,给出了与自相关函数联系的矩阵M。M阵的特征值是自相关函数的一阶曲率,如果在图像中某点的行列曲率值都高,则认为该点是特征点。Harris算法的表达式为:



其中,gx、gy分别是x、y方向上的梯度,G(s~)为高斯模板。

Harris算法的响应函数如式(5):

R=det(M)-κ(trace(M))2(5)

其中,det(M)、trace(M)分别是矩阵的行列式和迹;κ为常数。角响应函数值R在角区域内为正值,因此在实际应用中,通过计算窗口中心点的R值来判断是否为角点,如果大于某一给定的门限值,就认为这个点是角点。然后使用SURF算法对提取到的特征点进行描述。SURF算法对图像的局部特征具有旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定的稳定性。

3.2.2构建图像码书

由于每张图像的SURF特征点数量不一,所以将图像用SURF描述符表示后,不能直接用于机器学习的分类中,需要通过BoF对其进行进一步的变换。在提取出所有车辆训练图像的SURF特征向量后,用KMeans聚类算法对特征向量进行聚类,生成视觉词汇表。对特征向量进行KMeans聚类后特征向量被分成K类,每个类的中心即一个视觉单词,并对特征向量赋予它们所在簇的索引值,有多少个簇视觉词汇表中就有多少个视觉单词。

视觉词汇表的生成主要受特征点的个数、特征描述符的维数、视觉词汇表的大小即K的影响。特征点个数越多,则视觉单词越精确,可以通过增加训练图片的数量来达到这个目的。增加视觉词汇表的容量K,可以更精确地描述图像,提高分类的效果,但视觉词汇表的容量K也不宜取过大,否则会因为训练图像特征点数的不足造成过匹配。本文实验中经过比较多次实验结果得出取K为500的效果较好。

构建完视觉词汇表后,就可以用视觉单词的直方图来表示车辆图像了。首先提取车辆图像的SURF特征向量集,再计算SURF特征向量与视觉词汇表中的视觉单词的距离,得到SURF特征向量所属的簇,从而建立车辆图像的视觉单词直方图,即BoF描述向量,把此向量归一化后即可作为支持向量机的输入向量。

3.2.3分类器设计

车辆识别就是实现图像或视频中车辆的分类识别,BoF算法可以充分提取图像的特征,实现车辆的有效识别。目前常用的分类器有神经网络、Bayes分类器、支持向量机(SVM)等,其中SVM作为一种可训练的机器学习方法,建立在结构风险最小和统计学习原理上。SVM在解决小样本、非线性和高维模式识别问题时表现出特有的优点,在很大程度上克服了“维数灾难”等问题且具有较好的鲁棒性[9]。

如图5所示,车辆识别的过程主要包括车辆图像的表示与分类器的识别。按前文所述的方法得到车辆图像的BoF描述向量后,就可以对SVM进行训练和对车辆进行识别了。

4实验结果分析

该算法在Intel i52400 CPU @310 GHz、8 GB内存,Windows7操作系统的计算机上运行,调用MATLAB函数进行处理。实验视频文件是在白天的城郊道路上进行采集得到,其图像分辨率为720×480,车辆不同运行时刻下的检测效果如图7所示,检测到的车辆用边框进行标记。该算法处理单帧图像的平均时间约为40 ms,满足实时检测的要求。表1给出了几种不同算法的性能对照,从表中可以看出,本文算法相比其他算法的处理速度具有一定优势,检测的准确率也高于或接近其他算法。综合各方面因素,本文所提的算法能够满足实时准确地检测出前方运动车辆的要求。图7车辆不同运行时刻下的检测结果图





5结论

本文提出的算法,首先基于边缘特征提取出车辆可能存在的区域,然后再用BagofFeature特征对车辆可能存在的区域进行验证。该算法有效地实现了白天环境下前方运动车辆的实时检测。使用基于边缘的方法和BoF算法进行验证,消除虚警目标,两种方法的结合能够很好地对所有车辆进行检测并能提升车辆的检测速率。实验结果表明,该算法具有较高的准确率,同时具有较好的实时性。然而本文研究中强调的是晴朗、多云的白天环境,未来,本研究将考虑更多复杂多变的环境条件。

参考文献

[1] AYTEKIN B, ALTUG E. Increasing driving safety with a multiple vehicle detection and tracking system using ongoing vehicle shadow information[J]. IEEE International Conference on

Systems Man and Cybernetics, 2010,25(4):3650-3656.

[2] JAZAYERI A, CAI H, ZHENG J Y, et al. Vehicle detection and tracking in car video based on motion model[J]. IEEE Trans. Intell. Transp.Syst., 2011,12(2): 583-595.

[3] PIRZADA S J H, HAQ E U, SHIN H. Single camera vehicle detection using edges and BagofFeatures[J]. Lecture Notes in Electrical Engineering, 2012,114:135143. DOI:10.1007/9789400727922_13.

[4] MATTHEWS N, AN P, CHARNLEY

D, et al. Vehicle detection and recognition in greyscale imagery[J]. Control Engineering Practice, 1996,4(4):473-479.

[5] 梁娟.一种基于Sobel图像边缘检测的改进算法 [J] .软件导刊,2014, 13(12):79-81.

[6] 何春华,张雪飞,胡迎春.基于改进Sobel算子的边缘检测算法的研究 [J].光学技术,2012, 38(3):323-327.

[7] 梁晔,于剑,刘宏哲.基于BoF模型的图像表示方法研究 [J].计算机科学,2014,41(2):36-44.

[8] 王志瑞,闫彩良.图像特征提取方法的综述[J].吉首大学学报(自然科学版),2011,32(5): 43-47.

[9] 何友松,吴炜,陈默,等.基于Bag-of-Features算法的车辆图像识别研究 [J].视频应用与工程,2009, 33(12):104-107.




    关注 电子技术应用ChinaAET


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册