16

C#(OpenSurf)でSURFアルゴリズムを使用して、画像から関心ポイントのリストを取得しています。これらの各関心点には、記述子のベクトル、x座標(int)、y座標(int)、スケール(float)、および方向(float)が含まれています。

ここで、ある画像の関心点を、関心点のリストもあるデータベース内の画像のリストと比較して、最も類似した画像を見つけたいと思います。つまり、[画像(IP)] COMPARETO [画像のリスト(IP)]です。=>ベストマッチ。画像を個別に比較すると、満足のいく結果が得られません。

stackoverflowまたは他のサイトを検索するとき、私が見つけた最善の解決策は、FLANNインデックスを作成すると同時に、関心のあるポイントがどこから来ているかを追跡することです。しかし、実装する前に、私を困惑させるいくつかの質問があります。

1)SURFインタレストポイントに基づいて画像を照合する場合、私が見つけたアルゴリズムは、それらの距離(x1、y1-> x2、y2)を相互に比較し、合計距離が最も短い画像を見つけることによって照合を行います。関心点を比較するときに記述子または方向が使用されることはありませんか?

2)記述子が使用されている場合、どのように比較しますか?インデックス付きツリーを使用して、64ポイントのXベクトル(1つの画像)と64ポイントのYベクトル(複数の画像)を比較する方法がわかりません。

助けていただければ幸いです。私が検索したすべての場所または私が見つけたAPIは、ある画像を別の画像に一致させることのみをサポートしますが、ある画像を画像のリストに効果的に一致させることはできません。

4

2 に答える 2

0

距離は、座標 (x,y) ではなく記述子間で計算されると確信しています。1 つの記述子のみを別の記述子と直接比較できます。次の可能な解決策を提案します(確かに最適ではありません)

クエリ イメージ内の記述子ごとに、データセット内の上位 k 個の最近傍を検索し、後ですべての上位 k リストを取得して、そこで最も一般的な画像を見つけることができます。

于 2016-09-13T12:18:53.907 に答える