一种基于视觉的车道线检测及追踪方法

2021-08-28 09:49杜学峰
汽车实用技术 2021年15期
关键词:畸变直方图标定

高 越,张 勇,杜学峰,杨 伟

(长安大学 汽车学院,陕西 西安 710064)

前言

在复杂的交通系统中,采用基于视觉的辅助驾驶技术是解决当前严重交通问题的重要手段之一。现阶段无人驾驶、自动驾驶、先进驾驶辅助系统中的感知模块有很大的改进空间,车道线检测是感知模块中极其关键的一环,传统的车道线检测方法中,由于路面的各种车道线磨损导致不清晰或者有阴影遮挡等都会对检测的结果产生很大干扰[1],从而导致结果出现很大误差。

本文旨在克服实际中难以检测的场景问题,处理无人驾驶领域中常见的路面损坏,光照变化较快,车道线不清晰等场景,提出了一种基于视觉的无人驾驶汽车和智能网联汽车领域的车道线检测及跟踪方法,从而实现智能车辆高级辅助驾驶中车道线的实时检测及追踪。

1 图像预处理

1.1 摄像机标定

通常的摄像机可以拍摄出较好的视觉效果,但是却存在着一个明显的问题,就是畸变。摄像机标定是通过对已知的形状拍摄图像,利用确定的摄像机内部参数,结合若干个已知的物点和对应像点坐标,通过正交旋转矩阵计算该形状在世界坐标系中与在摄像机坐标系中位置的偏差量(畸变系数),从而进行畸变的校正。

本文采用平面棋盘格作为标定板来的进行摄像机的标定和畸变校正处理,利用OpenCV 库中cv2.findChessboard Corners()函数[2],输入摄像机拍摄的完整棋盘格图像,以及交点在横纵向上的数量,随后使用函数cv2.drawChessboard Corners()绘制出标定结果,如图1 所示:

图1 棋盘格检测

获取交点的检测结果后,使用函数cv2.calibrateCamera()即可得到相机的畸变系数。最后使用函数cv2.undistort(),进行畸变校正处理。

1.2 透视变换

透视变换是一种中心投影的射影变换,将图像转换为正投影,从而方便后续的车道线提取和检测。在原图像中选择四个标志点,记录其坐标,在新图中选取四个端点(投影点)构成矩形对应着原图中的标志点,使用函数cv2.getPerspec-tive Transform()计算出原图标志点和新图投影点的投影矩阵,绘制出经过投影变换后的图像。

具体做法是在拍摄的道路图像中计算出每个像素点的横纵坐标,沿着左、右车道线的边界,选择一个合适的梯形区域,将该梯形区域的四个顶点坐标记录下来,作为标志点,在新建的图中选择合适的矩形,记录矩形的四个顶点作为投影点,进行透视变换,将图像转换为正投影,也就是转换成鸟瞰图视角。如图2 所示:

图2 透视变换效果图

从透视变换处理过的效果图中可以看出,靠近图片下方的图像较为清晰,靠近图片上方的图像比较模糊[3]。这是因为较远的地方,像素点偏少,从而导致图像模糊,经过处理后整体的图像都变得较为清晰。

2 车道线提取和检测

2.1 Sobel 算子边缘提取

Sobel 算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘[4]。

车道线检测的实质是检测拍摄的道路图像中沿着水平方向的边缘突变,使用cv2.Sobel()函数,进行边缘提取,将进行边缘提取后的图像进行灰度二值化处理,车道线边缘的像素点为白色,其余位置为黑色。

2.2 直方图检测

直方图是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量[5]。对进行过边缘提取的图像绘制灰度直方图,将各灰度级像素对应的频率统计出来作为纵坐标,如图3 所示:

图3 直方图

该灰度直方图可以较为明显的分辨出车道线在图像中的大体位置。左、右两部分各产生了较为明显的灰度突变,以此可以推断出其对应的列数是左右车道线所处的大致位置。

2.3 滑动窗口检测

采用直方图的方法可以大致检测出左右车道线的位置,但是确定整条车道线上所有的点,尤其是车道线不清晰或者有阴影的情况还有较大的误差,本文还采取了一种滑动窗口的方法来实现对车道线上所有点的检测。

将直方图中检测到的两个车道线大致位置作为起始点,定义一个矩形区域(窗口),设置滑窗高度、窗宽基数和存储数组等,将滑动窗口内有效的像素横坐标平均值作为基准坐标,迭代检测,重复搜索[6]。如下图4 中红色点和蓝色点所示。然后使用最小二乘法做二次曲线拟合,得到车道线的曲线方程,从而确定车道线的具体位置。

图4 滑动窗口车道线检测

3 车道线追踪

由于视频数据是连续的图片,使用上一帧检测到的车道线结果,作为下一帧图像处理的输入,从而减少计算量,得到较为稳定的车道线检测结果,从而实现车道线的追踪处理,如图5 所示:

图5 车道线追踪

4 逆透视变换

为了使最后检测好的车道线视频更好地展示出来,还需要对实验的结果进行进一步的处理。将两条车道线所围成的区域涂上颜色,将结果绘制在“鸟瞰图”上后,使用逆透视变换矩阵反投到原图上,从而使检测结果更加直观明了,如图6 所示:

图6 逆透视变换

5 结论

本文通过长安大学汽车综合性能试验场真实道路视频输入,进行摄像机标定、图像畸变校正、透视变换、提取车道线、检测车道线、跟踪车道线和逆透视变换等一系列技术处理,实验结果表明,本文所提出的方法较好地实现了车道线的检测及追踪具有良好的准确性、实时性和鲁棒性。

猜你喜欢
畸变直方图标定
基于能量变分法的曲线组合箱梁畸变效应分析
薄壁箱梁畸变的Galerkin解法*
大型焊接容器局部热处理防畸变工装优化设计
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
《癌变·畸变·突变》中国科技核心期刊收录证书
使用朗仁H6 Pro标定北汽绅宝转向角传感器
CT系统参数标定及成像—2
CT系统参数标定及成像—2
用直方图控制画面影调