Skip to content
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 not do mpCurrentKeyFrame->AddMapPoint(pMP, i) after pMP->AddObservation(mpCurrentKeyFrame, i) during LocalMapping::ProcessNewKeyframe ? #1090

Open
ChetanPatil28 opened this issue Jul 18, 2023 · 0 comments

Comments

@ChetanPatil28
Copy link

ChetanPatil28 commented Jul 18, 2023

So every time there is a new keyframe that's supposed to be added to the map, I believe goes into ProcessNewKeyFrame().
This is when the mutual information between a map-point and the keyframe gets updated.

      if(!pMP->IsInKeyFrame(mpCurrentKeyFrame))
      {
          pMP->AddObservation(mpCurrentKeyFrame, i);
          pMP->UpdateNormalAndDepth();
          pMP->ComputeDistinctiveDescriptors();
      }

I was wondering why don't we do mpCurrentKeyFrame->AddMapPoint(pMP, i) as well?

Everywhere else pMP->AddObservation() and mpCurrentKeyFrame->AddMapPoint() are used commonly..
I believe both these lines should be written to maintain the consistency of the graph (a graph that connects keyframes and mappoints).

It is only in LocalMapping::ProcessNewKeyFrame() I see some problem.

Can you guys please explain why mpCurrentKeyFrame->AddMapPoint(pMP, i) is skipped in ProcessNewKeyFrame() ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant