基于改进Hough变换与双点去除R-最小二乘法的车道线检测优化算法

2020-04-24 09:25:46姜立标李静轩
科学技术与工程 2020年5期
关键词:车道滤波器灰度

姜立标, 李静轩

(华南理工大学机械与汽车工程学院, 广州 510641)

随着汽车行业的发展,车辆的自动驾驶技术在汽车的安全行驶上发挥着越来越重要的作用,而车道线检测是自动驾驶的重要组成部分。

传统的车道线检测方法主要有基于特征和基于模型方法。Borkar等[1]首先对原图进行逆透视变换,后使用自适应阈值得到二值化后的图像,通过霍夫变换检测出车道线然后分段提取特征,得到长直线的特征,利于后期检测。贾会群等[2]提出一种基于反向传播(back propagation,BP)神经网络与最小二乘法曲线模型的车道线检测算法,假设道路为上凸函数,但当实际道路不符合上凸函数特征时,检测算法失效。程文冬等[3]提出一种基于可调向滤波器的车道线识别方法;并提出基于时空窗口灰度特性统计的虚实车道线分类方法。李亚娣等[4]针对夜间只有车灯照射路面图像整体较暗、光照不均匀、车道线不易检测的问题,提出一种夜间车道线识别方法。

由于实际道路环境复杂多变,现有基于机器视觉的车道线检测算法易受到光照变化、行人遮挡以及道路破损的影响,导致算法的鲁棒性不强,准确率低。

提出基于车道线特征形态的优化检测算法。首先分析图像预处理技术,包括划分图像感兴趣区域,灰度化,中值滤波去除图像噪点,大津法(OTSU)二值化图像得到自适应分割阈值,再运用Sobel算子提取图像的边缘。然后,针对传统Hough变换和最小二乘法的不足分别提出改进算法,并结合改进后的算法拟合车道线,利用Kalman滤波器对车道线进行追踪,解决车道线抖动和暂时性缺失时的检测问题。最后结合改进后的算法,设计车道线检测的算法流程。

1 预处理

为了排除图像中影响车道线检测的杂质,以筛选重要信息,突出车道线的轮廓信息,保证检测的精度,需要先对道路图像进行预处理。

1.1 感兴趣区域提取

针对车道线检测任务,车辆前方包含车道线的矩形区域是检测的重点,划分感兴趣区域时需要去除图片中的行道树、天空、建筑等干扰检测的区域。在实际的行驶路况下,摄像头通常固定在汽车后视镜后位置不再变动,焦距和位置参数等也确定下来,因此,考虑算法鲁棒性和实时性,采用静态划分感兴趣区域的方法。

图1(a)为静态划分示意图,图1(b)为根据实际摄像头安装位置反复调整确定的感兴趣区域。在图1(a)中,区域A是天空区域,予以去除,留下区域B,即为感兴趣区域。

图1 静态划分感兴趣区域Fig.1 Static partition of the region of interest

1.2 道路图像灰度化

在车辆实际行驶过程中,摄像头采集的图像是三通道彩色图像。选择加权平均法进行道路图像灰度化,减小图像的数据量,提高后续算法的处理效率,效果如图2所示。

图2 道路图像灰度化Fig.2 Road image graying

1.3 图像滤波

在对彩色图像灰度化处理之后还需要进行滤波处理,去除无用噪点,保留车道信息。本研究采用中值滤波算法[5]。实际处理效果如图3所示,图像为经过灰度化处理后的实际雨天路况下采集的原始图像,为了检验中值滤波的效果,添加了椒盐噪声,经过滤波处理后明显消除了噪声。

图3 3×3中值滤波处理结果Fig.3 3×3 median filtering results

1.4 基于大津法的Sobel算子的车道线边缘提取

车道线的边缘提取是利用一定的技术手段强化车道线的边缘特征,消除非车道信息的干扰。道路图像中车道线与路面相邻处的灰度值变化较大,所以根据车道线边缘处灰度值的突变进行车道线的边缘提取。本研究采用微分法提取车道线边缘。

