特徴量検出と特徴量記述

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 モジュールと組み合わせて,複雑な画像中から物体を検出してみましょう.