xdspacelab / openvslam

OpenVSLAM: A Versatile Visual SLAM Framework
https://openvslam.readthedocs.io/
2.97k stars 868 forks source link

only perform epipole check for valid bearing #525

Closed adelpit closed 3 years ago

adelpit commented 3 years ago

reproject_to_bearing can return false indicating that the bearing is not valid and should not be used. For example, perspective::reproject_to_bearing will return false and an invalid bearing if the depth is negative. The resulting invalid bearing is not normalized, which can cause many potential landmarks to get thrown out in the epipole check. This fix skips the epipole check if epiplane_in_keyfrm_2 is invalid