[[太田研 公開用Wiki]] *つくばチャレンジのための信号認識手法 [#u96b0df3] *つくばチャレンジのため信号機認識手法の研究 [#u96b0df3] #contents *はじめに [#a9502e30] **研究背景 [#h3de4b71] つくばチャレンジとは、つくばで行われる自律移動ロボットの公開実験で、公 園や歩道上に定められたコースをスタート地点からゴールまで自律的に走行する ことを試みる。自律走行以外にも、途中の探索エリアで決められた服装の人間を 探索する、歩行者用信号機を認識して横断歩道を渡るなどの課題も設定されてい る。本研究ではこのロボットで必要となる、歩行者用信号機を認識する方法を提 案する。また、実験結果を紹介する。 CENTER:#ref(map.png,center,60%) CENTER:&size(13){図1: 課題コース地図}; **研究目的 [#b5c30498] 本研究では、つくばチャレンジ 2016 でロボットのカメラで撮影した画像データ から歩行者用信号機の表示内容を確認するための画像処理を開発する課題の達成 を目的としている。 **つくばチャレンジについて [#wc31730c] つくばチャレンジは自律移動ロボットが、実際に人が生活する街の中で、速度と 競うのではなく、「安全かつ確実に動く」ことを目指す技術チャレンジである。つ くばチャレンジは大学や企業、研究所などの研究チームから個人まで参加し、お 互いの技術情報を公開し、共有し合うことでロボット技術の展開につながり、こ のような取り組みの先に「人とロボットが共存する社会」を目的にしている。 *提案手法 [#m7335ae9] 本手法の処理の流れを図2 に示す。(R、G、B)と(H、S、V)の色空間を変換する。(H、S、V)の色特徴により、信号画素を認識し、信号の周囲特徴により信号機の誤認識を削減する。膨張・収縮処理によりノイズを除去し、信号領域の面積を計算する。検出された領域の大きさから信号を判定する。 CENTER:#ref(algorithm.png,center,60%) CENTER:&size(13){図2: 信号機認識の流れ図}; **色空間の変換 [#y9d21a8c] 本手法では、まず(R、G、B)と(H、S、V)の色空間を相互に変換し、画素色の検出を行った。HSV 表色系とはHは(HUE、色相)、Sは(SATURATION、彩度)、Vは(VALUE、明度)の意味である。ここで色相は赤や緑といった色の種類、彩度は鮮やかさ、明度は明るさを表し、それぞれ色相が 0 ∼ 360, 彩度が 0 ∼ 255, 明度が 0 ∼ 255 という範囲で値をとる。HSV系に変換する理由はRGBの値より色相、彩度、明度が、直感的に色を表現できる。また、 HSV 系は RGB 系より人間の感覚に近い。HSVの色空間を図 3 に示す。 CENTER:#ref(Hsv.png,center,60%) CENTER:&size(13){図3: 信号機認識の流れ図}; **特定色の抽出 [#fdf8e601] 実際のつくばチャレンジの信号機の画像から信号機の赤色と青色の色分布を調 べ、抽出する色の範囲を決める。具体的には信号領域の周辺情報を利用し、RGB 値からHSV値を求める。H、SとVのそれぞれの最小値と最大値を設けることで 信号画素を抽出する。 CENTER:#ref(signal1.png,center,60%) CENTER:&size(13){図4: つくばチャレンジの信号の色}; 色の抽出の結果には表1の値を用いる。 CENTER:表1 色抽出範囲 |CENTER:色空間|CENTER:赤信号|CENTER:青信号| |CENTER:H|CENTER:0 ≤ H ≤ 8|CENTER:84 ≤ H ≤ 104| |CENTER:S|CENTER:144 ≤ S ≤ 194|CENTER:163 ≤ S ≤ 203| |CENTER:V|CENTER:153 ≤ V ≤ 252|CENTER:108 ≤ V ≤ 155| 以上より特定の範囲の色情報を持つ画素値の抽出を行うことができる。また、信 号機の誤検出も削減できる。 上記( H 、 S 、 V) 色空間での閾値処理により信号画素候補の抽出を行った。以下 に元画像は 4 枚と2値画像の結果は 4 枚を示す。 CENTER:#ref(signal2.png,center,60%) CENTER:&size(13){図5: 往路の信号色の抽出結果例}; &br; CENTER:#ref(signal3.png,center,60%) CENTER:&size(13){図6: 復路の信号色の抽出結果例}; **ノイズ除去 [#hccf83d9] 赤信号と青信号の2値画像から安定して、信号機の赤と青の領域を抽出するために膨張と収縮の処理によりノイズを除去を行った。具体的には、上記(H、S、V)色空間での閾値処理で、抽出した信号画素は不連続になる場合がある。信号画素の膨張・収縮処理で、画素面積を拡張した。膨張・収縮処理の信号のイメージを図7 に示す。 CENTER:#ref(binary.png,center,60%) CENTER:&size(13){図7: 信号画素領域の膨張・縮小処理}; **領域の面積の計算・信号色の判定 [#l52cf729] 本研究では、ラベリング処理により、赤と青の各領域の面積(画素数)と重心を計算した。そして、各領域の中で一番大きな領域を認識する。また、外接矩形と領域の大きさを示す。信号認識結果のイメージを図8 に示す。 CENTER:#ref(signal4.png,center,60%) CENTER:&size(13){図8: 信号機認識の結果例}; *実験と結果 [#k995abee] **実験方法 [#t193fdf2] 実験にはつくばチャレンジ 2016 で撮影した画像を使用し、コンピュータ上で前章の提案手法を実装して信号機検出を行った実験について述べる。入力画像は 50枚に対して青信号は25枚と赤信号は25枚である。それぞれの検出を行い、検出率を求める。また、検出率を以下のように定義する。 #ref(answer.png,center) **実験結果 [#q7658d19] 以下に正しく検出できた例は 8 枚と未検出例は 4 枚を示す。 CENTER:#ref(blue-result.png,center,60%) CENTER:&size(13){図9: 青信号の検出結果例}; &br; CENTER:#ref(red-result.png,center,60%) CENTER:&size(13){図10: 赤信号の検出結果例}; &br; CENTER:#ref(blue-error.png,center,60%) CENTER:&size(13){図10: 青信号の未検出結果例}; &br; CENTER:#ref(red-error.png,center,60%) CENTER:&size(13){図10: 赤信号の未検出結果例}; これらの結果を用いて検出率を求めた結果を表にしたものを以下に示す。 CENTER:表2 検出結果 |CENTER:信号色|CENTER:画像数(枚)|CENTER:正答数(枚)|CENTER:誤検出数(枚)|CENTER:未検出数(枚)| |CENTER:青信号|CENTER:25|CENTER:23|CENTER:0|CENTER:2| |CENTER:赤信号|CENTER:25|CENTER:21|CENTER:0|CENTER:4| &br; CENTER:表3 検出結果 |CENTER:確率|CENTER:青信号|CENTER:赤信号| |CENTER:検出率(%)|CENTER:92.0|CENTER:84.0| |CENTER:呉検出率(%)|CENTER:0.0|CENTER:0.0| |CENTER:未検出率(%)|CENTER:8.0|CENTER:16.0| 以上の検出結果から、赤信号の認識率は青信号の認識率より低い結果になったが、誤認識率は青信号と赤信号が無かった。このためある程度安定した結果を得られた。未検出の原因については次章で詳細を述べる。 *考察 [#p32a5fac] **青信号認識率について [#h1bbb010] 青信号の検出率は良好な結果を得られた。今回の実験では誤検出は無かった。ま た、青信号の未検出の原因については逆光のような環境で画像が検出されなかっ た。この場合、逆光によって信号の色が暗くなってしまい、信号として判断され なかったと考えられる。青信号の未認識のイメージを図11 に示す。 CENTER:#ref(error1.png,center,60%) CENTER:&size(13){図11: 青信号の未認識例}; **赤信号認識率について [#s412dc13] 赤信号の検出率は青信号よりも低い結果になったが、誤検出もなかった。また、赤信号の未検出の原因については参照条件によっては白飛びして、色の抽出の範囲外にある場合や信号領域が小さ過ぎるため、検出されなかったと考えられる。赤信号の未認識のイメージを図 16 に示す。 CENTER:#ref(error2.png,center,60%) CENTER:&size(13){図11: 赤信号の未認識例}; *まとめ [#nb5e8b8c] 本論文では、つくばチャレンジにおける信号機認識のためのカメラ画像からの色情報による信号検出方法を提案した。(R、G、B)と(H、S、V)の色空間を変換する。(H、S、V)の色特徴により、信号画素を認識し、信号の周囲特徴により信号機の誤認識を削減する。膨張・収縮処理によりノイズを除去し、信号領域の面積を計算する。検出された領域の大きさから信号を判定する。このため高精度な信号機認識ができた。今回の実験としては、ある程度安定した結果を得られ、誤検出も削減できた。提案手法の有効性を確認した。本研究の今後の課題としては、今回はコンピュータ上で実験を行ったが、今後はロボットに実装して実験をしたいと考えている。 *参考文献 [#b343bf8f] [1] つくばチャレンジ: http://www.tsukubachallenge.jp/ [2] OpenCV : http://opencv.org/ [3] 関 海克、笠原 亮介、矢野 友章、車載カメラにおける信号機認識およびイベン ト検知、第 22 回画像センシングシンポジウム( SSII2016 )、 IS1-06 、 2016/7 。 [4] 清水 美咲、形状および色特徴を用いた安全運転支援システムのための信号機 検出処理、群馬大学工学部情報工学科平成 24 年度卒業論文、 2013/3 。