[[太田研 公開用Wiki]] *自動運転車両のための道路白線検出 [#me97c68d] #contents *はじめに [#na0be30a] 近年自動車の自動運転に関する研究が数多く行われている。自動運転車両は、主にGPSやLiDERなどを用いて現在の位置情報の推定を行っている。しかし、GPSの電波が届かない可能性があるビルの合間や、LiDERの計測範囲に物体がない開けた地などではこれらによる自己位置推定が困難となる場合が存在する。そのような地点では、道路画像から得られる白線は車両を制御する上で非常に有用な情報となる。そこで、本研究では屋外状況下で安定して道路白線を検出することを目的としている。 *既存手法 [#ea676bef] **手法 [#ma166487] 本研究は文献[1]で示された方法を基礎にしている。 ・平滑化処理 本研究は文献[1]で示された方法を基礎としている。 **平滑化処理 [#n7ec4f67] 道路上の白線検出に関係のないエッジを除去するため、画像全体に平滑化処理を加える。この研究では、ガウシアンフィルタを使用している。 ・画像分割処理 **画像分割処理 [#s01c8f59] 曲線道路の白線を高精度に検出するために画像分割処理を行う。この手法で用いた分割の境界線決定手法を図1に示す。消失点を起点とした白線探索領域を設定し、領域内の白線成分を最下部から消失点に向かって水平方向に探索を行う。白線成分が存在しない区間が一定量を超えたとき、曲線道路と判断しその区間の始点のy座標を境界線とする。また、直線道路画像は本処理において画像の分割が行われないため、遠領域は存在しない。 CENTER:#ref(001.png,center,50%) CENTER:&size(14){図1: 画像分割手法};~ ・2値化~ **2値化 [#oa6e6d20] 閾値を設定し、閾値を超えた画素を白、超えない画像を黒とする。これにより、白線以外の不要な情報の除去を行う。2値化画像を図2に示す。 CENTER:#ref(002.png,center,40%) CENTER:&size(14){図2: 2値化画像};~ ・エッジ検出~ **エッジ検出 [#ve0d2f5f] 微分フィルタを用いて画像内のエッジを検出した。この手法では、近領域と遠領域にそれぞれ異なるフィルタを用いることで精度の向上を図っている。近領域において白線は垂直方向に伸びているため横微分フィルタを用いている。また遠領域において白線はカーブをしているため水平方向へ伸びていると考えられる。よって縦微分フィルタを用いている。検出されたエッジ画像を図3に示す。 CENTER:#ref(003.png,center,40%) CENTER:&size(14){図3: 微分フィルタによるエッジ画像};~ ・論理積~ **論理積 [#f897d091] 2値化画像とエッジ画像の論理積を求める。これにより、白線以外のノイズの低減を行っている。論理積画像を図4に示す。 CENTER:#ref(004.png,center,40%) CENTER:&size(14){図4: 論理積画像};~ ・直線検出~ **直線検出 [#i43d719c] 特徴抽出法の一つであるHough変換を行って画像内の直線を検出した。この手法ではOpenCVに実装されているHoughLinesPという関数を用いて確率的Hough変換を用いている。これは、誤検出が多く古典的Hough変換では画面が直線で埋まってしまうからである。 **問題点 [#bac50f7c] この手法では、2値化画像とエッジ画像の論理積のHough変換を行っている。そのため、センターラインがオレンジ色の場合に直線が検出できないという問題点が存在する。加えて、すべての画像において誤検出が見られた。これは主に道路とは関係のない背景に特に多く見られた。従来手法のおける未検出及び誤検出画像例を図5に示す。 CENTER:#ref(005.png,center) CENTER:&size(14){図5: 従来手法のおける未検出及び誤検出画像例};~ *提案手法 [#w2bc6b40] 本手法は、白線と関係のない情報を塗りつぶし処理により除去した。また、エッジ検出方法を微分フィルタからエッジ法に変更した。その後エッジ画像にパラメータを限定したHough変換を行うことで白線検出精度の向上を図った。 **平滑化処理 [#x9b34a0f] 道路上の白線検出に関係のないエッジを除去するため、画像全体に平滑化処理を加える。本研究では、従来手法と同様にガウシアンフィルタを使用した。 **画像の塗りつぶし処理 [#g46973ff] 車載カメラ画像の道路白線は、急な坂道などを除くと画像の上半分には存在しないケースが多い。そこで、白線以外の誤検出削減のため画像上半分の塗りつぶし処理を行った。これにより、白線に関係のない情報の除去を行う。また、水平方向において道路白線は画像の中央付近に存在するため、両端の一定領域の塗りつぶしも行った。図6に塗りつぶし処理を行った画像を示す。 CENTER:#ref(006.png,center,45%) CENTER:&size(14){図6: 塗りつぶし処理を行った画像};~ **エッジ検出 [#f634d148] 従来手法では微分フィルタを用いてエッジ検出を行った。しかし、曲線道路画像では 遠領域に縦微分フィルタ、近領域に横微分フィルタと二種類のフィルタを使用するため、画像の分割処理を行わなければならなかった。そこで、本手法ではCanny法によるエッジ検出を行った。Canny法とは、微分画像の勾配の大きさと向きを用いるエッジ検出方法である。画像全体に縦微分と横微分の両方を行うため、画像分割処理を省略することが可能となった。図7にCanny法を用いたエッジ検出結果を示す。従来手法と比べ、オレンジ色のセンターラインがはっきりと検出されていることがわかる。 CENTER:#ref(007.png,center,40%) CENTER:&size(14){図7: Canny法によるエッジ検出画像};~ **直線検出 [#t10abf40] 従来手法ではエッジ画像と2値化画像の論理積に確率的Hough変換を行い直線検出を行った。本手法ではOpenCVに実装されているHoughLinesという関数を用いてエッジ画像に古典的Hough変換を行うことで直線検出を行った。これによりセンターラインもはっきりと検出することができる。また、Hough変換を行った際のρとθのパラメータ値を調整することにより白線以外の直線の誤検出削減を試みた。θの値を限定することで白線と関係のない水平に近い直線の除去を行う。さらにρの値を限定することで直線の角度は白線と近いが、直線の存在する位置が白線と大きく離れている直線の除去を行った。表1にρとθの値を示す。 CENTER:&size(14){表1: 提案手法におけるρとθの値}; |CENTER:ρ| CENTER: -150 ~ -30 , 400 ~ 490| |CENTER:θ| CENTER: π/6 ~ 11π/36 , 11π/18 ~ 7π/9| *評価実験 [#o717f577] **使用データ [#ud464881] 実際に桐生市内を走行した際に撮影された道路画像160枚を対象に実験を行った。この画像は、走行車線の白線が2本確認できる画像のみを用いた。白線の片側が擦れて消えている画像や、前方車両によって隠れている画像は対象外とした。 **白線検出実験とその結果 [#la301dd2] 従来手法と提案手法を用いた白線検出を行った。結果は表2に示した。 CENTER:&size(14){表2: 白線検出実験結果}; |CENTER: |CENTER:従来手法|CENTER:提案手法| |CENTER:両方検出|CENTER:18|CENTER:105| |CENTER:片方のみ検出|CENTER:84|CENTER:36| |CENTER:未検出|CENTER:58|CENTER:19 | |CENTER:誤検出あり|CENTER:160|CENTER:18 | 誤検出は白線以外の直線が検出されてしまったことを表す。未検出、片方のみが検出された画像が減少し、両方検出された数が大きく増加したことがわかる。また、従来手法では全ての画像に見られた誤検出も大きく減少した。 **問題点 [#ufa2eff3] 本手法ではエッジ画像から直線を検出することで白線を検出した。しかし、対向車や建物の陰となっている場合エッジが検出されないケースが多く、白線が未検出となることがあった。また曲線道路では、エッジは検出されるがHough変換で直線が検出されないため未検出となるケースが多かった。図8に提案手法による未検出例を示す。 CENTER:#ref(008.png,center) CENTER:&size(14){図8: 提案手法の未検出画像例};~ また、提案手法における誤検出は縁石を検出してしまうケースが多かった。提案手法の誤検出例を図9に示す。しかし、従来手法に多く見られた空や建物など背景からの誤検出は見られなかった。 CENTER:#ref(009.png,center,40%) CENTER:&size(14){図9: 提案手法の誤検出画像例};~ *考察 [#ue907c72] 提案手法では、左右両方の白線が検出された画像が従来手法の約5倍であり、大きく精度が向上することができた。これは、論理積ではなくエッジ画像から直線を検出したことにより、オレンジ色のセンターラインが検出されたことが大きい要因であうと考えられる。また、誤検出画像は従来手法の約1/8となった。提案手法の誤検出は全て道路横の縁石を検出したものであり、従来手法に多く見られた空や背景からの誤検出は取り除くことができた。 以上より、提案手法は従来手法から精度が向上したと考えられる。 しかし、対象データ全体で考えると両方検出された画像は約2/3であり実際の自動運転車両で実用可能な精度には届いていないと考えられる。未検出となった画像は主に曲線道路と白線が陰となっている画像であった。このような場合においても安定して検出可能でなくては実用不可能であるため、直線が検出されなかった場合は画像を細かく分割して直線検出を行うことで曲線の検出を行うなど検出方法の検討が必要である。 *まとめ [#x28b285a] 従来手法と提案手法の道路画像による評価実験結果を比較したところ、左右両方の白線が検出された画像が約5倍と大きく増加した。また、従来手法で見られた空や背景の誤検出は提案手法では見られず、全体においても誤検出は1/8以下となった。 今後の課題としては、未検出となった曲線道路や陰となってしまっている白線の検出が挙げられる。特に曲線道路の白線検出が最も重要な課題だと考えられる。そこで、直線が検出されなかった場合に細かく画像を分割して直線検出を行うなどで検出精度の向上を目指したい。 *参考文献 [#yc5df885] [1] ”自動車カメラ動画像に対する白線認識システムの開発” 上林学,真鍋真,大西陽介,田岡武司,福井正博 情報処理学会第69回全国大会 平成19年3月~ [2] “opencv.jp” (2016), http://opencv.jp/ (access Jan 28,2018).