ロボットの種類の一つに自律走行ロボットというものがある.自律走行ロボットが正しく走行するためには,ロボットが自分の位置を正しく認識する必要がある.
ロボットが走行する場所は屋外を想定し,自己位置の特定にテンプレートマッチングを用いることとする.
屋外環境下でテンプレートマッチングを行う場合,1つの大きな問題がある.それは屋外環境下における対象物の検出は,非常に困難なものになるということだ.
なぜなら,屋外では画像の照明条件が大きく変化するためである.天候や時間によって日差しの向きが変わることはもちろん,同じ時間でも雲の動きによって影ができる等,画像の明るさは多様に変化してしまう.
次の画像はとある場所の固定カメラから,別の日に撮影した東京スカイツリーの画像である.
自動走行ロボットが正しく走行するためには,上記のような照明条件の変化した画像に対しても,正しく対象物を検出する必要がある.
そのために本研究ではテンプレートマッチングにエッジ画像を使うことを考える.
基本的にテンプレートマッチングにはグレー画像を用いるが,エッジ画像を用いることで照明変化に堅牢なマッチングができると考えられる.
グレー画像,エッジ画像,2値エッジ画像の3種類の画像を用いて,風景画像に対してテンプレートマッチングを行い,エッジ画像および2値エッジ画像が,グレー画像に比べ,どの程度照明変化に対応することができるかを比較,検証する.
テンプレートマッチングとは,探索の対象となる画像の中から,テンプレートと呼ばれる特定の画像を探し出す方法である.
テンプレートマッチングでは,画像とテンプレートがどの程度にているかを示す値として,類似度という値を計算している.テンプレートの濃度分布を記憶し,対象となる画像と画素単位で類似度を計算する.
類似度の方法法にはいくつか種類がある.実験で使用する3つの方法を以下で紹介する.
エッジ画像とはエッジ検出処理を施した画像のことである.エッジ検出をすることで,画像の明るさが急激に変化している場所を検出することができる.
また,2値エッジ画像とはエッジ画像にさらに2値化処理を施したものである.2値化とは,画像の輝度値で閾値以上のものを255に,閾値以下のものを0にしたものである.閾値の決定には大津のアルゴリズムを使用した.
入力画像全体とテンプレートとでマッチングを行い、最も類似度の高い位置、すなわちマッチング位置を計算する。
このマッチング位置が、使用するテンプレートと同じ位置、つまり正しい位置にあるかどうかを、5つのテンプレートを用いて、入力画像1日分ごとに判定する。
窓枠テンプレートを用いた場合のマッチングの成功判定は下図のようになる。
#ref(): File not found: "jikken1.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
図左上の四角の位置にマッチした場合は成功、それ以外の位置にマッチした場合を失敗と判定する。
1つのマッチングアルゴリズムを用いて上記のような操作を行い、これを6種類のアルゴリズムについて行う。
つまり、アルゴリズム・テンプレート画像の組み合わせを変えつつ、5日間の日ごとのマッチング成功率を調べることになる。
これにより、6種類のアルゴリズムのうち、どのアルゴリズムが天候・照明変化に対して優れているのかを検証する。
使用するテンプレートにかかわらず成功率が高いほど、天候・照明変化に影響されにくいアルゴリズムであるということがいえる。
#ref(): File not found: "jikken1_2.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
実験1では画像全体とマッチングを行ったのに対し、実験2ではテンプレートと同じ位置を入力画像から切り出してマッチングを行い、得られた類似度を日ごとにグラフ化する。
これを5種類のテンプレート画像について行う。
アルゴリズムには、実験1の結果から、天候・照明変化に対して耐性が高いとされたアルゴリズムを用いることとする。
つまりここでは、テンプレートごとの、時間変化に対する類似度の変化を調べることになる。
これにより、どのような風景をランドマークに選択すべきかを検証する。
日や時間帯に関係なく、安定して高い類似度を示すテンプレートが、天候・照明変化に影響されにくい画像であるといえる。
#ref(): File not found: "jikken2.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
5日間のマッチング成功率をあらわす表を以下に示す。表の数値は成功率をパーセンテージで表す。
#ref(): File not found: "jikken1_09.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "jikken1_10.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "jikken1_11.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "jikken1_12.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "jikken1_13.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "jikken1_total.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
実験1の結果から、ここではアルゴリズムにZNCCを用いている。
各テンプレートの5日間の類似度変化を散布グラフで以下に示す。
グラフの横軸が時間を、縦軸が類似度を表す。
類似度の最大値は1、最小値は0で、1に近いほど類似した画像であることを表している。
なお、テンプレートと同じ位置でマッチングを行っているため、常に類似度は高い値を示す。
テンプレートごとの違いを分かりやすくするために、グラフ縦軸類似度の最小値を0.9に設定している。
#ref(): File not found: "graph09.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "graph10.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "graph11.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "graph12.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "graph13.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
SSDは構造物や木に対しては高い正解率を示すものの、山の画像に対してはかなり精度を欠いてしまっている。
3つのアルゴリズムに共通することだが、画像を正規化してからマッチングを行う場合と、正規化せずに行う場合では、
正規化した場合のほうが格段に高い精度を示すことが分かった。
成功判定にはある程度の誤差を許容しているが、わずかにずれてマッチするということはほとんどなく、失敗する場合は全く違う場所にマッチしていた。
すべてのテンプレートで高い正解率を示しているのは、正規化されたNCCと正規化されたZNCCである。
SSDが苦手とする山の画像においても、かなり高い正解率を示している。
また、非常に僅差ではあるものの、NCCよりもZNCCがすべての場合でより高い正解率を示している。
全体的に見ると、最も安定して高い類似度を保っているのは窓枠テンプレートであるといえる。
逆に最も不安定なのは路面テンプレートで、他のテンプレートが安定して高い値を示すときでもかなりばらつきのある値を示していた。
構造物と木や山などの自然物とを比較すると、構造物の方の類似度が安定していることがわかる。
また同じ構造物でも、遠方に写るものよりも近くにある窓枠のほうが安定した類似度を示していた。
各時間帯のランドマークに対する天候・照明変化による影響の詳細と、その時の画像を以下に示す。
9日6時前後に山の類似度がやや低くなっている。
これは山に霧がかかり、画像が全体的に白くなっていたことが原因だった。
別の日に関しても、朝の時間帯は山に霧がかかりやすく、山の類似度が不安定になることが多かった。
他のテンプレート画像にはあまり影響が出ておらず、類似度の遷移も安定している。
9日9時前後には山以外の類似度が下がっている.これは日差しによる影響で、画像全体の明るさが増していることがわかった。
一方で同じように日差しを受けたはずの山は高い類似度を保っていた。
これについては,山の画像は比較的複雑で,さらに遠方に写っているために画像全体がぼやけ、
全体としての明るさが比較的均一に保たれているからではないかと推測する。
11日午前中には雨による影響で、全体の類似度が下がってしまっている。
一方で、窓枠はその影響をほとんど受けることなく高い類似度を保っている。
画像を見ると、窓枠に関しては雨によって画像がほとんど変化していない。
遠方に写るものほど、画像が白くぼやけてしまっていることがわかる。
5日間を通して路面の類似度にかなりばらつきがあった。
これには建物の影が映ってしまう場合、路面が雨にぬれてしまう場合など、さまざまな原因が複合している。
そして今回用いた画像は高い位置から撮影したものであったため、人のような障害物が写ってしまう場合もあった。
#ref(): File not found: "temp_and_fog.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
#ref(): File not found: "light_and_rain.jpg" at page "エッジ画像を用いた照明変化に堅牢なテンプレートマッチング"
実験1の結果から、今回調べた6種類のテンプレートマッチングアルゴリズムのうち、
天候・照明の変化に対して最も高い耐性を示すアルゴリズムはZNCCであるといえる。
ZNCCは明るさの変化に影響を受けにくいとされているが、そのことが本研究の結果からも証明された。
実験2の結果から、今回調べた5種類のテンプレートのうち、
天候・照明の変化に対して最も高い耐性を示すテンプレートは構造物としての窓枠であるといえる。
路面はその影響を受けやすく、単純にランドマークとして用いるのは好ましくない。
天候・照明変化に対しては、路面よりも自然物、自然物よりも構造物のほうがランドマークとして高いロバスト性を示す。
また、ランドマークまでの距離に関しても、遠方のものよりも近い位置にあるものの方がロバスト性の高い結果を得ることができる。
以上のことから、屋外におけるテンプレートマッチングでは、
マッチングを行うことで、ロバスト性の高い結果を得ることができる。
自律走行ロボットがテンプレートマッチング手法を用いて自己位置推定を行う場合には、このような方法を用いることが望ましい。