OpenCV 2.4.3 c++ インターフェイスを使用して、2 つの画像間の一致点を見つけています。最初の試みは SURF を使用することでした。唯一の問題は時間がかかることなので、新しい FREAK エクストラクタを試してみました。検出に SURF を使用し、説明に FREAK を使用したところ、FREAK ではキーポイントの数が検出されたキーポイントのほぼ半分に減少し、結果の一致は十分ではないことがわかりました。それが理由で、より多くのキーポイントを取得するために FAST を試しました。結果:
- SURF 検出器、SURF 抽出器、BFMatcher クロスチェック true、RANSAC: 70 キーポイントの最初の画像、50 キーポイントの 2 番目の画像、200 ミリ秒。250ms。15ms。15ms。
- SURF 検出器、FREAK 抽出器、BFMatcher クロスチェック true、RANSAC: 39 キーポイントの最初の画像、30 キーポイントの 2 番目の画像 (FREAK 後)、200 ミリ秒、50 ミリ秒。、0ミリ秒、0ミリ秒。その結果、適切なマッチングが少なすぎます。
- FAST 検出器、FREAK 抽出器、BFMatcher クロスチェック true、RANSAC: 120 キーポイント、90 キーポイント (FREAK 後の 69 および 48 キーポイント)、10 ミリ秒、450 ミリ秒、15 ミリ秒、10 ミリ秒。
その後、ORBFeatureDetector を使用し、FAST と同じ数のキーポイントを取得していますが、FREAK エクストラクタの後、結果のキーポイントは各画像で 0 です。私は何か間違ったことをしていますか?ORB のキーポイントは、FAST から取得したキーポイントとは異なりますか? これについて別の質問を開くこともできますが、最後の質問があります。SURF を使用した最初の実験と同じ結果を得ながら、処理時間を短縮するには、検出器と抽出器の最適な組み合わせは何でしょうか? FREAKを使用していますが、より多くのキーポイントを取得するにつれて、抽出部分にも時間がかかるためです。