rpautrat / SuperPoint

Efficient neural feature detector and descriptor
MIT License
1.88k stars 416 forks source link

Loading magicpoint into detector branch of superpoint as initialization #272

Closed anwu21 closed 1 year ago

anwu21 commented 1 year ago

Hi Rémi,

My questions below pertain to a custom dataset I am trying to use.

1) Is it possible to load the weights of a trained magicpoint into the detector branch of superpoint as initialization for training superpoint? If so, did you notice a difference by doing this and by training superpoint from scratch?

2) Is it accurate to say that I can perform training in the following order: step 2 -> step 3 -> step 2 -> step 6? In this case, is it correct to assume that I should use the detector trained on real-life data (in step 3) when I run the 2nd step 2?

Thank you, Alan

rpautrat commented 1 year ago

Hi Alan,

  1. I think the current repo does not handle fine-tuning a different model than the original one, so fine-tuning superpoint with a pre-trained magicpoint would probably not work from scratch. I have not used Tensorflow for years, so don't know how to do it, but this should be fairly easy to modify I think. There is no difference in performance when pre-training superpoint with magicpoint, but this speeds up the training at least.
  2. Yes, order step 2 -> step 3 -> step 2 -> step 6 is correct and the trained model of step 3 should be used to generate the pseudo GT in step 2 (otherwise there is no point in doing step 3).
anwu21 commented 1 year ago

Thank you for your prompt response, Rémi.