2017-05-04 4 views
0

私はオブジェクトをテストしていますフィーチャーマッチングふるい分けとサーフwith C++ & OpenCV。速くなるとクレームがサーフより多くのキーポイントを検出することができふるいにかけるためになると主張Sift対Surf。どちらがより正確ですか?

サーフ。 どのアルゴリズムが最も正確かを判断したいと思います。しかし、時間やマッチングキーポイントの精度を決めるのは混乱します。誰かが私にどのアルゴリズムを最も正確に判断するのかを説明できますか?そして、どの要素から正確さが決まりますか?

This is the results of my experiments

だから、あなたの迅速な対応に感謝します。 ありがとうございました。

答えて

2

私は計算比を使用します。だからスピードは、SIFTよりもSURFはどれくらい速いですか?あなたはtimeSift/timeSurf * 100.を実行します。したがって、SIFTがSURFより何回何回遅れているかを知ることができます。

精度については、より複雑です。最小距離比でマッチングフィルタを適用したり、最初にRASNACフィルタリングを行うことができます。その後、matchesSift/matchesSurfを比較することができ、SURFよりもSIFTに何度も多くの一致が得られます。しかし、このようにしてもどちらの場合でも偽のマッチを得ることができるので、マッチを均等に描き、より良く/より正確に見えるようにすることをお勧めします。

統計的なテストを行います。二つの画像、同じテストを繰り返し、画像のいくつかの束だけでなく、および/ timeSurfと平均比matchesSift/matchesSurf平均比timeSiftを取る..

(当然の平均値で)終わるために私は次のよう

を行うだろう
speedRatio=timeSift/timeSurf 
matchesRatio=matchesSift/matchesSurf 
R=matchesRatio/speedRatio. 

-If R>1 then SIFT worths it . 
-If R<1 then SURF if definitively more convenient 
If R=1 its the same 
+0

あなたの答えをありがとう、 私はそれを試します、これは正確さを決定することができることが証明されていますか? – Command14

+0

平均的なマッチ数を取ると、マッチするエラー数を消去する必要があります。それはエラーが無作為に分散されているためです。例えば、1枚の写真でSIFTとの間違った一致が3回あり、SIFTの合計で計上されますが、次の写真ではSURFで3回の間違った一致があり、 – gabdev

+0

一般に、信号処理では、平均フィルタまたはプロメディフィルタが有効で一般的なノイズフィルタです – gabdev

関連する問題