Skip to content

Latest commit

 

History

History
24 lines (14 loc) · 2.43 KB

development_notes.md

File metadata and controls

24 lines (14 loc) · 2.43 KB

The core of the code and the enterance point for familirazaing yourself with a code is the interface Tracker and its' only (for now) implementation MonocularTracker. MonocularTracker fetches the data from the sensor and pass it to 5 main stages of a direct odometry:

  1. Pose estimation
  2. Feature selection
  3. Depth estimation
  4. Backend optimization

All four stages have identical behaviour to the original DSO implementation.

Pose estimation

On the pose estimation stage we align a new frame to the built point cloud.The interface responsible for pose estimation (PoseAlignment) has 2 implemenations: CeresPhotometricBundleAdjustment and EigenPoseAlignment. Those implementations have identical behaviour. CeresPhotometricBundleAdjustment is implemented using the ceres library and mostly used in test to prove validiy of a custom pose aligner(EigenPoseAligment).

Feature selection

The interface responsible for feature selection is TrackingFeaturesExtractor and also has two implentation Sobel and Eigen. The second is identical to the original DSO feature selector.

Depth estimation

The class DepthEstimation is responsible for gradualy refine the depth of the immature point. LandmarksActivator selects point to be activated from the immature points pool.

Backend optimization

Same to pose estimation backend optimization has 2 implementations based on Ceres and Eigen.