基于SIFT和SSDA特征匹配的实时车道线检测

2015-11-25 06:45吕亚运杨会成
安徽工程大学学报 2015年4期
关键词:极值算子车道

吕亚运,郎 朗,杨会成

(安徽工程大学安徽省电气传动与控制重点实验室,安徽芜湖 241000)

基于SIFT和SSDA特征匹配的实时车道线检测

吕亚运,郎 朗∗,杨会成

(安徽工程大学安徽省电气传动与控制重点实验室,安徽芜湖 241000)

车道线检测是智能交通系统研究的一个重要方向.提出了一种基于SIFT和SSDA特征匹配的车道线检测算法.首先通过改进Sobel算子来提取车道线边缘特征,并设置感兴趣区域(ROI)缩小范围,然后进一步提取车道线特征点并通过Hough算法拟合成直线,接着采用SIFT算法提取影像关键点并进行初次匹配,最后运用SSDA算法进行影像精匹配,从而融合成完整车道线影像.结果表明,采用改进Sobel算子可以提取到更多的车道线资讯;而采用SSDA算法,比传统NCC算法匹配精度更高,实时性进一步提高.

车道线检测;SIFT;图像匹配;SSDA

近年来,由于交通事故的频发,人们对行车安全的关注度越来越高.研究人员开始研究一种驾驶辅助系统来提高驾驶安全性——IVSS(Intelligent Vehicle Safety System智能行驶安全系统).IVSS通常通过在车辆上装载影像处理系统或者感测系统提升驾驶人员行车安全.例如,使用传感器实现偏移警示功能,或者通过镜头拍摄道路影像处理技术,实现车道线检测功能来降低交通事故发生.车道线的偏移检测占据IVSS中一个重要方面.在前人的研究中,文献[1-4]采用设定阈值或者建立车道线特征模型来检测.文献[5]根据车道线梯度分布特征来提取车道线特征.文献[6]根据影像颜色层次划分生成描述子来跟踪车道线标志.文献[8-9]是通过确定尺度不变的关键点来得到特征鲜明的图像.前人对车道线检测算法大部分都是基于单目视觉进行,但单目摄像头无法采集更多的车道线资讯,并且对于双目视觉甚至多个摄像头综合采集后的影像融合问题没有解决.文章提出的算法就是为了解决基于双目视觉影像融合的问题,从而得到更多的车道线检测结果.

提出了一种基于SIFT和SSDA特征匹配的车道线检测算法,通过双目镜头采集到的实时影像,经过改进Sobel算子过滤后,对其设置ROI.然后,通过车道线颜色和频率等特征进一步筛选车道线,并通过Hough转换拟合成直线.接着,通过SIFT算法生成特征描述子并对双目影像粗匹配.最后,采用SSDA进行精匹配,将两路影像融合成完整车道线影像,并通过嵌入式硬件系统输出显示.系统算法软件流程图如图1所示.

1 车道线特征检测

1.1 改进的Sobel算子

车道线检测过程中,边缘的提取是一个重要过程.经典Sobel 90°算子如图2所示.考虑到车道线检测的实时性,改进的Sobel主要目的是为了优化运算速度以及提取更多的车道线资讯,Sobel算子改进后如图3所示.由图3可知其运算流程为:如果A、B、C、E全不为0,且D和E不全为0时,fE(x,y)=255,其中,fE(x,y)是影像中E点对应的像素值.改进后的Sobel算子中的元素不再是单一不变的值,取代的是一定范围内的变量,这可以检测到更多的车道线资讯.

Sobel算子改进前后处理影像对比图如图4所示.由图4可知,经过改进后的Sobel处理可以得到更完整的车道线资讯.

1.2 提取车道线特征点

摄像角度固定时,在车道线出现的范围内设置ROI(region of interest),ROI设置范围如图5所示.利用ROI范围的像素和车道线固有像素对比,将符合车道线像素特征的提取出来.同时,设置车道线出现频率阈值,要根据车道线颜色出现频率来选定.

