2017-02-21 6 views
1

私はバイナリディスクリプタについて読んでいますが、その動作方法を理解できません。これまでのところ、私は、動機づけが非常に高速に計算して対応できる記述子を作成することであることを理解しました。 n組の点をサンプリングし、n個の位置対のそれぞれで強度を比較し、n長のベクトルを構築する。次に、2つのパッチの記述子間の類似度としてハミング距離を使用します。なぜバイナリディスクリプタが機能するのですか?

2つの全く同じパッチをバイナリ・ディスクリプタで比較しているとします。私はn個のペアを両方とも独立してサンプリングするので、パッチの類似性と特徴ベクトルとの間には相関がないように見える。私は、第2のパッチにおいて第1のパッチにおいてn個の対をサンプルし、逆の順序で同じn個の対をサンプリングし、結果として生じたハミング距離はnであるかもしれない。

私はBRIEF paperを読んでいます。

答えて

1

実装は通常、ペアごとに1つの「ランダム」順序をハードエンコードし、それを使用してすべてのパッチのディスクリプタを計算します。

簡単なOpenCVの場合はon githubです。

関連する問題