[[太田研 公開用Wiki]] *テンプレートマッチング手法の天候・照明変化に対するロバスト性の評価 [#ub670119] #contents *はじめに [#sc8a0b87] **自律走行ロボットとは [#d31732d5] 近年、あらゆる分野で活躍するロボットのひとつに、自律走行ロボットというものがある。~ 自律走行ロボットとは、操作者を必要とすることなく、自ら思考することにより、特定の経路を走行するロボットのことである。 **自律走行ロボットが抱える問題 [#p91cf9fd] このロボットが移動するためには、ロボット自身が自分の現在位置を把握している必要がある。~ ロボットが自身の位置情報を、周囲の情報を元に推測することを自己位置推定という。~ この自己位置推定には、さまざまな手法が用いられるが、本研究では画像による風景マッチング を用いて自己位置推定を行うロボットを考えることにする。~ まず経路上の特徴的な風景やランドマークを撮影し、その撮影位置情報とともに、画像データとしてあらかじめロボットに記憶させておく。~ この記憶させた画像をリファレンス画像という。~ ロボットは走行時にカメラで周囲の画像を撮影し、リファレンス画像との画像マッチングを行う。~ マッチングに成功すれば、リファレンス画像の撮影位置の情報から、自己位置を推定することができる。~ しかしこのような方法では、ロボットが屋外を走行する際に問題が発生する。~ なぜならば、屋外の風景というのは、雨や雪などの天候条件だけでなく、明るさや影のつき方のような照明条件によっても容易に変化してしまうからだ。~ リファレンス画像を撮影したときと、実際の走行時の天候・照明条件は必ずしも一致しないため、正しいマッチング結果が得られないことがある。~ マッチングがうまくいかなければ正しい自己位置推定もできないため、これはロボットのナビゲーションににとって大きな障害となる。~ したがってこのような変化に影響されにくいマッチング手法を用いることが必要になる。 #ref(robot.jpg,center,593x276) CENTER:図1 画像マッチングを用いた自律走行ロボットの動作 *研究目的 [#hd1d7e76] 上記のように、画像マッチングにより自己位置を推定するロボットが安定的に走行するためには、~ 画像マッチングの結果が天候・照明条件にかかわらず一定、つまりロバストである必要がある。~ そこで本研究では、既存手法の中から、どのようなマッチング手法が天候・照明変化に対してロバスト性が高いかを評価し、~ 屋外において自律走行ロボットが用いるべきマッチング手法を提案することを目的とする。~ なお、本研究では数あるマッチング手法の中からテンプレートマッチングに焦点を絞り、評価を行う。 *研究手法 [#h2685831] **準備 [#nbbb0fb4] ***使用する画像 [#g06e8a73] 市販のウェブカメラを用いて、撮影位置を変えることなく、屋外の風景を5日間、1分ごとに撮影した。~ これにより、照明・天候変化のある、約7200枚の画像を用意した。 #ref(im2011_06_09_12_13_12_0.jpg,center,620x512) CENTER:図2 用意した画像の一例 ***評価するテンプレート [#te82b9c0] 用意した画像の中から1枚を選択し、5箇所を切り取ってテンプレート画像とした。~ #ref(preparation.jpg,center,708x311) CENTER:図3 テンプレート作成の流れ 本研究では、以下の5つのテンプレートについて、どのテンプレートが天候・照明変化に対してよりロバストな結果を示すかを評価する。 -''窓枠''~ 比較的近い位置にある構造物としての特徴を持つ。ほぼすべての部分が平面と直線で構成される。~ -''遠方の建物''~ 遠い位置にある構造物としての特徴を持つ。多くの部分が平面と直線で構成される。 -''木''~ 比較的近い位置にある自然物としての特徴を持つ。複雑な形状をしている。 -''遠方の山''~ 遠い位置にある自然物としての特徴を持つ。複雑な形状をしている。 -''道路標示''~ 路面としての特徴を持つ。すべて平面で構成される。 #ref(template.jpg,center,620x512) CENTER:図4 テンプレートの切り出し位置 ***評価するアルゴリズム [#kf223df7] 本研究では、以下の6つのアルゴリズムに対して、どのアルゴリズムが天候・照明変化に対してよりロバストな結果を示すかを評価する。 -''SSD''~ SSD(Sum of Squared Difference)は、入力画像とテンプレート画像の画素値の差の二乗和を類似度とする。 -''SSD(正規化)''~ 画像を正規化してからSSDを実行する。 -''NCC''~ NCCは(Normalized Cross-Correlation)、入力画像とテンプレート画像の画素値の相互相関を類似度とする。 -''NCC(正規化)''~ 画像を正規化してからNCCを実行する。 -''ZNCC''~ ZNCC(Zero-mean Normalized Cross-Correlation)は、入力画像とテンプレート画像からそれぞれの画素値の平均を減じた上で、その相互相関を類似度とする.~ これにより、明るさの変化に対しても安定的に類似度を計算することができるとされている。 -''ZNCC(正規化)''~ 画像を正規化してからZNCCを実行する。 **実験1:アルゴリズムのロバスト性の評価 [#i615f47b] 入力画像全体とテンプレートとでマッチングを行い、最も類似度の高い位置、すなわちマッチング位置を計算する。~ このマッチング位置が、使用するテンプレートと同じ位置、つまり正しい位置にあるかどうかを、5つのテンプレートを用いて、入力画像1日分ごとに判定する。~ 窓枠テンプレートを用いた場合のマッチングの成功判定は下図のようになる。~ #ref(jikken1.jpg,center,620x512) CENTER:図5 窓枠テンプレートを用いた場合のマッチングの成功判定 図左上の四角の位置にマッチした場合は成功、それ以外の位置にマッチした場合を失敗と判定する。~ 1つのマッチングアルゴリズムを用いて上記のような操作を行い、これを6種類のアルゴリズムについて行う。~ つまり、アルゴリズム・テンプレート画像の組み合わせを変えつつ、5日間の日ごとのマッチング成功率を調べることになる。~ これにより、6種類のアルゴリズムのうち、どのアルゴリズムが天候・照明変化に対して優れているのかを検証する。~ 使用するテンプレートにかかわらず成功率が高いほど、天候・照明変化に影響されにくいアルゴリズムであるということがいえる。~ #ref(jikken1_2.jpg,center,907x373) CENTER:図6 実験1の流れ **実験2:ランドマークのロバスト性の評価 [#da6920bc] 実験1では画像全体とマッチングを行ったのに対し、実験2ではテンプレートと同じ位置を入力画像から切り出してマッチングを行い、得られた類似度を日ごとにグラフ化する。~ これを5種類のテンプレート画像について行う。~ アルゴリズムには、実験1の結果から、天候・照明変化に対して耐性が高いとされたアルゴリズムを用いることとする。~ つまりここでは、テンプレートごとの、時間変化に対する類似度の変化を調べることになる。~ これにより、どのような風景をランドマークに選択すべきかを検証する。~ 日や時間帯に関係なく、安定して高い類似度を示すテンプレートが、天候・照明変化に影響されにくい画像であるといえる。~ #ref(jikken2.jpg,center,606x501) CENTER:図7 実験2の流れ *研究結果 [#l2fa537f] **実験1 [#m9f96296] 5日間のマッチング成功率をあらわす表を以下に示す。表の数値は成功率をパーセンテージで表す。 #ref(jikken1_09.jpg,center,670x210) CENTER:図8 6月9日のマッチング成功率 #br #br #ref(jikken1_10.jpg,center,670x210) CENTER:図9 6月10日のマッチング成功率 #br #br #ref(jikken1_11.jpg,center,670x210) CENTER:図10 6月11日のマッチング成功率 #br #br #ref(jikken1_12.jpg,center,670x210) CENTER:図11 6月12日のマッチング成功率 #br #br #ref(jikken1_13.jpg,center,670x210) CENTER:図12 6月13日のマッチング成功率 #br #br #ref(jikken1_total.jpg,center,670x210) CENTER:図13 5日間通してのマッチング成功率 **実験2 [#xa212437] 実験1の結果から、ここではアルゴリズムにZNCCを用いている。~ 各テンプレートの5日間通しての類似度変化を散布グラフで以下に示す。~ 各テンプレートの5日間の類似度変化を散布グラフで以下に示す。~ グラフの横軸が時間を、縦軸が類似度を表す。~ 類似度の最大値は1、最小値は0で、1に近いほど類似した画像であることを表している。~ なお、テンプレートと同じ位置でマッチングを行っているため、常に類似度は高い値を示す。~ テンプレートごとの違いを分かりやすくするために、グラフ縦軸類似度の最小値を0.9に設定している。 #ref(graph09.jpg,center,658x432) CENTER:図14 6月9日の類似度変化 #br #br #ref(graph10.jpg,center,658x432) CENTER:図15 6月10日の類似度変化 #br #br #ref(graph11.jpg,center,658x432) CENTER:図16 6月11日の類似度変化 #br #br #ref(graph12.jpg,center,658x432) CENTER:図17 6月12日の類似度変化 #br #br #ref(graph13.jpg,center,658x432) CENTER:図18 6月13日の類似度変化 *考察 [#h49daa3e] **実験1 [#nd29303b] SSDは構造物や木に対しては高い正解率を示すものの、山の画像に対してはかなり精度を欠いてしまっている。~ 3つのアルゴリズムに共通することだが、画像を正規化してからマッチングを行う場合と、正規化せずに行う場合では、 正規化した場合のほうが格段に高い精度を示すことが分かった。~ 成功判定にはある程度の誤差を許容しているが、わずかにずれてマッチするということはほとんどなく、失敗する場合は全く違う場所にマッチしていた。~ すべてのテンプレートで高い正解率を示しているのは、正規化されたNCCと正規化されたZNCCである。~ SSDが苦手とする山の画像においても、かなり高い正解率を示している。~ また、非常に僅差ではあるものの、NCCよりもZNCCがすべての場合でより高い正解率を示している。 **実験2 [#w285e0fd] 全体的に見ると、最も安定して高い類似度を保っているのは窓枠テンプレートであるといえる。~ 逆に最も不安定なのは路面テンプレートで、他のテンプレートが安定して高い値を示すときでもかなりばらつきのある値を示していた。~ 構造物と木や山などの自然物とを比較すると、構造物の方の類似度が安定していることがわかる。~ また同じ構造物でも、遠方に写るものよりも近くにある窓枠のほうが安定した類似度を示していた。~ 各時間帯のランドマークに対する天候・照明変化による影響の詳細と、その時の画像を以下に示す。 ***霧による影響 [#ha327d8b] 9日6時前後に山の類似度がやや低くなっている。~ これは山に霧がかかり、画像が全体的に白くなっていたことが原因だった。~ 別の日に関しても、朝の時間帯は山に霧がかかりやすく、山の類似度が不安定になることが多かった。~ 他のテンプレート画像にはあまり影響が出ておらず、類似度の遷移も安定している。 ***強い日差しによる影響 [#me17dba2] 9日9時前後には山以外の類似度が下がっている.これは日差しによる影響で、画像全体の明るさが増していることがわかった。~ 一方で同じように日差しを受けたはずの山は高い類似度を保っていた。~ これについては,山の画像は比較的複雑で,さらに遠方に写っているために画像全体がぼやけ、 全体としての明るさが比較的均一に保たれているからではないかと推測する。 ***雨による影響 [#z0d5f88a] 11日午前中には雨による影響で、全体の類似度が下がってしまっている。~ 一方で、窓枠はその影響をほとんど受けることなく高い類似度を保っている。~ 画像を見ると、窓枠に関しては雨によって画像がほとんど変化していない。~ 遠方に写るものほど、画像が白くぼやけてしまっていることがわかる。 ***路面への影響 [#ie1ea3f2] 5日間を通して路面の類似度にかなりばらつきがあった。~ これには建物の影が映ってしまう場合、路面が雨にぬれてしまう場合など、さまざまな原因が複合している。~ そして今回用いた画像は高い位置から撮影したものであったため、人のような障害物が写ってしまう場合もあった。 #ref(temp_and_fog.jpg,center,720x850) CENTER:図19 テンプレート画像と霧の影響を受けた画像 #br #br #br #br #br #ref(light_and_rain.jpg,center,720x850) CENTER:図20 日差しの影響を受けた画像と雨の影響を受けた画像 *まとめ [#mf4746aa] **実験1 [#h1373192] 実験1の結果から、今回調べた6種類のテンプレートマッチングアルゴリズムのうち、 天候・照明の変化に対して最も高い耐性を示すアルゴリズムはZNCCであるといえる。~ ZNCCは明るさの変化に影響を受けにくいとされているが、そのことが本研究の結果からも証明された。 **実験2 [#y2a68f36] 実験2の結果から、今回調べた5種類のテンプレートのうち、 天候・照明の変化に対して最も高い耐性を示すテンプレートは構造物としての窓枠であるといえる。~ 路面はその影響を受けやすく、単純にランドマークとして用いるのは好ましくない。~ 天候・照明変化に対しては、路面よりも自然物、自然物よりも構造物のほうがランドマークとして高いロバスト性を示す。~ また、ランドマークまでの距離に関しても、遠方のものよりも近い位置にあるものの方がロバスト性の高い結果を得ることができる。 **まとめ [#h8b2a7f9] 以上のことから、屋外におけるテンプレートマッチングでは、~ -''アルゴリズムにZNCCを用いて'' -''近い位置にある構造物をランドマークに選択して'' マッチングを行うことで、ロバスト性の高い結果を得ることができる。~ 自律走行ロボットがテンプレートマッチング手法を用いて自己位置推定を行う場合には、このような方法を用いることが望ましい。