rmsalinas / DBow3

Improved version of DBow2
Other
501 stars 237 forks source link

Floating point descriptor - Error when training #48

Open gse95 opened 2 years ago

gse95 commented 2 years ago

Hi, I was noticing that when using a normalized float descriptor like Superpoint, there were some issues when training. The weights were different based on how the descriptor was scaled. Upon debugging, I noticed that when we do the tranform when computing the nodeWeights, we copy a floating point value (the distance of the descriptor from the node) into a uint64 variable. This forces the value to be 0 or 1 for a float descriptor and was reducing the resolution. Is there a reason why this was done ? Thanks!

AiYoWeiYL commented 2 years ago

Hello, I also encountered the same problem, please tell me whether you have solved it.My program breaks at distance(cv:: Mat&a, cv :: Mat&a) of descmanip. cpp. I output a.rows in this function for debugging and found that a.rows has a negative value