APP下载

基于最小二乘法的车道线弯道检测算法

2019-09-10徐晓光

绥化学院学报 2019年8期
关键词:像素点车道乘法

王 珍 徐晓光

(安徽工程大学电气工程学院 安徽芜湖 241000)

智能交通系统ITS中最具有重要意义的就是实现无人驾驶,而无人驾驶最首要的任务就是准确地识别出车道线并根据车道线的指示去行驶,国内外研究无人驾驶汽车的学者和企业都是基于视觉传感器的车道线识别方法来检测车道线[1],目前常用的方法主要是两大类,一类是基于模型[2-3],另一类是基于特征[3-4]的检测方法。李明等人[2]提出一种直线-曲线模型,对直线部分采用霍夫变换检测;在提取到的感兴趣区域里利用多段直线近似等效成曲线的方法对弯道部分进行拟合;刘振超[3]利用透视变换及其逆过程对图像进行处理,去除大量噪声,用水平亮度微分对车道线进行处理以获得局部最亮的车道线,根据获取的车道线而选出特征点,再用霍夫变换进行拟合。党宏社等人[4]利用Gabor模板获得不同尺度和方向的特征图,对特征图进行融合得到图像的纹理特征,确定左右车道线相交的消失点,从而对车道线进行定位进而对直线拟合。王怀涛等人[5]根据黄色车道线的颜色特征检测出黄色车道线像素点,然后检测出采集的道路图像的车道线边缘的像素点,将这两类像素进行与运算,在得到的效果图上进行霍夫变换,检测出黄色车道线。无人驾驶汽车在行驶中,复杂多变的行车环境会影响汽车视觉系统对车道线及其他路况进行采集的准确性。针对以上问题,本文提出一种新的道路图像处理方法并采用最小二乘法结合抛物线模型检测车道线弯道部分。该算法首先建立车道线检测模型,该检测模型是依据结构化高速公路上道路平坦,车道线标识明显的特点进行建立的;其次采用图像预处理的方法最大程度地消除干扰信息并检测车道线的边缘特征;然后采用最小二乘法根据边缘特征所构成的点集进行左右车道线弯道部分的检测。

一、车道线检测模型

无人驾驶汽车在高速公路的弯道部分驾驶时,由于弯道存在一定的盲区,并不能及时发现其他车辆等危险信息,容易发生交通事故。所以若要保证自动驾驶汽车能够在高速公路上安全行驶,就要提高车道线检测的准确性[6]。本文根据高速公路上道路平坦结构化程度高的特点提出一种新的方法:1.对采集的道路图像进行感兴趣区域提取,在很大程度上能够减少数据的处理量;2.在感兴趣区域内对图像进行图像灰度化、平滑滤波等预处理,剔除对车道线检测不利的冗余信息;3.图像预处理之后,计算感兴趣区域内的所有连通区域的面积,并进行排序,删除小面积区域,选出面积最大的两个连通区域,确定左右车道线区域;4.确定了车道线所在区域之后,提取梯度幅值作为车道线的边缘像素点,利用逆透视变换将边缘像素点转换成世界坐标系下的边缘点集;5.采用最小二乘法结合抛物线模型对车道线点集中的点进行拟合,并标记出拟合的车道线。检测的整体流程图如图1所示。

图1 车道线检测流程图

二、图像处理

在高速公路中,通过视觉传感器采集到的视频图像会受道路两边的天空、建筑、树木等复杂背景以及光照强度变化不均等因素的干扰[7]。对视频图像进行有效地图像预处理能够在一定程度上去除对检测车道线特征像素点不利的冗余信息,去除大量的噪声,为车道线的后续检测和标记提供了保障。

(一)感兴趣区域提取。对采集到的道路图像进行图像预处理的方法有很多,其中感兴趣区域(Region of interest,ROI)提取是比较常用的一方法。这种图像处理方法在一定程度上表达了图像中不同区域的重要程度,减少图像的干扰信息并突出所需要处理的图像内容,减少了道路图像数据的计算量。当车载相机被固定后,一般不会进行再次调整,因此采集到的视频图像的车道线的位置往往是固定的,基于此先验信息,定义道路图像的感兴趣区域可以大大减少图像中对检测车道线不利的例如房屋、天空和车辆等数据信息,降低图像背景对检测车道线的干扰,这从根本上减少了后续车道线算法处理所需要的时间,提高了算法效率[8]。采集到的道路图像中的车道线位置基本上位于图像的下半部分。如图2所示,本文的所有的图像的感兴趣区域均设置在图像的下半部分,图2(a)为采集的初始道路图像,图2(b)为提取的感兴趣区域图像,由图看出,这样操作可将车道线信息完整的保留又尽可能地去除图像对检测无用的信息。

