特徴量検出と特徴量記述

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