#author("2022-02-21T12:21:56+00:00","default:ail-wiki","ail-wiki") #author("2022-02-24T08:20:43+00:00","default:ail-wiki","ail-wiki") [[太田研 公開用Wiki]] #contents *はじめに [#v0fbad28] **研究背景 [#i5bd2877] 近年,産業用ロボットなどの特別な環境下での実用を目的としたロボットだけでなく,家庭用ロボットなどの人間の身近な環境下での実用を目的としたロボットの研究開発が盛んに行われている.その一例として,2007年から毎年茨城県つくば市内で開催されている「つくばチャレンジ」[1]と呼ばれる技術チャレンジがある.つくばチャレンジとは,人間が普段利用している遊歩道等がある市街地,公園や駅などといった,実環境下におけるロボットの自律走行技術の向上を目的とした公開実験の場である.例年主に大学の研究室や企業が参加しており,参加チームそれぞれが開発及び実験を行っている.参加者達はそれらで得た結果や経験を互いに共有することでロボットの自律走行技術を発展させている. #ref(course_map.png,center,70%) CENTER:図1: つくばチャレンジ2021の課題コース 例年つくばチャレンジでは,全参加チームが取り組むこととなっている 必須課題と,参加チームそれぞれが任意で選択して取り組む 選択課題が用意されており,昨年行われたつくばチャレンジ2021でも 例年同様必須課題と選択課題が課された.必須課題ではつくば市役所構内をスタート地点とし,そこから研究学園駅を通過して研究学園駅前公園内に入り,公園内を一周して再び市役所構内に戻ってくるまでの課題コース約2.5kmを自律走行することが課された.選択課題では4つの課題が課された.1つ目がつくば市役所構内を事前のログデータを用いずに走行 する,「事前データ取得なし走行」の課題である.2つ目が,研究学園駅前公園内の「チェックポイント」と呼ばれる定められた地点の通過と,経路封鎖看板を認識してロボットに迂回をさせる「チェックポイント通過と経路封鎖迂回」の課題である.3つ目が研究学園駅前公園内に設置されている探索対象である複数のマネキンを検出する「探索対象発見」の課題である.4つ目が,コース内の交差点でロボットに歩行者用信号機の灯火状態を認識させ, 横断を開始する,「信号認識横断」の課題である. 本研究では,この信号認識横断課題の達成を目標とした歩行者用信号認識手法の開発を行った. **研究目的 [#s3f7a595] 例年,信号認識横断に取り組むチームの多くが深層学習を利用した物体検出手法 を用いていることが報告されている.[2]このような深層学習を利用した手法をリアルタイムで実行するには高性能なGPUを搭載したコンピュータが必要となるため,小型のロボットのような搭載可能な計算資源が限られているロボットで実行することは困難である.そこで本研究では深層学習による手法をリアルタイムで実行するほどの計算資源を確保できない 場合でも精度を大きく損なわずにリアルタイム検出が可能な歩行者用信号認識手法の開発を目指した. なお,信号認識横断を実施する交差点には近年普及が進んでいるLED型の信号機ではなく,白熱電球型の信号機が設置されているため,本研究における検出対象は白熱電球型の歩行者用信号機に限定する. #ref(tukuba_signal.png,center,35%) CENTER:図2: 信号認識横断が実施される交差点 *従来手法 [#e7414321] 従来の処理が軽量な信号認識手法として色情報を用いた手法がある.この手法ではまず入力画像から信号の色(緑及び赤)と類似した色の領域を抽出し,ラベリング処理と領域の大きさを確認することで信号の候補となる領域を特定する.その後図3のような色相特徴を用いて各候補領域が信号であるかどうかの分類を行い,信号の状態を検出する. #ref(hue_histogram.png,center,50%) CENTER:図3: 歩行者用信号の灯火領域から算出された色相特徴 従来手法でも信号の状態を検出することは可能であるが,候補領域の特定と分類の両方に 色を用いることから図4のような緑のビブスや車のテールランプなどといった信号の色と類似した色の物体を誤検出してしまう場合がある. #ref(failed_sample.png,center,35%) CENTER:図4: 誤検出例 *色情報とHOG特徴を用いた歩行者用信号認識手法 [#w7cf5629] **提案手法 [#v691968b] 本手法では歩行者用信号の灯火部分に人型領域があることに注目し,そこから形状特徴を算出できるのではないかと考え,候補領域の分類に形状特徴を用いることとした.このように候補領域の分類に形状特徴を用いることで従来手法で発生していた類似色物体の誤検出を削減することを試みた.形状特徴の算出には照明変化に堅牢であり,計算コストも比較的軽量である点からHOG特徴[3]を使用した. 本手法ではまず従来手法と同様に信号の緑や赤といった信号色を画像から抽出する.その後抽出された領域に対してHOG特徴の算出を行い,そのHOG特徴をSVM(Support Vector Machine)と呼ばれる計算コストが軽量な機械学習モデルで事前に作成した識別器に与えることで灯火状態の判定を行う.なお識別器の作成では,信号の灯火領域から算出されたHOG特徴をヒストグラム化したデータをSVMで学習させて識別器を作成する.このようにシンプルな画像処理と計算コストが軽量な機械学習手法を組み合わせることで精度を大きく損なわずにリアルタイム検出が可能な手法の実現を目指した. **画像からの信号色抽出 [#i2ac0620] 本手法ではまず画像の色を色相(Hue),彩度(Saturation),明度(Value)の3つのパラメータで表現するHSV表色系を用いて入力画像内の信号領域を抽出する.具体的には,RGB表色系の入力画像をHSV表色系に変換し,表1のように予め実験的に設定したHue,Saturation,Valueの閾値内に存在する画素値のみを抽出した2値画像を作成して信号色(緑及び赤)を抽出する.この際に雑草や芝生,空のような類似色物体がノイズとして検出されてしまうため,メディアンフィルタを画像全体に適用して平滑化処理を行い,ノイズの除去を行った. また,領域の欠損を埋める膨張収縮処理も行った.図5に表1の閾値を用いて信号色の抽出を行った例を示す. CENTER:表1: 信号色に対応するHSV閾値 ||CENTER:Hue|CENTER:Saturaiton|CENTER:Value| |青信号|CENTER:80~100|CENTER:60~255|CENTER:76~255| |赤信号|CENTER:171~179|CENTER:134~255|CENTER:76~255| &br; #ref(extract.png,center,30%) CENTER:図5: 入力画像から信号色(緑及び赤)を抽出した例 **信号の候補領域の特定 [#mbd99885] 信号色抽出を用いて生成された2値画像に対してラベリング処理を行い,信号の灯火部分が画像中のどの位置にどれ程の大きさで存在するかを調べる.さらに算出された各領域の大きさを確認し,信号の灯火部分と同程度の大きさの物体のみを信号の候補領域として残すことで,領域の絞り込みを行う. 具体的には,ラベリングによってラベル付けされた白色領域の横幅と縦幅のピクセル数を1つずつ確認していき,大きさが信号の灯火部分よりも大きすぎる領域や小さすぎる領域を閾値処理によって排除する.本手法では領域の横幅と縦幅が共に10~20ピクセルの領域のみを信号の候補領域として残し,それ以外のものは候補領域から除外した.これにより信号の灯火部分と大きさが同程度の領域のみが残るため,誤検出が削減できる.またHOG特徴量の算出とSVM識別器を適用する回数が削減できるため検出時間を短縮することができる. 図6に交差点画像から生成された2値画像に対してラベリング処理と領域の大きさ判定を行った結果を示す.赤枠が信号の候補領域として絞り込んだ領域を表す.領域の大きさを確認したことで,信号色抽出で抽出されたつくばチャレンジ実行委員の緑のビブスなどの領域が候補領域から除外され,信号と大きさが同程度の領域のみを候補領域として絞り込めていることが確認できる. #ref(labeling.png,center,30%) CENTER:図6: 信号候補領域の絞り込みを行った結果 **HOG特徴による信号候補領域の形状特徴算出 [#uea0c256] 照明変化に対して堅牢であるという特徴をもっており,つくばチャレンジのような屋外環境下での検出にも耐えうると考えられることから,本手法では信号候補領域の形状特徴の算出にHOG特徴[3]を使用した. HOG特徴は画像中の各画素の輝度勾配方向をヒストグラム化した特徴量である.画像の輝度そのものは照明変化による値の変動を大きく受けるが,輝度の変化量であれば輝度そのものよりも照明変化による値の変動を抑えることができる.HOG特徴は輝度の変化量を用いていることから照明変化に堅牢な手法となっている.また,HOG特徴では画素(x,y)における輝度勾配方向ごとの輝度勾配強度を求め,ヒストグラムの各ビンを輝度勾配強度分増加させながらヒストグラムを作成していく.このようにすることでよりはっきりとしたエッジの特徴を捉えやすくなる. 画素(x,y)の輝度勾配方向θ(x,y)は式(1)によって算出される.ここでdx(x,y)とdy(x,y)はそれぞれ画素(x,y)におけるx方向の差分,y方向の差分を表しており,式(2)によって算出される.輝度勾配方向ごとの輝度勾配強度m(x,y)は式(3)によって算出される. #ref(hog_formula.png,center,35%) 本手法ではラベリングと大きさの確認で絞り込まれた候補領域に対してHOG特徴を算出する.HOG特徴は一般的に画像を任意の少領域に分割し,少領域毎の輝度勾配方向をヒストグラム化し,最終的にそれらを結合したヒストグラムを特徴量とする.これにより位置情報をある程度維持したヒストグラムを作成できる.本手法では図7のように画像を2×2領域に分割して4つのヒストグラムを作成し,各ヒストグラムの合計が1になるよう正規化を行った後,4つのヒストグラムを結合してHOG特徴ヒストグラムを算出した. #ref(hog_process.png,center,25%) CENTER:図7: HOG特徴算出の様子 図8に青信号及び赤信号の灯火領域から算出されたHOG特徴を示す. #ref(hog_histogram.png,center,35%) CENTER:図8: 歩行者用信号の灯火領域から算出されたHOG特徴ヒストグラム **SVMによる灯火状態の判定 [#h07498b3] 本手法では信号候補領域のHOG特徴を算出した後,算出されたHOG特徴をSVM(Support Vector Machine)と呼ばれる機械学習モデルで予め学習した青信号識別器と赤信号識別器で判定することで候補領域が青信号か赤信号か,あるいは信号以外かを分類し,信号の状態を検出する. SVM(Suppot Vector Machine)とは,図9のように境界線を引いて入力データを正解か不正解かの2クラスに分類する機械学習モデルである.未知のデータに対する汎化性が高く,実行時の計算コストが軽量であるといった特徴をもつ.このような特徴からリアルタイム性が必要とされるつくばチャレンジでの検出に耐えうると考えられるため,本手法ではSVMによる学習,検出を行った.また,SVMのカーネル関数としては式(4)のRBFカーネルを用いた. #ref(svm.png,center,25%) CENTER:図9: SVM &br; &br; #ref(kernel.png,center,50%) 本研究では用意した学習用画像から算出したHOG特徴を,誤分類をどれ程許容するかを決定するパラメータであるペナルティ係数Cと式(4)中のγを調整しながら学習を行った. 学習用画像としては信号認識横断が実施される交差点の画像から青信号と赤信号の灯火部分をそれぞれ切り取った画像を正解画像とし,歩行者用信号が写っていないつくばチャレンジのコース画像から切り取った画像を不正解画像とした.また学習には青信号用の正解画像67枚,不正解画像991枚を,赤信号用の正解画像246枚,不正解画像987枚を使用し,Cとγの値を実験的に調整しながら青信号の識別器と赤信号の識別器をそれぞれ作成した.ハイパーパラメータの値は青信号識別器がC=10,γ=1とし,赤信号識別器がC=10,γ=10とした. #ref(learning_data.png,center,30%) CENTER:図10: 学習用画像の例 作成した2つの識別器に候補領域から算出されたHOG特徴を入力した結果,青信号識別器の出力が1,赤信号識別器の出力が-1ならその候補領域を青信号と判定し,青信号識別器の出力が-1,赤信号識別器の出力が1なら候補領域を赤信号と判定し,2つの識別器が共に1または-1を出力していれば信号でないと判定する.このようにして信号の灯火状態の検出を行った. #ref(new_svm_judge.png,center,30%) CENTER:図11: SVMによる灯火状態判定の様子 *評価実験 [#y3a9f9f2] **実験方法 [#k792cd26] 提案手法の有用性を示すために比較手法として候補領域の分類に図3のような色相特徴とSVMを用いた手法を採用し,検出率,誤検出率,検出速度の比較を行った. **データセット [#d967fe01] データセットとして図12のようなつくばチャレンジ2021で撮影された歩行者用信号画像(青信号:66枚,赤信号:230枚)を用いて検出を行い,検出率及び検出速度の比較を行った.また,図13のようなつくばチャレンジのコースを走行した際に撮影された歩行者用信号が写っていない非信号画像6290枚に対して検出を行い,誤検出率の比較を行った. #ref(evaluation.png,center,25%) CENTER:図12: 信号画像の例 #ref(not_signal.png,center,25%) CENTER:図13: 非信号画像の例 *実験結果 [#w0fc2945] CENTER:表2: 色抽出の前処理も含めた検出率と検出速度 ||CENTER:色相+SVM|CENTER:HOG+SVM| |検出率(赤)|CENTER:95.65%|CENTER:96.52%| |検出率(青)|CENTER:96.97%|CENTER:96.97%| |検出速度|CENTER:6.3ms|CENTER:6.8ms| &br; CENTER:表3: 前処理で抽出された信号画像に対する検出率と検出速度 ||CENTER:色相+SVM|CENTER:HOG+SVM| |検出率(赤)|CENTER:98.21%|CENTER:99.11%| |検出率(青)|CENTER:100.0%|CENTER:100.0%| |検出速度|CENTER:0.4ms|CENTER:0.8ms| &br; CENTER:表4: 誤検出率 ||CENTER:色相+SVM|CENTER:HOG+SVM| |誤検出率|CENTER:3.45%|CENTER:0.13%| 今回の実験に用いた処理系としてはOSがUbunutu 20.04.3,CPUがAMD Ryzen3 3200G(3.6GHz 4Core 4Thred)を使用し,GPUを使用せずCPUのみでの検出を行った. 今回の実験に用いた処理系としてはAMD Ryzen3 3200G(3.6GHz 4Core 4Thred)を使用し,GPUを使用せずCPUのみでの検出を行った. 表2に信号色抽出の前処理の段階も含めた検出率と検出速度を示し,表3に色抽出で抽出された信号領域の画像に対して分類を行った結果を示した.また,表4に誤検出率を示した. 表2と表3より提案手法であるHOG特徴とSVMを用いた場合と色相特徴とSVMを用いた場合では青信号の検出率に関しては同等の検出性能であることが確認された.しかし,赤信号の検出率に注目すると表2の場合は提案手法が96.52%であり色相特徴とSVMを用いた場合が95.65%であることが確認された.また,表3の場合は提案手法が99.11%であり色相特徴とSVMを用いた場合が98.21%であることが確認された.どちらの場合も提案手法の方が上回っていることから単純な検出性能では提案手法に軍配が上がる結果となった. 画像1フレームあたりの検出速度に関しては表2 の場合色相特徴とSVMを用いた手法が約6.3ミリ秒であり,提案手法が約6.8ミリ秒であることが確認された.また表3の場合色相特徴とSVMを用いた手法が約0.4ミリ秒であり,提案手法が約0.8ミリ秒であることが確認された.このことから検出速度に関しては提案手法よりも色相特徴とSVMを用いた場合の方が優れていることが確認された. 誤検出率に関しては提案手法が0.13%であり,色相特徴とSVMを用いた手法が3.45%となり,提案手法の方が誤検出が少ないことが確認された. 以上より提案手法は検出速度こそ色相特徴とSVMを用いた場合に劣るものの十分リアルタイム検出が可能な速度である上に,検出性能に関しては色相特徴とSVMを用いた場合よりも優れており,誤検出率に関しても1%未満と色相特徴とSVMを用いた場合よりも低く,安定した検出が可能であることが確認された. *考察 [#bfbc4d67] **未検出例 [#abe9db8a] #ref(not_detect.png,center,35%) CENTER:図14: 提案手法と色相特徴+SVMで未検出となった例 図14の2つの画像は提案手法及び色相特徴とSVMを用いた手法の両方で未検出となった例である.特徴としてはSVMによる判定の際に信号として判別できなかったものである.原因としては今回SVMの学習に用いた正解画像の枚数が青信号67枚,赤信号246枚と少なかったことやSVMのハイパーパラメータの調整具合によるものといったことなどが考えられる.そのため来年度以降のつくばチャレンジで交差点画像を収集し正解画像を増やしたり,ハイパーパラメータの調整を再度行ったりすることでこのような未検出パターンは解決できる可能性があると考えられる. **色相特徴とSVMを用いた手法における誤検出例 [#o47ef1b8] #ref(hue_failed.png,center,35%) CENTER:図15: 色相特徴+SVMにおける誤検出例 色相特徴とSVMを用いた手法では図15のような誤検出例が発生した.主なパターンとしては車のテールランプ,つくばチャレンジの安全管理責任者が被る赤い帽子,赤い車の車体,テントの青い重りの4パターンであり,提案手法よりも誤検出が多いことが確認された.どのパターンも信号色と類似した色の物体を誤検出してしまっていることから,信号の形状特徴を用いず,色情報をベースとして判別を行ったことが誤検出の原因として考えられる.また,信号認識横断が実施される交差点は車通りが激しく,そのような環境でこの手法による検出を行った際には車のテールランプや信号色に類似した色の車の車体に誤検出してしまうことが今回の結果から想定できるため,この手法による検出は現状では困難であることが考えられる. **提案手法における誤検出例 [#e5a70b2a] #ref(hog_failed.png,center,35%) CENTER:図16: 提案手法における誤検出例 &br; &br; #ref(dis_histo.png,center,50%) CENTER:図17: 青信号と誤検出領域のHOGヒストグラム 提案手法では図16のような誤検出が発生した.主なパターンとしては駐車場のゲート,樹木の葉が確認された. 原因としては図17のように誤検出された領域のHOGヒストグラムの分布が青信号のHOGヒストグラムの分布と類似してしまったことが考えられる.しかし信号認識横断が実施される実際の交差点では駐車場のゲートは存在せず交差点の背景に写る樹木は非常に小さいことから大きさによる領域の絞り込みで排除できると考えられる.実際今回の実験における提案手法を用いた交差点画像に対する検出では誤検出が確認されなかったことから同様の交差点での提案手法による検出であれば誤検出は発生しにくいと現段階では考えられる.これについては来年度以降のつくばチャレンジで評価用の画像を収集してさらなる評価実験を重ね,提案手法による誤検出に関する知見を深めていきたいと考えている.また,誤検出率に関しては0.13%と,色相特徴とSVMを用いた手法よりも低く,検出率も青信号の検出に関しては同等の性能であったが赤信号の検出に関しては色相特徴とSVMを用いた場合を上回っていることが確認された.検出速度に関しては色相特徴とSVMを用いた場合に劣るもののその差は僅かであり,提案手法による検出でも十分リアルタイム検出が可能な速度であることが確認された. 以上の点から提案手法は色情報をベースとした手法よりも安定した検出が可能であると考えられる.また,提案手法であればGPUを搭載できず深層学習による手法をリアルタイムで実行するほどの計算資源を確保できない場合でもリアルタイム性を維持しつつ深層学習による手法にも大きな後れをとらない精度での検出が可能であると考えられる. *おわりに [#la208d57] 本研究では色情報とHOG特徴による歩行者用信号認識手法の開発を行った.実験結果から提案手法はGPUを搭載できず,深層学習による検出手法を採用できないようなロボットでの信号認識横断において有効な手法と考えられる. 今後,今回の実験で使用していない他の特徴量や深層学習を用いた場合などと比較を行ったり,評価用の画像を増やして実験を重ねたりすることで本手法の有用性をさらに検証したいと考えている. *参考文献 [#x2dba5a5] [1]"つくばチャレンジ2021",https://tsukubachallenge.jp/2021/regulations/tasks&br; [2]原 祥尭, 冨沢 哲雄, 伊達 央, 黒田 洋司, 坪内 孝司:"つくばチャレンジ2019技術調査報告", つくばチャレンジ2019シンポジウム, 2020.&br; [3]N. Dalal, B. Triggs. "Histograms of Oriented Gradients for Human Detection". IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp.886-893, 2005.