自动驾驶汽车需要感知不同颜色以及在不同的照明条件下的车道线,以便准确地检测车道。除了速度和汽车动力学特性外,还应该知道车道曲率,以确定停留在车道上所需的转向角。
三种技术:
1.色彩空间
2.索贝尔算子
3.曲率半径
色彩空间
RGB色彩空间非常适合带有白色通道的图像。它在其他彩色车道上有局限性。因此我们可以探索其他颜色空间,例如HSV(色相,饱和度,值)和HLS(色相,亮度,饱和度)等。
色相表示与亮度变化无关的颜色。亮度和值是测量颜色的明暗度的不同方法。饱和度是色彩度的量度。带有黄色车道线的图像被分为RGB和HLS,如下所示。
仅R,G和S通道显示与黄色车道线相对应的高像素强度。蓝色通道的黄色像素强度为零。通过选择最佳通道和该通道的正确颜色阈值,我们现在可以更准确地识别黄色车道线,如下所示。
索贝尔算子
由于车道线是垂直的,因此我们可以以更智能的方式使用渐变来检测车道的陡峭边缘。将Sobel运算符应用于图像是一种在x或y方向上获取图像导数的方法。
通过选择x方向上的坡度(Sobel x运算符)并调整该坡度的强度,我们现在可以找到车道的那些部分,这是S通道无法检测到的(在前面的部分中),如下所示。
现在,我们可以结合以上每种技术(Sobel x和S通道)识别的像素,以在变化的照明条件下更准确地找到黄色车道线,如下所示。
即使我们的算法现在可以检测到不同颜色,在不同光照条件下的车道,但遇到突然的弯道时,它仍然可能会失败。
曲率半径
车道曲率的知识对于汽车停留在车道上是必不可少的。透视变换改变了我们的视角,可以从不同的视角和角度观看同一场景。鸟瞰,让我们将多项式拟合到车道线。然后,我们从多项式中提取车道曲率。
绘制直方图并在上图的左右两边找到峰值,可以得出左右车道的起始位置,如下所示。
滑动窗
使用起始位置,并在图像上应用滑动窗口技术,我们能够将多项式拟合到车道线,如下所示。
车道中心的曲率半径和偏移
像素被转换为米,并重新计算多项式拟合以确定以米为单位的曲率半径,如下所示。
结论
连续框架的车道线位置相似。因此,要在下一帧中查找车道像素,我们可以在一定距离内搜索先前检测到的车道线位置。
上述技术的应用使汽车能够在变化的照明条件(明亮的光线和阴影区域)和陡峭的弯道上准确识别不同颜色(黄色和白色)的车道,如下所示。