设图像f(x,y),梯度方向为坐标最大变化率的方向,则图像f(x,y)在位置(x,y)处的梯度可以表示为

(1)

进而求出向量的幅值和方向角θ为

(2)

式中:Gx和Gy分别表示图像f(x,y)在水平方向和垂直方向的偏导数。通过一阶和二阶导数检测目标对象的边缘,一阶导数最大值所在位置表示图像边缘,二阶导数零点处所在位置表示图像边缘。对于导数和分别采用不同的模板,再结合不同系数构成梯度算子[6]。

选择Sobel算子作为边缘提取算法。Sobel算子在领域内求得的梯度分量代表像素值的变化率,图像边缘点梯度值较大,非图像边缘点梯度较小。算子采用两个3×3模板窗口,分别为水平和垂直模板Gx和Gy,将之于图像作平面卷积,即可分别得到水平和垂直亮度差分近似值,如图4所示。

图4 Sobel算子模板Fig.4 Sobel operator template

大津法(OTSU)又称为最大类间方差法,通过设定一个自适应的阈值将图像分为前景(目标)和背景。通过大津法设定图像分割的自适应阈值,以适应不同场景下的车道线边缘的提取。

对于图像I(x,y),设目标和背景的分割阈值为T,图像的大小为M×N,属于目标的像素点个数N0占整张图像的比例为ω0, 其平均灰度为μ0;属于背景的像素点个数N1占整张图像的比例为ω1,其平度灰度为μ1;图像总平均灰度为μ。OTSU方法假设图像的背景较暗[3],图像中像素灰度值小于阈值T的像素个数为N0,像素值大于阈值T的像素个数为N1。

大于和小于阈值T的像素点之和为总像素点:

N0+N1=M×N

(3)

ω0和ω1计算公式为

(4)

图像总平均灰度公式为

μ=ω0μ0+ω1μ1

(5)

目标和背景类之间的方差

g=ω0(μ0-μ)2+ω1(μ1-μ)2

(6)

将式(5)带入式(6)中可以求得类间方差

g=ω0ω1(μ0-μ1)2

(7)

遍历对于整张图像,使得类间方差g的最大阈值T即为所求。

检测的结果如图5所示。结果表明,结合OTSU算法和Sobel算子的方法能够在不同的环境下较好地提取出车道线边缘。

图5 基于OTSU算法的Sobel算子边缘检测结果(正常光照)Fig.5 Edge detection results of Sobel operator based on OTSU algorithm (normal illumination)

2 车道线检测

对于预处理提取出的车道线边缘,常用Hough变换和最小二乘法拟合车道线边界点。

2.1 Hough变换及改进

Hough变换通过将图像坐标变换到参数空间,来实现直线的拟合。该方法具有提取稳定、稳定性高的优点,但算法实时性差,受干扰时易检测出多条直线。

针对上述检测时存在的缺点,对Hough提出以下改进方法[7]:

(1)极角大小和方向约束。将左车道线极角大小约束为[-80°,-10°],右车道线极角约束范围为[10°,80°]。

(3)使用两次Sobel算子,得到单像素宽度的边缘。

(4)计算每个边缘点的梯度方向,统计每个方向上的点的个数,找出边缘点个数最多的两个方向作为车道线的粗略方向。

图6所示为Hough变换受干扰情况,图7所示为改进后的Hough检测结果。可以看出,改进后的Hough变换能够很好地检测车道线。

图6 Hough变换受干扰情况Fig.6 Interference of Hough transform

图7 改进Hough变换检测结果Fig.7 Improved Hough transform detection results

2.2 最小二乘法及优化

最小二乘法(least squares, LS)是最常用的直线拟合方法,一般用于对二维图像中的离散点直线拟合,通过最小化离散点到直线的距离求出最接近的直线方程。其数学原理如图8所示。

