3.4 D. Loop Closing and Full BA 闭环检测和全局BA
3.4.1 paragraph
Loop closing is performed in two steps, firstly a loop has to be detected and validated, and secondly the loop is corrected optimizing a pose-graph.
回环检测有两步:首先,一个回环信息被确定检测到,然后利用这个回环纠正和优化位姿图。
In contrast to monocular ORBSLAM, where scale drift may occur [20], the stereo/depth information makes scale observable and the geometric validation
相比于单目的ORB-SLAM中可能出现尺度漂移的地方[20],这个双目或者深度的信息将会使得尺度信息可观测。
and pose-graph optimization no longer require dealing with scale drift and are based on rigid body transformations instead of similarities.
并且,几何校验和位姿图优化将不再需要处理尺度漂移,而且是基于刚体变换的,而不是基于相似性。
3.4.2 paragraph
In ORB-SLAM2 we have incorporated a full BA optimization after the pose-graph to achieve the optimal solution.
在ORB-SLAM2的位姿优化后,我们包含一个全局的BA优化,为了实现一个优化方案,
This optimization might be very costly and therefore we perform it in a separate thread, allowing the system to continue creating map and detecting loops.
我们必须采用一个独立的线程,允许系统能够持续的建图,并且检测到回环信息。
However this brings the challenge of merging the bundle adjustment output with the current state of the map.
但是这将会再次触发全局BA优化与当前地图的合成。
If a new loop is detected while the optimization is running, we abort the optimization and proceed to close the loop, which will launch the full BA optimization again.
如果在优化运行时检测到新的循环,我们将中止优化并继续关闭循环,这将再次启动完整的BA优化。
When the full BA finishes, we need to merge the updated subset of keyframes and points optimized by the full BA, with the non-updated keyframes and points that where inserted while the optimization was running.
当完整的BA结束时,我们需要将更新的关键帧子集和由完整BA优化的点与未更新的关键帧和在优化运行时插入的点合并。
This is done by propagating the correction of updated keyframes (i.e. the transformation from the non-optimized to the optimized pose) to non-updated keyframes through the spanning tree.
最后通过更新更新关键帧校正(例如,这个变换从未优化到已优化)到一个未更新关键帧通过生成树当中。
Non-updated points are transformed according to the correction applied to their reference keyframe.
根据校正参考帧来改造呢些未更新的特征点。