zju3dv / EfficientLoFTR

Apache License 2.0
635 stars 48 forks source link

Request for indoor weights or indoor inference script #35

Open UditSinghParihar opened 3 months ago

UditSinghParihar commented 3 months ago

Hi, Congrats for the really cool work on speeding up LoFTR !!!

My question is similar to previously raised issue

I am running this demo_single_pair.ipynb notebook . Currently, this notebook only shows outdoor example and loads outdoor weights eloftr_outdoor.ckpt. But the provided google drive has indoor checkpoints as well, but when i try to load indoor checkpoints in the notebook: matcher.load_state_dict(torch.load("weights/indoor_ds_new.ckpt")['state_dict']) then i got error like:

Error(s) in loading state_dict for LoFTR:
    Missing key(s) in state_dict: 
Unexpected key(s) in state_dict
  1. Can you tell me correct way to load these indoor checkpoints?
  2. Though I have used these outdoor checkpoints, eloftr_outdoor.ckpt in indoor texture less surface and got good results, is this expected, cause you have mentioned that outdoor checkpoints are trained on megadepth dataset and it a huge domain transfer to indoor texture less surface
  3. Also what weights were being used to create this indoor texture less surface demo

Thanks Udit

wyf2020 commented 2 months ago

Hello,

Thank you for your interest in our work!

The indoor checkpoints available in the Google Drive link are indeed the checkpoint of LoFTR, but we provided the link primarily for downloading datasets. We apologize for any confusion this may have caused.

Generally, checkpoints trained on outdoor datasets will not perform as well on indoor scenes. For better results, it is recommended to use checkpoints specifically trained for indoor environments.

For the indoor demo, we actually used a checkpoint that was trained on the ScanNet dataset with the same training data and strategy as LoFTR. However, we currently do not plan to provide this checkpoint.