1つの画像(A)のSURF記述子を他のいくつかの画像(B、C、D、..)の記述子と比較して、Aに最も類似した画像を見つけたいと思います。記述子には64の次元があります。
C#とEmguを使用して、Aの記述子をB、次にC、次にDなどと比較することによって照合が行われます。画像数が10を超えると、無関係な記述子を多数検索する必要があるため、これは非常に遅くなります。
プロセスをスピードアップするために、(記事によると)正しい方法は、(B、C、D、..)の記述子用に1つのkdツリーを構築して、Aの記述子をすばやく一致させることです。kd -ツリーはレベルに応じて次元で分割されます。最初の分割は1次元で決定され、2番目の分割は2次元で決定されます。ただし、記述子の次元数が多い場合(64)、KDツリーを使用する利点は小さくなります。
だから私の質問は:1つの画像(A)から複数の画像(B、C、D ..)にSURF記述子を一致させるためにKDツリー/他の方法を使用することでどのような経験または知識がありますか?何がうまくいくのか、あまりうまくいかないのか、そしてあなたはこのようなことをしましたか?
FLANNはOpenCVで使用されているため、ここではオプションになりますが、C#のバージョンが見つかりません。ほぼ最も近いNeightboorもkdツリーを高速化するオプションですが、それは一致する画像でうまく機能しますか?
よろしくモーテン