#author("2023-03-22T14:50:48+09:00","default:ail-wiki","ail-wiki") #author("2023-03-22T14:58:05+09:00","default:ail-wiki","ail-wiki") [[太田研 公開用Wiki]] *Hough変換を利用した車線の検出 [#u18d0012] #contents * はじめに [#n71ccf8f] ** 研究背景 [#j99a1367] 近年、自動車の運転支援技術への注目が高まっている。先進技術を用いてドライバーをサ ポートし、安全を支援する自動車のことを ASV(先進安全自動車)と呼び、様々なメーカー が技術の開発を進めている。例としては追突事故の被害を軽減、または回避することを目的とした「衝突被害軽減ブレーキ」やシステムがアクセルやブレーキを操作することで一定の車間距離を保つ「車間距離制御装置(ACC)」、走行中の車線をはみ出しそうになった時にドライバーに警告する「車線逸脱警報装置」などがある。 これらのような自動車の安全運転を支援する技術が存在する現在であっても自動車による様々な交通事故は多数発生している。その中でも車線逸脱事故は四輪車乗車中における死亡事故の高い割合を占めている。本研究では死亡事故の原因にもなる車線逸脱を防ぐためにカメラから得た路面画像から走行中の車線を検出することを目的とした。 ** 研究目的 [#pad75773] 本研究では路面の色の情報に着目し、それを用いて直線検出を行うことで車線の検出を 試みた。また、入力画像を変換することで路面以外の情報を減らし、環境に左右されにくい手法を目指した。 * 提案手法 [#t947e3ee] 路面は基本的に黒色から灰色となっており、白線や中央線などの車線とは色が大きく異なっている。本研究では路面の色の情報から画像の二値化を行い、そのエッジ画像から直線を検出することで車線の検出を試みた。 ** 入力画像の変換 [#ne58c661] まず、射影変換を用いて入力画像の変換を行う。ドライブレコーダーから得た画像に射影変換を行うことで画像を真上からみた状態に変換することができ、木や電柱などの車線の検出に不要な情報を減らすことができる。実際に射影変換を行った例を以下の図1に示す。 CENTER:&ref(im1.png,center); CENTER:図1:射影変換の例 ** 2値化 [#sd07d2a7] 次に射影変換後の画像に2値化処理を行う。画像の2値化とは画像を白と黒の2色にすることで、ここでは白線と中央線の部分を白、それ以外の部分を黒として2値化を行った。2値化の条件として白線は RGB、中央線は HSV を用いて色の範囲を指定した。以下にその条件を示す。 | |CENTER:RGB|CENTER:HSV| |CENTER:白線|CENTER:130≦R≦255, 130≦G≦255, 130≦B≦255| | |CENTER:中央線| |CENTER:9≦H≦29, 80≦S≦255, 80≦V≦255| この条件は白線は白色の範囲、中央線はオレンジ色の範囲として設定している。RGBとは赤、緑、青の3色を原色とした色の表現法のことで、HSVとは色相、彩度、明度の3つの要素を用いた色の表現法のことである。実際に2値化処理を行った例を以下の図2に示す。 CENTER:&ref(im2.png,center,50%); CENTER:図2:2値化の例 ** エッジ検出 [#ke476e69] 次に2値画像にエッジ検出を行う。エッジ検出とは画像の明るさが鋭敏に変化している部分を特定することをいう。本研究では車線の検出を行うことが目的であるため輪郭の検出漏れが少ないという特徴をもつ Canny法を用いてエッジ検出を行った。Canny法では平滑化、Sobelフィルタによる勾配の計算、勾配の極大値の計算、しきい値によるエッジの判定という処理をすることでエッジ検出を行う。実際にCanny法を用いてエッジ検出を行った例を以下の図3に示す。 CENTER:&ref(im3.png,center,50%); CENTER:図3:エッジ検出の例 ** 直線検出 [#s3490958] 最後にエッジ画像から直線を検出する処理を行う。直線検出には確率的Hough変換を用いた。Hough変換とは画像中においてしきい値以上の点を通る直線を検出する処理のことで、本研究で用いた確率的Hough変換では画像中から線分を検出することができる。実際に直線検出を行った例を以下の図4に示す。 CENTER:&ref(im4.png,center,50%); CENTER:図4:直線検出の例 * 実験 [#ha11576c] 実験には群馬大学桐生キャンパス周辺道路を走行したときのドライブレコーダーの画像 489 枚を用いた。以下の図5に実験で用いた画像の例を示す。 CENTER:&ref(im5.png,center,50%); CENTER:図5:実験に用いた画像の例 ** 実験結果 [#qb03d4aa] 実験の結果、出力画像 489 枚すべてにおいて直線の未検出、または誤検出が見られた。以下の図6、図7に結果の例を示す。 実験の結果、出力画像 489 枚すべてにおいて直線の未検出、または誤検出が見られた。以下の図6に結果の例を示す。 CENTER:&ref(im6.png,center,50%); CENTER:図6:結果の例 * まとめ [#c6210664] 結果としては陰などの影響による白線の未検出やゼブラゾーンなどの誤検出が多く見られた。今後の課題としては直線検出の際の条件に直線の角度や距離などを加え、不要な直線を消すことや、車線のように2本の直線がペアとして検出される場合以外の直線を削除することなどが挙げられる。