You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to understand the usage of the mViewMPs variable inside KeyFrame.h. As I understand it, 1 of the main purpose of mViewMps is to average the normal viewing vector inside the MapPoint variable. This is how you compute inside LocalMapper.cpp.
When you set posNewKF based on cvu::se3map(mNewKF->Tcw, x3d), i think it means that the normal viewing vector is calculated from the angle between the keypoint and local camera center. This means that pMP->acceptNewObserve will pass as long as the map point is positioned around the same keypoint location inside the keyframe. If a map point is created from 2 keyframes of heading ~0degrees, acceptNewObserve will pass even from a keyframe of heading 180degrees, as long as it is around the same keypoint location in the image.
In ORB-SLAM2, the normal vector is calculated globally.
I like to check if this is bug, or if I misunderstood something. I will see if I can provide a pull request if it is a bug.
The text was updated successfully, but these errors were encountered:
cy-goh
changed the title
usage of viewMP and mNormalVector
usage of viewMP and mNormalVector should not be set locally
Sep 3, 2020
cy-goh
changed the title
usage of viewMP and mNormalVector should not be set locally
usage of viewMP and mNormalVector should not be based on the camera frame
Sep 3, 2020
Hi
I am trying to understand the usage of the
mViewMPs
variable insideKeyFrame.h
. As I understand it, 1 of the main purpose ofmViewMps
is to average the normal viewing vector inside the MapPoint variable. This is how you compute inside LocalMapper.cpp.When you set
posNewKF
based oncvu::se3map(mNewKF->Tcw, x3d)
, i think it means that the normal viewing vector is calculated from the angle between the keypoint and local camera center. This means thatpMP->acceptNewObserve
will pass as long as the map point is positioned around the same keypoint location inside the keyframe. If a map point is created from 2 keyframes of heading ~0degrees, acceptNewObserve will pass even from a keyframe of heading 180degrees, as long as it is around the same keypoint location in the image.In ORB-SLAM2, the normal vector is calculated globally.
I like to check if this is bug, or if I misunderstood something. I will see if I can provide a pull request if it is a bug.
The text was updated successfully, but these errors were encountered: