2019-07-30_ICRA2019_[SLAM]Why BA?

文章:Visual SLAM: Why Bundle Adjust?
链接https://arxiv.org/abs/1902.03747
作者:Alvaro Parra Bustos,……,Ian Reid
机构:The University of Adelaide
摘要的摘要:BA的替代优化方法,解决纯旋转和弱平移下的位姿估计。简化SLAM算法,只估计orientations,然后基于已知R计算tX(mappoint)。


1. L-INFINITY SLAM

给定有重叠区域的图像集\{Z_j,Z_k\}的相对旋转\{R_{j,k}\},估计出每帧的平均旋转(详见后文):
\min_{\{R_j\}}\,\,\sum_{j,k \in N} \lVert R_{j,k} - R_kR_j^{-1} \rVert _F^2 \tag{3} \\
其中,N为共视图。然后基于给定的R_j,计算相机位置\{t_j\}和3D点\{X_i\}
\min_{\left\{X_i\right\}\left\{t_j\right\}} \,\, \max_{i,j} \lVert z_{i,j} - f(X_i|R_j,t_j) \rVert _2 \tag{4} \\
因为上述为最小化重投影误差的最大值,所以可看作为重投影误差的\ell_{\infty}-norm(BA里为\ell_2-norm)。

01: for each keyframe step t=1,2,\cdots do
02:  s \gets t - (\text{window size}) + 1
03:  \{R_{j,k}\}_{j,k \in N_{win}} \gets \text{relative_rotation} (Z_{(s-1):t})
04:  R_{s:t} \gets \text{rotation_averageing} (\left\{R_{j,k}\right\}_{j,k \in N_{win}})
05:  t_{s:t},X \gets \text{known_rotation_prob} (R_{s:t},Z_{0:t})
06:  if loop is detected in Z_t then
07:   \left\{ R_{j,k} \right\}_{j,k \in N_{sys}} \gets \text{relative_rotation}(Z_{0:t})
08:   R_{1:t} \gets \text{rotation_averageing} (\left\{R_{j,k}\right\}_{j,k \in N_{sys}})
09:   t_{1:t},X \gets \text{known_rotation_prob} (R_{1:t},Z_{0:t})
10:  end if
11: end for


2. ALGORITHMIC DETAILS

K \in \mathbb{R}^{3 \times 3}为相机内参,P_j = K[R_j \,\, t_j]为第j帧图像的投影矩阵。

2.1 Estimating relative motions

从essential matrix中分解出R_{j,k}。对于弱平移,使用Trimmed ICP。

2.2 Rotation averaging

使用文献[1]中的方法求解方程(3),不需要线性化等操作。

Rotation averaging

2.3 Known rotation problem

R_j^{(1:2)}R_j的前两行,R_j^{(3)}R_j的第三行,X_i投影到j图像:
f(X_i|R_j,t_j) := \cfrac{R_j^{(1:2)}X_i + t_j^{(1:2)}}{R_j^{(3)}X_i + t_j^{(3)}} \tag{6} \\
方程(4)可写为:

1.PNG

(7c)保证了深度值为正,点在相机前。因此问题可继续改写为:
2.PNG

很多方法解该问题,paper使用基于Res-Int改进的方法。

2.4 Known rotation problem with translation direction constraints

用的也是阿德莱德大学的一个老师的算法[2]
分别单独求解\min_{X_i}\min_{t_j}

4.PNG


3. RESULTS

  • BA: implemented in C++ using the Ceres solver
  • rotation averaging: code provided in [1]
  • known rotation prob: code provided in [2]
  • 闭环问题:(暂时没有看)krot tdc: (P3) implemented in MATLAB using SeDuMi


    5.JPG
6.PNG

  1. [33]A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.

  2. [39]Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容