图2 感兴趣区域

(二)图像灰度化。由于车载相机采集到的彩色图像中含有大量对车道线检测无用的视觉信息,且车道线自身与路面的灰度值相差较大,在灰度图中即可方便地提取出车道线,因此,本文车道线的提取均在灰度图像中进行。灰度化处理的方法有很多种,其中,最常用的是对R,G,B 三个分量进行加权平均。加权分量法公式如式(1)所示。灰度化图像如图3所示。

图3 图像灰度化

(三)平滑滤波。车载相机在获取道路图像的过程中或多或少地会产生噪声点,这对车道线的检测是不利的。为了平滑图像中的噪声点,减少杂质对算法的干扰,需要对灰度化处理后的图像进行滤除噪声点。平滑滤波主要有基于频率域和空间域两大处理方法,基于频率域和空间域的去噪方法虽都是去除图像中的噪声来平滑图像,但两者的处理方法不尽相同。频率域是先把图像转换到频率域中,利用滤波器消除噪声,而空间域是直接利用图像中像素点间的关系去除干扰。空间域滤波方法算法简单且实用性相对较强,本文针对空间域滤波中常见的两种去噪方法即中值滤波和高斯滤波进行介绍。中值滤波方法算法简单,空间复杂度低,在有效地消除椒盐噪声和尖锐噪声的影响的同时又可以很好地保留道路图像中的边缘信息;高斯滤波尺度参数难以调整,算法相对来说比较复杂,容易造成道路图像失真。由于高速公路上的无人驾驶汽车对采集的图像稳定性要求较高,故本文采用基于中值滤波的去噪方法进行去噪。

图4 平滑滤波图像

滤波图像如图4所示。图4(a)为加入椒盐噪声图像,图4(b)为中值滤波后的图像,图4(c)为高斯滤波后的图像,由(a)、(b)、(c)三张对比图可以看出中值滤波的去噪效果最好,在去除噪声的同时还清晰地保留了车道线的边缘信息。

(四)车道线边缘点提取。在对道路图像进行平滑滤波并进行二值化操作之后,图像中的绝大部分噪声都被去除,且车道线边缘信息被很好地保留,要对车道线边缘点进行提取。在对边缘点进行提取之前要先确定车道线对应的区域,首先计算感兴趣区域中所有连通区域的面积,并按从小到大的顺序进行排序,删除连通区域面积小于X的连通区域,这里X的取值不一样得到的结果也不相同,经大量实验本文选取X=100。删除小面积区域获取的图像如图5所示。在此基础上,选出面积最大的三个区域,其中两个连通区域就是左右车道线所在的区域,这为车道线边缘点提取打下了基础,节省了搜索车道线边缘点所需要的时间,提高了算法处理的速度。经过图像预处理之后,形成的两条车道线边缘更加明显,由路面到车道线和车道线到路面会有灰度值的变化,即灰度值由低到高再由高到低。从灰度值的变化进行相关处理可以获取到梯度幅值。即对平滑处理之后的图像进行Sobel边缘检测,并将一个如图6所示的3×3的相邻像素与横向Sobel算子进行平面卷积操作[9],其公式见式(2)所示。

图5 删除小面积区域图

图6 3×3相邻像素图

如图7所示,扫描道路图像,提取出边缘点,步骤如下:从经过预处理之后的道路图像的最底端的中间部分向左右两边进行逐行扫描,遍历每一行像素点如果像素点的幅值大于边缘阈值T_edge,且检测到边缘点之后有连续多个像素点的幅值均大于边缘阈值T_edge,取其中最大的像素点作为边缘点,记为POS,其他点为0。其中T_edge值由实验获得,获得车道线边缘点。提取到的车道线边缘点图像如图8所示。

图7 车道线边缘点图

图8 车道线边缘点提取图

(五)逆透视变换。车载相机采集到的道路图像或多或少的都具有透视效果,即整个车道呈现近大远小的特性,实际拍到的梯形路面也因为有透视效果而以矩形的形状成像。逆透视变换(Inverse Perspective Mapping,IPM)是透视变换的逆过程,其主要实现的是坐标系之间点与点的转换,要实现这一转换需要借助车载相机的内外参数以及逆透视变换公式。世界坐标系、相机坐标系以及图像坐标系之间变换的关系如图9所示。

图9 坐标系变换图

点与点之间的变换关系如式(3)所示。其中:M1M2是相机的内部参数矩阵,由相机自身的内部参数焦距和光学中心所决定;M3为相机的外部参数矩阵,其中f为相机坐标系与平面坐标系之间的位移,R为旋转矩阵,t为世界坐标系与相机坐标系之间的位移;ZC为计算得出的系数。令M=M1M2M3,则有式(4)。

