opencv 车道线检测(一)

1.前言

    车道线检测无论是在车道偏移预警系统(LDWS)还是辅助或者自动驾驶中都显得尤为重要,并且是很基础的模块,自动驾驶中对于行车预测等方面的重要依据。
    目前已经提出了很多车道线检测方法,简单算法对于车道线大部分被遮挡、各种交通参与者存在的情况,往往出现误检测;复杂算法抗干扰能力强,但是实时性又不好。这里使用霍夫变换求取直线,卡尔曼滤波进行车道线跟踪。

2.模块介绍

1.预处理模块:图像ROI区域提取,优化ROI提取,基于kalman滤波的ROI提取,图像均衡化,图像中值滤波
2.边缘提取模块:使用不同大小的图像自动计算canny阈值,选出最大的canny阈值对ROI图像进行处理,soble边缘化,canny边缘提取
3.指数平滑模块:一阶指数平滑初始化,指数平滑计算(需要初始化后才能计算)
4.直线提取模块:直线进行霍夫变换,通过标准差筛选符合要求的直线,使用直线拟合建立直线模型y=kx+b(以图像x,y为坐标)
5.卡尔曼滤波模块:车道线卡尔曼滤波器,对预测出来的道路的左右车道线的 x 坐标(共 4 个)进行滤波跟踪

模块组成图

3.优点

1.程序不断获当前局部最优值作为输出
2.卡尔曼滤波增强其鲁棒性
3.程序是一个不断更新与反馈的过程,期间不断在更新当前认为最好的结果
4.程序中虽然包含很多阈值获取或计算的问题,大部分阈值仍通过自动化计算获得,尽量不使用固定值或经验值,增强其适应性

4.BY THE WAY

1.程序测试过KITTI的车道线dataset,其中包括,没有车道线,阴影遮挡,车辆压线遮挡等情况
2.测试过不同的道路以及雨天的情况,雨天的路况更加复杂,仍有不错的效果
3.以后会传上不同测试视频

**************************************************
增加实际拍摄道路上的视频

猜你喜欢

转载自blog.csdn.net/Fate_fjh/article/details/52825059