| svo
   
    Semi-Direct Visual Odometry | 
Monocular Visual Odometry Pipeline as described in the SVO paper. More...
#include <frame_handler_mono.h>
 
  
 | Public Member Functions | |
| FrameHandlerMono (vk::AbstractCamera *cam) | |
| virtual | ~FrameHandlerMono () | 
| void | addImage (const cv::Mat &img, double timestamp) | 
| Provide an image. | |
| void | setFirstFrame (const FramePtr &first_frame) | 
| Set the first frame (used for synthetic datasets in benchmark node) | |
| FramePtr | lastFrame () | 
| Get the last frame that has been processed. | |
| const set< FramePtr > & | coreKeyframes () | 
| Get the set of spatially closest keyframes of the last frame. | |
| const vector< cv::Point2f > & | initFeatureTrackRefPx () const | 
| Return the feature track to visualize the KLT tracking during initialization. | |
| const vector< cv::Point2f > & | initFeatureTrackCurPx () const | 
| DepthFilter * | depthFilter () const | 
| Access the depth filter. | |
| bool | relocalizeFrameAtPose (const int keyframe_id, const SE3 &T_kf_f, const cv::Mat &img, const double timestamp) | 
| An external place recognition module may know where to relocalize. | |
| Protected Member Functions | |
| virtual void | initialize () | 
| Initialize the visual odometry algorithm. | |
| virtual UpdateResult | processFirstFrame () | 
| Processes the first frame and sets it as a keyframe. | |
| virtual UpdateResult | processSecondFrame () | 
| Processes all frames after the first frame until a keyframe is selected. | |
| virtual UpdateResult | processFrame () | 
| Processes all frames after the first two keyframes. | |
| virtual UpdateResult | relocalizeFrame (const SE3 &T_cur_ref, FramePtr ref_keyframe) | 
| Try relocalizing the frame at relative position to provided keyframe. | |
| virtual void | resetAll () | 
| Reset the frame handler. Implement in derived class. | |
| virtual bool | needNewKf (double scene_depth_mean) | 
| Keyframe selection criterion. | |
| void | setCoreKfs (size_t n_closest) | 
| Protected Attributes | |
| vk::AbstractCamera * | cam_ | 
| Camera model, can be ATAN, Pinhole or Ocam (see vikit). | |
| Reprojector | reprojector_ | 
| Projects points from other keyframes into the current frame. | |
| FramePtr | new_frame_ | 
| Current frame. | |
| FramePtr | last_frame_ | 
| Last frame, not necessarily a keyframe. | |
| set< FramePtr > | core_kfs_ | 
| Keyframes in the closer neighbourhood. | |
| vector< pair< FramePtr, size_t > > | overlap_kfs_ | 
| All keyframes with overlapping field of view. the paired number specifies how many common mappoints are observed TODO: why vector!? | |
| initialization::KltHomographyInit | klt_homography_init_ | 
| Used to estimate pose of the first two keyframes by estimating a homography. | |
| DepthFilter * | depth_filter_ | 
| Depth estimation algorithm runs in a parallel thread and is used to initialize new 3D points. | |
Monocular Visual Odometry Pipeline as described in the SVO paper.
| svo::FrameHandlerMono::FrameHandlerMono | ( | vk::AbstractCamera * | cam | ) | 
| virtual svo::FrameHandlerMono::~FrameHandlerMono | ( | ) |  [virtual] | 
| void svo::FrameHandlerMono::addImage | ( | const cv::Mat & | img, | 
| double | timestamp | ||
| ) | 
Provide an image.
| const set<FramePtr>& svo::FrameHandlerMono::coreKeyframes | ( | ) |  [inline] | 
Get the set of spatially closest keyframes of the last frame.
| DepthFilter* svo::FrameHandlerMono::depthFilter | ( | ) | const  [inline] | 
Access the depth filter.
| const vector<cv::Point2f>& svo::FrameHandlerMono::initFeatureTrackCurPx | ( | ) | const  [inline] | 
| const vector<cv::Point2f>& svo::FrameHandlerMono::initFeatureTrackRefPx | ( | ) | const  [inline] | 
Return the feature track to visualize the KLT tracking during initialization.
| virtual void svo::FrameHandlerMono::initialize | ( | ) |  [protected, virtual] | 
Initialize the visual odometry algorithm.
| FramePtr svo::FrameHandlerMono::lastFrame | ( | ) |  [inline] | 
Get the last frame that has been processed.
| virtual bool svo::FrameHandlerMono::needNewKf | ( | double | scene_depth_mean | ) |  [protected, virtual] | 
Keyframe selection criterion.
| virtual UpdateResult svo::FrameHandlerMono::processFirstFrame | ( | ) |  [protected, virtual] | 
Processes the first frame and sets it as a keyframe.
| virtual UpdateResult svo::FrameHandlerMono::processFrame | ( | ) |  [protected, virtual] | 
Processes all frames after the first two keyframes.
| virtual UpdateResult svo::FrameHandlerMono::processSecondFrame | ( | ) |  [protected, virtual] | 
Processes all frames after the first frame until a keyframe is selected.
| virtual UpdateResult svo::FrameHandlerMono::relocalizeFrame | ( | const SE3 & | T_cur_ref, | 
| FramePtr | ref_keyframe | ||
| ) |  [protected, virtual] | 
Try relocalizing the frame at relative position to provided keyframe.
| bool svo::FrameHandlerMono::relocalizeFrameAtPose | ( | const int | keyframe_id, | 
| const SE3 & | T_kf_f, | ||
| const cv::Mat & | img, | ||
| const double | timestamp | ||
| ) | 
An external place recognition module may know where to relocalize.
| virtual void svo::FrameHandlerMono::resetAll | ( | ) |  [protected, virtual] | 
Reset the frame handler. Implement in derived class.
Reimplemented from svo::FrameHandlerBase.
| void svo::FrameHandlerMono::setCoreKfs | ( | size_t | n_closest | ) |  [protected] | 
| void svo::FrameHandlerMono::setFirstFrame | ( | const FramePtr & | first_frame | ) | 
Set the first frame (used for synthetic datasets in benchmark node)
| vk::AbstractCamera* svo::FrameHandlerMono::cam_  [protected] | 
Camera model, can be ATAN, Pinhole or Ocam (see vikit).
| set<FramePtr> svo::FrameHandlerMono::core_kfs_  [protected] | 
Keyframes in the closer neighbourhood.
| DepthFilter* svo::FrameHandlerMono::depth_filter_  [protected] | 
Depth estimation algorithm runs in a parallel thread and is used to initialize new 3D points.
Used to estimate pose of the first two keyframes by estimating a homography.
| FramePtr svo::FrameHandlerMono::last_frame_  [protected] | 
Last frame, not necessarily a keyframe.
| FramePtr svo::FrameHandlerMono::new_frame_  [protected] | 
Current frame.
| vector< pair<FramePtr,size_t> > svo::FrameHandlerMono::overlap_kfs_  [protected] | 
All keyframes with overlapping field of view. the paired number specifies how many common mappoints are observed TODO: why vector!?
| Reprojector svo::FrameHandlerMono::reprojector_  [protected] | 
Projects points from other keyframes into the current frame.
 1.7.6.1
 1.7.6.1