基于Hessian矩阵的车道线检测方法

2022-03-14 02:19张娜娜
电视技术 2022年2期
关键词:特征值车道滤波器

陈 熹,张娜娜

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

0 引 言

随着当前科学技术发展速度的加快,智能汽车作为智能产品的代表,已经成为一项研究重点。随着国民经济的迅速提高以及汽车工业发展的逐步完善,我国的汽车数量也在迅速增加,随之而来的是,道路上的交通事故数量也在逐年上升,对人们的出行安全造成了严重的威胁。为了尽量避免由于违法违规驾驶而造成的交通事故的发生,无人驾驶技术[1]以及车道偏离预警系统[2]逐步得到开发。车道线检测技术[3]是这些系统的核心技术。车道线检测是否正确,直接决定驾驶员行车是否安全。对此,当前国内外研究人员已经做了大量的研究。文献[4]所描述的GOLD系统主要是将车道线的宽度认为是恒定的,采用形态学以及图像增强的方法相互结合进行车道线的增强;文献[5]引入了边缘分布函数,寻找与司机视野相近的车道线的方向,之后采用方向滤波的方法进行车道线的增强;文献[6]将车道线图像进行相应的区域划分,主要分为天空区域、远视野区以及近视野区,首先排除了天空区域中的信息干扰,之后对剩下的两个区域采用不同的方法进行相应区域车道线的增强和检测;文献[7]针对夜间车道线的光照不均匀以及图像整体色调较暗的特点,将canny算子与Hough变换进行相应的结合,较好地检测出了夜间的车道线;文献[8]使用差分算子以及Hough变换的方法实现了车道线的提取,实验结果表明上述方法在复杂的环境下表现出良好的检测效果。

本文所提的方法首先将拍摄得到的车道线图片进行灰度化处理,之后使用中值滤波的方法对灰度图进行去噪操作,然后利用Hessian矩阵对车道线增强,实现车道线的有效提取。得到增强图像之后,进行二值化处理,提取出感兴趣的区域,最终得到相应的车道线。

1 相关技术介绍

1.1 中值滤波

中值滤波[9]的滤波方式是选定一个模板,在这个模板中进行相应的操作。首先对模板中的像素值进行排序,选择序列中的像素中值作为模板中心的像素值,这样能够去除图像中与周边像素差异较大的噪声点,从而达到去噪的效果。滤波模板的选择是多样的,可以是正方形、长方形的矩阵,也可以是圆形或者十字形的。中值滤波的公式为:

g(x,y)=medf { f´(x-k,y-l)},(k,l∈w) (1)式中:f´(x,y)是含有噪声的原始图像,g(x,y)是经过滤波后的图像,w表示选择的滤波窗口。

中值滤波在噪声相对不密集时能表现出较好的去噪效果,但是在噪声密集时,去噪效果就比较差,并且在去噪的过程中会模糊图像的细节以及边缘信息。文献[10]针对脉冲噪声的特点进行分析,首先根据实际情况选择合适的阈值,标记出可能是噪声点的空间位置,再利用相邻像素点之间的相关性精准确定噪声的位置,之后利用中值滤波对噪声进行处理,去除相应的噪声。本方法根据实际的噪声特点,选用的是传统的中值滤波技术。

1.2 Hessian矩阵

Hessian矩阵[11-12]是由图像中每个像素点的二阶偏导数Ixx,Ixy,Iyx,Iyy所组成的,具体表达如下:

根据Hessian矩阵的两个特征值的大小关系,可以检测出图像中的不同特征结构。假设λ1,λ2为图像中某像素点Hessian矩阵的两个特征值大小,且|λ1|≤|λ2|,则根据两个特征值之间的大小关系可以进行表1中对应结构的检测。其中L表示low,H表示high,-/+表示特征值的符号。

表1 常见的几何结构对应的Hessian矩阵特征值大小

1.3 多尺度滤波器

由于车道线在相机拍摄时受到客观因素的影响,导致不同位置的车道线宽度存在大小不一的情况,不适合使用单一尺度的滤波器进行识别。因此本文采用将Hessian矩阵的差分运算与高斯函数进行结合的方式,以得到不同尺度下的线性滤波 效果[13]。

根据高斯函数的卷积性质,尺度空间导数Iab由下式所得[14]:

式中:σ表示高斯函数的标准差,即引入的空间尺度因子。

因为识别的是在暗背景下明亮的车道线边缘,属于车道线边缘的像素点的H特征值应该符合|λ1|≤|λ2|。根据特征值λ1,λ2进行线性滤波器的设计,重新定义每个特征值为:

同时引入一个辅助特征值λ3,使λ3=λ2,将其正则化为:

式中:τ为控制均匀性的参数,大小为[0,1]。根据文献[15],改进其增强滤波器设计为:

