车道识别

时间:2011-09-16 13:14:17

标签: open-source computer-vision object-recognition

假设我们在路上有一台高摄像头。

让我们说它是一个数据流。

我们可以使用什么来制作能够识别穿越车道的汽车的软件。

让我们说有一条实线,我们想检测穿过实线的汽车。

我正在寻找有助于以这种方式实现这个想法的软件包,但是如果你有一个不同的方法,它仍然可以提供创意。

  • 按图片解析视频流图片。
  • 识别汽车和车道。
  • 识别白线所在的位置(包括之前的知识)
  • 计算车辆
  • 找到穿越车道的车辆
  • 找到穿过实线的汽车。

对于简单的情况,如果汽车穿过一条车道,即实线,那么你看不到两侧的实线,就没有越过实线。

视频中的每张图片都是无状态的。(可以计算的数量多于汽车)。

下一阶段是识别汽车并尝试计算每辆车一次。

我知道一些编程语言。并且代码用于开源,所以我不会购买任何包。

1 个答案:

答案 0 :(得分:1)

正如您所注意到的,这可以自然地分成三个较小的子问题:(1)识别车道,(2)识别车辆,以及(3)检测车辆何时穿过车道。这就是我解决问题的方法:

车道识别

根据您的设置“好”,这可能从简单到非常困难:

  1. 相机是否已经固定好了?马路?如果是这样,请手动注释通道。
  2. 整条视野的车道相对直线?如果是这样,请使用Hough变换。
  3. 相机是否笔直向下?如果是这样,请使用调整为线宽的固定宽度滤镜。
  4. 使用可变宽度滤镜纠正透视失真的影响。
  5. 如果你最终处理明显的透视失真,麻省理工学院DARPA团队的这两篇论文提出了一个使用相机校准来纠正效果的解决方案:

    • Albert Huang。利用视觉和激光雷达估算自主车辆的车道。博士论文,麻省理工学院,2010年。
    • 甲。 Huang,D。Moore,M。Antone,E。Olson和S. Teller。城市道路网络中的多传感器车道发现。论文集 机器人:科学与系统,苏黎世, 瑞士,2008年。

    汽车识别

    如果您可以在帧之间存储某些状态,那么检测汽车的最简单方法是使用背景减法(即“任何移动得足够快的东西都是汽车”)。删除背景后,剩余像素可以使用连通分量算法(例如填充)分组为类似汽车的块。

    没有状态,这就变成了一个更复杂的对象识别问题。

    车道偏离检测

    假设其他一切正常,这是相对简单的。检查被识别为汽车的任何像素是否与被识别为线条的任何像素相交[或在某个容差范围内。]