通过对车载相机进行标定以及对其摆放位置进行测量即可得到相机的相关参数,从而获得转换矩阵M,继而得到路面上点与图像平面上点的对应关系。

三、车道线检测

本文进行车道线弯道检测所使用的单帧图片均是取自结构化的高速公路,高速公路上的道路标识线清晰且与路面的灰度化区别较大,因此在图像预处理去除大量冗余噪声点后提取到车道线边缘像素点,获得像素点点集,再根据最小二乘法对点集中的点进行拟合得到车道线弯道。

(一)最小二乘法。对于车道线拟合来说,直线车道线比较容易拟合,而弯道车道线的拟合相对来说难度较大。目前常用的弯道拟合方法有:随机采样一致RANSAC法,贝塞尔曲线拟合法,基于最小二乘法的多项式拟合[10]。最小二乘法相对于其他弯道拟合方法来说,其优点是计算量小,所有的数据只需要遍历一次,缺点是抗干扰能力差。但由于车道线图像处理阶段已经将大部分的噪声滤除,检测较为精确,避免了出现干扰很大的噪声。故本文采用最小二乘法结合抛物线模型对车道线弯道进行拟合。最小二乘法[11]又叫做最小平方法,最小二乘法的原理是通过求解实际数据与理论数据之间误差的平方和,并使这个平方和达到最小的多项式的系数,获取多项式的表达式,而这个多项式就是需要的最佳匹配函数。一般直线或者曲线不可能穿过所有的观测点,但是存在一条直线或者曲线使得数据点的理论值与真实值之间误差的平方和达到最小,需要求的就是这条直线或曲线[12]。

已知(xi,yi)(i=1,2,3,…,n)是二维坐标系中的一组数据,对于曲线拟合,假设目标函数为(5)式:

令yi=f(xi),Ei表示在xi处由式(5)计算得到的理论值与实际值yi之间的误差,则有式(6):

令Ei的平方和达到最小即可获得aj的最佳估计值,即有令(7)式达到最小,

若要使(7)式达到最小,即令(7)式对aj求偏导,令其等于零,见(8)式。

得到计算a0,a1,…,an的线性方程组,见(9)式:

由计算得出曲线系数a0,a1,…,an进而得到拟合的曲线,拟合的多项式次数越高,拟合结果越精确,但随之带来的是计算量增加,故在实际应用中要兼顾两者。

(二)基于最小二乘法的车道线拟合。前面部分的图像处理的一些操作已经把大量的噪声点去除并尽量多地提取出车道线边缘信息,获取车道线边缘像素点集,将边缘像素点集中的点进行拟合。设车道线方程为(10)式:

对提取出的车道线边缘点进行逆透视变换使得其坐标由图像坐标系中的点集O(Un,Vn)转换成世界坐标系下的点集P(Xn,Yn),利用最小二乘法对点集中的点进行拟合,拟合函数为式(10)所示的函数模型,拟合结果如图10所示。

图10 拟合结果

四、实验结果与分析

本文进行车道线弯道检测所选取的是来自KITTI 数据集中的高速公路数据集,为验证该算法能否准确有效地检测并标记出车道线,利用Matlab2014b对视频图像中单帧图像运用文中的算法进行处理并标记车道线,弯道车道线检测的效果图如图11所示,选取图像处理结果中的其中4 帧进行展示。从图中可以看出本文所提出的弯道检测算法可以很好地识别出弯道。在对拟合精度要求不是非常高的情况下,抛物线拟合足以实现弯道检测的基本要求。

图11 车道线弯道检测图

五、结语

为提高无人驾驶汽车的安全性和可靠性,本文针对高速公路上弯道部分相对直线部分难检测提出一种新的车道线弯道检测算法。基于高速公路上车道线与路面灰度值相差较大的特点,在提取的感兴趣区域图像中对图像进行灰度化中值滤波去噪,边缘检测,提取梯度幅值点作为车道线拟合的像素点集,使用逆透视变换获得车道坐标系下的点,最后利用抛物线模型用最小二乘法进行拟合。实验表明,提出的算法具有较高的准确性和可靠性,具有广泛的应用前景和实用价值。

猜你喜欢

像素点车道乘法
算乘法
北斗+手机实现车道级导航应用
我们一起来学习“乘法的初步认识”
避免跟车闯红灯的地面车道线
基于局部相似性的特征匹配筛选算法
浅谈MTC车道改造
《整式的乘法与因式分解》巩固练习
把加法变成乘法
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密