文件名称:
Fast and Robust Initialization for Visual-Inertial SLAM.pdf
开发工具:
文件大小: 970kb
下载次数: 0
上传时间: 2019-07-02
详细说明:Abstract— Visual-inertial SLAM (VI-SLAM) requires a good
initial estimation of the initial velocity, orientation with respect
to gravity and gyroscope and accelerometer biases. In this paper
we build on the initialization method proposed by Martinelli
[1] and extended by Kaiser et al. [2], modifying it to be
more general and efficient. We improve accuracy with several
rounds of visual-inertial bundle adjustment, and robustify the
method with novel observability and consensus tests, that
discard erroneous solutions. Our results on the EuRoC dataset
show that, while the original method produces scale errors
up to 156%, our method is able to consistently initialize in
less than two seconds with scale errors around 5%, which can
be further reduced to less than 1% performing visual-inertial
bundle adjustment after ten secondsHowever, the above expressions have an important draw-
back. each time that b or b are modified all the imu
A(b)x=s(b, a, B
(12)
integration requires to be recomputed, which is very time
consuming. To solve this problem we have adopted the
where x=(v1, A ))is the unknown vector with linear
linear preintegration correction from [7] [8], splitting these dependence. To jointly find linear and no-linear dependent
expressions in bias dependent and non-dependent terms
parameters, we solve the next unconstrained minimization
using delta terms△R1s,△v1,,△p1 which are direct
p
computed from IMU measurements and which are defined
as follows
(bg,a, B). arg min (min lIA(bo)x-s(b, a, B )2)(13)
△R1全RR
(5) Cost function c(b%, a, B)-min A(b9x-s(b,a, 3)
RI(V
(6) is evaluated for each(b, a, B)using the following scheme
1
△p1j会R(p;-p1-v1△t1257)
l) Update△R1,;and△p1. USing[8J, we dont need
to reintegrate all imu measurements each time that
If during intermediate steps b9 changes more than 0.2
b changes. We simply update delta terms using their
rad/sec from the value used for preintegration, the prein-
Jacobians w.r.t. bias. That supposes an important com-
tegration is recomputed with this new bias, otherwise, delta
putational saving
terms are directly updated using their Jacobians w.r.t. biases
2)Compute A(b9) and s(b, a, B) and build the linear
O△R1△v1,a△v1,;O△p1yO△p
this way, we
system
relinearize each time we get too far from the linearization
3)Solve x=A(b )\s(b, a, B)using conjugate gradient,
point. These Jacobians can be found in [ 8. We rewrite ec
which is suitable for sparse systems
(1)using expressions(5),(6)and(7)
4)Compute c(b,c, B)=A(bX-s(b,c, B)
The computational cost of
evaluating clog
△,-△f1
first, from solving a sparse system with no more than
iu-入u-v1△t1,-g
3+m× m unknowns and3×(m.-1)× m. equations
APL, -Apl, 1, +(AR1,j, tBo (8) and, second, from integrating inertial measurement along
the initialization time. However, using formulation from [8]
v=1..m,∈C2\1
we can avoid reintegration, integrating IMU measures only
once, and updating preintegrated terms by means of a linear
Now, we can add the gravity magnitude information. approximation
Instead of adding it as a constraint of the gravity magnitude
To optimize c(b, a, B)and find the correct gyro bias and
as done in [2], we prefer to model the gravity by mean of gravity direction we use Levenberg-Marquardt algorithm
a rotation matrix parametrized by only two angles(a, B) where Jacobians of the cost function are computed numeri
(rotation around x-axis has no effect) and the vector gr
cally. As result, not only IMU initialization parameters are
(0,0,-g), thus we remain in an unconstrained problem
found (g, b9 and V1) but also the position of tracked points
A,Ul). We highlight that not all M tracked features have
g= Exp(a, B,0)gr
(9) been used during this initialization, but only a small set
Equation (8) becomes
of m features, aiming to reduce computational complexity.
However, the solutions found after this step are not accurate
enough to launch the system, and further intermediate stages
入
1△t
i(b,b, 0, B) (10) are required
where
II. IMPROVED SOLUTION
A. First ba and observability test
SIi (b9,b,a, B)=Exp(a, B, 0)gI
△行,1
After finding the initial parameters(g, b, V1, j)we
build a visual-inertial BA problem with the same n body
poses and m points from the previous step(see figure 2)
△p1-△p11+(△R-△R12(11) body poses have six optimizable variables(t)∈se(3)
Bc
We set the z axis in the estimated gravity direction. All
Now, each time biases are updated, we do not need to except the first one, which has only two(pitch and roll) since
preintegrate again all the measurements, but only to update translation and yaw have been fixed in order to remove the
them by means of Jacobians. Neglecting accelerometer bias four gauge freedoms inherent to the visual inertial problem
as in [2], the only unknowns are A;(Vi= 1..m,j c(initial position and yaw). Body velocities are also included
Ci\1i), v1, c, B and b. Stacking equations for all possible in the optimization task, and they evolve according to the
values of i, and 3 we build an overdetermined sparse linear inertial measurements. Initial estimations for each vertex
system, with only three non-zero elements per row, such as: are added using results from the MK-solution. In addition,
1290
H Matrix (log10 scale)
Tracked Points
for initialization
IMU error
pendencies
Vk k-th velocit
iI KFi-KF1+1
ii KFi-IMU Bias
b Accelerometer bias
Ii KF i-MPJ
MP
TK k-th
n Initialization frames
6
Fig. 2: Graph for the first visual-inertial BA. The body poses 100
and points included in the optimization are the same used in
the initial solution
20
100
Fig 3: Example of Hessian matrix for an initial map with 5
keyframes(KF)and 20 map points(MP). One can distinguish
accelerometer bias b is included in this optimization, but different blocks, outlined with dashed lines. In the top-
similarly to b it is assumed to be constant for all frames. left part, we have the diagonal blocks of each keyframe
Previous b9 estimation from MK-solution step is included (red), blocks relating consecutive keyframes, due to the IMU
bv
y means of a
prior, as well as b is forced to be
e close
measurements(blue), and blocks relating keyframes and
to zero. We call this optimization first BA or simply BAl. IMU biases(pink). In the bottom-right part, there are only the
Analytic expression for Jacobians, found in [81, are used diagonal blocks of the map points(orange). Out-of-diagonal
for IMU residuals, while Jacobians for the reprojection error terms relate map points with the keyframes that observe them
have been derived analytically, taking into account that we (brown). In this example all cameras observe all features
are optimizing body pose and not camera pose.
Usually this optimization provides a better initialization
solution. However, if the motion performed gives low observ in figure
ability of the IMU variables, the optimization can converge
Applying the svd decomposition to H and looking at the
to arbitrarily bad Solutions. For example this happens in case smallest singular value one can determine if the performed
of pure rotational motion or non-accelerated motions [l].In motion guarantees observability of all the IMU variables
order to detect these failure cases we propose an observ- Hence we discard all initializations where the smallest
bility test, where we analyze the uncertainty associated to Hessian singular value falls below a threshold denoted b
estimated variables. This could be done by analyzing the lobs. If this observability test is not passed, we discard the
covariance matrix of the estimated variables and checking if initializ ation attempt. Examples of a successful and a rejected
its singular values are small enough. However, this would
case are shown in figure 4
require to invert the information matrix, i.e. the hessian
matrix from first BA, which has high dimensions (3m+6+ B. Consensus test and second BA
9n-4), being computationally too expensive. Instead, we
perform the observability test imposing a minimal threshold
as we have noted before, not all m tracked features have
to all singular values of the Hessian matrix associated to our
been used in MK-solution and first BA steps, but only m
first BA. The Hessian can be built from the Jacobian matrices
features To take advantage of these extra unused tracked
associated to each edge in the graph, as explained next
points, we propose to perform a consensus test in order
Denote x1.xp) the set of p states, and eI.e,t the to detect initializations which have been performed using
set of q measurements which appear in the first BA. Let's spurious data, such as bad tracked features
call the set of measurement where state i is involved. The
First, the 3D point position of each unused track is
Hessian block matrix for states i and ,, taking a trst order triangulated between the two most distant frames which saw
approximation can be built as follows
the point, by mean of Least-Squares triangulation using a
SVD decomposition [12]. Only tracks with parallax greater
H≈∑J
(14) than 0.01 radians are used. Then we re-project each 3D point
into all the frames which observe it, compute the residual re
e∈S1nC
projection error, and perform a x2(95%)test with 2ni-3
where e stands for the information matrix of the e mea- degrees of freedom, where n; is the number of frames which
surement, and Ji.e for the Jacobian of the e measurement observe this point. The consensus test is performed counting
wIt.i-th state. In order to have a non-zero (i, j block the percentage of inliers: if it is bigger than a threshold t
matrix, there must to be an edge between i and j node in the we consider that the proposed solution is accurate, if not, we
graph(measurement depending on both variables) as shown discard the initialization attempt
1291
H singular values (logia)
TABLE I: Parameters of our initialization algorithm
Successful case
Failure case
Total number of tracks
M
10.0
Sing. Values1100
Sing. values
Track-length test (in pixels)
200
Tracks used for MK-solutio
20
d for MK-solu
Observability lest: Singular value threshold t
0.1
5.0
Consensus test: Inlier threshold
Coris
0.0
nitializations Trajectories after
bser ability and consensus test
Good Initialization
Bad Initia ization
5.0
7.5
7.5
10.0
0255075100
75100
1
Singular Value index
Singular value index
E
Fig. 4: Singular values of the information matrix for a
successful initialization and a failure case on the duroc
V103 sequence. The successful case has a RMSE ate error
of 3. 16 in the initialization trajectory, and corresponds to a
translation and rotation motion the failure case has an error
of 64.99 and corresponds to an almost pure rotational
mono
on. We draw the observability threshold used tobs =0.1
X(m)
If the
consensus test is successful, we perform a secona Fig. 5: Initializations found along the EuRoC V101 trajec
BA(or simply Ba2) including the m points used in the initial
tory, after the observability and consensus tests. In blue,
solution plus all the points which have been triangulated and ground truth trajectory, in green, estimated initialization
detected as inliers, having a total of Mpoints. The graph
trajectories whose RMSe ate error is lower than 5%; in
for this optimization is similarly built than in case of Ba l
red. those with a bigger error. Our method was able to find
51l correct initializations along the whole trajectory running
but with more points
in real time
C. Map initialization
After this second BA, the keyframe poses are accurate
enough, but we only have a few points to initialize the
A. Results
map. Before launching the whole OrB-SLAM Visual-inertial Euroc dataset provides stereo images and synchronized
system, we triangulate new points aiming to densify the point IMU measures for three different indoor environments, with
cloud and to ease the posterior tracking operation. Since we different complexity. We have tested our method for envi
already have the keyframe poses, we extract ORB features in ronment VI from EuRoC at three difficulty levels. We run
each keyframe and perform an epipolar search in each other, two different experiments
using the orb descriptor. All these new points, together In a first experiment, we try lo initialize as often as possi-
with the M points from BA2, are promoted to map points, ble in real time. Along the whole trajectory, every time the
and the n frames used for initialization are promoted to map tracking thread has m tracks with length l, if the initialization
keyframes. The covisiblity graph [13] of this new map is thread is idle, a new initialization attempt is launched. Figure
also created, taking into account the observations of points. 5 shows the initializations found for trajectory V101 after the
observability and consensus test. We show in red trajectories
IV. EXPERIMENTS
which have a RMSE atE [15] error bigger than 5% of the
The most important parameters of our method are shown initialization trajectory length. We can see in the figure that
in table I. Our implementation uses ORB-SLAM visual- our initialization algorithm is successful almost along all
inertial [5] with its three threads for tracking, mapping and the trajectory. The parts without initializations are due to
loop closing. Initialization is performed in a parallel thread, rejection from observability or consensus test
thus it has no effect in the real time tracking thread for
In table i we show the main numerical results of these
MK-Solution we use Eigen C++ library, while for graph experiments with the three v1 sequences. RMSE ATE [15
optinization of Bal and BA2 we use g20 C++ library [14 is expressed in percentage over the length of the initialization
Experiments have heen run in V1 dataset from EuRoc [9 trajectory. Below each sequence name we show successful
using a Intel Core i7-7700 computer with 32 GB of memory. initializations over the total number. First thing to notice
1292
TABLE IL: Results of exhaustive initialization tests over the TABLE Ill: Comparison of running time for MK Solu-
three VI EuroC sequences
tion+ BA1+BA2 repeating MMU integration in each iteration
Ⅴ 1 EuRoc datasct
and using preintegration with first order bias correction [81
v101 EuRoC Dataset
track-length test
cons. rest
RMSE Scale RMSe Scale CPu Trajectory
CPU time (ms)
atE (%o)error(%) AtE (%) error (%)Lime (ns) time (s)
Mean
Std
Max
MK-solution 9.176 32.998
7.74925.10495.082
2.235
Reintegrating each time 301 302 91.974 678.886
V101 MK-Solution
Using first order correction 120.983 27 609 214.989
511/728)+BA1
3.97710.7192.3526.471104.1142235
MK-solution
+ bal&2
3.2708.81620365496120.9832235
MK→ solution12.025156.7516.7604892660.2850.968
V02 MK-solution6.33825.2522.5417.195109630.968
TABLE IV: Results of VI-SLaM using our initialization
(101/395)+BA
(average errors on five executions are shown)
MK-solutio15.14920.3411.9355.497844430.968
+BA/2
VI EuRoc dataset
MK-solution47.928128.0086.63421.69162.160
1.070
Atter
V103 MK-solution 71.774
After ba ss After BA lOs
28.160
2.4756.83673.301
1.070
initialization
1/336)+
MK-solution7106824.551.8705259846761070
RMSE Scalc RMSE Scalc RMSE Scal
+bal&2
ate error AtE error Ate error
ame
(m)(%
mj
V1_lasy0.01834990.02001.850.0170084
Ⅴ102 medium0.03647380.00763.670.01620.71
is the large number of initialization attempts. For example
Vl_03 difficult00043480001292.500.01200.27
in sequence V101 which lasts 130 seconds, up to 728
initializations are computed, and 511 of them have passed
the observability and consensus test. The table shows that initialization can be found in the accompanying video
the original Martinelli-Kaiser solution obtains average scale Compared with the initialization method proposed in [5]
errors between 32.9%0 and 156.7%o on these sequences. our method requires trajectories of 1 or 2 seconds instead of
This error can be reduced until 8.8% to 24.5% applying 15 seconds, uses less CPU time, and is able to successfully
the two rounds of visual-inertial BA proposed here. More initialize in sequence V103, where the previous method
interestingly, applying the novel observability and consensus failed
tests, inaccurate initializations are consistently rejected, and
the average scale error is reduced to around 5% for all
sequences, a very significant improvement over the original
V. CONCLUSIONS
method. The atE error is also drastically reduced after both
tests
We have proposed a fast joint monocular-inertial initial
Considering the initialization time we see an evident dif- ization method based on the work of Martinelli [1] and
ference between V101, that requires initialization trajectories Kaiser et al. [2]. We have adapted it to be more general,
of 2.2 seconds in average. and V102 and V103 where 1 allowing incomplete feature tracks, and more computation
second is enough. In these two last sequences motion is faster ally efficient using the Imu preintegration method of Forster
and the track-length test is satisfied in less time than in the et al. [8]. Our results show that the original Martinelli-Kaiser
first sequence, where the quad-copter is flying at low speed. technique does not provide a good enough initialization in
Regarding the computational cost, the average CPU re- most practical scenarios, hence we have proposed two visual
quired to solve the initialization is less than 85ms for inertial Ba steps to improve the solution and two novel
sequences V102 and V103, and around 121ms for V101, tests to detect bad initializations. These techniques have
due to the longer preintegration period. In all cases, the MK- proven to be worth it, reducing scale error down to 5yo and
solution step takes around 75% of the total initialization CPu rejecting bad initializations Solutions found after those steps
time
is good enough to launch Visual-Inertial ORBSLAM [5] and
In table Iii we show computational times for our method converge to very accurate maps
which uses preintegration with first order bias correction In summary, we have developed a fast method for joint
from [8]. Compared with using the original formulation from initialization of monocular-inertial SLAM,using trajectories
Martinelli and Kaiser, computing time is reduced by 60%. of l to 2 seconds, that is much more accurate and robust than
In a second experiment, we launch visual-inertial ORB- the original technique [21, with a maximum computational
SLAM [5]and we retrieve the RMSe ate and the scale error cost of 215ms
just after the proposed initialization, and after performing As future work we would like to investigate the adaptation
full visual-inertial ba at 5 seconds and 10 seconds from of the initialization method to the stereo case taking into
the first keyframe timestamp. We can see in table Iv that account that scale is directly observable from the images. We
all three sequences converge to scale error smaller than 1% are also interested in taking profit of gyroscope readings for
after 10 seconds, confirming that our initialization method tracking, even before the initialization has been performed
is accurate enough to launch visual-inertial SLAM. An ex- Finally, we would like to test the initialization performance in
ample of Visual-Inertial ORBSLAM [5] using our proposed in more difficult scenarios with our own acquired sequences
1293
REFERENCES
[9] M. Burri, J Nikolic, P Gohl, T. Schneider, J. Rehder, S. Omari, M. w
Achtelik. andR. siegwart. "The Euroc micro aerial vehicle datasets
[1 A Martinelli, " Closed-form solution of visual-inertial structure from
The International Journal of Robotics Research, vol 35, no. 10, pp
motion, International Journal of Computer Vision, vol. 106, no. 2
1157-1163,2016
pp.138-152.2014
[10 E. Rublee, V. Rabaud, k. Konolige, and G. Bradski, ORB: An effi
[2 J. Kaiser, A Martinelli, F. Fontana, and D. Scaramuzza, "Simultaneous
cient altcrnativc to SIFT or SURF, in IEEE International Conference
state initialization and gyroscope bias calibration in visual inertial
on Computer Vision(ICCV), 201l, pp. 2564-2571
aided navigation "IEEE Robotics and Automation Letters, vol 2 no. 1, [Il B. D. Lucas, T. Kanade et al., "An iterative image registration
pp.18-25,2017
echnique with an application to stereo vision, in Int. Joint. Conf
[3]M. Li and A.I. Mourikis, "Iligh-precision, consistent EKF-based
on Artificial Intelligence (IJCAl), 1981, pp. 674-679
visual-inertial odometry, "The International Journal of Robotics Re- [12]R. Szeliski, Computer vision: algorithms and applications. Springer
search,vol.32,no.6,pp.690-711,2013
Verlag. London 2011
[4]S. Leutenegger, S. Lynell, M. BoSse, R. Siegwart, and P. Furgale, [13]R. Mur-Artal, J. Montiel, and J. D. Tardos,ORB-SLAM: a versa
Keyframe-based visual-inertial odometry using nonlinear optimiza
tile and accurate monocular SLAM system. IEEE Transactions on
tion, The international Journal of robotics Research, vol 34, no. 3
Robotics,vol.31,no.5,pp.1147-1163.2015
pp.314334,2015.
[14]R. Kuilllmerle, G. Griselli, H. Strasdal, K. Konolige, and W. Burgard,
[S]R. Mur-Artal and J D. Tardos, ""Visual-inerlial Nonocular SLAM with
g 20: A general framework for graph optimization, in IEEE Inter
map reuse, IEEE Robotics and Automation Letters, vol 2, no 2, pp
national Conference on Robotics and Automation(ICRA), 2011, pp
796-803,2017
3607-3613
[6 T Qin and S. Shen, "Robust initialization of monocular visual-inertial [15] J. Sturm, N. Engelhard,F. Endres, W. Burgard, and D. Cremers,"A
estimation on aerial robots, in IEEE/RS/ International Conference on
benchmark for the evaluation of RGB-d SlaM systems, "in IEEE/RS/
Intelligent Robots and Systems(IROS), 2017, pp
International Conference on Intelligent Robots and System.(IROS)
[7] T. Lupton and S. Sukkarieh, Visual-inertial-aided navigation for high
2012,pp.573-580
dynamic motion in built environments without initial conditions
IELL Transactions on Robotics, vol. 28, no. l, pp 61-76, 2012
8 C. Forster, L Carlone, F. Dellaert, and D. Scaramuzza, "IMU preinte
gration on manifold for efficient visual-inertial maximum-a-posteriori
estimation, in Robotics: Science and Systems, 2015
129
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.