空飛ぶロボットのつくりかた

ロボットをつくるために必要な技術をまとめます。ロボットの未来についても考えたりします。

パターン検出とマッチングのお勉強(10)

f:id:robonchu:20180507210906p:plain

参考:Archives

やりたいこと

パターン検出とマッチングについて学ぶ

教科書

CG-ARTS | 書籍・教材

テンプレートマッチング

テンプレートマッチング:予め標準パターンをテンプレートとして用意しておき、このテンプレートを用いて入力画像とのマッチングを行う

位置を検出することもでき、探索範囲に対して類似度を調べ、その中から最も類似する位置を検出する

類似度

類似度を調べるには以下の2つがよく利用される

  1. SSD: 差の二乗和。ユークリッド距離の二乗。

  2. SAD: 差の絶対値和。市街地距離。

また、以下が使われることもある。

  1. NCC: 正規化相互相関。ベクトルのなす角の余弦

  2. ZNCC: 相互相関係数

サブピクセル位置推定

サブピクセル位置推定:対応点の座標の小数値を推定する技術(サブピクセル推定)

f:id:robonchu:20180507212816j:plain

参考: 機械の目が見たセカイ -コンピュータビジョンがつくるミライ(9) カメラを用いた3次元計測(3) - サブピクセル推定 | マイナビニュース

高速探索法

探索範囲すべての位置での類似度の計算(全探索)は計算時間が多くかかることがある。

以下に効率化手法を示す。

残差逐次検定法

残差があるしきい値を超えたら、検出位置ではないとし、次の位置での計算にうつる方法

しきい値は自動的に決める方法があり、最初はしきい値を決めず計算し、それを最初のしきい値とし、次々計算していく中でそのしきい値を超えない場合、その値をしきい値に変更する。

こうすることで、常に真の最小値に到達することが保証されている。

疎密探索法

画像情報を何段階化の解像度で表現し、解像度の疎密性を利用することで、類似度や相違度の最大値位置や最小値位置を効率的に探索することができる。

イメージピラミッドを作り、低解像度から探索を行い、探索された位置に対して高解像度画像に上げていき探索を行う。こうすることで高速に探索できる。

f:id:robonchu:20180507214254j:plain

参考:画像認識 第4章-物体追跡:Object Tracking- - とある学生のお勉強日記

参照画素の選択による高速化

同時生起行列の確率を計算し、確率が低い(独自性が高い)画素を類似度計算に用いる参照画素とする。

こうすることで、もし選択された画素が1%であれば、100倍高速化される。

エッジ情報を用いたチャンファーマッチング

テンプレートマッチングの一種であり、入力画像とテンプレート画像間のエッジ相違度に基づいて探索を行う手法

f:id:robonchu:20180508213723j:plain

参考: Archives

ヒスログラム情報を用いたアクティブ探索

カラーヒストグラム

カラー空間を量子化した際の各色番号に対する類度を表したもの

類似度の算出は以下の2つがある。

  1. ヒストグラムインタセクション

    f:id:robonchu:20180508214429p:plain

    参考:http://web.tuat.ac.jp/~s-hotta/gke/ch4/index.html

  2. バタチャリヤ係数

    f:id:robonchu:20180508214307j:plain

    参考:

    www.slideshare.net

アクティブ探索

テンプレートと入力画像上のある領域のカラーヒストグラムの類似度が低ければ、周辺の重なりを持つ領域の類似度も低いという考え方を利用して、周辺領域の類似度計算を省く

コーナー検出全体まとめ

f:id:robonchu:20180512143248p:plain

参考: qiita.com

ハリスのコーナー検出

f:id:robonchu:20180512135558j:plain

参考:

FASTによるコーナー検出

決定木をトラバーサル(横切る)するだけでコーナーを検出できる

f:id:robonchu:20180512140039j:plain

参考:

DoG画像を用いた特徴点とスケールの検出

画像間の拡大縮小に関係なく、対応点を決めることができる

f:id:robonchu:20180512142056j:plain

f:id:robonchu:20180512142107j:plain

参考:

Cannyのエッジ検出アルゴリズム

f:id:robonchu:20180512144411p:plain

アルゴリズムCanny法によるエッジ検出 — OpenCV-Python Tutorials 1 documentation

参考:

SIFT

スケールと回転に不変な特徴記述

f:id:robonchu:20180512144927p:plain

f:id:robonchu:20180512150516j:plain

参考:

2値特徴量

BRIEF: BRIEF (Binary Robust Independent Elementary Features, 二値頑健独立基本特徴) — OpenCV-Python Tutorials

ORB: ORB (Oriented FAST and Rotated BRIEF, 方向付きFASTと回転BRIEF) — OpenCV-Python Tutorials 1 documentation

対応点マッチング

f:id:robonchu:20180512151410j:plain

f:id:robonchu:20180512151419j:plain

参考: MIRU2013チュートリアル:SIFTとそれ以降のアプローチ

図形要素検出

ハフ変換

f:id:robonchu:20180512151737j:plain

f:id:robonchu:20180512151747g:plain

参考:

一般化ハフ変換

ランダム化ハフ変換

f:id:robonchu:20180512154343j:plain

特徴統合性理論

顕著性マップ

f:id:robonchu:20180512155235j:plain

参考: コンピュータビジョンのセカイ - 今そこにあるミライ(44) 自動作成を行うために用いられることの多い3つの重要度マップ手法 | マイナビニュース

所感

ロボットの認識器を作る上でとても大事な章だと思う。なかなか難しいところもある。。。

顕著性マップなど人間の視覚システムに基づいて考えられている理論は面白い。