#author("2020-03-10T10:04:29+00:00","default:ail-wiki","ail-wiki") #author("2020-03-10T10:08:39+00:00","default:ail-wiki","ail-wiki") [[太田研 公開用Wiki]] *色特徴とHOG特徴を用いたつくばチャレンジにおける経路封鎖サインの検出 [#te0b4608] #contents *はじめに [#z7a60fe1] **研究背景 [#v8e26a5f] 近年では、人々が普通に生活する空間で自立した行動を行えるロボットの研究や開発が多く行われている。そうした実際の生活環境でのロボットの自立走行には様々な機能が必要となる。 &br; そうした機能の一つとして視覚情報からの物体認識が挙げられる。人間は視覚によって情報を得ている部分が大きく、実環境では標識や看板などを用いて注意喚起や誘導等を行っている場面が多くある。こうした看板や標識を画像から認識することは実環境下での自立走行において必要な機能の一つである。&br; **研究目的 [#oc5adbd4] そうした機能の一つとして視覚情報からの物体認識が挙げられる。人間は視覚によって情報を得ている部分が大きく、実環境では標識や看板などを用いて注意喚起や誘導等を行っている場面が多くある。こうした看板や標識を画像から認識することは実環境下での自立走行において必要な機こうした実環境下での自立走行を行うロボットの研究・開発を目的とした研究の場として「つくばチャレンジ」という実験会が存在する。つくばチャレンジは毎年つくば市で開催されている公開実験会であり、多くの技術者・研究者たちが実環境下でのロボットの自立走行実験を行っている。&br; 昨年のつくばチャレンジでは以下の図1ような、つくば市役所からスタートし、近くの公園内の折り返し地点を経由して市役所手前のゴールへと戻ってくるコースの完走が主目標となる。&br; CENTER:#ref(map.png,center,50%) CENTER:&size(14){図1:つくばチャレンジコース};~ つくばチャレンジでは主目的のほかに幾つかの副目標も存在している。ここ数年存在する課題の一つが一つが公園内のチェックポイントの通過である。この課題に対して、今年度から新たに経路封鎖迂回という項目が追加された。つくばチャレンジ2019ではチェックポイントや折り返し地点の通過さえすれば公園内での経路は問われない。しかし、経路封鎖迂回の課題では図2のように図3の看板が道の両サイドに存在する場合、その道を経由しないルートでの進行が要求される。&br; CENTER:#ref(sign.png,center,150%) CENTER:&size(14){図2:経路封鎖};~ CENTER:#ref(a_sign.png,center,50%) CENTER:&size(14){図3:経路封鎖サイン};~ 本論文ではこの経路封鎖迂回の達成のために、経路封鎖のサインである図3のような立て看板の検出を目標とした。&br; *提案手法 [#b2194a16] 本研究では対象画像のスケールを正規化し、形状・色からくる特徴量をヒストグラムとして表し、それをsupport vector mashine(SVM)という手法で機械学習させることで対象のサインであるか否かの判定を行う。&br; SVMに与えるデータとして、HOG特徴のみ、色特徴のみ、双方を連結させたヒストグラムの3つのパターンのヒストグラムを使い実験を行った。&br; **HOG特徴 [#u6bfcd86] 本研究では画像スケールの変化および照明変化に対する堅牢性から、 形状的特徴に対する特徴量としてHOG(histogram of gradient)特徴を使用した。&br; この特徴量はN. Dalal とB. Triggsが路上での人検出として提案した手法[2]であり、照明変化に堅牢であり、つくばチャレンジのような屋外での検出に耐えうる特徴量である。&br; HOG特徴は明るさの変化量である輝度勾配をヒストグラム化した特徴である。明るさそのものは照明の変化によって大きく変動する。しかし明るさの変化の様子であれば照明変化による大きな変動は発生しづらいため、HOG特徴は照明変化に強い手法であると言える。&br; 画素(x,y)における輝度勾配θ(x,y)は以下の式(1)よって示される。&br; 本研究では輝度勾配の角度の出現頻度に対して、各角度毎の輝度勾配強度m(x,y)(式(2))で重みづけをしながらヒストグラム化を行い、その後ヒストグラムの合計が1になるよう正規化を行うようにする。&br; なお,V(x,y)は(x,y)におけるHSV表色系においてその画素の明るさを示す輝度(Value)である。&br; CENTER:#ref(siki1.png,center,35%)~ このときdy(x,y)$とdx(x,y)は以下の式(3)(4)で定義する。&br; CENTER:#ref(siki2.png,center,35%)~ このように輝度勾配の強度を特徴として取り込むことでノイズの影響を減らすことができ、また輝度勾配の強度そのものも一部取り入れた特徴量となる。&br; 欠点として微細な輝度勾配が特徴として反映されにくくなる点があげられる。しかし対象サインは看板内部が白を基調としていることから輝度勾配強度m(x,y)の値は比較的大きいものが多く特徴となると考えられ、全体としてメリットの方が大きいと考えられる。&br; 一般的にHOG特徴では画像を小領域に分割し、小領域毎に輝度勾配の出現頻度をヒストグラムにし、それを結合させたものを特徴量として扱う。これにより位置情報を一部維持したまま輝度勾配のヒストグラム化が行える。&br; 今回の実験では輝度勾配を18° 毎(20段階)に分けてヒストグラムにし、小領域への分割は2×4の計8つの小領域に分割する。&br; **色特徴 [#h18e12af] 研究目的で言及した通り、対象サインは赤や青、黄色といった原色を多く使用しており 色的特徴も非常に特徴的であると言える。しかし、上述のHOG特徴では色に対する情報はすべて失われてしまう。&br; そこで色特徴を併用することでより効果的な検出を行えるのではないかと考え、 本研究では色を示す情報の中でも明るさの影響を受けづらいHSV表色系における 色相(Hue)に着目した。またHOG特徴量で使用する輝度と同様のHSV表色系であることから 計算の際の一部処理を共有できる点もメリットであると考えられる&br; 先行研究[3]ではつくばチャレンジにおいて特定服装の人物の検出という副目標の一つに対して、色相を用いた色ヒストグラムとSVMによる検出を試みている。そこで本研究では、先行研究同様に色ヒストグラムによる特徴を用いての対象サインの検出を行う。色ヒストグラムは各画素毎にHSV表色系の色相を確認し、出現頻度をいくつかの階級に分けてヒストグラム化させたものであり、この色ヒストグラムをSVMに与えることで検出を行うことにする。&br; 先行研究[3]では色相を180段階(2° 毎)に分けるが最も精度が良いとされている。しかしこの先行研究の検出対象である人物よりも、本研究の対象の方が使用されている色の種類が多く色も安定しやすいため、段階数をによる精度の上下は小さくなると考えられる。&br; またSVMでの実行時には色相を分割する段階数が検出実行時間に大きく影響する。この2つの点を鑑み、本研究では色相を60段階(6° 毎)に階級分けして学習・検出を行う。&br; **SVM [#l0b9e8c7] こうして得た特徴量を元として機械学習を行わせることで学習・検出を試みる。本研究では検出時の計算速度の速さや計算に必要なメモリ領域の大きさ等から先行研究[3]同様にsupport vector mashine(SVM)による学習・検出を行う。&br; SVMは機械学習の一つであり、対象のデータが複数(基本的には2つ)のグループのどちらに分類されるか判別する分類器である。SVMでは学習データから特徴量を算出し、得られた特徴量を分類したいグループでラベリングしながら空間上に分布させ、この分布から誤分類が少なくなるような境界線を計算する。この境界線が分類器となる。&br; CENTER:#ref(svm_soft.png,center,50%) CENTER:&size(14){図4:SVM};~ 検出時には、判定したいデータを学習データと同様に特徴量を算出し、得られた特徴量を分類器で確認することで所属するグループを推定する。&br; 本研究ではSVMを用いて正解画像と不正解画像の二つのグループで分類を行わせることで学習・検出を行う。またSVMでは多くの場合において多次元空間に対しても使用する。このとき空間の次元数は特徴量とする数値の数と等しくなる。また次元数が大きければ多いほど学習や検出 の実行にかかる時間も長くなる。&br; 今回は色特徴やHOG特徴で作成したヒストグラム を使用する。本研究ではHOG特徴は2.1 HOG特徴で示したように20段階のヒストグラムを2×4の小領域毎に作成し 連結させているため160段階のヒストグラムに、色特徴は2.2 色特徴で示したように60段階の ヒストグラムになっている。そのためHOG特徴では160次元、色特徴では60次元、併用時には 220次元空間での実行となる。&br; SVMではカーネル関数を使用するのが一般的である。カーネル関数は元の空間からより高次元の空間次元に写像して内積を取る関数である。このカーネル関数を用いてより高次元の空間へと学習データの点群を写像し、その空間内で境界線を決定させることで、より元空間上では非線形のなるような境界線を作成できる。&br; SVMでは使用されるカーネル関数にはいくつか種類がある。本研究とは対象物や特徴量が異なるためが、本研究ではこの先行研究[3]で最も良い結果を得られたRBFカーネルを もちいて実験を行うことにする。このときRBFカーネルK(x,x')は以下の式(5)で表される。なお、xおよびx'は写像前の多次元ベクトルであり、与えた入力データから得た特徴量に依存する。&br; CENTER:#ref(siki3.png,center,35%)~ このときRBFカーネルによる非線形SVMでは式(5)でのγとペナルティ係数Cが任意に決めることのできる値であり、SVMの調整を行うためのパラメータとなる。この二つのパラメータに様々な値を与えながら評価実験を行う。 *評価実験 [#c76451d2] **実験用データ [#i66ea0c8] つくばチャレンジでは実験会当日のほかに何度か試走を行う機会が存在する。この試走の際に得たログデータを用いてSVMによる学習、及び評価実験行った。&br; しかし本研究の目的である経路封鎖迂回という課題は今年の開催で初めて追加された 課題であり、また研究の途中で対象のサインの変更もあったため画像のサンプル数が限られている。そのため有意な統計をとるにはサンプル数が不足している。そこで対象サインの正解画像群は以下のような形で用意し、実験を行う。&br; ・用意した正解画像群の中から、一部の画像をランダムに選び学習用画像群とし、残りを評価用画像群にする&br; ・1と同様に学習用画像群と評価用画像群の組み合わせを複数個作成する&br; ・それぞれの学習用画像群で作成した検出器を用いて、対応する評価用画像に対し実行する&br; このような形で実験を行うことでより有意な統計データになると考えられる。&br; 一方で不正解画像群は十分なサンプル数を確保出来たため正解画像群のように複数の画像群は作成せず、特定の学習用画像群、評価用画像群1グループずつのみを使用し実験を行う。&br; 正解画像群は学習用画像として235枚、検証用画像として200枚を使用する。これをset1~6の6つのセットを作成し、それぞれの組み合わせで、HOG特徴のみ、色特徴のみ、HOG特徴+色特徴の3パターンの特徴量を用いたSVMでの学習・検出を行い精度を確認する。&br; また不正解画像群としてつくばチャレンジコース内の画像の一部を切り抜いた画像を含む、ランダムに用意した画像を使用する。今回の実験では学習用画像660枚、検証用画像3000枚を使用した。使用した正解画像群をの一部を図6に、不正解画像群の一部を図7に示す。&br; **性能評価 [#r8df24b6] つくばチャレンジでは検出精度の高く、計算時間の短い手法であることが望まれる。そこで、提案手法に対して、用意した画像群を使ってその精度と実行時間の二点から性能の評価を行う。 ***検出精度 [#kcd4a38f] 本研究のように正誤の判定を行うアルゴリズムに対する性能のする手法としてメジャーなものにROC曲線があげられる。&br; ROC曲線は検証したデータのうち、正しく正解と判定された正解データの割合である True Positive rate(真陽性、検出率) を縦軸に、誤って正解と判定された不正解データの割合であるFalse Positive rate(偽陽性、誤検出率)を横軸にプロットしたグラフである。この曲線は多くの場合False positiveが1に近いほどTrue positiveも1に近く、 True positiveが0に近いほどFalse positiveも0に近くなる。ROC曲線を用いる場合、False positiveが0、True positiveが1の点(0,1)のより近くを通るような曲線ほど良い性能の判定機であるとされる。&br; 用意した画像から抽出したHOG特徴、色特徴、HOG特徴+色特徴を用いてSVMの二つのパラメータγとCを変動させながら実行させ、それぞれのTrue positive rateとFalse Positive rateを算出し、ROC曲線を作成した。その結果が図8である。ただし本提案手法ではどのような組み合わせのパラメータを与えてもFalse Positive rateが一定以上の値にならなかったため、曲線は途中で途切れている。&br; CENTER:#ref(0-1.png,center,50%) CENTER:&size(14){図8:ROC曲線};~ また図8では複数の曲線が重ってしまい非常に見づらい。そこで、このプロットの左上部のみを拡大したものが図9である。&br; CENTER:#ref(graph.png,center,50%) CENTER:&size(14){図9:ROC曲線(拡大)};~ 図9より、HOG特徴+色特徴、HOG特徴、色特徴の順に精度が下がっていくこと、また色特徴の精度は他二つと間に大きな差が出ている事が分かった。&br; 図9の中で、(False positive、True positive)の点が最も(0,1)に近くなった際の 各手法での実験結果結果を以下に示す。以下の実験結果ではSVMのパラメータは色特徴のみがγ = 500, C = 10、HOG特徴のみがγ = 10, C = 10、 HOG色特徴のみがγ = 5, C = 10である。表1はパラメータが以上の数値のときの正解画像群に対しての実行結果である。このときset1~6は正解学習画像群235枚および検証用正解画像群200枚の組み合わせでの実行結果であり、正しく対象サインとして検出された画像の枚数を示す。また表2は表1と同様の条件での学習を行った分類器に確認用の不正解画像3000枚を与えたときに、誤って対象サインとして検出された画像の枚数を示す。&br; CENTER:&size(14){表1:True positive} CENTER:#ref(result1.PNG,center,100%) CENTER:&size(14){表2:False positive} CENTER:#ref(result2.PNG,center,100%) 表1から、図9で最も低い結果となっている色特徴のみでの学習・検出でも94.58%がTrue Positiveとなっており、十分に高い検出率であることが分かる。しかし、HOG特徴のみと色+HOG特徴の双方は99%が検出でき出来ており、この二つと比べると色特徴のみでは検出率に不安の残る結果となった。&br; 表2より、最も低い結果となっている色特徴のみでの学習・判定でもFalse positiveは1%以下となっており、非常に高い精度での検出が行えている。またHOG特徴のみと色+HOG特徴の双方は0.01%が検出でき出来ており、色特徴よりもさらに誤検出の少ない結果となった。&br; **実行時間の評価 [#a00ef8a9] 本手法でのSVMによる検出器は事前に用意することができる。そのため学習時間にかかる時間は重要ではない。一方で検出はロボットが自動走行中に行う必要がある。またつくばチャレンジではゴールするまでに制限時間があることから一定以上の速さでの移動が必要となるため、検出の実行が高速であることが望ましい。&br; そこで上述の3つの特徴量での検出を実行時間は計測しながら実行させる。実行を行った動作環境は表3のとおりである。 CENTER:&size(14){表3:実行環境}; CENTER:#ref(result3.PNG,center,100%) 以上の環境下での正解画像200枚×6セットと不正解画像3000枚×6セットの計19200回の 検出の実行にかかった平均時間は表\ref{result:time}のようになる。&br; 検出の実行にかかった平均時間は表4のようになる。&br; CENTER:&size(14){表4:実行時間}; CENTER:#ref(result4.PNG,center,100%) 表4のように色特徴のみを特徴量とした検出が最も早く色+HOG特徴を特徴量とした検出が最も遅い結果となった。特に色特徴のみの検出は他2つに比べて計算時間が著しく速くなっており、HOG特徴のみと比べても4倍以上の実行時間となっていることが分かる。&br; *考察 [#n36e50e6] 以下ではROC曲線(図8,9)およびそのROC曲線上で(0,1)から一番近くなった、 最も検出率と誤検出率のバランスの良いといえるパラメータ(色特徴のみがγ = 500, C = 10、HOG特徴のみがγ = 10, C = 10、HOG色特徴のみがγ = 5, C = 10) のときの実行結果(表\ref{result:positive}、(表1,2)、およびその実行時間 のときの実行結果(表1,2)、およびその実行時間 (表3)についてのみを考慮した考察を行う。&br; **検出精度に対する考察 [#jc7e6f12] 図8のROC曲線から検出する際の性能は、色特徴のみ、HOG特徴のみ、色+HOG特徴の順で高い検出結果となることが分かった。特に色特徴のみは他2つよりも精度が低く、逆にHOG特徴のみと色+HOG特徴の差は僅かなものとなっている。&br; また表\ref{result:positive}での検出率や表\ref{result:negative}での誤検出率をみると最も精度の悪い色特徴のみでの検出であっても検出率は比較的高く、誤検出率も1%以下とある程度高い精度を出せていることが分かる。 また表1での検出率や表2での誤検出率をみると最も精度の悪い色特徴のみでの検出であっても検出率は比較的高く、誤検出率も1%以下とある程度高い精度を出せていることが分かる。 以上の結果から、色特徴のみでも検出は検出率・誤検出率共に高いものの、検出精度では高い検出精度を持つHOG特徴や色+HOG特徴が大きく上回る結果となった。 **検出時間に対する考察 [#q2952356] 一方で検出時間に関しては表4から色特徴のみによる検出では秒間200枚以上 とかなり速く実行でき、そこから大きく離れてHOG特徴のみ、色+HOG特徴のみが続く結果となったことがわかる。このことから、SVMの特徴量として扱う値が多いほど検出時間が伸びるという特徴が強く出た結果となった。&br; つくばチャレンジでは100分の時間制限があり、公式の発表[3]によるとゴールまで到達したロボットは最低でも2000m、最大で3000m以上を走行している。そのことから秒間3m以上、経路封鎖迂回やその他課題によって移動距離が伸びたり、時間をとられることを考えると最低でも秒間5mは移動させる必要がある。また自立走行には処理が多く並行して複数の処理を行わせる必要があるため実際にはさらに実行時間が遅くなることが想定される。そのため秒間20枚の画像の中から対象サインを検出できる実行時間があることが望ましい。&br; 本研究では切り取られた画像が対象画像か判定する際の精度・実行時間の比較を 行っている。しかし、実際の自立走行の際にはまず画像の切り取りを行う必要がある。一番シンプルな様々な大きさでの切り抜きを行い、それぞれに対して実行を行うとすると秒間50回や30回の実行しか行えないHOG特徴のみ、色+HOG特徴のみの実行時間では遅い処理であり、色特徴のみでさえも不安の残る実行時間と言える。&br; また色特徴のみの検出は一定の精度はあるものの、ランダムに用意した不正解画像に対しての結果であり、実環境での実験になるつくばチャレンジでは様々な服装の人物や多様なカラーリングの乗り物、ロボットが存在することになる。こうした環境では色特徴のみでの検出にはある程度の誤検出のリスクがある。&br; そのため実際のつくばチャレンジでの実用を考えると、以下のような形での実装が 有効だと考えられる。&br; ・画面内で特定範囲の画素があったらその周囲から複数の切り取り画像を作成&br; ・対象画像を色特徴のみで判定&br; ・特徴のみで再度判定&br; 上記のような形をとる場合、手順2の段階で色特徴による探索を行えているため手順3では色+HOG特徴にする必要性は低く、実行時間の速さからもHOG特徴のみでの検出のほうが有効だと考えられる。また色特徴には対象画像を確実に対象と判断することが望まれ、逆にHOG特徴で弾けるため多少の誤検出は許容できる。そのため色特徴は本研究でのTrue positiveとFalse positive両面のバランスを考えたパラメータ設定ではなくTrue positiveの高さを重視したパラメータで行う方がよいと考えられる。&br; *まとめ [#i421d2f2] 本論文ではつくばチャレンジの課題である経路封鎖迂回の達成のために、経路封鎖を示すサインである立て看板の検出を目的とし研究を行った。&br; 対象サインである立て看板が形状的にも色的にも特徴的であること、また実環境では照明変化に強い手法である必要があることから、明るさの変化の様子を示すHOG特徴と色相をヒストグラム化した色特徴の二つをの特徴による検出が有効だと考え、これらをSVMに与えたときの有意性を両特徴量単独で使用した場合と併用した場合の双方から確認した。&br; 実験の結果としてHOG特徴単独や色+HOG特徴は検出率99%以上、誤検出率0.1%以下 と高い検出率を得ることができた。一方で検出時間では最も速く処理できた単独がかろうじて実用できる速さであり、他の二つには実用に工夫が必要な速度であることが分かった。&br; 今後の課題として本論文中で考察した、本手法の活用法について実際に検証を行うことでその有効性を調査していくことがあげられる。&br; また研究内では色特徴、HOG特徴のヒストグラムの項目数等は固定化させていた。こうした部分の調整を行い、最適化を行うことでつくばチャレンジでの課題達成を実現させたい。&br; *参考文献 [#x8274716] [1] N. Dalal and B. Triggs, 『Histograms of oriented gradients for human』, detection. In CVPR, 2005.&br; [2] 大和 一矢,鹿貫 悠多,須田 雄大,山田 竜也,村上 公介,太田 直哉,『色情報を用いたシンプルな特定服装人物検出手法の開発』, つくばチャレンジ2019 発表レポート集, pp.135-138, 2018.&br; [3]本走行の記録|つくばチャレンジ2019:https://tsukubachallenge.jp/2019/records/final&br; [4]阿部重夫,”パターン認識のためのサポートベクトルマシン入門”, 森北出版, 2011&br; [5]小野田崇,”知の化学 サポートベクターマシン”, オーム社, 2007&br; [6]大北剛,”カーネル法によるパターン解析”, 共立出版, 2010&br;