近年、人間による制御によらず屋内外を自律的に走行するロボットの研究が行われ、実用化も進んでいる.そういった移動ロボットの自律走行において、ロボット自身が周囲の環境から現在の位置を推定することは重要な課題である.
現在はレーザーレンジファインダー(LRF)により周囲の空間の3 次元情報を測定し照合する方法や、GPSを用いて人工衛星からの信号を元にロボットの現在位置を把握する手法が主流である. しかし、LRF は高価なため多くのロボットへの搭載が難しく、また開けた場所では測定がうまくいかないなどの問題がある. また、GPSはビルなどの高い遮蔽物が周囲に存在する場所では使用できないなどの問題がある.
こうした問題に対し、比較的安価に搭載できるカメラを用いた画像による自己位置推定手法が研究されている. これは人間が周囲の風景から自分が現在いる位置を把握するように、ロボットが移動しながら撮影した画像を用いて人間と同じように自身の位置を把握する手法であり、画像を用いることで周囲の環境に影響されず安定した自己位置推定を行うことができる. 移動ロボットの画像マッチングに適した自己位置推定法として、SeqSLAM[1]というものがある.
これは予めロボットが移動するルートを撮影した連続画像群とロボットが自律走行しながら撮影した画像とのマッチングを行い、その結果のスコアをまとめたスコアマトリックスから対応画像を探索し自己位置推定を行う手法である. しかし、この手法は局所的な照明条件の変化の影響を受け、安定したマッチングが行えない問題が存在する.そこで、本研究ではこのSeqSLAMの問題の改善を目的とした、様々な照明変化に対し堅牢な画像マッチング手法について提案する.
SeqSLAM はM.Milford らによって提案された手法であり、予めロボットの移動ルートを撮影した画像群を用意し、走行中にカメラから取得した画像とその画像群とを照合し画像どうしの対応付けに連続画像を用いて自己位置推定を行う手法である. 連続した画像群を用いることで特徴点を検出する必要がなく、天候や季節変化に対し堅牢なマッチングを行うことができる.
次に、SeqSLAM の手順を説明する. 予め用意した移動ルートの画像群をテンプレート画像群、走行中に取得した画像群を入力画像群として照合する両画像をグレースケール化し、サイズを縮小してサムネイルを作成する。このサムネイルを以下の図1 のようにパッチで区切り、各小領域内で画像の明るさを正規化することで天候や照明の変化に対する頑強性を向上させる. 既存手法では小領域内の画素の最高輝度を255、最低輝度を0 となるように正規化を行う.正規化を施したテンプレート画像と入力画像間の輝度値の絶対値の差分を求め差分画像を作成する.この差分画像の輝度値の平均を取り、その値を画像組のスコアとする. これを1つの入力画像に対し全テンプレート画像群に行い、スコアマトリックスM を作成する. M は現在時刻T からT ds までのスコアから成る1 次元の行列である. さらに、Mに1次元の正規化を行うことで局所領域の明度を強調し、よりマッチングの成否を強調する. Diを強調前のスコア、lを局所標準偏差、Dl を局所平均として、強調後のスコア^Di を以下の式(1)で求め局所領域強調を行う.
次の図2に各入力画像のスコアマトリックスMと、Mに局所領域強調を施した例を示す. 図2: スコアマトリックスと局所領域強調
続いて、Mを用いて対応する連続画像を探索する. この探索はテンプレート画像の各要素から出発して、異なる速度を表す軌道を投影する.このとき、現在の軌道との一致を避けるため最近のテンプレート画像を除いて探索を行う.時刻T dsから現在時刻T に移動する際に通過する差分値に基づき、各軌道線について差分スコアS を算出する.スコアS が最小となる画像列を最も類似した画像列とみなし、以下の式(2) で定義する.Dtkは行列M 内の時刻t におけるインデックスk のスコアの数値を示す.
ここで、k は時間t で軌道が通過する特定の差分値であり、以下の式(3) で定義される.s は軌道が生じたテンプレート画像の番号であり、軌道速度V はロボットの移動速度を元に決定されVmax からVmin の数値をVstep ごとに取り探索範囲を決定する.
このような手順で探索することで、SeqSLAM は堅牢な対応画像探索を行うことができる. 連続画像の1 枚に遮蔽やルートの変化などが生じた場合でも、ds 間の画像列を用いて探索を行うためそういった影響に対しても堅牢である.また、画像を縮小しサムネイル化するため、低画質なカメラでも安定した探索が可能である
つくばチャレンジではロボットは遊歩道や広場などの屋外を移動し,モニタリング用の端末も屋外に設置される.そのため,屋外を移動するロボットと離れた距離にある端末の間で安定して通信を行い,データのやり取りをする必要がある.
このような理由から,今回設計したロボットのモニタリングシステムでの通信にはWiMAX を利用した無線でのインターネット回線による通信を行う.また,インターネット回線により直接ロボットと端末で通信を行うためにはグローバルIP アドレスを取得する必要がある.しかし,サーバを中継してロボットと端末間の通信を行うことで,サーバの持つIP アドレスを利用して通信を行うよう設計した.
これにより,今回の通信用にグローバルIP アドレスを取得する必要をなくしている.また,サーバを中継することでLinux のscp コマンドを利用して通信を行えるため手軽な実装ができた.今回通信を中継するサーバは太田研究室のものを使っている.
ロボットが違う照明条件で同じ場所を走行しながら1mごとに撮影した、画像番号と撮影位置が対応するそれぞれ92枚の2つの画像群を用いてSeqSLAMの動作実験を行う. 次の図4に使用した画像群のそれぞれの抜粋を示す.
今回の実験では画像番号と撮影位置が対応した画像を使用するため、スコアマトリックスに対角に黒い線ができれば正しく対応画像をマッチングできた事になる.これら2 つの画像群に対しSeqSLAM によりスコアマトリックスを作成し、対応画像探索を行う.
動作実験の結果のスコアマトリックスと対応画像探索結果を次の図5に示す. [1] スコアマトリックス[2] 対応画像探索 図5: 動作実験結果
このスコアマトリックスを見ると、大よそ対角に黒い線ができているためマッチングは成功したといえる. また、対応画像探索も対角上に線が引かれており、この結果からも正しいマッチングができたと考えられる.しかし、スコアマトリックスの中央部分を見ると、他所と比べ黒い線がはっきりと出ておらず対応した画像のマッチングが上手く行えなかったと考えられる. この部分の画像の例と正規化処理後の画像を以下の図6 に示す.
2つの画像を比較すると、テンプレート画像は日光が差していることにより明るい部分と影になっている部分がある.一方で入力画像は雲が出て日光が隠れているため、テンプレート画像に比べ全体が同じような明るさになっている. この照明条件の違いにより画像の正規化結果に差が生じ、マッチングが正しく行えなかったと考えられる. この結果から、既存手法では画像間で大きな照明変化があった場合その影響を受けて安定したマッチングができないという問題がある.
SeqSLAM は画像を小領域に分割し個々の領域内で正規化することで天候や照明の変化に対する頑強性を向上させている. しかし既存手法は最終的なマッチングを輝度値の差分により行うため、局所的な照明変化に対して影響を受けやすい欠点がある. また、小領域の正規化方法も動作実験の結果より、画像の照明変化に対し影響を受けて安定したマッチングができていないと考えられる.そこで、本研究では小領域の正規化方法や画像のマッチングをより照明変化に対し堅牢な手法を用いることでこの問題を解消し、SeqSLAM の性能を向上させ安定したマッチングができるようにすることを目的とする.
ヒストグラム平坦化は画像の画素の輝度値の分布を表すヒストグラムの幅を調整し平坦にすることで、画像のコントラストを強調する手法である. コントラストを強調することで画像の明るさの違いを補正でき、輝度値の差分によるマッチングの精度を上げることができる.以下の図7 に示す画像例に対し、ヒストグラム平坦化を適用した結果を示す. [1] 適用前[2] 適用後 図7: ヒストグラム平坦化の効果
図7 のようにヒストグラムを平坦化することで画像のコントラストが強調され、鮮明な画像に変換される.特にヒストグラムが特定の範囲に集中しているような、明るさが極端に偏った画像の場合は効果を発揮する. こうして調整した画像を用いて既存手法と同じく画像の輝度値の差分をとることで画像のマッチングを行う.
正規化相互相関は画像の輝度値の平均値を引いて正規化し、その相関から類似度を計算をする手法である. 画像を輝度値の分布と考え、統計量としての相互相関係数を計算し、類似度とする.画像をベクトルとみなして内積を計算することでそのベクトルの長さ(ゲイン変動) の影響を吸収できる. また、画像の明るさの平均値を引くことで2 つの画像の明るさの変動を吸収できるため、照明変化の影響を吸収し安定したマッチングができる.類似度Rzncc の範囲は(1 Rzncc 1)であり、1 に近いほど類似している.
画像の幅をM、高さをN としたとき、テンプレート画像の画素をT(i,j)、平均を T、入力画像の画素をI(i,j)、平均をI として、類似度Rzncc は次の式(4) で定義する.
#ref(): File not found: "Coordinate.jpg" at page "画像によるロボットのナビゲーションのための照明変化に堅牢な画像マッチング手法"
ここで、正規化相互相関の結果が1 に近い場合について考える.この場合は元の画像がネガポジ反転された画像に類似しているということであり、一概にまったく別の画像であるとは言えない. 以下の図8に正規化相互相関での類似度が1になる例を示す.この右の画像は左の画像をネガポジ反転した画像である.
例えば、昼間の画像と夜間の画像をマッチングする際に窓からの明かりや街灯の光などによりテンプレート画像と入力画像間で明暗の分布が変化している場合、従来の正規化相互相関では正しいマッチングができない箇所ができる可能性がある. そこで、正規化相互相関の絶対値を用いてマッチングを行うことでこうした明暗の分布が逆転した場合でも類似度が1 に近くなり正しくマッチングができると考え、絶対値正規化相互相関(絶対値ZNCC) を実装した.
増分符号相関[2] は画像間の明るさの変化傾向を符号化し、どの程度一致するかを調べることで画像のマッチングを行う手法である. 図9に日照変化により明暗が異なる同じ位置から撮影した画像例と画像中の赤枠内の輝度値をグラフ化して示す.
図9 のグラフから分かるように、明るさの絶対値や変化量は2つの画像で大きく異なっているが明るさの変化傾向は両画像で似た形になっている.このような特性を生かし、増分符号相関は単純なコントラストの大きさによる特徴だけでなく、全ての画素の情報を利用しマッチングを行う.
続いて、増分符号相関の手順について説明する.テンプレート画像の画素列G={gn}n=0;2;:::;M+N に対応する長さのビット列B={bn}n=1;2;:::;M+N を考え、注目画 素とその次の画素との明るさを比較し、次の式(5) で符号をつける.
同様に入力画像の画素列G'={fg'}n=0;2;:::;M+N に対応するビット列B'={b'}n=1;2;:::;M+N を定義し、符号をつける.類似度Risc は双方のビット列の"1"どうし及び"0"の一致割合として次の式(6)で定義する. また、類似度の範囲は(0 Risc 1) であり、1に近いほど類似した画像であると判断する.
Risc =1/M + NMΣ+Nn=1(bn b′n + (1 bn) (1 b′n)) (6)
本研究では、手法の適用前にガウシアンフィルタを適用して画像のノイズを取り除いている.また、増分符号相関は1 画素どうしの比較により増分符号をつけるため、ロボットの撮影位置の違いによる画像のズレに大きく影響を受けてしまう.そこで、注目画素と比較画素を1 画素から4 画素の平均輝度に拡張して増分符号をつけることで撮影位置のズレを吸収できると考え、この改良を加えた拡張増分符号相関も実装した.
方向符号照合[3] は画像の各画素の輝度勾配の方向に対し符号を付け、それに基づき照合を行う手法である. 輝度勾配とは画素近傍における明度変化が最大となる勾配方向であり、輝度勾配の角度を一定角度ごとに符号化する.輝度勾配は明度変化に影響されにくい特徴があるため、照明変化に対し安定したマッチングができる.
続いて、方向符号照合の手順について説明する.テンプレート画像の注目画素T(i; j) の水平方向の微分∇Tx、垂直方向の微分∇Ty を1 次微分フィルタを用いて求める. このフィルタを図10 に示す. それを基に、輝度勾配の角度(i; j) を次の式(7) で求める.
式(7) で求めた輝度方向(i; j) を量子幅Δ = 2P により量子化し、(0 CT(i;j) P 1) の範囲で方向符号CT(i;j) を定義する. また、しきい値ϵ でコントラストが低い画素を除外し符号化を安定させる. 本研究ではしきい値ϵ = 5 方向分割ピッチP = 16(Δ = 8 ) としており、以下の図11 にその方向符号を示し、次の式(8) で方向符号を計算する.
同様に、入力画像の注目画素I(i; j) の水平方向の微分∇Ix と垂直方向の微分∇Iyから輝度勾配を求め、方向符号CI(i;j) を求める. 本研究ではより類似した部分に注目したいので、方向符号CT(i;j) とCI(i;j) の絶対差による重みづけにより類似度Rocmを計算する.なお方向符号が16(低コントラスト) の場合は重みづけには使用しない.方向符号CT(i;j) とCI(i;j) の絶対差を求め、差が0 の場合は類似度Rocm を+1、1、もしくは15 のときはRocm を+0.5、2、もしくは14 のときはRocm を+0.25 で重み付けする. これを全画素に対し行い、最終的に類似度の範囲を(0 Rocm 1)とするため画素数M +N で除算した値と定義し1 に近いほど類似した画像であると判断する. こちらの手法でも、増分符号相関と同じく手法の適用前にガウシアンフィルタを適用して画像のノイズを取り除いている.また、方向符号照合も増分符号相関 と同じく1 画素に対する符号によるマッチングを行うためロボットの撮影位置の違いによる画像のズレに大きく影響を受けてしまうと考え、注目画素と比較画素を1 画素から4 画素の平均輝度に拡張して改良を加えた拡張方向符号照合も実装した.
動作実験と同じく図4 に示した、画像番号と撮影位置が対応したそれぞれ92 枚 の2 つの画像群を用いて8 つの各マッチング手法を実装したSeqSLAM による実験 について述べる. 更にスコアマトリックスの局所領域強調により明度強調を行う前 後で定量値を求め、その数値からも比較を行う. 定量値として、1 つのテンプレート画像に対して画像番号の同じ(撮影位置の同 じ) 入力画像のスコアと、それ以外の撮影位置の違う入力画像の中で最も類似度が 高いスコアの比を相違度と定義し、それらの平均値を求めた.この数値が小さい ほど撮影位置の対応した画像の類似度が高く、そうでない画像の類似度が低くな り両者の区別ができたとなる.また、相違度が1 以上(撮影位置の違う画像の類似 度が最高) となってしまった画像の枚数もまとめた.またスコアマトリックスの局 所領域強調による明度強調を行う前後で数値を求め、どのような変化があるかも 比較する.
実験結果のスコアマトリックスを図12に、定量比較の結果を表1にまとめる.
各手法のスコアマトリックスを比較すると、既存手法ではうまくマッチングができなかった中央部分が正規化相互相関、方向符号照合では比較的黒くなりマッチングの精度が向上した.また、画像番号の対応していない画像の部分が全体的に明るくなっており、撮影位置が対応した画像とそうでない画像の区別ができた.逆に、増分符号相関は既存手法と比べ画像番号の対応した画像のマッチングができた部分が少なくなり、黒線が途切れ途切れになってしまった. 次に定量比較の結果を見ると、明暗の強調前では正規化相互相関が数値が最も低くなった.また、ヒストグラム平坦化と方向符号照合は数値は大きいが、相違度が1 以上の個所は正規化相互相関より少ない結果だった.明暗強調後では方向符号照合が全ての手法の中で定量値、相違度が1 以上の個所数ともに最小となった.一方で増分符号相関は定量値、相違度が1 以上の個所数ともに既存手法より大きくなった.この原因としては、同じ撮影位置でも左右の微妙なズレが増分符号に影響してしまったためと考えられる.領域拡張を施すことである程度向上はしたが、既存手法よりも劣る結果となった.
これらの結果より、この実験においては既存手法と比べヒストグラム平坦化、正規化相互相関、方向符号照合及びその改良手法はSeqSLAM の性能が向上し、増分符号相関及びその改良手法は既存手法より結果が悪くなった.
本論文では、屋外を自律走行するロボットに適した画像による自己位置推定法であるSeqSLAM について撮影位置の対応した画像群による動作実験の結果から局所的な照明変化に対する問題点を述べ、照明変化に堅牢なマッチング手法を用いることで局所的な照明変化に対するマッチングを安定させ性能を向上させる手法を提案し、そのための手法として7 つのマッチング手法についてその性能の比較を行った.SeqSLAM は事前に用意した移動ルートを撮影した画像群と走行中に取得した画像群とをマッチングし、各画像の結果をまとめたスコアマトリックスを作成し対応画像を探索することで自己位置推定を行う手法であり、この手法で用いられているマッチング手法では画像の照明変化に影響を受けマッチングが安定しない場合が存在する.そこで、画像のマッチングに照明変化に堅牢なマッチング手法を用いることで正しい対応画像を見つけやすくしその性能を向上させることができると考えた.
提案手法はヒストグラム平坦化、正規化相互相関、増分符号相関、方向符号照合に加え、絶対値を用いて照明の反転にも対応した絶対値正規化相互相関、注目画素を拡張し撮影位置のズレに対応した拡張増分符号相関と拡張方向符号照合の7 つであり、それらと既存手法とで評価実験を行い最もSeqSLAM の改良に適した手法がどれかを比較した. 評価実験は動作実験と同じくロボットが走行しながら一定距離ごとに撮影した画像群と、定点からの時間変化を撮影した画像群に対して行い、それぞれの手法の効果を確認した.
画像番号と撮影位置を対応させたロボットの移動ルート画像群に対する実験では、既存手法と比べ正規化相互相関と方向符号照合が撮影位置の対応した画像の類似度が上がりマッチングの精度が向上した.また、マッチングすべき画像とそうでない画像との類似度の差が大きくなり、安定したマッチングを行うことができた.続いて、人の往来がある屋外環境を走行した画像群に対しての実験では、どの手法でも人が写ったり移動ルートのズレによりマッチングできた画像が少なくなった.DP 探索による対応画像探索の結果では、方向符号照合が目視で確認した対応画像と対応画像探索とのズレが最も小さくなった. 定点観測画像に対する実験では、定点から撮影した時間ごとの画像と照明条件の違う数枚の入力画像との各小領域のマッチ数についてグラフで比較した.その結果、ヒストグラム平坦化と方向符号照合が様々な照明変化に対して小領域のマッチ数が多く、安定したマッチングを行うことができた.これらの結果より、移動ルート画像、定点観測画像のどちらに対してもマッチングができた方向符号照合がSeqSLAM の性能向上に最適な手法であると提案する.
今後の課題としては、様々な画像群に対して実験を行い、様々な環境に対して各手法でどのような影響が出るのかを調べる必要がある. また、人が往来する屋外環境をロボットが走行した画像群による実験ではマッチングが上手く行えなかった箇所が存在し、そういった場合に対してより安定したマッチングを行うことができる手法についても考えていく必要がある.自律走行ロボットへの実装を目指すに当たり、各手法の速度についても調べロボットへの実用化を目指した高速化などの改良や実験を重ねていく必要がある.
[1] M.J. Milford and G.F. Wyeth"SeqSLAM: Visual RouteBased Navigation for Sunny Summer Days and Stormy Winter Nights," Proc. of the IEEE Interna-tional Conference on Robotics and Automation, Minnesota, USA, 1643/1649(2012) [2] 村瀬一朗, 金子俊一, 五十嵐悟"増分符号相関による画像照合"精密工学会誌 Vol.66, No.2, 2000 [3] F.Ullah,S.Kaneko,S.Igarashi"Orientation code matching for robust object search" IEICE Transactions on Information and Systems E84-D(8):999