图8 最小二乘法原理Fig.8 Principle of least square method

LS计算简单,速度快,只需要对离散点遍历一次即可,检测实时性好,但算法对噪声敏感,鲁棒性不强。

为克服缺陷,提出R-LSDR。LS改进方法有以下两种:

方法1:根据与LS拟合直线间的误差分布,将误差过大的样本点以某个阈值予以剔除。

方法2:通过迭代的思想剔除噪声点,将检测到的单个噪声点剔除再更新回归直线方程,然后再剔除新的直线下的误差最大的样本点,如此循环直到剩下点的数量占原始样本数量的比例为设定阈值R。

基于上述两种方法,提出R-LSDR算法。相对于方法2,每次同时剔除正反两个方向误差最大的样本点,然后更新回归直线方程,直到剩下的点的数量占总样本点的比例为R。

R-LSDR算法的步骤如下。

图像中存在的二维点集P0={(xi,yj)|1≤i≤N}与预设保留数据点比例R,经过试验设置为0.85。

(1)设i=0,n=N。计算最终保留的点数Nf=pN。

(2)求得二维点集Pi的回归直线参数θi、ρi。

(3)求取Pi中每个样本点到回归直线的带符号的误差。

eij=ρij-ρi=

xjcosθi+yjsinθi-ρi,(xj,yj)∈Pi

(8)

(4)分别求取达到正负最大误差的两个样本点的索引值jPOS和jNEG,则

(9)

(5)从Pi中剔除点(xjPOS,yjPOS)和(xjNEG,yjNEG),则剩下的点集为Pi+1,n=n-2,i=i+1。

(6)判断如果n≤Nf,则将θi与ρi的结果作为回归直线的方程,否则至步骤(2)继续循环。

图9给出了LS与R-LSDR算法的对比结果,可以看出R-LSDR算法能够明显消除样本集中噪声的影响,回归得到的直线方程更加符合实际样本分布的趋势,有利于车道线的检测。

图9 LS与R-LSDR算法的直线回归对比Fig.9 Linear regression comparison of LS and R-LSDR algorithm

3 车道线跟踪

3.1 Kalman滤波器跟踪车道线

完成车道线检测后,由于车道线残缺或车辆行人的遮挡,可能出现检测失效的情况,所以需要进行车道线跟踪。

Hough 变换中极坐标空间的一点为直线的参数ρ和θ,两条直线的距离定义为Hough 变换极坐标空间中点之间的距离,公式为[8]

(10)

式(10)中:Rρ和θρ是根据Hough变换参数空间的分辨率进行预设的ρ和θ的修正系数。

因为连续前后两帧道路图像中的车道线相差不大,所以可以根据参数空间点与点距离的方法判断检测当前帧与上一帧中的车道线是否为同一条。当计算得到的前后帧的车道线的距离小于预设的阈值时,判断为同一条车道线。因为噪声的干扰,通过Kalman滤波器跟踪车道线在Hough参数空间中的参数ρ和θ,则车道线在k时刻的观测量Z(k)和状态量X(k)分别表示为

(11)

(12)

式中:vρ和vθ表示ρ和θ在汽车行驶道路图像的变换速度。系统的状态转移矩阵用A(k)表示,输出矩阵用H(k)表示,公式为

(13)

根据多次实验结果,将系统的动态噪声W(k)的协方差Q(k)初始值设置为

(14)

测量误差的协方差R(k)初始值设置为

(15)

将每一时刻的观测值代入Kalman滤波器的迭代模型中求得估计值,利用估计值表示车道线信息。在实际应用中,为增强Kalman滤波器跟踪车道线系统的鲁棒性,对预测值进行修正,当连续出现若干帧车道线检测异常时,重置Kalman滤波器的参数。计算前后两帧图像中车道线的距离,当距离在设定的阈值范围内即认为属于同一条车道线,并把当前帧作为有效帧更新滤波器的参数值;否则,放弃当前帧检测值,用上一帧的参数代替,继续检测下一帧图像。

