ドライビングシミュレーターで車線を検出できるアプリを書いています。環境は比較的単純で、ほとんどがまっすぐな複数車線の道路であり、曲がりはほとんどありません。現時点では、(従来の)ハフ変換を使用してラインを正常に検出できますが、問題は、HTがレーンではないラインも自然に検出することです。
どうすればより選択的になることができますか?まだ水平線を引いていませんが、まだいくつかの線が入り込んでいます。理想的には、車両が走行している車線の境界を検出したいと思います。以下は、環境の典型的な画像です。
これが私がこれまでに行っていることです:
-
1.どこを運転しても環境はほぼ同じなので、関心領域(RoI)を設定して、地平線とその上のすべてのものを除外します。
- 2.画像のしきい値を設定します(しきい値の理由を少し説明します)
- 3.キャニーエッジ検出
- 4.ハフ変換を適用します
- 5.勾配が0.0またはほぼ0.0の線を除いて、検出された線を描画します。
イメージングのしきい値の理由は次のとおりです。上にリンクされている環境写真を見ると、道路と平行に走っている灰色がかった線が見えます。レーンマーカーとは異なり、その連続線がHTによって検出されるためです。レーンマーカーと同じグラデーションなので、グラデーションで除外することはできません。しきい値を使用すると、それを削除できるため、実際のレーンマーカーであるラインのみを検出できます。
上記の操作の結果は次のとおりです
この問題には多くの解決策があることを理解しており、これに関する無数の論文を読んだことがありますが、それらはすべて、これよりもはるかに複雑な環境を処理しているようです。その価値については、1か月ほど前、私はComputerVisionのバックグラウンドを持っていなかったので、これらすべては私にとって非常に新しいものです。
更新1:
これをより適切に表現すると、モデルに適合しない線が含まれないように車線をモデル化する方法を探しています。残念ながら、モデルをどこから始めればよいかわかりません。助言がありますか?
その価値のために、私は車両が走行している車線を特定することができ、いわば「アクティブな」車線の一部ではない余分な線を除外することができます。この写真がお役に立てば幸いです
完璧ではありませんが、私が推測するものです。モデリング後の私の最終的な目標は、車両の進行方向/位置を生成することです。しかし、私は最初は比較的堅牢な車線検出を取得したいと思っています。これを実現するのに役立つ比較的単純な手法(視野の焦点距離などのシステムのパラメーターに依存しない手法)があることを期待しています。