1

ハフ変換を使用して、自動運転車で道路を検出および追跡することは可能ですか?もしそうなら、これをすでに実装しているアルゴリズムはありますか?私は本当に私の頭の上にないものを見つけることができなかったので、1つへのリンクが大好きです。

特に、2本の直線の消失点を使用して車両の進行方向を決定するアルゴリズムを探しています。ただし、その仕事を実行する他のより単純なアルゴリズムがある場合は、それらも見ていきたいと思います。

4

2 に答える 2

4

はい、これを行うことはできますが、それだけでは希望する品質で機能しない可能性があります。タスクは単純ではありません。画像に基づいて「道路」または「進行方向」を検出するだけの「単純な」アルゴリズムはありません。また、多くの言語で既存の実装があります。ここでは C++ での実装を示します

考慮すべきことの 1 つは、道路は常にまっすぐであるとは限らないため、消失点は道路の曲がり角のあたりである可能性があるということです...

スタンフォードの DARPA グランド チャレンジと DARPA アーバン チャレンジの車両は、色ベースの検出を使用して走行可能な表面 (道路など) を検出し、ある種のエッジ検出とライン形成アルゴリズム (ハフ変換ベースかどうかは不明) を使用して、「フォワード」を定義しました。道路方向の推定。彼らは消失点を検出するためにある種のシステムを使用していたと私は信じています。

本当に検出する必要があるのは、道路の端であり、それらを線 (必ずしも直線である必要はありません) に変換してから、収束点を見つけることだと思います。これは、他の多くの困難なタスクを解決できることを前提としています。(1) 画像が適切な品質であること。(2) 道路、または少なくともその端を検出できます。(3) 車両の動きに追いつくのに十分な速さで画像を処理できます。

既存のビデオを分析するだけなら、非常に基本的なアプローチから始めます。

  1. ビデオ内の路面を検出します。これはセグメンテーション タスクであり、画像内の道路であるすべてのピクセルを見つけます。ここでは、道路、非道路、空という 3 つのクラスをセグメント化すると便利です。
  2. 地平線を見つけます (これはおおよそ、道路/非道路と空のクラスが交わる場所です)
  3. 単純なエッジ検出器 (ソーベル エッジ検出器など) を使用して、道路と非道路のエッジを区別します。
  4. ソーベルの端にハフ変換を適用して、道路の端に「線」を描画します
  5. 道路線が地平線で交わる場所を見つける
于 2010-10-09T15:29:31.303 に答える
1

この問題については、実際にグラフカットとガウス混合モデルを検討することを検討してください。それはあなたにとって非常にうまくいくかもしれません。OpenCV には、これら両方のアルゴリズムの実装があります。これら 2 つのアルゴリズムをセグメンテーションに適用した例を次に示します。

于 2011-10-02T02:00:34.777 に答える