ロボットの種類の一つに自律走行ロボットというものがある.自律走行ロボットが正しく走行するためには,ロボットが自分の位置を正しく認識する必要がある.
ロボットが走行する場所は屋外を想定し,自己位置の特定にテンプレートマッチングを用いることとする.
屋外環境下でテンプレートマッチングを行う場合,1つの大きな問題がある.それは屋外環境下における対象物の検出は,非常に困難なものになるということだ.
なぜなら,屋外では画像の照明条件が大きく変化するためである.天候や時間によって日差しの向きが変わることはもちろん,同じ時間でも雲の動きによって影ができる等,画像の明るさは多様に変化してしまう.
次の画像はとある場所の固定カメラから,別の日に撮影した東京スカイツリーの画像である.
自動走行ロボットが正しく走行するためには,上記のような照明条件の変化した画像に対しても,正しく対象物を検出する必要がある.
そのために本研究ではテンプレートマッチングにエッジ画像を使うことを考える.
基本的にテンプレートマッチングにはグレー画像を用いるが,エッジ画像を用いることで照明変化に堅牢なマッチングができると考えられる.
グレー画像,エッジ画像,2値エッジ画像の3種類の画像を用いて,風景画像に対してテンプレートマッチングを行い,エッジ画像および2値エッジ画像が,グレー画像に比べ,どの程度照明変化に対応することができるかを比較,検証する.
テンプレートマッチングとは,探索の対象となる画像の中から,テンプレートと呼ばれる特定の画像を探し出す方法である.
テンプレートマッチングでは,画像とテンプレートがどの程度にているかを示す値として,類似度という値を計算している.テンプレートの濃度分布を記憶し,対象となる画像と画素単位で類似度を計算する.
類似度の方法法にはいくつか種類がある.実験で使用する3つの方法を以下で紹介する.
エッジ画像とはエッジ検出処理を施した画像のことである.エッジ検出をすることで,画像の明るさが急激に変化している場所を検出することができる.
また,2値エッジ画像とはエッジ画像にさらに2値化処理を施したものである.2値化とは,画像の輝度値で閾値以上のものを255に,閾値以下のものを0にしたものである.閾値の決定には大津のアルゴリズムを使用した.
定点カメラを用いて同じ場所から撮影した画像を100枚用意する.この画像は異なる日付,時間に撮影したもので明るさの変化大きいものである.
その100枚の画像の中から1枚の画像を選び,その画像から窓枠やアンテナ,木などの5種類のテンプレートを作成する.
100枚の画像および作成したテンプレートをグレー画像,エッジ画像,2値エッジ画像の3種類の画像にする処理を施した後,グレー画像ならばグレーのテンプレート,エッジ画像ならエッジのテンプレートのように,それぞれ対応する画像とテンプレートでテンプレートマッチングを行う.
そのときの類似度の計算方法にはSSD,NCC,ZNCCの3種類を使う.それぞれ正しくマッチングした数を数え,比較する.固定カメラから撮影した画像は次のようなものである.
実験1で正しくマッチングした時の画像の類似度の平均を計算する.
100枚の固定カメラから撮影した画像とはまったく関係のない風景画像50枚を用意し,その50枚の画像に対して実験1で作成したテンプレートを使い,実験1と同様にテンプレートマッチングを行う.
その時,最大マッチングとされた点の類似度の平均を計算する.2つの類似度の平均値の差を計算し,比較する.以下は,風景画像50枚の例である.
実験1では対象物(テンプレート)が写っている画像のみを対象に実験を行った.しかし,自律走行ロボットが実際に屋外を走行し,テンプレートマッチングを行う際,対象物が写ってない場合も当然考えられる.そのような場合,ロボットは対象物は写っていないと判断しなければならない.そのため計算した類似度に対し,対象物かどうかを判断するための閾値を決める必要がある.テンプレートマッチングでは,非対称画像とテンプレートが最も似ている場所を求めることができるため,対象物が写っていない場合でも,最も似ている点を取得できる.その値は対象物が写っていて,正しくマッチングされたものよりも低くなるはずである.対象物がある画像で正しくマッチングしたときの類似度と,対象物が写っていないときの最大マッチングとされた場所の類似度の差が,大きければ大きいほど閾値の決定が容易になり,誤検出も少なくできると考えられる.そのため,2つの差が大きいものを良いマッチング方法とする.
グレー画像 | エッジ画像 | 2値エッジ画像 | |
SSD | 35 | 99 | 97 |
NCC | 58 | 94 | 86 |
ZNCC | 86 | 96 | 89 |
グレー画像 | エッジ画像 | 2値エッジ画像 | |
SSD | 33 | 100 | 89 |
NCC | 44 | 100 | 100 |
ZNCC | 72 | 100 | 100 |
グレー画像 | エッジ画像 | 2値エッジ画像 | |
SSD | 10 | 97 | 97 |
NCC | 51 | 100 | 99 |
ZNCC | 100 | 99 | 99 |
グレー画像 | エッジ画像 | 2値エッジ画像 | |
SSD | 39 | 79 | 44 |
NCC | 34 | 73 | 68 |
ZNCC | 94 | 88 | 84 |
グレー画像 | エッジ画像 | 2値エッジ画像 | |
SSD | 10 | 18 | 18 |
NCC | 27 | 45 | 8 |
ZNCC | 68 | 65 | 19 |
実験1の結果から,ここではアルゴリズムにZNCCを用いたものをのせる.
あり | 無し | 差 | |
テンプレート1 | 0.879 | 0.468 | 0.411 |
テンプレート2 | 0.740 | 0.585 | 0.155 |
テンプレート3 | 0.777 | 0.497 | 0.280 |
テンプレート4 | 0.584 | 0.354 | 0.230 |
テンプレート5 | 0.553 | 0.390 | 0.163 |
あり | 無し | 差 | |
テンプレート1 | 0.785 | 0.388 | 0.397 |
テンプレート2 | 0.713 | 0.300 | 0.413 |
テンプレート3 | 0.654 | 0.335 | 0.319 |
テンプレート4 | 0.408 | 0.142 | 0.266 |
テンプレート5 | 0.202 | 0.105 | 0.097 |
あり | 無し | 差 | |
テンプレート1 | 0.665 | 0.317 | 0.349 |
テンプレート2 | 0.598 | 0.252 | 0.347 |
テンプレート3 | 0.502 | 0.309 | 0.193 |
テンプレート4 | 0.265 | 0.111 | 0.154 |
テンプレート5 | 0.226 | 0.079 | 0.147 |
実験1の結果から、今回調べた6種類のテンプレートマッチングアルゴリズムのうち、
天候・照明の変化に対して最も高い耐性を示すアルゴリズムはZNCCであるといえる。
ZNCCは明るさの変化に影響を受けにくいとされているが、そのことが本研究の結果からも証明された。
実験2の結果から、今回調べた5種類のテンプレートのうち、
天候・照明の変化に対して最も高い耐性を示すテンプレートは構造物としての窓枠であるといえる。
路面はその影響を受けやすく、単純にランドマークとして用いるのは好ましくない。
天候・照明変化に対しては、路面よりも自然物、自然物よりも構造物のほうがランドマークとして高いロバスト性を示す。
また、ランドマークまでの距離に関しても、遠方のものよりも近い位置にあるものの方がロバスト性の高い結果を得ることができる。
以上のことから、屋外におけるテンプレートマッチングでは、
マッチングを行うことで、ロバスト性の高い結果を得ることができる。
自律走行ロボットがテンプレートマッチング手法を用いて自己位置推定を行う場合には、このような方法を用いることが望ましい。