tum-vision / LDSO

DSO with SIM(3) pose graph optimization and loop closure
GNU General Public License v3.0
668 stars 236 forks source link

A question about TcwOpti #19

Closed TongLing916 closed 5 years ago

TongLing916 commented 5 years ago

Hello, after reading the codes, I found out that every keyframe has a TcwOpti for saving the pose before and after pose graph optimization. What confuses me is that you initializes TcwOpti here, before sliding window optimization. Wouldn't it be better if you initialize it after sliding window optimization, then update it after pose graph optimization when detecting loops?

NikolausDemmel commented 5 years ago

At a quick glance I agree that it probably would make sense to update the optimized pose after sliding window optimization, just before adding the frame to the global map. I guess it doesn't make much difference since the relative poses used in pose graph optimization are recorded using the optimized poses so after pose graph optimization this slight inaccuracy should be "forgotten". However, it might make a small difference if PGO doesn't actually run and in the end we look at TcwOpti as the final estimator output. Looks like then they don't have the "best" available pose estimate as you say.

May @gaoxiang12 has more insight?