サイズと応答
SURFはブロブ検出器です。つまり、フィーチャのサイズはブロブのサイズです。より正確には、OpenCVによって返されるサイズは、近似されたヘッセ演算子の半分の長さです。サイズはスケールとも呼ばれます。これは、ブロブ検出器の動作方法によるものです。つまり、最初にいくつかのスケールでガウスフィルターを使用して画像をぼかし、次に画像をダウンサンプリングして、最後に固定サイズのブロブを検出するのと機能的に同じです。SURFフィーチャーのサイズを示す下の画像を参照してください。各フィーチャのサイズは、描画された円の半径です。フィーチャの中心から円周に向かう線は、角度または方向を示しています。この画像では、ブロブ検出フィルターの応答強度が色分けされています。検出された機能の大部分の応答が弱いことがわかります。(フルサイズの画像を参照してくださいここ)
このヒストグラムは、上の画像の特徴の応答強度の分布を示しています。
追跡する機能は何ですか?
最も堅牢な機能トラッカーは、検出されたすべての機能を追跡します。機能が多いほど、堅牢性が高くなります。ただし、計算時間を制限したいことが多いため、多数の特徴を追跡することは実用的ではありません。多くの場合、追跡する機能の数は、アプリケーションごとに経験的に調整する必要があります。多くの場合、画像は通常のサブ領域に分割され、それぞれでn個の最も強力な特徴が追跡されます。nは通常、フレームごとに合計で約500〜1000個のフィーチャが検出されるように選択されます。
参考文献
SURFについて説明しているジャーナルペーパーを読むと、 SURFがどのように機能するかがわかります。特に背景がマシン/コンピュータービジョンまたは画像処理にない場合は、細部にとらわれないようにしてください。SURF検出器は一見非常に斬新に見えるかもしれませんが、全体的なアイデアは、積分画像(SURFよりずっと前に他の方法で使用されてきた)を使用してヘッセ演算子(十分に確立されたフィルター)を推定することです。SURFをよく理解したいが、画像処理に慣れていない場合は、戻って紹介資料を読む必要があります。最近、私は新しい無料の本に出くわしました。その本の第13章には、特徴の検出についての簡潔でわかりやすい紹介があります。そこに記載されているすべてが技術的に正しいわけではありませんが、それは良い出発点です。ここでは、各ステップがどのように機能するかを示すいくつかの画像を使用して、SURFの別の優れた説明を見つけることができます。そのページに次の画像が表示されます。
白と黒のブロブを見ることができます。これらは、SURFがいくつかのスケールで検出し、それらのサイズ(OpenCVコードの半径)を推定するブロブです。