特徴量検出と特徴量記述
¶
特徴の理解
画像中の主な特徴とは何か?これらの特徴検出がどのように役立つか?
Harrisコーナー検出
:
Notebook
コーナーは良い特徴か?どのように検出するのか?
Shi-Tomasiのコーナー検出とトラッキング(追跡)に向いた特徴
:
Notebook
Shi-Tomasiのコーナー検出を学ぶ
SIFT (Scale-Invariant Feature Transform、スケール不変の特徴変換)の紹介
:
Notebbok
Harrisのコーナー検出は画像のスケール変化(拡大・縮小)に対して頑健ではない.Loweが提案したSIFTと呼ばれる、スケール変化に対して不変な特徴量を学ぶ.
SURF (Speeded-Up Robust Features、頑健な特徴量の高速化)の紹介
:
Notebook
SIFTは精度は良いものの処理速度に問題がある.SIFTの高速版であるSURFについて学ぶ.
コーナー検出のためのFASTアルゴリズム
:
Notebook
上記の特徴点検出手法はSLAMのような実時間アプリケーションで使うには十分なほど高速な処理ではない.FASTアルゴリズムという文字通り “高速な(FAST)” 計算方法を学ぶ.
BRIEF (Binary Robust Independent Elementary Features、二値頑健独立基本特徴)の紹介
:
Notebook
SIFTは128次元の実ベクトル(浮動小数)を計算する.このような特徴点が数千個もあると想像してみよう.マッチングの際にメモリ使用量が増大し計算時間がかかってしまう.高速化のため、SIFT特徴量を圧縮できる.それでも,まず初めにSIFT特徴量を計算しなければならない.ここではBRIEFという、省メモリかつ高速なマッチングが可能な二値ベクトルを計算する特徴記述子を使う.
ORB (Oriented FAST and Rotated BRIEF, 方向付きFASTと回転BRIEF)
:
Notebook
SIFTとSURFの機能は高いが,毎年その使用料を支払わなければいけないとしたらどうだろうか.そう、SIFTとSURFは特許が取られている.この問題を解決するために,OpenCVでは、ORBというフリーの特徴量記述子を提供している.
特徴点のマッチング
:
Notebook
ここまでのチュートリアルで特徴点検出器と特徴量記述子を扱う知識を得た.次は,特徴量記述子をマッチングする方法を学ぼう.OpenCVは全探索(Brute-Force matcher)と近似最近傍探索(FLANN based matcher)の二つを用意している.
特徴点のマッチングとホモグラフィ(Homography)による物体検出
:
Notebook
マッチングについても学んだ.今度は calib3d モジュールと組み合わせて,複雑な画像中から物体を検出してみよう.