对于弯道车道线,除了颜色和频率,可以将其分解成无数个一定斜率的小直线,由公式Δy=mΔx+b,设定斜率m的阈值,根据阈值条件来进一步筛选车道线.车道线特征点提取示意图如图6所示.由图6可知,黑色圆圈区域表示不符合车道线颜色范围,白色圆圈区域表示符合车道线出现频率的颜色.因此,无论是直线车道或者弯道,只要符合所设置车道线特征的都可以被提取出来.

1.3 车道线拟合

车道线特征点检测出来后,需要将其不断拟合成直线以实现车道线追踪功能.由于车道线检测过程是在嵌入式系统中实现的,为了减少大量的浮点运算,这里采用基于搜查表计算方式的Hough转换拟合车道线.同时,采用影像前后关联的方法,即当前缺失的影像可由前一帧影像替代.经过Hough拟合后的车道线影像如图7、图8所示.

2 SIFT特征提取

尺度不变特征变换匹配算法(Scale Invariant Feature Transform-SIFT)是通过取得尺度空间中的极值点来检测和描述图像特征的算法,这些特征对其位置、尺度和旋转都保持不变.

2.1 尺度空间的极值点检测

对于一幅二维图像,设定L(x,y,σ)为原图像I(x,y)和二维高斯函数G(x,y,σ)的卷积结果.

其中

为了得到尺度空间中稳定的极值点,建立影像的DOG(Difference of Gaussian)金字塔,D(x,y,σ)定义为在参数k作用下高斯函数的差分与原图像I(x,y)的卷积.

如果一个点与它相邻的点比较结果是极值,那么该点就作为待匹配的特征点.

2.2 精确极值点的定位

通过DOG金字塔提取的极值点并不稳定,在图像的边缘和对比度低的地方依然存在一些不稳定的特征点.

为了剔除低对比度特征点,在尺度空间中,DOG函数的Taylor展开式为:

对其求导得到极值点为:

因而将极值点带入式(5),只取前两项得到极值为:

H的特征值α和β代表x和y方向的梯度,

其中,Tr(H)与Det(H)分别表示H的迹与行列式,α和β是H的两个特征值,令α=γβ,则

2.3 特征点方向分配

依据影像的局部梯度方向,给每个特征点指定一个基准方向.从而计算出所取特征点(x,y)对应梯度的模值和方向为:

其中,L为所选特征点的各自尺度值.

2.4 特征点描述子的生成

SIFT描述子是基于梯度和方向对图像局部特征的一种表示.特征点的描述子是依据该特征点邻域的像素点得到的.在实际计算过程中,为了提高匹配的鲁棒性,采用Lowe提出的在特征点尺度空间内4×4的窗口中计算该特征点邻域8个方向的梯度资讯,共4×4×8=128维向量表示,随即生成128维的特征描述子.

经过以上4个步骤,SIFT算法提取出车道线影像的稳定特征点,使得特征点不随旋转、光照、噪声等变化而变化,为后面的影像匹配打好基础.

3 SIFT特征匹配

3.1 影像特征匹配

提取出车道线影像特征点后,需要对其进行匹配并融合成一张影像.采用欧式最邻近距离方法,即查找一个特征点在另一张影像最邻近特征点的距离.理论上,两张车道线影像之间相同部分具有相同的特征描述子,因而它们之间的欧氏距离最短.SIFT影像特征匹配就是对两张影像的特征向量进行相似度计算.以欧式距离作为两张影像中多维向量的相似度衡量标准,对两个特征点进行匹配.假设两幅影像特征点对应的n维特征向量分别为:

(a1,a2,a3,…,an)和(b1,b2,b3,…,bn)

则两特征点间的欧式距离为:

由于图像遮挡或背景错乱而出现的误匹配问题,采用Lowe[7]提出的比较最近邻距离与次邻近距离的方法,只有当两距离比值ratio小于一定阈值时才确认成功匹配.SIFT特征点初次匹配过程如图9所示.

