分享

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

 小白学视觉 2021-03-05

重磅干货,第一时间送达

自动驾驶汽车需要感知不同颜色以及在不同的照明条件下的车道线,以便准确地检测车道。除了速度和汽车动力学特性外,还应该知道车道曲率,以确定停留在车道上所需的转向角。

三种技术:

1.色彩空间

2.索贝尔算子

3.曲率半径

色彩空间

RGB色彩空间非常适合带有白色通道的图像。它在其他彩色车道上有局限性。因此我们可以探索其他颜色空间,例如HSV(色相,饱和度,值)和HLS(色相,亮度,饱和度)等。

色相表示与亮度变化无关的颜色。亮度和值是测量颜色的明暗度的不同方法。饱和度是色彩度的量度。带有黄色车道线的图像被分为RGB和HLS,如下所示。

仅R,G和S通道显示与黄色车道线相对应的高像素强度。蓝色通道的黄色像素强度为零。通过选择最佳通道和该通道的正确颜色阈值,我们现在可以更准确地识别黄色车道线,如下所示。

索贝尔算子

由于车道线是垂直的,因此我们可以以更智能的方式使用渐变来检测车道的陡峭边缘。将Sobel运算符应用于图像是一种在x或y方向上获取图像导数的方法。

通过选择x方向上的坡度(Sobel x运算符)并调整该坡度的强度,我们现在可以找到车道的那些部分,这是S通道无法检测到的(在前面的部分中),如下所示。

现在,我们可以结合以上每种技术(Sobel x和S通道)识别的像素,以在变化的照明条件下更准确地找到黄色车道线,如下所示。

即使我们的算法现在可以检测到不同颜色,在不同光照条件下的车道,但遇到突然的弯道时,它仍然可能会失败。

曲率半径

车道曲率的知识对于汽车停留在车道上是必不可少的。透视变换改变了我们的视角,可以从不同的视角和角度观看同一场景。鸟瞰,让我们将多项式拟合到车道线。然后,我们从多项式中提取车道曲率。


绘制直方图并在上图的左右两边找到峰值,可以得出左右车道的起始位置,如下所示。

滑动窗

使用起始位置,并在图像上应用滑动窗口技术,我们能够将多项式拟合到车道线,如下所示。

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

像素被转换为米,并重新计算多项式拟合以确定以米为单位的曲率半径,如下所示。

结论

连续框架的车道线位置相似。因此,要在下一帧中查找车道像素,我们可以在一定距离内搜索先前检测到的车道线位置。

上述技术的应用使汽车能够在变化的照明条件(明亮的光线和阴影区域)和陡峭的弯道上准确识别不同颜色(黄色和白色)的车道,如下所示。

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

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多