Loop Closure Detection
回环检测AdvancedLets a robot recognize that it has returned to a place it has already been, used to remove SLAM’s accumulated drift.
Loop closure detection is a step in SLAM (simultaneous localization and mapping): deciding whether the scene the robot currently sees is a place it has already visited. Every step of odometry carries a small error, and the farther the robot travels the more this drift accumulates, so by the time it loops back to the starting point, the map no longer lines up. Once a return to a familiar place is confirmed, a constraint is added between the two poses and handed to the back-end pose-graph or factor-graph optimization, pulling the whole trajectory and map back into consistency. Visual SLAM commonly compares image features using a bag-of-words model, such as the DBoW2 library used in the ORB-SLAM series; lidar SLAM commonly uses a global point-cloud descriptor like Scan Context to find candidates, then aligns them precisely with ICP. A false detection is costly — one wrong loop closure can warp the entire map — so a geometric consistency check is usually added as well.
ExampleDBoW2 converts an image’s ORB or BRIEF features into a bag-of-words vector; according to its README, processing BRIEF features takes about 3 milliseconds per image, and it can search a database of tens of thousands of images for likely loop-closure candidates.
- Also called
- Loop Closure, Place Recognition
- Related
- Simultaneous Localization and Mapping · Visual Place Recognition · Relocalization · Factor Graph Optimization · Iterative Closest Point · SLAM Front-end / Back-end
- Sources
- Wikipedia: Simultaneous localization and mapping(Loop closure 一节) (Chinese)
GitHub: dorian3d/DBoW2
GitHub: gisbi-kim/scancontext (Scan Context, IROS 2018)