画像キーポイントは、産業用および学術用の多くの画像およびビデオ処理ソフトウェアの重要な機能です。背後にある原則は常に同じです:
- 一部の画像で意味のある点を検出します。
- [オプション]各キーポイントを囲む画像部分の安定した説明を計算します。
- 画像(テンプレート)のキーポイントを別の画像(クエリ)に一致させます。
では、もう少し詳しく説明します。
なぜポイントを検出するのですか?基本的に、ポイントは2つの線の交点であるためです。そのため、ラインまたはその他のフィーチャ(エリアなど)としてより正確に(そしてより安定した方法で)検出されます。これはコンピュータビジョンの常識であり、後にMikolajczykの論文で証明されました。これは、どの点検出器にも深く根付いています。たとえば、ハリス点検出器は、ヘッセ行列に依存して、2つの交差線があることを確認します。
説明部分がオプションなのはなぜですか?基本的な点検出器(Harris、SUSAN、Moravec、FAST)には記述子が付属していません。それらを照合するプロセスは、純粋にロケーションベースです。したがって、それらは主にビデオ処理に使用されます。直感の背後には、多くのポイントがあり、その後、ロバストな推定プロセス(たとえば、RANSAC)があるということです。ただし、最近のキーポイント(SIFTおよびその後のキーポイント)は、より複雑な状況(オブジェクト検出、大きなベースラインマッチングなど)で使用することを目的としているため、画像パッチ記述子を埋め込みます。
Harris / HessianとSIFT / SURFの違いは何ですか?記述子の一部のほか、SIFT / SURFはまた、ローカライズが含まスケールを。したがって、SIFT / SURFポイントを検出した場合は、画像がズームイン/ズームアウトされている場合などでも、そのポイントが再び見つかるはずです。
SIFとSURFの違いは何ですか?まあ、SURFは実際にはほとんどSIFTの近似バージョンであり、(積分画像を使用することによる)高速計算により適しています。その結果、SURFは、アフィン変換のもとでのSIFTほど安定ではありません(「良い」ほど)が、計算コストの1/10程度です。
リアルタイムソフトウェアに適していますか?はい、ハリスにとっては確かです。SURFは高速になるように設計されているため、適切な実装も高速である必要があります。SIFTは速度を考慮して設計されていませんが、GPU実装を見つけることができます。しかし、ローエンドのデバイスでも高速になりたい場合は、FAST(検出器)、BRIEF、ORB、BRISK、FREAK(バイナリ記述子)などの最近のポイントを確認する必要があります。
それらで何ができますか?まあ、多くのもの。ビデオ内のポイントを追跡することにより、それらを安定化し、オブジェクトでそれらを補強し、オブジェクトを追跡できます。カメラ間でポイントを一致させることにより、3D再構築パイプラインのキャリブレーションプロセスを自動化できます。オブジェクトのパーツ上のポイントを一致させることにより、オブジェクトを検出できます。そしておそらくはるかに...