上QQ阅读APP看书,第一时间看更新
1.2.1 车道线识别
车道线检测方法目前主要分为两类:基于传统方法的车道线检测与基于深度学习的车道线检测[4]。基于传统方法的车道线检测一般包含两个步骤:特征点的确定和车道线的拟合。当确定特征点时,通常利用的是颜色特征、边缘特征以及结构特征等信息;当进行车道线拟合时,通常利用的是直线模型、抛物线模型、双曲线模型、贝塞尔曲线模型等。
基于深度学习的车道线检测方法是,先搭建人工神经网络,之后利用海量数据集训练网络,再从数据集中自动提取车道线特征。
传统车道线检测方法主要是通过对图像特征的提取,来获得车道线信息的。由视频得到的每帧图像通过高斯模糊、二值化、边缘检测等步骤来获取车道线标注。其具体流程如图1-10所示。
图1-10 传统车道线检测流程
高斯平滑处理是对图片采用一个高斯滤波器,以消除原始图片的噪声。其基本原理是重新计算图片中每个像素点的值,取该点及其附近点的像素值进行加权平均,权重符合高斯分布。高斯核大小取5,a是高斯核矩阵中所有值的和。网格矩阵为Q,原图片为I,新图片为I′,计算新图片的具体公式如下:
如图1-11a所示,高斯滤波器作为一种低通滤波器,能抑制图片中的高频部分,从而让低频部分顺利通过。由于车载相机相对于车是固定的,而车相对于车道的左右位置也是基本固定的。所以,在所拍摄的视频中,车道基本保持在一个固定区域内,可以将该固定区域作为ROI,目的是过滤掉ROI外的边缘部分。滤波结果如图1-11b所示。
图1-11 高斯滤波处理前后对比图
接着根据得到的线计算出左车道和右车道,采用的步骤如下:
1)根据斜率正负划分某条线属于左车道或右车道,并移除边缘线。
2)迭代计算各条线的斜率与斜率均值的差,逐一移除差值过大的线。
3)分别对左右车道线的顶点集合做线性回归得到最终车道。