路况较差时,当连续多帧检测异常时,应该在设定的异常帧数阈值TNum之后,重新复位Kalman滤波器的参数。当再次检测到车道线时,使用新的车道线参数初始化Kalman滤波器。设定前后两帧车道线的距离阈值Tdis为个像素点,异常帧数阈值TNum为5帧。Kalman滤波器跟踪车道线策略如图10所示。

图10 Kalman滤波器跟踪车道线策略Fig.10 Kalman filter tracking lane line strategy

3.2 车道线检测优化算法

Hough变换计算量大,最小二乘法计算简单但容易受噪声干扰。分别对两种算法进行改进,并结合车道线的形态特征,采用改进Hough变换和R-LSDR算法结合的车道线检测算法。考虑到实车检测场景,采取的策略是在初始帧检测时用Hough变换检测车道线的直线方程,以确定车道线的预设区域,减小后续车道线的搜索区域,后续帧使用R-LSDR算法检测车道线,再使用Kalman滤波跟踪车道线,如果在斜率发生突变时重新用Hough变换检测车道线。充分结合车道线的特征和不同算法的优点,进行车道线的检测,准确率高,运行效率快。算法的整体流程如图11所示。

图11 车道线检测算法整体流程Fig.11 Overall flow chart of lane line detection algorithm

4 车道检测与跟踪结果分析

实验分别对存在干扰情况下的左右车道线进行检测,连续帧的检测结果如图12~图14所示,其中绿色表示不加滤波检测结果,红色表示滤波跟踪结果。

图12检测结果表明,在车道线清晰无干扰的路况下,能够较好地识别车道线信息。存在车道线缺失时,加了Kalman滤波之后,检测结果更加准确。

图12 车道线滤波检测结果(无干扰)Fig.12 Detection results of lane line filtering (no interference)

图13 车道线滤波检测结果(存在车辆、道路标识线干扰)Fig.13 Detection results of lane line filtering (interference of vehicles and road marking lines exists)

图13表示存在车辆和行人干扰下的车道线检测结果。车道线被遮挡,造成车道线暂时消失,Kalman滤波器能够很好地根据前一帧的检测结果,跟踪车道线。

图14表示存在短暂车道线缺失情况下的检测结果。道路图像为在乡村道路采集的道路数据,路况较差,右侧车道性短暂性缺失,Kalman滤波能够较好地跟踪车道线信息,弥补短时间内车道线缺失的问题。

5 结论

提出一种基于车道线特征形态的优化检测算法,针对传统Hough变换和最小二乘法的不足分别提出改进算法,并结合改进后的算法拟合车道线,最后利用Kalman滤波器对车道线进行追踪。

对存在干扰情况下的左右车道线进行检测,结果表明,算法在解决车道线抖动和暂时性缺失时的检测问题上具有较好的鲁棒性。研究对改进现有的车道线检测和跟踪算法具有理论意义。

猜你喜欢
车道滤波器灰度
采用改进导重法的拓扑结构灰度单元过滤技术
北斗+手机实现车道级导航应用
卫星应用(2021年11期)2022-01-19 05:13:02
避免跟车闯红灯的地面车道线
科学大众(2021年9期)2021-07-16 07:02:50
基于灰度拉伸的图像水位识别方法研究
高技术通讯(2021年3期)2021-06-09 06:57:48
浅谈MTC车道改造
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
开关电源EMI滤波器的应用方法探讨
电子制作(2018年16期)2018-09-26 03:26:50
基于最大加权投影求解的彩色图像灰度化对比度保留算法
自动化学报(2017年5期)2017-05-14 06:20:56
基于灰度线性建模的亚像素图像抖动量计算
基于Canny振荡抑制准则的改进匹配滤波器