At the end of the optimization, the object pose corresponding to each graph node is obtained by \(\mathbf {T}_{i}=exp(\xi _i) \in SE(3), i \in |V|\) . The one corresponding to the current timestamp \(t\)  becomes the output tracked pose \(\mathbf {T}_{t}\) , while poses corresponding to the historical keyframes are updated in the memory pool. The entire process is causal, i.e. past frames' corrected poses cannot be updated in the output. However, their corrected pose estimates provide better initialization in following pose graph optimization steps to benefit the solution of new observations. This significantly reduces long-term drift compared against tracking-via-reconstruction [1]}, where any intermediate erroneous pose estimation introduces noise when fused into the global model and adversely affects the subsequent tracking.
