-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why are there two separate models for local/global descriptor? #7
Comments
Following the previous post: I have found a way to add the node ['xyz_feat_att'] to the global model, however, its weights are not in the checkpoint file:
Does that mean the local/global modes are actually two separate models? |
Hi xingruiy, we provide two models here to evaluate them on two tasks, one for the local descriptor and detector and the other for the global descriptor. They are separate because we use different data splitting strategies for these two tasks for fair comparisons with other methods, you can find more details in our supplementary material Sec.4.2. The global model does not contain the weights of detector because the detector is not required to compute global features. If you want to get the local and global descriptors in a single forward pass, you can load the global model first and then load the local one. An easy way to implement this is to use the ChainInit from tensorpack |
Many thanks! @JuanDuGit
And it worked like a charm! |
Hi xingruiy, NMS is used to produce an even distribution of selected keypoints, which is preferable when running the registration in the next step. Based on my own experience, I would recommend not skipping this operation. You can consider adujsting the selection criteria to get different number of keypoints, for example min_response_ratio, nms_radius. Also, note that in our implementation, |
Thanks a lot! @JuanDuGit That makes a lot more sense. I will close the issue now. |
Thanks for your attention
As stated in the title, I found two model files included in the source directory. One is labelled local and the other global. I know the network is trained in three stages but if I am going to calculate local and global descriptors (also salient points) in a single forward pass, which one should I use? I.e. are both files complete models or only the global one is complete?
The text was updated successfully, but these errors were encountered: