  We present VI-DSO, a novel approach for visual-inertial odometry, which
jointly estimates camera poses and sparse scene geometry by minimizing
photometric and IMU measurement errors in a combined energy functional. The
visual part of the system performs a bundle-adjustment like optimization on a
sparse set of points, but unlike key-point based systems it directly minimizes
a photometric error. This makes it possible for the system to track not only
corners, but any pixels with large enough intensity gradients. IMU information
is accumulated between several frames using measurement preintegration, and is
inserted into the optimization as an additional constraint between keyframes.
We explicitly include scale and gravity direction into our model and jointly
optimize them together with other variables such as poses. As the scale is
often not immediately observable using IMU data this allows us to initialize
our visual-inertial system with an arbitrary scale instead of having to delay
the initialization until everything is observable. We perform partial
marginalization of old variables so that updates can be computed in a
reasonable time. In order to keep the system consistent we propose a novel
strategy which we call "dynamic marginalization". This technique allows us to
use partial marginalization even in cases where the initial scale estimate is
far from the optimum. We evaluate our method on the challenging EuRoC dataset,
showing that VI-DSO outperforms the state of the art.