由上述公式可以看出,可以根据图像像素点x处的Hessian矩阵特征值的关系进行滤波器的设计。根据文献[16],在识别车道线部分时,当公式所含的尺度因子σ与车道线的实际宽度最相符时,上述滤波器的输出值最大,也就是对车道线的识别效 果最好。

2 基于Hessian矩阵的车道线检测过程

车道线都是以线状的形态出现,因此本文主要研究线状增强滤波器[17]。结合中值滤波与Hessian矩阵的方法进行滤波器的设计进行车道线的检测。使用上述方法进行检测,识别的结果叠加在原始数据上,并检验所提方法的可行性和准确性。该算法的识别流程如图1所示。

图1 算法流程图

步骤一:图像灰度化。彩色图像中的信息较多并且比较复杂,但是其中大多数信息在车道线检测时是不需要的,会产生一定的干扰,因此将原始图像进行灰度化处理,实现三维RGB图像向二维图像的转换[18],能够提高车道线的检测效率。本文采用的是文献[19]的方法进行图像的灰度化处理,对R,G,B三个通道的色彩分量进行权重的赋值,分别为0.299∶0.144∶0.587,这样得到的灰度图更符合人眼的视觉感知,有利于后续的车道线 检测。

步骤二:数据归一化。由于图像在拍摄过程中容易受到各种客观因素的影响,使得图像的强度不均匀,同时为了减少后续的变换函数在操作时对图像数据带来的影响,对图像进行归一化。使用图像的像素最大值和像素最小值来对图像进行操作,把像素强度归一化到[0,1]区间。

步骤三:滤波去噪。由于所拍摄的原始图像对比度较低,并且其中伴随大量的随机噪声,会影响后期的特征提取,所以需要对图像进行去噪处理。本次实验采用能够很好地去除噪声,并且保护图像边缘特性的中值滤波进行图像的预处理操作。通过对图2(b)和图2(c)进行比较,可以观察到经过双边滤波后的图像噪声点明显被平滑。

步骤四:多尺度线性滤波器的构造。通过对图2(c)中车道线特点的观察分析,可以得出车道线在图像中呈现的是线性的结构,因此可以利用Hessian矩阵不同特征值之间的大小关系来判断图像中属于线性的车道线区域的像素点。因此,从这个角度出发,可以将Hessian矩阵的特征值应用到线性滤波器的设计中。车道线在拍摄图片中受到相机的影响得到不同位置的宽度是不一样的结构,据此进行多尺度构造线性滤波器的设计。本文采用Hessian矩阵的差分运算与高斯函数结合,利用改变高斯函数的标准偏移量的方式来获得多尺度滤波器,σ的范围设置为[1.5,2],以包含车道线不同位置的宽度,同时设置迭代步长为0.1,参数τ设置为0.5,如式(6)所示进行处理,得到迭代的最大值进行输出。如图2(d)所示,可以观察到能够很好识别出其中线性的车道线结构。

步骤五:感兴趣区域的选取。对图像进行感兴趣部分的选取,将注意力放在需要关注的地方,突出显示所要检测的目标,减少无关内容对非感兴趣部分的干扰。根据对图像的分析,能够明显地观察到车道线通常处在图像的下方1/2的部分,在图像上方1/2的部分不包含相关的车道线信息,因此首先将识别图像进行二值化,二值化阈值选择为0.7,之后将识别图像中上方1/2的图像点的像素值设为0,从而突出下方的车道线信息。

通过以上操作,可以观察到最终能够很好地将车道线完整地识别出来,识别效果如图2所示。

图2 车道线检测过程

3 实验结果与分析

为了进一步验证本文方法的适用性,在不同的场景下进行车道线的检测,检测结果如图3所示。

图3 不同环境下的车道线检测过程

上述实验结果表明,基于Hessian矩阵的车道线检测方法能够适应不同场景以及天气,并且提高了检测的准确性。

4 结 语

通过对车道线特点进行分析,本文提出了一种基于Hessian矩阵的车道线检测方法。首先对图像进行灰度化处理,将三通道的彩色图像处理成二维灰度图,之后使用中值滤波来消去图片中的噪声,之后将Hessian矩阵与高斯函数进行相互结合,构造多尺度线性滤波器对图像中的线性车道线的边缘进行检测,使得线性的车道线的边缘能够被完整地识别出来,接着选取车道线所在的感兴趣的区域进行车道线的标识。检测结果表明,本文提出的方法在车道线检测上具有较好的效果,在不同场景中获得的图像都能够完整地识别出公路上的车道线的边缘。但是该方法仍存在一定的不足之处,即在识别时,仍然没有去除全部的干扰因素,比如道路两端的隔离栏,但是并不影响车道线的准确定位,这是下一步需要继续改进研究的部分。

猜你喜欢
特征值车道滤波器
北斗+手机实现车道级导航应用
避免跟车闯红灯的地面车道线
单圈图关联矩阵的特征值
浅谈MTC车道改造
迭代方法计算矩阵特征值
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
斑马线前该如何礼让
求矩阵特征值的一个简单方法