lzx551402 / geodesc

Implementation of ECCV'18 paper - GeoDesc: Learning Local Descriptors by Integrating Geometry Constraints
MIT License
192 stars 42 forks source link

why is this sorted according to cv_kpts.size? #6

Open mqchen1993 opened 5 years ago

mqchen1993 commented 5 years ago

if down_octave: sort_idx = (-npy_kpts[:, 2]).argsort() Hello, why is this sorted according to npy_kpts[:, 2]? I said that the content of npy_kpts[:, 2] is the diameter information of the feature point.Thanks! @lzx551402

lzx551402 commented 5 years ago

Hi,

Keypoint sampling regarding its feature size (for a DoG-like detector) is a common practice in SfM pipelines (visualSFM, COLMAP etc.), which is the target application for this work. Usually, features with larger size are easy to match, while features with smaller size are more geometrically accurate. Since the geometry accuracy can be amended in later bundle adjustment, the sampling here is performed in descent order to ease the matching.

On the other hand, you may consider keypoint sampling according to its detection score (e.g., the DoG score for SIFT). Such sampling strategy is useful when you want to strictly limit the keypoint number (e.g., to 2000).

mqchen1993 commented 5 years ago

Hi, Thank you very much for your answer. Because I try not to add this sort, the result will be very poor. Is it generally octave is relatively large, then the corresponding feature point scale is also relatively large? But if I sort by octave, the effect is also very poor. Thanks!