我们尝试检测正在运行的轨道上的车道线(并使用此信息作为即将到来的方向)。
当前,我们使用以下(简化)步骤:
这通常可以正常工作(示例:straight.png,left.png),但是如果未移除水平连接线(例如:problems.png-右下和左下),则会出现问题。
在这种情况下,两条线和连接被解释为一个连接的组件。
由于我们的观点可能从左到右倾斜很多(将摄像机安装在跑步的人身上),因此很难为向上指向的线定义倾斜阈值。
有没有更好的方法来消除非向上指向的轨迹线?
作为使用canny的当前解决方案,霍夫变换和斜率滤波对于曲线不是最佳的,有时根本不起作用(如上所述)。
是否可以通过形态学操作将裁剪后的图像直接移到分隔线?
类似于this example。
我知道我们没有严格的水平线,这会使任何合适的内核变得更加复杂(我认为)。
当前,我们尝试使用透视变换在赛道上鸟瞰。
这应该有助于区分水平线和向上线。
另一个小问题是太短的线会导致近似的二次函数不正确(problems.png和straight.png中最左边的线)。这可能很容易解决(通过将最少的像素数计算为要计为轨迹线的组件),因此不应该成为问题的一部分。
编辑(回答vlad_tepesch的问题)
曲线是什么?它们是否应该成为您的车道模型的一部分?
我们显然希望检测运行轨迹的曲线-因为方向估计需要此曲线。但是我们要忽略(删除)问题.png示例底部的水平连接曲线。
4./6。校正-相机失真
我将再看一下整改,直到现在我才将其推迟,因为我认为这并不重要。
7.3如果段之间的重叠被忽略了多少个像素(组像素数)
只需画出一组中的所有线并检查非零像素数?
10.车道通常不是二次的-请改用int复数形式-这可能会导致过大杀伤力,因此可以改用三阶多项式
我明白你的意思。类固醇目前不在范围内,但我会记住它们。
如果我们使用更复杂的拟合,您将如何进行方向估计?
目前,我们只是采用第二个oder多项式的第一个系数来估计弯曲方向(以及曲率度以区分曲线和笔直部分)。
可选的更高级
好一点,我们已经考虑过对多个帧取平均结果。我也把这个建议留在脑海中。
直
左
问题
最佳答案
看来您真正的问题是过滤和连接步骤。因为您过滤掉了许多水平分量,所以为了连接未过滤的几乎垂直的线,只剩下次优段。
曲线是什么?它们是否应该成为您的车道模型的一部分?
起初我不认为,但它仅在分组阶段产生影响。
我建议以下步骤
从处理时间的 Angular 来看,这可能是更理想的选择-但是,根据相机畸变的强度,霍夫线检测器产生的最佳结果会较差。
这应防止交叉线合并。
可选的更高级
下一帧中的