#author("2022-02-24T14:39:47+00:00","default:ail-wiki","ail-wiki") #author("2022-02-24T14:42:24+00:00","default:ail-wiki","ail-wiki") [[太田研 公開用Wiki]] #contents *単眼画像からの深度マップを用いた障害物検出手法の提案 [#t8a470c0] *はじめに [#ae461c77] 近年、自動車の自動運転技術の研究が盛んに行われている。自動運転とはドライバーが操作することなく、自動車が自律的に周囲の環境を認識しながら走行することのできる技術のことである。この技術は運送業界における人手不足、渋滞の緩和、ドライバー起因の交通事故の防止などさまざまな問題を解決できる手段として注目を集めている。 自動車の自動運転を実現する際に必要な機能の一つに様々なセンサーを用いて障害物を検出し、それを回避する障害物回避がある。現在、自動運転車両において障害物検出に用いられるセンサーとしてはLiDARが主流となっている。LiDARは高い精度で障害物を検出できる一方高価なためLiDARを搭載した自動車は自然と費用も高くなってしまう。そのためコストを抑えるためにより安価な障害物検出手法には需要がある。 LiDARよりも安価なセンサーとしてはカメラがある。カメラを用いた障害物検出には複数の画像間で物体の特徴点の視差情報を利用したステレオマッチング、特定の物体を機械学習により認識できるようにする物体認識などが挙げられる。しかし、これらの手法は前者は画像間の対応点をマッチングさせる際のマッチングミスの問題、後者は特定障害物しか検出できないという問題がある。 そこで本研究では、近年の研究で単眼画像から作成できるようになった深度マップを用いて画像間でのマッチングの必要のない単眼カメラの画像1枚から不特定障害物を検出する手法の開発を行った。 *既存手法 [#s8493952] カメラのみを用いて障害物を検出する手法としてはステレオマッチングと物体認識があげられる。 **ステレオマッチング [#sd1a54f4] ステレオマッチングは複数の画像から特徴点を抽出し、画像間で同じ物体の特 徴点をマッチングさせて、その視差情報から物体までの距離を図る手法である。 この手法は類似物体が存在する場面で特徴点をマッチングさせる際に画像間で異なる特徴点同士をマッチングしてしまい、実際の距離とは異なる結果になるという問題がある。 #ref(stereo.png,center,60%) CENTER:図1: 類似物体におけるステレオマッチング **物体認識 [#jb01737b] 物体認識は機械に認識させたい物体の画像等を学習させ、物体のパターンを発 見することで画像中から学習させた物体を検出する手法である。物体認識の種類 には検出したい特定の物体のみを検出する特定物体認識と一般的な名称での物体 を検出する一般物体認識がある。車を例に上げると、特定物体認識は車のなかで もトラックだけを検出するが、一般物体認識はトラックだけに限らず、普通車、バスなど車全般を検出する。 #ref(obj_recog_spe.png,center,40%); CENTER:図2: 特定物体認識 #ref(obj_recog_gen.png,center,40%); CENTER:図3: 一般物体認識 いずれの物体認識も学習させた物体の類似物体のみ検出するため未知の障害物 が発生した場合に検出できないという問題がある。 以上の問題点を解決するために本研究では深度マップ及びエッジに着目するこ とで単眼画像から不特定障害物を検出できると考え新しい手法を提案する。 *提案手法 [#qc608f71] 提案手法の処理手順を図4に示す。 #ref(flow.png,center,100%) CENTER:図4: 提案手法の処理手順 **深度マップの作成 [#qa92e758] 本研究では障害物までの距離情報を取得するために深度マップを使用した。深度マップとは3次元空間の奥行きを画像に落とし込んだものである。深度マップの作成にはGoogle社の研究チームが作成した学習済みモデル(参考文献[1])を使用し、単眼画像から作成した。 #ref(depth.jpg,center,80%) CENTER:図5: 深度マップ **画像の入力 [#h61f28fe] 入力画像はグレー画像及びグレー画像に対応する深度マップとした。 #ref(input.jpg,center,80%) CENTER:図6: 入力画像 **近傍領域の抽出 [#u5961fa4] 本研究では障害物検出においてもっとも検出すべき対象である近傍領域中の障害物のみを検出する。近傍領域は入力された深度マップから輝度値が140以上となる領域とし、深度マップ中で輝度値が140以上の画素を抽出した2値画像を作成した。 #ref(neighber.png,center,80%) CENTER:図7: 近傍領域 **特徴点の抽出 [#bcdca0ed] 抽出した近傍領域には道路などの非障害物領域も残っているため除去する必要がある。障害物領域を特定するために本研究ではグレー画像における輝度値変化が大きい箇所であるエッジに着目した。エッジはその特徴から主に物体の輪郭部分から多く抽出されやすいため、エッジ由来の特徴点が密集している箇所は障害物である可能性が高い。エッジ特徴点は近傍領域と同じ領域についてグレー画像を横方向に走査した時に輝度値変化が閾値以上となった画素とした。 #ref(feature_ori.png,center,80%) CENTER:図8: 特徴点 **白線検出・除去 [#c4cf950c] 道路に存在する白線は道路のグレーに対し白であるので、エッジ特徴点を抽出しやすく誤検出の原因となる。そのため白線領域を検出しその領域からは特徴点が抽出されないようにする必要がある。白線は白く長いエッジが抽出されやすい直線であるという特徴を持つため、白線を明るく長いエッジの強い直線であると定義した。Canny法によりエッジの強い箇所を抽出したエッジ画像および輝度値220以上の明るい画素を1とした2値化画像を作成し、その重複部を求めた。 #ref(edge_bright.jpg,center,100%) CENTER:図9: エッジ画像及び2値化画像 #ref(duplication.png,center,80%) CENTER:図10: 重複部 重複部画像からハフ変換により検出された直線を白線とし、白線領域を近傍領域から除去、除去結果から特徴点を抽出した。 #ref(wl_result.png,center,80%) CENTER:図11: 白線検出結果 #ref(wl_remove.png,center,80%) CENTER:図12: 白線部除去 #ref(feature.png,center,80%) CENTER:図13:白線除去後の特徴点 **障害物領域検出 [#p0ae9745] 白線を除去した近傍領域から抽出された特徴点について近傍の特徴点同士をマッチングさせ、その個数が一定値以上となった領域を障害物領域として赤の矩形で表示した。 #ref(obst.png,center,80%) CENTER:図14: 障害物検出結果 *実験 [#kbc1b0ff] **検出対象の定義及び実験方法 [#f5ebd794] 提案手法について評価するためにKITTIのデータセット「stereo 2015」(参考文献[2])の画像400枚を用いて実験を行った。 検出対象の障害物を検出結果に近傍領域を重ねて描画した際に近傍領域中に含まれる障害物とし、データセットの全画像に対して提案手法による障害物検出を行った。その結果から以下の式で検出率及び精度を算出した。 検出率:検出対象の障害物が検出された割合 検出率 = 検出された検出対象の障害物数 / 検出対象の障害物数 精度:障害物と判定された領域が実際に障害物である割合 精度 = 検出された検出対象の障害物数 / 総検出回数 #ref(success.jpg,center,80%) CENTER:図15:検出成功例 **実験結果 [#l06fcf12] 実験結果を以下に示す。 CENTER:表1: 実験結果 |検出対象|検出|未検出|誤検出| |398|337|61|128| 検出結果より算出した検出率及び精度を以下に示す。 CENTER:表2: 検出率及び精度 |検出率|精度| |0.8467|0.7247| 表2より提案手法では検出対象の障害物を約85%検出することができた一方で検出結果の約28%が誤検出であった。 *考察 [#l9be8982] 今回の実験において未検出、誤検出の原因としては特徴点不足、影による影響、白線検出の精度不足があげられる。 図16では黒色の車両から特徴点が5つと少量しか検出されていない。これはこ の物体が画像端にあることが原因と考えられる。今回の特徴点は明るさの変化が 大きいエッジベースの特徴点を使用した。エッジは特に障害物の輪郭から検出さ れることが多い。そのため図の障害物が画面からはみ出している状況では障害 物の輪郭情報が少なくなるため検出される特徴点が減少した。また特徴点を抽出 する際に横方向のみを走査したことも原因と考えられる。 本研究では画像を横方向のみに走査し特徴点を抽出している。この抽出方法は画像の縦 方向に強いエッジを持つ画素のみを抽出している。輪郭部分以外が明るさの変化 が少ない一様な障害物に関しては輪郭以外からは特徴点が抽出されないため縦方 向のみであると物体の左端と右端からのみ特徴点が抽出されるため特徴点の個数 が足りず未検出となった。 #ref(featureless.jpg,center,80%) CENTER:図16: 未検出例 図17ではでは影と道路の境界から特徴点が抽出されている。今回作成したプログラ ムは輝度値の変化量が大きい箇所を特徴点として検出した。暗い影は影以外 の領域との輝度値の変化量が大きくなりやすいためその境界線上からは特徴点が 抽出されやすいため誤検出の原因となった。 #ref(shadow.jpg,center,80%) CENTER:図17: 影による誤検出 図18,19では破線や道路標示、トンネル内の白線を検出できていない。今回の 白線検出では輝度値が220以上かつエッジが強い画素を抽出した画像中で、一定 以上の長さを持つ直線を白線として定義した。この条件では一本一本の長さが短 くなる破線、複雑な形状を持っている道路標示(図18)、輝度値が低下してしまう トンネル内や影が掛かっている白線(図19)などを検出できず、そこから特徴点が 抽出され誤検出の原因となった。 #ref(wl_miss.jpg,center,80%) CENTER:図18: 白線、道路標示による誤検出 #ref(tunnel.png,center,60%) #ref(brightreduce.jpg,center,80%) CENTER:図19: 輝度低下による誤検出 今後これらの問題に対処するためには、横方向のエッジから特徴点の抽出処理、 影や輝度低下の影響を受けにくいエッジ検出である適応閾値処理、道路標示の形 状認識処理の追加などによる提案手法の改善が必要である。 *まとめ [#t1771c9f] 本研究では従来手法の類似物体が近くに存在する場合状況での検出率低下、不特定障害物を検出できないという問題を解決するための単眼画像から不特定障害 物を検出する手法の開発を目的として深度マップを用いて距離毎に抽出した領域 からエッジベースの特徴点を抽出し、その密集領域を求めることで障害物を検出する手法の提案をした。 評価実験として、画像400枚から障害物を検出し、その結果今回の提案手法は約85%の障害物を検出できた。一方で約28%の誤検出が発生した。この原因としては輪郭の減少による特徴点不足、影から特徴点が抽出される、白線検出の精度が不十分なことが原因である。 今後の課題としては横方向のエッジによる特徴点の抽出、影除去処理の追加、道路標示検出処理の追加による検出精度の向上が必要である。それに加えて本研究では近傍領域にのみ着目して障害物を検出したが、遠方物体に着目して障害物を検出した際の精度について検証する必要もある。 *参考文献 [#ed3103f8] [1]Z. Li et al., "Learning the Depths of Moving People by Watching Frozen People," 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 4516-4525 [1]Zhengqi Li, Tali Dekel, Forrester Cole, Richard Tucker, Noah Snavely, Ce Liu, William T. Freeman "Learning the Depths of Moving People by Watching Frozen People," 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 4516-4525 [2]M. Menze and A. Geiger, "Object scene flow for autonomous vehicles," 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3061-3070 使用モデル https://mannequin-depth.github.io/ (最終閲覧日:2022/2/22)