【问题标题】:Road Detection based on Hough Transform基于霍夫变换的道路检测
【发布时间】:2011-10-02 10:00:34
【问题描述】:

是否可以使用霍夫变换在自动驾驶汽车中检测和跟踪道路?如果是这样,是否有任何算法已经实现了这一点?想要一个链接,因为我真的找不到任何超出我想象的东西。

特别是,我正在寻找使用两条直线的消失点来确定车辆航向的算法。但是,如果有其他更更简单的算法可以完成这项工作,我也愿意看看它们。

【问题讨论】:

标签: image-processing hough-transform


【解决方案1】:

是的,你可以这样做,但如果你只做这件事,它可能无法达到你想要的质量。任务并不简单,没有一种“简单”的算法可以仅根据图像进行“道路”或“航向”检测。另外,there are existing implementations in a number of languages, here's one in C++

您应该考虑的一件事是道路并不总是笔直的,因此消失点可能在道路的转弯处..​​....

Stanford DARPA Grand Challenge 和 DARPA Urban Challenge 车辆使用基于颜色的检测来检测可行驶的表面(例如道路),然后使用某种边缘检测和线条形成算法(不清楚是否基于 Hough 变换)来定义道路方向的“前瞻性”估计。我确实相信他们使用了某种系统来检测消失点,而且他们肯定会考虑到道路的转弯。

我想你真正需要检测的是道路边缘,将它们变成线(不一定是直线),然后找到会聚点。这假设可以解决许多其他艰巨的任务:(1)您的图像质量合适; (2) 你可以检测到道路,或者至少可以检测到它的边缘; (3) 您可以足够快地处理图像以跟上车辆的移动。

如果您所做的只是分析一些现有的视频,我将从一个非常基本的方法开始:

  1. 检测视频中的路面——这是一个分割任务,找出图像中所有的像素点;这将有助于在这里划分三个类:道路、非道路和天空。
  2. 寻找地平线(这大概是您的道路/非道路和天空类的交汇点
  3. 使用简单的边缘检测器(例如 Sobel 边缘检测器)来区分道路和非道路的边缘
  4. 对 Sobel 边缘应用 Hough 变换以绘制道路边缘的“线”
  5. 找到道路线在地平线上的交汇点

【讨论】:

  • 我正在尝试一件一件的事情。目标并不是真正制造一辆真正的车辆,而只是一个可以拍摄视频并检测道路并报告方向的程序。我认为这个目标相对容易一些。 Darpa 的实现是否基于颜色分割,即他们假设道路的颜色与环境的颜色非常不同?
  • @saad:我没有看过代码或阅读论文,但我最好的猜测是它们从颜色开始,如果这还不够,请进行某种纹理检测;小波可能适合纹理
  • @saad 嗨,你能告诉我你检测道路的方法细节吗?谢谢。
【解决方案2】:

您实际上可以考虑研究Graph-cuts 和高斯混合模型来解决这个问题。它可能对你很有效。 OpenCV 实现了这两种算法。这是example这两种算法在分割中的应用。

【讨论】:

  • 几个月前解决了这个问题! :)
  • 甜蜜! :) 抱歉,我什至没有注意到我迟到了 LOL!
  • @saad 你能告诉我你用来解决问题的方法吗?我已经坚持了好几个星期了。解决问题的一些想法会很棒。
猜你喜欢
  • 2015-05-03
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多