Git Product home page Git Product logo

Comments (9)

Devoe-97 avatar Devoe-97 commented on May 31, 2024

and what is EPI_ERR_THR in default.py ?

from loftr.

angshine avatar angshine commented on May 31, 2024

1 & 2. Training of the coarse-level LoFTR should converge pretty fast, so I guess there are bugs in the re-implementation, such as incorrect setup of gt coarse matches or loss calculation. Maybe Try overfitting one training sample before moving on.
3. We clip gradients with a norm above 0.5, but I think this should be irrelevant to the problem you met.
4. EPI_ERR_THR is the correctness threshold for a match w.r.t. the squared symmetric epipolar error.

from loftr.

Devoe-97 avatar Devoe-97 commented on May 31, 2024

Thank you for your quick response!
I have visualize the gt coarse matches and they are all right.
I am confused about "pad coarse-level matches by randomly sampling from ground-truth matches", is this sampling on the coarse matching? or sample when calculating loss?

from loftr.

Devoe-97 avatar Devoe-97 commented on May 31, 2024

1 & 2. Training of the coarse-level LoFTR should converge pretty fast, so I guess there are bugs in the re-implementation, such as incorrect setup of gt coarse matches or loss calculation. Maybe Try overfitting one training sample before moving on.
3. We clip gradients with a norm above 0.5, but I think this should be irrelevant to the problem you met.
4. EPI_ERR_THR is the correctness threshold for a match w.r.t. the squared symmetric epipolar error.

I pad coarse-level matches by randomly sampling from ground-truth matches after coarse mathcing, and as times go, there still is 0 match from coarse mathcing layer. All coarse matches are from gt matches. The coarse loss couldn't convergence. Could you give me more details about training code?

from loftr.

Devoe-97 avatar Devoe-97 commented on May 31, 2024

1 & 2. Training of the coarse-level LoFTR should converge pretty fast, so I guess there are bugs in the re-implementation, such as incorrect setup of gt coarse matches or loss calculation. Maybe Try overfitting one training sample before moving on.
3. We clip gradients with a norm above 0.5, but I think this should be irrelevant to the problem you met.
4. EPI_ERR_THR is the correctness threshold for a match w.r.t. the squared symmetric epipolar error.

I found that code 'mconf = conf_matrix[b_ids. i_ids, j_ids]', mconf don't have grad (mconf.requires_grad is False), conf_matrix.requires_grad is True.

from loftr.

angshine avatar angshine commented on May 31, 2024

The line mconf = conf_matrix[b_ids, i_ids, j_ids] extracts coarse-level matching confidences from the dense confidence matrix. We calculate the coarse loss based on the dense coarse-level matrix instead of the indexing results.

from loftr.

Devoe-97 avatar Devoe-97 commented on May 31, 2024

The line mconf = conf_matrix[b_ids, i_ids, j_ids] extracts coarse-level matching confidences from the dense confidence matrix. We calculate the coarse loss based on the dense coarse-level matrix instead of the indexing results.

Thank you very much! I find the line '@torch.no_grad()' which causes the bugs!
And one more question, should I set the 'var.detach()' ?

from loftr.

angshine avatar angshine commented on May 31, 2024

Sorry, I don't quite get your question. If you are referring to whether to detach the indices for extraction of fine-level patches, then yes. However, in our case, it should already be decorated with torch.no_grad().

from loftr.

Devoe-97 avatar Devoe-97 commented on May 31, 2024

Sorry, I don't quite get your question. If you are referring to whether to detach the indices for extraction of fine-level patches, then yes. However, in our case, it should already be decorated with torch.no_grad().

Thank you.

from loftr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.