本发明涉及车辆辅助驾驶技术领域,特别是一种车道线的检测方法及装置。
背景技术:
车道线指示了当前道路的方向,车道线的定位在自动驾驶车辆行驶方向的控制中起着重要作用。
车道线定位是指从图像中寻找可能的车道线并通过确定其在图像中的位置得到车道线在路面的位置。车道线定位目前的主要方法是基于Hough变换的直线检测,该方法可靠性高,对噪声、变形有较强的适应性,但是精度较低,且可能会产生部分冗余数据。
技术实现要素:
本发明目的是提出一种车道线的检测方法及装置。利用傅里叶变换的旋转不变特性将原图像中的直线或曲线变换为傅里叶谱中的尖峰,通过峰值检测获得不同车道线在原始图像中的角度并利用旋转后投影的方法计算给定车道线与图像中心的距离,从而得到车道线在路面中的真实位置。
根据本发明一方面,提出了一种车道线的检测方法,包括:
步骤S1:采集路面图像,对所采集到的路面图像提取边缘图像;
步骤S2:对边缘图像进行二维离散傅里叶变换,并对得到的傅里叶谱进行灰度操作,然后对灰度操作后的傅里叶谱进行峰值检测,提取出峰值角度;
步骤S3:按照提取出的峰值角度以及边缘图像计算边缘图像中的车道线至车辆的距离,并将由角度、距离表征的直线由原始图像投影到真实路面。
其中,步骤S1包括:
步骤S111:采集彩色路面图像,对采集到的彩色路面图像进行灰度化处理;
步骤S112:对灰度化处理后的路面图像运用Sobel算子进行边缘检测,分别利用横向及竖向的Sobel算子得到两幅边缘图像,在后续步骤中对两幅图像分别进行操作;
步骤S113:对边缘检测得到的边缘图像进行预定大小的中值滤波;
步骤S114:对中值滤波后的边缘图像进行形态学顶帽变换;
步骤S115:对形态学顶帽变换后的边缘图像进行二值化处理,阈值的选取与边缘图像亮度值总和成正比。
其中,步骤S2中对得到的傅里叶谱进行灰度操作包括:
步骤S211:将所述傅里叶谱四等分,对调左上角与右下角、左下角与右上角的模块;
步骤S212:对对调后的傅里叶谱进行对数变换;
步骤S213:对对数变换后的傅里叶谱进行固定阈值的二值化处理。
其中,步骤S2中对灰度操作后的傅里叶谱进行峰值检测包括:
步骤S221:创建一个大小为180的一维数组,从0度开始以1度为步长一直增加到179度,对每一个不同的角度,将傅里叶谱进行相应角度的顺时针旋转并计算水平投影至竖轴中心区域的亮度之和,将所述亮度之和按照所述相应角度存储在所述一维数组中;
步骤S222:对所述一维数组进行差分操作后提取出极大值的位置,并依据所述极大值的位置的绝对值大小、与其他极大值的位置关系判断所述极大值对应的角度是否合理。
其中,步骤S3中按照提取出的峰值角度以及边缘图像计算边缘图像中的车道线至车辆的距离包括:
步骤S311:按照所述峰值角度旋转边缘图像;
步骤S312:对旋转后的边缘图像向横轴投影,计算各底部位置对应的亮度和值;
步骤S313:计算所述亮度和值的最大值对应的位置,该位置与底部中心的距离即为边缘图像中选定角度对应的直线与边缘图像中心的距离。
其中,步骤S3中所述将由角度、距离表征的直线由原始图像投影到真实路面包括:
步骤S321:利用棋盘方格标定摄像头,得到变换矩阵;
步骤S322:将原始图像中已定位的直线上任意两点通过变换矩阵投影到路面,依据投影后的两点计算得出路面上车道线的真实直线方程。
根据本发明另一方面,提供了一种车道线的检测装置,包括:
提取模块,用于采集路面图像,对所采集到的路面图像提取边缘图像;
角度检测模块,用于对边缘图像进行二维离散傅里叶变换,并对得到的傅里叶谱进行灰度操作,然后对灰度操作后的傅里叶谱进行峰值检测,提取出峰值角度;
距离计算模块,用于按照提取出的峰值角度以及边缘图像计算边缘图像中的车道线至车辆的距离,并将由角度、距离表征的直线由原始图像投影到真实路面。
根据本发明另一方面,提供了一种车道线的检测装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
采集路面图像,对所采集到的路面图像提取边缘图像;
对边缘图像进行二维离散傅里叶变换,并对得到的傅里叶谱进行灰度操作,然后对灰度操作后的傅里叶谱进行峰值检测,提取出峰值角度;
按照提取出的峰值角度以及边缘图像计算边缘图像中的车道线至车辆的距离,并将由角度、距离表征的直线由原始图像投影到真实路面。
本发明的效果是:本发明设计了从傅里叶谱提取车道线角度的方法,该方法使用边缘检测算子提取边缘并计算其傅里叶谱,并通过穷举各可能出现的角度值提取合格的峰值,提高角度提取的精度。本发明在边缘提取后的图像中引入了形态学操作,减少了路面反光对车道线定位的影响。在车道线距离提取阶段,通过旋转车道线对应角度并向横轴投影求和的方法计算极大值出现的位置,然后计算得出原始图像中车道线距图像中心位置的距离。
附图说明
图1为本发明中车道线检测的方法的整体流程图;
图2为本发明中的边缘提取流程图;
图3为本发明中的车道线角度提取流程图;
图4为本发明中的车道线距离提取流程图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明是一种车道线检测的方法及装置。本发明可以从图像中获取车道线的位置并将获取的位置提供给车辆驾驶员或车载系统,用以规划车辆的行驶路径。本发明以安装在车辆上方的图像传感器为信息获取来源,使用基于离散傅里叶变换的方法定位车道线。在预处理阶段首先使用边缘检测算子、中值滤波及形态学操作进行边缘提取。对于边缘提取后的图像,使用基于快速傅里叶变换的二维离散傅里叶变换对其进行峰值检测提取出各车道线的角度。本发明的特点在于通过形态学操作减小了路面反光对于边缘检测的影响,并通过傅里叶谱对车道线角度完成了较为精确的估计。
本发明包含个三个处理过程,依次为边缘提取、车道线角度提取、车道线距离提取。如图1所示,该方法包括:
步骤S1:采集路面图像,并对采集的路面图像进行边缘提取;
步骤S2:对边缘提取后的路面图像进行二维离散傅里叶变换得到傅里叶谱,并对得到的傅里叶谱进行灰度操作,然后对其进行峰值检测,提取峰值角度;
步骤S3:按照计算出的峰值角度以及利用边缘提取后的图像进行距离计算,并将由峰值角度、距离表征的车道线由原始图像投影到真实路面。
如图2所示,步骤S1中边缘提取阶段的流程,包括:
步骤S111:采集路面上的彩色图像,对采集的彩色图像进行灰度化处理;
步骤S112:对灰度化处理后的图像运用Sobel算子进行边缘检测,分别利用横向及竖向的Sobel算子得到两幅边缘图像,在后续步骤中对两幅图像分别进行操作;
步骤S113:对边缘检测后的图像进行预定大小如3×3大小的中值滤波;
步骤S114:对滤波后的图像进行形态学顶帽变换;
步骤S115:对形态学处理后的图像进行二值化处理得到图像边缘提取结果,阈值的选取与图像亮度值总和成正比。
步骤S2中傅里叶谱灰度操作步骤如下:
步骤S211:将计算得到的傅里叶谱四等分,对调左上角与右下角、左下角与右上角的模块;例如,将傅里叶谱四等分为四个模块,从上到下、从左到右分别为模块1、2、3、4,对调后从上打下、从左到右的顺序为模块4、3、2、1;
步骤S212:对拼接后的傅里叶谱进行对数变换;
步骤S213:对对数变换后的傅里叶谱进行固定阈值的二值化处理。
如图3所示,步骤S2中车道线角度提取阶段的流程,步骤如下:
步骤S221:创建一个大小为180的一维数组,从0度开始以1度为步长一直增加到179度,对每一个不同的角度,将步骤S213中进行了二值化处理的傅里叶谱进行相应角度的顺时针旋转并计算水平投影至竖轴中心区域的亮度之和,将和值按照其对应的角度存储在所述一维数组中;
步骤S222:对所述一维数组进行差分操作后提取出极大值的位置,并依据所述极大值的绝对值的大小、与其他极大值的位置关系判断所述极大值对应的角度是否合理。所述极大值就是二维傅里叶图像上的点投影到轴上时点的累积数的最大值;所述极大值对应的角度指的是把二维傅里叶图像往某一个轴投影,此时所对应的这个轴的角度。车辆在道路上正常行驶时,一般行驶方向与道路的夹角是有一定范围的,同时这个夹角在短时间内也不会有太大突变。
如图4所示,步骤S3中车道线距离提取阶段的流程,步骤如下:
步骤S311:按照计算得出的角度旋转边缘图像;
步骤S312:对旋转后的边缘图像向横轴投影,计算各底部位置对应的亮度和值;所述底部位置是X-Y坐标系下的X轴上的坐标,旋转后的车道线边缘图像点大致垂直于X轴,向X轴投影后可以获得在X轴上累积最多的像点,此时计算该像点到原点的距离就可以认为是车辆中心到车道线的距离。
步骤S313:计算亮度和值的最大值对应的位置,该位置与底部中心的距离即为边缘图像中选定角度对应的直线与边缘图像中心的距离。
直线投影步骤如下(此处的直线投影指从摄像头的图像坐标系到车辆的载体坐标系的变换,之前都是在数字图像平面进行计算,最后要获得距离参数需要变换到车辆的载体坐标系,获得以米或厘米为单位的物理量):
步骤S321:利用棋盘方格标定摄像头,得到变换矩阵;
步骤S322:将原始图像中已定位的直线上任意两点通过变换矩阵投影到路面,依据投影后的两点计算得出路面上车道线的真实直线方程。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。