BFMatcher
とFlannBasedMatcher
openCVの一致の精度または品質の違いは何ですか?FlannBasedMatcher
大規模なデータベースに適用すると高速になる可能性があることはわかっていますが、2つのマッチャーは、実行時間に関係なく、最後に同じ一致を見つけるのでしょうか。
質問する
17058 次
2 に答える
31
BFMatcherは、すべての可能性を試します(これは、「ブルートフォース」の意味であり、したがって、最適な一致を見つけます。
「おおよその最近傍のための高速ライブラリ」を意味するFLANNは、はるかに高速ですが、おおよその最近傍を見つけます。それは良い一致を見つけるでしょうが、必ずしも可能な限り最良のものであるとは限りません。精度(つまり、マッチングの「品質」)を向上させるためにFLANNのパラメーターを試すことができますが、アルゴリズムの速度が低下します。
言い換えると、FLANNはBFMatcherよりもはるかに高速ですが、近似の最近傍のみを検出します。これは適切に一致しますが、必ずしも最良であるとは限りません。FLANNの速度や精度を上げるために、FLANNのパラメーターを試してみることができます。
于 2013-04-22T06:55:07.160 に答える
13
上記の答えに追加するために、FLANNはおおよその隣人を検索するために使用される効率的なデータ構造(KD-Tree)を構築しますが、cv :: BFMatcherは徹底的な検索を行い、最良の隣人を見つけることが保証されます。FLANNの真のメリットは、大規模なデータセットで見られます。私の経験では、記述子の数が1Kを超える という正当な利点があります。
于 2015-06-02T17:31:51.830 に答える