18

OpenCV 2.4.3 c++ インターフェイスを使用して、2 つの画像間の一致点を見つけています。最初の試みは SURF を使用することでした。唯一の問題は時間がかかることなので、新しい FREAK エクストラクタを試してみました。検出に SURF を使用し、説明に FREAK を使用したところ、FREAK ではキーポイントの数が検出されたキーポイントのほぼ半分に減少し、結果の一致は十分ではないことがわかりました。それが理由で、より多くのキーポイントを取得するために FAST を試しました。結果:

  1. SURF 検出器、SURF 抽出器、BFMatcher クロスチェック true、RANSAC: 70 キーポイントの最初の画像、50 キーポイントの 2 番目の画像、200 ミリ秒。250ms。15ms。15ms。
  2. SURF 検出器、FREAK 抽出器、BFMatcher クロスチェック true、RANSAC: 39 キーポイントの最初の画像、30 キーポイントの 2 番目の画像 (FREAK 後)、200 ミリ秒、50 ミリ秒。、0ミリ秒、0ミリ秒。その結果、適切なマッチングが少なすぎます。
  3. FAST 検出器、FREAK 抽出器、BFMatcher クロスチェック true、RANSAC: 120 キーポイント、90 キーポイント (FREAK 後の 69 および 48 キーポイント)、10 ミリ秒、450 ミリ秒、15 ミリ秒、10 ミリ秒。

その後、ORBFeatureDetector を使用し、FAST と同じ数のキーポイントを取得していますが、FREAK エクストラクタの後、結果のキーポイントは各画像で 0 です。私は何か間違ったことをしていますか?ORB のキーポイントは、FAST から取得したキーポイントとは異なりますか? これについて別の質問を開くこともできますが、最後の質問があります。SURF を使用した最初の実験と同じ結果を得ながら、処理時間を短縮するには、検出器と抽出器の最適な組み合わせは何でしょうか? FREAKを使用していますが、より多くのキーポイントを取得するにつれて、抽出部分にも時間がかかるためです。

4

4 に答える 4

12

FREAK は、記述子を生成できない場合、ポイントを削除します。これは、境界イメージから外れた場合に記述子を生成できないため、イメージの境界で多く発生します。抽出前に ROI を適用することで、この問題を回避しています。

また、FREAK と組み合わせて FAST を使用すると、最良の結果が得られますが、それでも抽出時間を短縮するという問題があり、私には高すぎます。

于 2013-02-06T12:25:57.073 に答える
3

実際には、パラメーターのクロス チェック = true を使用しました。これは、多くのポイントが削除される理由でもあります。このパラメーター が true の場合、計算の観点から見て高価です。これは、一致プロセス中に完全に一致しない記述子のペアを回避するために使用されます。

記述子 D1 と D2 の 2 つのセットがある場合、このパラメーターは、D1-> D2 および D2->D1 一致方向​​で共通に一致するペアのみを許可します。

その後、それはすべてアプリケーションに依存します。おそらく、それほど多くの一致精度は必要ありません...

よろしくお願いします。

アレックス

于 2013-12-02T20:57:59.233 に答える
3

Jav_Rock が示唆するように、境界ポイントの削除とは別に、ポイントの大幅な (一貫性のない?!) 減少は、keyPoint に保存したサイズ パラメータに大きく依存します。scaleNormalized を false に設定しても、size-parameter の float 値が 0 に近い場合、FREAK はこのキーポイントを破棄します。(しかし、keyPoint の size-parameter は scaleNormalized が true の場合にのみ使用されるため、その理由を理解できないようです: source )

したがって、scaleNormalization を使用していない場合は、サイズ パラメータを必ず 0 より大きい値 (たとえば 1) に設定してください。
そして、それを単位「pixelsize」の値として解釈します (scaleNormalization を使用する場合)。
ところで。キーポイントの最小サイズはデフォルトで 7 です。

お役に立てれば...

于 2014-03-24T11:07:38.503 に答える
1

FAST は単なるキーポイント検出器 (記述子なし) です。FAST と説明用 (マルチスケール) の使用を組み合わせると、ORB が得られます。

于 2013-01-26T14:52:44.317 に答える