JakobEngel / dso

Direct Sparse Odometry
GNU General Public License v3.0
2.28k stars 907 forks source link

Question/discussion about VI-DSO #173

Open vonzy opened 5 years ago

vonzy commented 5 years ago

recently I try to implement VI-DSO, I notice there are several questions to answer first:

  1. whether "dynamic marginalization" is essential? In my view, dynamic marginalization is really a complex procedure to ensure the convergence of scale. Why not simply perform a visual-inertial alignment/initialization when detecting enough motion? In my experience, with enough motion, the scale can be recovered easily. And if motion is not enough, we can use DSO only to estimate pose.
  2. how to marginalize frame? if we have preintegration measurements, to make full use of them, we should try to preserve consecutive keyframes in the sliding window. But the frame marginalization strategy in DSO may separate the consecutive keyframes. I notice VI-DSO use the same frame marginalization strategy as DSO, will it make the system unstable since the system has few preintegrations in the sliding window?
  3. how to set the weight of energy? This is the most important issue I think. In the paper of VI-DSO, the author said the total energy of system is E_photo + \lambda E_imu, but he haven't told us, how to set the lambda, and if the weight is not correct, the optimization will fail easily in my experience.