【基于霍夫变换的车道线检测算法研究】利用Python和传统算法实现单车道识别

背景

本课题是基于霍夫变换(Hough Transform)的车道线检测算法,算法本身强大,应用范围广泛。研究所采用的数据集是图森TuSimple车道线检测数据集,选取若干张具有明显车道特征的图片进行车道线检测。其中,对每类连续20帧的图片中的最后一帧进行车道识别。

主要内容

本文是利用霍夫变换能检测直线的原理对车道的边界信息进行检测、车道拟合算法设计和添加评价的量化指标。从而,方便在不同场景下设置合适的参数和对本文设计的两种算法的选择上进行直观对比。由于所拍摄的车道线均为近距离图像(拍摄角度固定),且多数情况下为直车道,因此该研究在道路建模中采用直线模式而不是更复杂的曲线。此外,直车道模型足以实现和分析基于霍夫变换(HT)的车道检测算法(即本研究的目标)。

主要参数设置

PyCharm Community Edition 2022.3.3
python 3.6.13
opencv-python 3.4.1.15

车道检测

预处理

利用canny边缘检测可得到良好的二值图像,如下图所示。
经canny所得二值图
针对图森数据集下的车道图片,使用梯形掩膜可极大地降低车道识别的难度。
掩膜后的二值图

车道识别

以中轴线为分割,分别对左右区域内的霍夫直线段进行二阶曲线拟合得到如图所示效果。
二阶曲线拟合车道结果

加入透视变换的车道识别

针对车道曲率较大拟合效果不好的情况,本文使用了透视变换的方法,对透视图像进行车道识别,需要注意调整左右车道分界线的位置。透视变换后的图像
通过对检测出的车道进行透视逆变换可得到车道检测结果。
透视逆变换车道识别结果

实验结果

基于此类方法,可验证包括算法本身、算法参数设置的差异、不同路面、不同光照等条件下算法的鲁棒性。而,车道感知失败的主要原因是预处理阶段车道边界检测不理想(车道线确实)以及环境因素等干扰引起的,尤其是在复杂路面条件下无法区分车道信息与背景信息。

展望

算法本身只适用于场景固定的单车道检测的范围之内,后续将进行多车道以及深度学习下的车道识别问题。

参考代码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值