3.2 SSDA影像精匹配

经过欧式最邻近距离计算初步匹配后,依然会出现一些误匹配情况,而且匹配的特征点太多,过于繁杂,运算量也较大,通常结合SIFT采用归一化互相关算法(NCC)精匹配.NCC是一种经典的匹配算法,通过计算模板图像和搜索图像的互相关值确定匹配的程度.但NCC处理精度没有较大改变,从而采用序贯相似性检测算法SSDA对影像中的特征点进一步匹配.

待搜索匹配区域为P,大小为M×N,匹配模板为Q,大小为k×k,具体如图10所示.模板Q叠放在P上的区域为子图,选取Q左上角位置为基准点,当P中匹配特征点为(u,v)时,子图则是由点(u,v),(u,v+K-1),(u+K-1, v),(u+K-1,v+K-1)组成的区域.设定匹配模板的基准点为(i,j),定义匹配误差值为:

在目标影像和子图内任取n个点(i1,j1),(i2,j2),…, (in,jn),通过式(14)计算这些点产生的匹配误差和序列,得到:

将得到的匹配误差和序列es(u,v,k)与设定好的序列阈值T(k)比较,若es(u,v,k)>T(k),那么停止计算,并记下此时的k值,然后计算下一个特征点匹配误差;若es(u,v,k)<T(k),则继续计算下一个点的匹配误差,直到es(u,v,k)>T(k)或k=n,并记下此时的k值k.值对应的特征点就是需要的匹配点.经过SSAD精匹配过程及融合后的完整车道线检测结果如图11所示.

由于在SSDA算法精匹配过程中,只有子图和匹配模板对应的像素参与计算,从而不用计算所有特征点对应的匹配误差,提前停止在误匹配计算上,相比较NCC算法极大地减少了运算量,在原来基础上进一步实现车道线影像的匹配.

4 实验结果

本次车道线检测及匹配融合过程在嵌入式系统上运行,采用以Cortex A9核心处理器OMPA4460作为嵌入式硬件平台,所用算法处理解析度为640×480的影像,系统影像实测速度为20 Frame/s.为了达到实时性要求,系统采用被Kudaa加速的C程序与影像解码器协调,控制系统整体速率.采用SIFT算法提取影像特征点生成描述子,然后通过欧式最邻近距离计算进行初步匹配,接着运用SSDA算法进行精匹配从而融合为一帧完整车道线影像.传统的NCC算法精匹配过程如图12所示.实验选择NCC与SSDA算法比较是因为传统的NCC算法运算量较大,匹配速度慢,无法突显车道线检测所需的实时性.由图11和图12可知,SSDA特征匹配量较NCC明显减少许多.将两种算法分别对直线车道和弯道影像中的特征点匹配结果如表1和表2所示.由数据比较结果可知,SSDA比NCC在匹配率和时间上有明显优势.

实验选取芜合高速上的一段路,经过10次以上的实际车道线检测,分别计算得到SSDA与NCC算法对应的匹配精确度与处理时间比较如表3所示.选取前30帧影像计算匹配时间比较如图13所示.由表3和图13中两种算法比较可知,在3种条件综合干扰下,SSDA匹配精度上提高到了85.67%,匹配时间减少到了0.063 s,因而匹配精度和匹配时间较NCC算法有明显提高.

表1 SIFT+NCC算法特征点匹配正确率与时间

表2 SIFT+SSDA算法特征点匹配正确率与时间

表3 各种条件下算法匹配率与匹配时间比较

5 结论与展望

提出一种基于SIFT和SSDA特征匹配的车道线检测算法.算法首先对传统的Sobel 90°算子进行改进,提取车道线边缘特征,并设置ROI缩小检测范围进一步提取车道线特征.然后通过Hough算法拟合为直线.接着采用SIFT算法对两个摄像头中的影像进行初次匹配.最后运用SSDA算法精匹配,从而融合成完整的车道线影像.实测结果表明,经过改进后的Sobel算子可以提取更多的车道线资讯,并且SSDA特征匹配方法对比传统的NCC算法,运算量和效率都有明显的优越性,精匹配程度得到了进一步优化.当然本算法还存在一些不足,尤其是在车速过快、光照过强情况下,车道线检测精度及实时性还有待进一步提高,这也是未来进一步研究的方向.

