ComputerVisionまとめの部屋

役に立った情報や調査結果をまとめています

BRISK(Binary Robust Invariant Scalable Keypoints)

以前の日記で、スケール・回転不変な特徴点検出方法としてSIFTやSURFについて述べた。SIFTの課題を解決したのがSURFであり、DoG画像生成や勾配ヒストグラム生成の計算コストが高い問題を、SURFでは積分画像を利用することにより10倍の高速化を実現した。

しかしSURFでもまた、特徴量の記述に高次元の実数を用いるためメモリ容量の増加と類似度計算の増加が問題となっていた。携帯端末向けの、より高速で省メモリな手法が求められ、特徴点検出のために、円周上の注目画素の輝度を決定木により学習するFAST、特徴量をバイナリコードで表現するBRIEF、BRISK、ORB、CARDが提案された。

その中でも、BRIEFを発展させた以下のような方法で、スケール不変性と回転不変性を得ているのがBRISKである。

ある画素の周りの円周上の画素を観測してエッジを検出するのがFASTであるが、BRISKでは入力画像を多段階に縮小したピラミッド画像のそれぞれに対して、FASTによる方法を適用して「特徴点らしさ」を求めている。この特徴点らしさがしきい値以上で、かつ、スケール変化方向において特徴点らしさが極大となる点を「特徴点」として抽出し、そのときのスケールを「特徴量」として求めている。

f:id:berobemin2:20151013163416p:plain

BRISKは、上図のようなパッチ(ある注目点に対して輝度比較を行う点を表わすもの)に配置された4つの同心円上において、等間隔にサンプリングされた全60箇所の画素値を用いている。

BRISKは、規則的な60個の決められた位置からランダムに2画素を選び、あらかじめスケールに応じて定められたしきい値をもとに「長距離ペアL」と「短距離ペアS」に分類し、それぞれのペアにおいて勾配に相当する量を計算する。パッチ内の大局的な勾配方向を捉えるために、長距離ペアLにおいて平均勾配ベクトルを求め、その角度を特徴点の「オリエンテーションα」とする。推定したオリエンテーションにしたがって輝度値を回転させて規格化する。規格化した輝度に対して、短距離ペアSの輝度比較を行い、バイナリコードの各ビットを算出する(1番目のペアの輝度比較結果0or1をi番目のバイナリに保存)。

これに対してBRIEFは、60個の画素からランダムに観測点を選んでいて、(ビット数×2)回分の画素値アクセスが必要となる。

なお、各サンプリング点における輝度は、中心からの距離に比例する分散をもつガウスフィルタによりスムージングをかけることでノイズ耐性を獲得している。

参考:http://www.vision.cs.chubu.ac.jp/CV-R/jpdf/Leutenegger_iccv2011.pdf