0
私はORBのOpenCV実装をBFMatcherと共に使用していますが、OpenCVはそのNORM_HAMMING should be used with ORB
を示しています。ORB/BFMatcher - なぜノーマルハミング距離ですか?
これはなぜですか? norm_hammingは、ユークリッド距離、norm_l1などの他のメソッドをどのように提供していますか?
私はORBのOpenCV実装をBFMatcherと共に使用していますが、OpenCVはそのNORM_HAMMING should be used with ORB
を示しています。ORB/BFMatcher - なぜノーマルハミング距離ですか?
これはなぜですか? norm_hammingは、ユークリッド距離、norm_l1などの他のメソッドをどのように提供していますか?
ORB
(ORB: an efficient alternative to SIFT or SURF)はバイナリ・ディスクリプタです。
それは(BRIEF: Binary Robust Independent Elementary Features参照)ハミング距離がビット・カウントが続くXORを使用して実施することができるように、むしろL1/L2距離よりハミング距離を使用する(計算の用語で)より効率的であるべきである。
さらに、比較する文字列はケースが最新であるとしてしばしば は、XORまたはビットカウント 操作を実行するための具体的な指示を提供し、現代のCPU上で非常に高速に行うことができハミング 距離を計算することによって行うことができますSSE [10]命令セット。
もちろん、SIFT
のような古典的な記述子では、ハミング距離を使用することはできません。
あなたは自分自身をテストすることができます。
D1=01010110
D2=10011010
L2_dist(D1,D2)=sqrt(4)=2
XOR(D1,D2)=11001100
。 bit_count(11001100)=4