[1] X Shi,B Kong,F Zheng.A new lane detection method based on feature pattern[C]//Image and Signal Processing.2nd International Congress.Tianjin:IEEExplore Libraty,2009:1-5.

[2] H Shen,S Li,F Bo,et al.Intelligent vehicles oriented lane detection approach under bad road scene[C]//Computer and Information Technology.Ninth IEEE International Conference.Tianjin:IEEExplore Libraty,2009:177-182.

[3] Q B Truong,B R Lee,N G Heo,et al.Lane Boundaries Detection Algorithm Using Vector Lane Concept[C]//2008 10th International Conference on Control Automation Robotics&Vision,Hanoi.Tianjin:IEEExplore Libraty,2008: 2 319-2 325.

[4] J Z Wang,Y P Chen,J M Xie,et al.Model-based Lane Detection and Lane Following for Intelligent Vehicles[C]//International Conference on Intelligent Human-Machine Systems and Cybernetics,Nanjing.Tianjin:IEEExplore Libraty, 2010:170-175.

[5] Y J Fan,W G Zhang,X Li,et al.A robust lane boundaries detection algorithm based on gradient distribution features [C]//International Conference on Fuzzy Systems and Knowledge Discovery,Shanghai.Tianjin:IEEExplore Libraty, 2011:1 714-1 718.

[6] Gopalan R,Tsai Hong,Shneier M,et al.A Learning Approach Towards Detection and Tracking of Lane Markings[J].Intelligent Transportation Systems,2012,13(3):1 088-1 098.

[7] Lowe David G.Object recognition from local scale-invariant features[C]//Proceedings of the International Conference on Computer Vision.Corfu,Greece,Kerkyra.Tianjin:IEEExplore Libraty,1999:1 150-1 157.

[8] Lowe David G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision, 2004,60(2):91-110.

[9] Y Xiong,H M Ma.Extraction and application of 3D object SIFT feature[J].Journal of Image and Graphics,2010, 15(5):814-819.

Real-time lane detection based on the feature matching of SIFT and SSDA

LV Ya-yun,LANG Lang∗,YANG Hui-cheng
(Anhui Key Laboratory of Electric Drive and Control,Anhui Polytechnic University,Wuhu 241000,China)

Lane detection is an important research field of intelligent transportation system,and a lane detection algorithm based on the feature matching of SIFT and SSDA is proposed.Firstly,edge features of the lane are extracted by the improved Sobel operator,and the region of interest(ROI)is set to narrow the range.Secondly,the lane feature points are further extracted and a straight line is fitted by Hough algorithm.Thirdly,the SIFT is adopted to extract the key points and do the initial matching.Finally,SSDA is adopted to do further matching and fuse the two images into a complete one.The results show that the improved Sobel operator can extract more lane information.The matching precision is higher than that of the traditional NCC algorithm by SSDA,and the real time is further improved.

lane detection;SIFT;image matching;SSDA

TP391

A

1672-2477(2015)04-0054-08

2015-04-14

安徽省高校自然科学研究重大基金资助项目(KJ2014ZD04)

吕亚运(1990-),男,江苏南京人,硕士研究生.

郎 朗(1956-),女,安徽蚌埠人,正高级工程师,硕导.

猜你喜欢
极值算子车道
基于OpenCV的直道车道线识别技术研究
有界线性算子及其函数的(R)性质
北斗+手机实现车道级导航应用
通过函数构造解决极值点偏移问题
例谈解答极值点偏移问题的方法
极值点偏移问题的解法
Domestication or Foreignization:A Cultural Choice
基于单片机的潮汐车道设计与实现
斑马线前该如何礼让
QK空间上的叠加算子