基于opencv+python的车道检测技术

针对自动驾驶系统的实际需求,我们需要一种能够兼顾速度、不同环境下高检测成功率和鲁棒性的车道识别算法。首先,因为停车场更多的是地下光线昏暗的情况需要提高车道线与周围环境的对比度,然后灰度化图像进行模糊降噪处理。因为摄像头相对于车身是固定的所以只需根据特定位置进行处理。通过边缘提取获取特征线,以多约束条件限制获取车道线坐标位置传送给控制单元。由控制单元执行PID算法实时控制车辆根据地面车道线循迹寻找车位。
基于opencv+python的车道检测技术_第1张图片
Gamma校正
因为人眼对外界光源的感光值与输入光强不是呈线性指数关系的。在低照度下,人眼更容易分辨出亮度的变化,随着照度的增加,人眼不易分辨出亮度的变化。而摄像机感光与输入光强呈线性关系。为了使摄像机能像人眼一样拥有灰暗环境或光线反射较强的情况下颜色的识别度,需要将摄像机采集的图像进行Gamma校正。
Gamma变换增强算法
当γ小于1时,imageinput越小,增强效果越明显,当γ大于1时,imageinput越大,增强效果越明显。
基于opencv+python的车道检测技术_第2张图片基于opencv+python的车道检测技术_第3张图片
图像灰度化并高斯模糊
通常情况下,车道线为白色或黄色线条,与图像中的路面以及其他车辆等背景形成明显差别。为保持R,G,B三通道的平衡性,将灰度值定义为

在这里插入图片描述
得到灰度图片后,因为实际环境并不如理想状态一样,得到的图像拥有很多噪声,我们需要对其进行降噪处理。本文应用的方法是高斯模糊(Gaussian Blur),也叫做高斯平滑。通常用它来减少图像噪声以及降低细节层次,以增强图像在不同比例下的图像效果。高斯模糊是一种图像模糊滤波器,他用正态分布计算图像中每个像素变化。在二维空间定义为:
在这里插入图片描述
效果图如下:

基于opencv+python的车道检测技术_第4张图片
因为车载摄像头的位置相对于车辆来说是固定不动的,所以不必对整个图像进行处理。通过ROI剪裁获取图片固定位置的车道线进行处理可以大大降低行车电脑ECU(Electronic Control Unit)的工作负担,提高ECU的处理速度,大大提高车辆控制单元的即时性。
基于opencv+python的车道检测技术_第5张图片
Ganny算子的边缘提取
Canny边缘检测算子使John F.Canny于1986年开发出来的一个多级边缘检测算法,它的目标是找到一个最有的边缘检测算法。相较于差分运算法、Sobel、Scharr、Laplace(拉普拉斯)、Roberts边缘算法,Canny算子具有好的信噪比、高的定位新能、对单一边缘仅有唯一响应等优势[9]。算法实现步骤如下:

  1. 用高斯滤波器对图像滤波,以出去图像中的噪声。
  2. 寻找图像的强度梯度(intensity Gradients)。
  3. 应用非最大抑制(non-maximum suppression)技术来消除边误检。
  4. 应用双阈值的方法来决定可能存在的边界。
  5. 利用滞后技术来跟踪边界。
    基于opencv+python的车道检测技术_第6张图片
    基于Hough变换的车道线检测与选取
    Hough变换于1962年由Paul Hough提出,并在美国作为专利被发表。它所实现的是一种从图像空间到参数空间的映射关系。由于其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。
    在这里插入图片描述
    基于opencv+python的车道检测技术_第7张图片
    其中,λ:为该直线到原点的距离;θ:为过原点到该直线的垂线与X轴正向夹角,表面直线方向。相对于原图像空间XY,参数λ和θ构成新的坐标系为参数空间。原图像空间中的每个点,对应于新参数空间中的一条正弦曲线;原图像中的一条直线,对应参数空间中所有的正弦曲线经过同一点。
    基于opencv+python的车道检测技术_第8张图片
    图像空间中2、3、4的所对应的参数空间正弦曲线交于T点,表明点2、3、4处在同一直线上。
    为了能从Hough检测所获得的直线簇中,获取正确的车道线,需要结合车道线的特征。车道线倾斜角度θ相对于车辆固定可知:在这里插入图片描述
    因为本文需要的是两条车道线,对满足上述条件的的直线仍然需要进行直线拟合处理,本文采用最小二乘法多项式直线拟合,根据得到满足要求的直线,求近似直线,使得近似直线与各个直线的偏差最小。对应得到两条当前车道线并延长,然后得到其交点坐标。
    基于opencv+python的车道检测技术_第9张图片
    原理如上,明天再对代码进行详解。纯属个人见解,如若有误欢迎交流。

你可能感兴趣的:(机器视觉)