SLAM Front-end / Back-end
SLAM 前端 / 后端AdvancedThe two-part division of labor in a SLAM system: the front end estimates motion from sensor data, the back end globally corrects error.
Simultaneous Localization and Mapping (SLAM) is usually split into two parts. The front end works directly on sensor data: it extracts and matches feature points, tracks adjacent frames, estimates the relative motion of the camera or robot, and performs data association (deciding which observations correspond to the same map point) plus loop-closure candidate detection. The back end takes the constraints the front end produces and performs a global estimate using factor graph optimization, bundle adjustment, or filtering methods such as the Kalman filter, spreading out accumulated drift and keeping the map consistent. This division was systematically laid out in a 2016 SLAM survey by Cadena and colleagues. When reading code for systems like ORB-SLAM3, VINS, or FAST-LIO, sorting out which part is the front end and which is the back end makes the rest much easier to follow.
ExampleIn ORB-SLAM3, extracting ORB features for frame-to-frame tracking belongs to the front end, while local and global bundle adjustment belong to the back end.
- Also called
- Front-end Odometry, Back-end Optimization
- Related
- Simultaneous Localization and Mapping · Visual Odometry · Factor Graph Optimization · Bundle Adjustment · Loop Closure Detection · ORB-SLAM3
- Sources
- Past, Present, and Future of Simultaneous Localization And Mapping (Cadena et al., arXiv)