Advertisement

自动驾驶汽车急转弯时车道线检测的3种技术

阅读量:

点击上方“小白学视觉 ”,选择加"星标 "或“置顶

复制代码
 重磅干货,第一时间送达

自动驾驶汽车必须能够识别不同光线反射特性和多种照明情况下的车道线信息,并据此精确判断车道的存在位置。为了确保安全驾驶,在了解车辆速度与性能参数之外,还需要了解车道曲线的程度以便计算出保持道沿所需的转弯半径。

三种技术:

1.色彩空间

2.索贝尔算子

3.曲率半径

色彩空间

RGB色彩空间能够适应带有白色通道的图像。然而,在某些彩色通道上该色彩空间存在不足。因此我们可以研究其他颜色空间类型,如HSV(色相、饱和度、值)与HLS(色相、亮度、饱和度)等。

在某些情况下(如光照条件发生变化时),色调与其亮度变化无直接关系的颜色特性。为了量化图像的整体明暗程度,在摄影学领域通常采用不同的计算方式来确定亮度等级( brightness level)。此外,在视觉感知领域中,饱和度( saturation)这一指标被用来衡量颜色纯度的程度。对于含有黄色车道线的照片,在计算机视觉系统中通常会将其分割为RGB(红绿色素)通道以及HSL(色调-饱和度--lightness)通道来进行进一步处理

仅R、G及S通道呈现出与黄车道线对应的高像素强度;在蓝色通道中没有对应的黄车道线亮度;基于最佳信道的选择及其适当的颜色阈值设置后,则能更为精确地检测出黄车道线;如下所示

索贝尔算子

基于具有垂直形状的车道线特性,在识别车道边缘变化时可以采用更为智能的方式来应用渐变技术;Sobel运算符被应用于图像其主要作用是在x或y方向上计算图像梯度

采用x轴方向上的梯度(基于Sobel x运算符)对其强度进行调节后, 从而能够识别出这些车道区域. 这些区域超出了常规S通道所能检测到的范围, 如前所述, 如下所示.

通过整合以上技术(Sobel x和S通道)识别的像素,在复杂多变的光照环境下更加精准地定位黄色车道线。

即便我们的算法目前能够识别出多种颜色,在各种光照环境下行驶的道路中也存在挑战,在突然出现的弯道面前它可能无法正确处理。

曲率半径

对于汽车停留在车道上的重要性而言,掌握车道曲率的概念是必要的。通过透视变换实现了对同一场景的不同视角观察。俯视技术使得我们可以将多项式拟合到车道线。随后,在多项式中提取了相关的参数信息。

制作直方图图表,并在图表两侧识别峰值点,从而确定左右车道的起始位置。如下所示。

滑动窗

基于起始位置,在图像中实施滑动窗口技术后,我们实现了多项式拟合至车道线。

车道中心的曲率半径和偏移

将像素值转换为米作为单位,并且再次进行计算以确定曲率半径也被表示为米。

结论

连续帧中的车道线具有相近的位置特征。因此,在下一帧中识别车道像素时,我们可以在预先检测到的车道线位置附近进行搜索

上述技术实现了汽车在动态光照环境(充足的光线与阴影区域)以及急转弯路段上精确辨识两种颜色(黄色与白色)的道路标线。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台查看:扩展模块中文教程? 即可获取全网第一份OpenCV扩展模块中文版教程包。它涵盖了从**扩展模块安装到SFM算法、立体视觉、目标跟踪、生物视觉以及超分辨率处理等内容。丰富的内容助您掌握OpenCV扩展功能。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台访问并回复「Python视觉实战项目」即可下载包含图像分割技术、口罩检测方案、车道线检测工具等在内的31个经典Python计算机视觉实战项目包

下载3:OpenCV实战项目20讲

在'小白学视觉'公众号的后台留言' OpenCV实战项目二十个'中即可下载包含二十个基于OpenCV实现的实际操作项目的包 助力 OpenCV技术的学习与提升

交流群

诚邀关注者加入公众号读者群以便与同行交流。目前拥有以下专业微信群:SLAM群、三维视觉群、传感器群等(以后会逐渐细分)。请扫描下方二维码加入,请将入群备注写为:昵称+学校/公司+研究领域,请按照格式备注,例如:张三同学来自上海交通大学,研究领域为视觉SLAM。添加成功后会根据研究方向的不同我们会主动邀请您加入对应的专业社群。

全部评论 (0)

还没有任何评论哟~