-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
about local BA and global BA #10
Comments
RKD-SLAM does not do local BA actually. The global BA only changes the local map in most cases and it is fast enough so we don't need an explict local BA. However for visual-inertial SLAM, local BA is necessary because velocity must be recovered for each frame rather than just keyframes, and the accumulating error must be reduced as soon as possible. |
To my knowledge,visual-inertial SLAM also could realize Efficient Incremental BA as RKD-SLAM do. but u discard the method because of time-costing. in ICE-BA , imu's pre-integration make optimizer add velocity, accel zero-bias, gyro zero-bias which increase burden,so do local BA to recover velocity and do global BA to remove accumulating error when loop closed. it's right? |
Not exactly. I don't discard the method as RKD-SLAM do. Global BA performs in a very similar way as RKD-SLAM, and the additional velocity and bias do not increase much time. The problem is, 1) global BA only optimizes keyframes, 2) the optimization time increases with the number of keyframes. Visual-inertial SLAM need pose and velocity to be recovered for each current frame in realtime. Only the constant time local BA can meet this requirement. |
I got it. for realtime, need to choose local BA. but when keyframe's pose optimized is enough accuracy, whether it's ok to use imu's measurement to predict the current frame's pose and velocity(also inertial navigation system). After all INS's motion model is highly accurate within a short time if the initial state(pose,velocity) is ok. |
Yes. But still the runtime of global keeps increasing. Also if keyframe is chosen based on covisibility, the latest keyframe may be temporally far away from current frame. |
"The problem is, 1) global BA only optimizes keyframes, 2) the optimization time increases with the number of keyframes. Visual-inertial SLAM need pose and velocity to be recovered for each current frame in realtime. Only the constant time local BA can meet this requirement." @liuhaomin you means if we want to test visual-inertial SLAM, global BA should be discarded because of it's increasing time with keyframes number increasing? or whether we can keep the keyframes number constant like local frame? |
No need to discard it. It is running in background thread so would not affect the realtime performance. |
hi, haomin
I'm very happy to read your papers. In RKD-SLAM, u report Efficient Incremental BA, which do local BA and global BA seamlessly without switch。
but In ICE-BA, u split local BA and global BA in two thread. why?
The text was updated successfully, but these errors were encountered: