Structure-SLAM Low-Drift Monocular SLAM in Indoor Environments
0 解决的问题:
0.1室内环境的特点是缺乏纹理表面和不规则分布的特征点
0.2存在累计漂移的问题
解决方法:(1)回环(2)直接与世界中固定的坐标系建立联系
0.3
初始化部分改进:用点(ORB)、线(LSD,LBD)提取,三角化;法向量提取
1 需要解答的问题
1.1 为什么使用曼哈顿假设
解:(1)曼哈顿坐标系只存在旋转,因此只需要考虑旋转,确定旋转后再计算平移
(2)人造环境中存在的曼哈顿坐标系是固定的,因此可以快速准确的计算旋转
1.2 两个曼哈顿坐标系如何计算出旋转
解:世界中曼哈顿坐标系是固定不变的,即三个轴方向是固定不变的。通过计算不同帧下的曼哈顿坐标系三个轴方向,就可知道从第一帧到当前帧的旋转
1.3 消失点有什么用
1.4 为什么第一步要提取平面法向量
解:初始时对平面法向量进行聚类,就可以得到曼哈顿坐标系的三个主轴方向
1.5 那个高斯球面,确定了消失点方向和另外两个轴构成的坐标系是什么
解:构成的坐标系就是曼哈顿坐标系,同时使用了线(两条平行线)和面(法向量)构成曼哈顿坐标系
1.6 作者是对法线进行预测,那是如何由RGB-D的框架改为发现的框架
1.7如何计算平移向量
解:对图像旋转后,只对齐每个正交方向上的点,进行最小化误差,求得平移向量
方法来源:
1.8什么时候使用曼哈顿假设,如何判断能不能使用曼哈顿假设
解:(1)测试分别用线特征和平面法向量聚类后形成坐标系是否一致
1.9 既然聚类法向量就可以得到曼哈顿坐标系,为何还要同时使用线和法向量?
解:初始化时只用方向量,后序采用线和法向量结合的方式?
1.10什么是曼哈顿世界轴rn的切平面?
(1)Low-Drift Visual Odometry in Structured Environments by Decoupling Rotational and Translational Motion
(2)A Monocular SLAM System Leveraging Structural Regularity in Manhattan World*
2 论文内容
2.1 初始化
2.1.1初始化曼哈顿坐标系
(如果满足曼哈顿假设,世界下曼哈顿坐标系保持不变):通过平面的法向量进行聚类,使用的方法就是mean-shift的流型聚类算法(提取的直线或者平面的法向量进行聚类,总能聚类成曼哈顿坐标系)
mean-shift流型聚类过程:(1)随便选一个方向rj 作为主轴方向(rj 有三个,即三个轴)(2)以rj 为心,做一个圆锥,选取范围内的法向量ni,(3)做rj的切平面(4)将ni 投影到切平面,即Q过程(Q是一个映射)
(4)计算ni在切向平面上的坐标
(5) 计算质心(此时在切向平面即二维平面上)(三个轴合在一起计算)
(6)将新的质心映射回单位球面上
(7)将sj拆解成三个轴向量
图:将推断MF的聚类直线和分割平面(左下)叠加在原始RGB图像(左上)上。我们用不同半径的同心圆(右)来有效地描述vd(紫色)和SNs(灰色)的密度分布作为三维点。我们可以观察到球内(直线上的矢量)和球外(平面上的矢量)的方向向量都是围绕着MF轴一起分布的。
来源:Low-Drift Visual Odometry in Structured Environments by Decoupling Rotational and Translational Motion
提取曼哈顿坐标系的方式:(1)提取直线,将所有平行的直线投影到高斯球面,计算每个圆平面的法向量,两个法向量叉乘得到消失方向,进而聚类得到曼哈顿坐标系(2)对所有直线叉乘(代表局部平面两个切向向量叉乘),得到平面法向量,进而聚类得到曼哈顿坐标系
mean-shift:均值漂移(快速聚类)算法:找数据质心
对前一时刻曼哈顿坐标系的各个轴做切平面,将当前图像下所有法向量投影到切平面上,分别计算x,y,z上的偏移(类似于李代数),从而得到当前相机坐标系相当于曼哈顿坐标系的漂移
2.计算两帧图像之间的旋转
注意:硬凑出来的式子
再对上述式子进行SVD分解得到旋转向量
参考文献:The Manhattan Frame Model—Manhattan World Inference in the Space of Surface Normals