[[太田研 公開用Wiki]]

*定点観測画像を用いた風景照合手法の照明変化に対する堅牢性評価 [#n3cc67ac]
#contents
*はじめに [#pd084368]
**研究背景 [#afdac191]
ロボットの種類の一つに自律走行ロボットがある. 自律走行ロボットとは, GPSやレーザーレンジファインダー(LRF), または画像を使って自己位置推定を行いながら, 特定の経路をロボット自身が考えながら走行するロボットである. 
ロボットに画像を利用して周囲の認識をさせるためには, ロボットが走行中に撮影した画像(入力画像)と, 予め用意したロボットの走行ルートの画像群(学習画像群)の照合を行う.
画像と画像を照合する方法は幾つかあるが, このうち本研究では, SIFT特徴を用いた画像照合を行い実験, 評価を行った. 

**研究目的 [#fcaf37d9]
屋外で自律走行ロボットを走らせるとき, 日時・天気によって画像の明るさが変わる. 
これが学習画像の照明具合と異なる場合, 日時・天気によって時間による明るさ, 日差しや雲が変わるため, 画像照合の方法の一つである単純なテンプレートマッチングでは照明変化によって安定したマッチングが行えない.

以上より, 照明条件が変化しても安定した画像照合方法が必要である. よって本研究では, 画像の照明変化に強いSIFT特徴量を用いることを考える. 
SIFT特徴量を利用して画像照合を行うことにより, 照明変化に堅牢な画像照合方法について実験, 評価を行った. 

*評価対象の手法 [#qb5e13e6]
**SIFT [#d49deb73]
SIFTとは, 1999年にDavid Lowe氏が提案したもので, 画像に対してキーポイント検出, 特徴量記述を行うアルゴリズムである. 

キーポイントとは, 画像上にあるコーナー等の特徴的な点である. 
画像にDoG処理を行い, スケールやキーポイント候補点を検出する. 
検出したキーポイント候補点に対してコントラスト閾値やエッジ閾値によって絞り込み残った点をキーポイントとする. 
得られたキーポイントのオリエンテーションを計算し, キーポイント周辺の4*4ブロックに8方向の勾配ヒストグラムを作成し特徴量とする.

**Bag of Visual Words(BoVW) [#k7e657d9]
BoVWはキーポイントの位置を考慮せず, 特徴量のみを用いて画像照合を行う. 
BoVWはまず学習画像から求めた局所特徴量のある128次元空間をk個のクラスタへ分割する.
次に, 学習画像毎に局所特徴量が所属する1~kのクラスタに対して投票し,これを正規化することで学習画像枚数分のヒストグラムを作成する.
マッチングしたい入力画像は局所特徴量を求めた後, それが学習画像から求めたどのクラスタに所属するかを1~kのクラスタに対して投票し, 正規化することでヒストグラムを作成する.
この入力画像のヒストグラムを学習画像のヒストグラム全てに対して比較を行い, 類似度が最も高いものを入力画像の類似画像とする.


**RANSACアルゴリズムを用いた画像照合とホモグラフィを用いた類似度算出法 [#s869a5ad]
***キーポイントのマッチング [#x8772a20]
RANSACを用いた画像照合を行うために, 異なる画像同士のキーポイントマッチングを行う.  
SIFT特徴によるキーポイントマッチングは, まず入力画像と比較画像両方のキーポイントを取り, その位置の特徴量を記述する. 
次にその特徴量を異なる画像間で比較し, 最も似た特徴量と次に似た特徴量を検出する. 
最も似た特徴量と次に似た特徴量の比を計算し, この比が本研究では, 0.8以下のとき対応点として採用した. 
これは, ノイズによって2番めに近い点が対応点であるときの誤対応を減らすためである. 

***RANSACアルゴリズムを用いた画像照合 [#ja74175e]
RANSACは, 取得したデータの法則性から大きく外れたノイズとなるデータ(外れ値)を無視するアルゴリズムである.
RANSACは, 取得したデータのうちからランダムに幾つかのデータを抽出し, 法則性を求める. この法則性を当てはめた時, 外れ値が多くなければ正しい法則性の候補に加える. 
これを何度も繰り返した後, 正しい法則性の候補から最もデータに合うものを法則性とする. 

このアルゴリズムを利用して, キーポイントのマッチングで求めた対応点から, ノイズとなる対応点を除外し, より正解と考えられる対応点だけを残す.

RANSACアルゴリズムを利用しなかった結果と利用した結果を図1,2として示す. 
この2つの図より, RANSACによって間違った対応点が消えていることがわかる. 
CENTER:#ref(no_ransac_matching.png,center,35%)
CENTER:&size(14){図1:通常のマッチング};

CENTER:#ref(ransac_matching.png,center,35%)
CENTER:&size(14){図2:RANSACを利用したマッチング};

***ホモグラフィを用いた類似度算出法 [#y70d4611]
まず, 図2のようなRANSACを用いた画像照合を行い,  
マッチングした全ての点に対してのホモグラフィ変換行列Hを計算する.
このとき, ホモグラフィ変換行列Hは, 以下のような式で表される. 

CENTER:#ref(hom_gyoretu.png,center,50%)
CENTER:&size(14){図3:ホモグラフィ変換行列};

左の入力画像のマッチングに使用された点の座標を(xi, yi), 
右の比較画像のマッチングに使用された点を(xi', yi')とし, 
iが同じならばマッチングした点であるとする. 

入力画像のマッチング点にホモグラフィ変換行列Hを掛けた時, 
以下の式のように全てのマッチングが正しければ比較画像のそれぞれのマッチング点と同じ座標に変換される.

CENTER:#ref(hom_gyoretu2.png,center,50%)
CENTER:&size(14){図4:ホモグラフィ変換};

しかし, 間違ったマッチングが含まれていた場合, 計算されたホモグラフィ変換行列をマッチング点に掛けても
比較画像のそれぞれのマッチング点と同じ座標に変換されない. 
以上より, ホモグラフィ変換行列を掛けた後の入力画像のマッチング点と, 
比較画像のマッチング点の座標の距離が小さいものを正解とし, 入力画像のキーポイント数で割ることで類似度とした.
入力画像を正解画像に対してホモグラフィ変換したとき, 変換後に極度に歪んだ四角形になることはない.
そのため, 変換の歪みを表すホモグラフィ行列の3行1列と3行2列が0に近くないときは類似度計算から除外した. 

*実験方法 [#w8a0093f]
**データセット [#uc7af80e]
データセットとして, 日時・天気の異なる画像群を4個用意した. 
この4個の画像群には, 晴れの日の画像群, 曇りの日の画像群がそれぞれ2種類ずつ含まれている. 
この画像群は, LiDARを利用してほぼ同じルートを走行することができるロボットを使用して撮影したものである. 
そのため, 実際のロボットの自律走行に近い条件で実験を行うことができる.

CENTER:#ref(kumorigazougun.png,center,35%)
CENTER:&size(14){図5:曇りの日の画像群の一つ};

CENTER:#ref(haregazougun.png,center,35%)
CENTER:&size(14){図6:晴れの日の画像群の一つ};

**照合手法の評価 [#e59b1c94]
用意したデータセットの曇り画像群の一つと晴れ画像群の一つを基準画像群とする. 
基準画像群は, ロボットが実際に走行中に撮影した画像と考えて実験する. 
実験における基準画像群に対する比較画像群には, 基準画像群, 別日の曇り画像群, 別日の晴れ画像群を使用した. 
この基準画像群の1枚に対する比較画像群の類似度を計算することを繰り返す. 
同じ位置で撮影した画像同士の類似度が高くなることが望ましい. 


*実験結果 [#q993641b]
**Bag of Visual Wordsについての実行結果 [#kcbd7bca]
BoVWでの実験では, SIFTのコントラスト閾値やエッジ閾値はデフォルトに, クラスタ数は300とした. 
曇り入力画像群のうち, ある1地点の画像に関する類似度計算のグラフを図7として示す. 
晴れ入力画像群のうち, 上記と同様の地点で撮影した画像に関する類似度計算のグラフを図8として示す.  

CENTER:#ref(cloud_bovw.png,center,55%)
CENTER:&size(14){図7:ある曇り入力画像に対するBoVWによる類似度算出};

CENTER:#ref(sunny_bovw.png,center,60%)
CENTER:&size(14){図8:ある晴れ入力画像に対するBoVWによる類似度算出};

このグラフの赤い線の類似度が正解画像の地点となっている. 
同じ画像群を入力画像群と, 比較画像群にしたときは正解の画像の類似度が高くなっているが, 他の場合は, 正解でない地点の画像の類似度が高くなってしまっている. 

これは, 入力画像群の中から1枚を入力画像として比較画像群と照合している. 
この実験では, 正解地点の前後の画像でもロボットの位置から離れていないので正解とする. 
全ての入力画像に対して類似度算出を行い, 正解だった入力画像の数をカウントした. 
実験の結果を以下の図9で示す. 

CENTER:#ref(bovw_zengo.png,center,60%)
CENTER:&size(14){図9:BoVWを用いた画像照合実験の結果};

**ホモグラフィを用いた類似度算出についての実行結果 [#wf5f6ee4]
曇り入力画像群のうち, ある1地点の画像に関する類似度計算のグラフを図10として示す. 
晴れ入力画像群のうち, 上記と同様の地点で撮影した画像に関する類似度計算のグラフを図11として示す. 
このグラフの赤い線の類似度が正解画像の地点であり, どの比較画像群と比較しても赤い線の類似度が高くなっている.

CENTER:#ref(cloud_hom.png,center,60%)
CENTER:&size(14){図10:ある曇り入力画像に対する類似度算出};

CENTER:#ref(sunny_hom.png,center,60%)
CENTER:&size(14){図11:ある晴れ入力画像に対する類似度算出};

また, 図9とは別の地点の曇り入力画像に対する照合の結果, 不正解となったグラフを図12として示す.  
図12の赤い線の類似度が最も高くならなかったグラフについて, 正解画像との照合結果画像(図13)と, 類似度が最も高くなった地点との照合結果画像(図14)を示す. 

CENTER:#ref(cloud_miss.png,center,50%)
CENTER:&size(14){図12:ある曇り入力画像に対する類似度算出(不正解)};

CENTER:#ref(00122.png,center,45%)
CENTER:&size(14){図13:正解画像との照合結果画像};

CENTER:#ref(00125.png,center,45%)
CENTER:&size(14){図14:類似度が最も高かった画像との照合結果画像};

これは, 入力画像群の中から1枚を入力画像として比較画像群と照合している. 
この実験では, 正解地点の前後の画像でもロボットから離れていないので正解とするものと, 正解地点のみ正解とするものを表にした. 
ここで全ての入力画像に対して類似度算出を行い, 正解だった入力画像の数をカウントした. 
実験の結果を以下の図15, 16で示す. 

CENTER:#ref(hom_zengo.png,center,60%)
CENTER:&size(14){図15:ホモグラフィを用いた画像照合実験の結果(正解地点の前後も正解)};

CENTER:#ref(hom_pitta.png,center,60%)
CENTER:&size(14){図16:ホモグラフィを用いた画像照合実験の結果(正解地点のみ)};

*考察 [#k2a26f8a]
結果より, BoVWによる類似度算出はホモグラフィを用いた類似度算出と比べて低い精度となった. 
BoVWでは, 画像から検出したキーポイントすべてを使用して照合を行うため, RANSACを利用した画像照合で使われるような
点の影響が小さくなる. また以下の図17, 18よりわかるように, 同じ地点で別日に撮影した画像のキーポイントを取ったとき, 一定数のキーポイントは2つの画像内の風景の同じ位置に現れない. 
そのため多くのノイズを抱えてしまい, 正解画像の地点の類似度が高くなりにくくなってしまっている. 

CENTER:#ref(1723_key.png,center,50%)
CENTER:&size(14){図17:曇りの日のキーポイント};

CENTER:#ref(1442_key.png,center,50%)
CENTER:&size(14){図18:晴れの日のキーポイント};

ホモグラフィを用いた類似度算出では, 正解画像の地点の類似度が高くなることが多かったこと, 正解画像の地点の類似度が周りと比べて突出していることが多くあり, 正解でも別地点の類似度が正解の類似度に匹敵する
ことの多かったBoVWと比べて良い結果となった. 
しかし, 図12のような結果になることもあった. 
図13,図14より, 対応点として多くとれたのが画像の奥に見える建物であり, 距離があるために画像における建物の見え方があまり変わらない. 
そのため対応点が多く取れたと考えられる.

図15, 16より, 正解画像の前後の地点も正解としたときには良い結果となったが, 
正解画像の地点のみを正解としたときはあまり良い結果とはならなかった.
このことから, 現在のロボットの凡その位置は掴めるが, 丁度の位置は掴めないという結果になることが分かった.

*まとめ [#e1d3257b]
本論文では, 自律走行ロボットが屋外を走行する際に画像を用いて周囲を認識し, 
自己位置推定をするためにSIFT特徴を用いた画像照合を行い, 評価した.
SIFT特徴を用いたのは, 画像照合の問題である天気・日時によって変わる画像の明るさに対応するためである. 
今回の実験では, BoVW, ホモグラフィを用いた類似度算出の2つの手法を, 自律走行ロボットのLRFによりほぼ同じルートを通過し撮影した, 
日時・天気の異なる画像群を使用して評価した. 
日時・天気の異なる画像群は, 曇り・晴れの画像群を2種類ずつ計4種類使用し, そのうち曇り・晴れ画像群を1種類ずつ基準画像群として
比較画像群に, 同じ基準画像群, 別の曇り画像群, 別の晴れ画像群に対して照合することで実験した.
 
結果として, BoVWでは, 同画像群以外の画像群との照合では低い結果となった. 
ホモグラフィを用いた類似度算出では, 正解地点とその前後を正解とするときは良い結果となったが, 正解地点のみを正解とするときは, 
あまり良くない結果となった.

*参考文献 [#lb34f464]

[1]David G. Lowe,"Distinctive Image Features from Scale-Invariant Keypoints",  Proc. of International Journal of Computer Vision(IJCV), 60(2), pp.91-110, 2004

[2]藤吉 弘亘,"Gradientベースの特徴抽出 -SIFTとHOG-",  社団法人 情報処理学会 研究 IPSJ SIG Technical Report 2007-CVIM-160 (35)

[3]山城 容一朗ほか,""ビューシーケンスに基づく照明変化に頑健な屋内外ナビゲーション"",  日本ロボット学会誌 Vol.27 No.7, pp.768-773, 2009

[4]松本 吉央ほか,""ビューベーストアプローチに基づく移動ロボットナビゲーション"",  日本ロボット学会誌 Vol.20 No.5, pp.506-514, 2002

[5]OpenCV team,"OpenCV",http://opencv.org/,(access Feb,2019).

------------------------------------------
#counter
Online: &online;

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS