1、刚体旋转
上述链接文章末尾有参考的知识链接,也可以参考。总的来说:欧拉角直观,但存在万向节锁问题;旋转矩阵可以由欧拉角直观推倒,相对也是比较直观,9个参数保存三维旋转有冗余,而且自身要满足是正交性、行列式为1等约束;旋转向量——角轴na, 模值n代表旋转角度,单位向量a 代表旋转轴的旋转向量,仅需三个数值即可表示旋转,且不存在万向轴锁问题;四元数,用四个数来描述旋转,同样不在万向轴锁问题。
2、图像特征提取
2-1 surf、sift、orb、harris等特征提取算法比较
3、数据关联(特征匹配)
3-1 RANSAC算法原理
RANSAC算法是通过不断迭代选择参数化模型并实现最大化适应所有观测数据的方法,不过该算法并不能保证最终模型的正确性。
3-2 ICP点云匹配
3-2-1 ICP算法的原理与实现
3-2-2 SVD分解Eigen库和OPENCV库
3-2-3 SVD分解原理
ICP迭代最近点,一般由于点云匹配。SLAM问题中常常进行点云间的匹配以此来计算两组点云集的相对位姿态T,如需要对目标点云集与参考点云集进行ICP匹配,其ICP具体算法如下:
(1)在目标点云P中取点集pi∈P;
(2)找出参考点云Q中的对应点集qi∈Q,使得||qi-pi||=min;
(3)计算旋转矩阵R和平移矩阵t,使得误差函数最小;
(4)对pi使用上一步求得的旋转矩阵R和平移矩阵t进行旋转和平移变换到新的对应点集pi’={pi’=Rpi+t,pi∈P};
(5)计算pi’与对应点集qi的平均距离;
(6)如果d小于某一给定的阈值或者大于预设的最大迭代次数,则停止迭代计算。
否则返回第2步,直到满足收敛条件为止。
4、非线性最小二乘优化
4-1 牛顿高斯法
4-2 LM算法
5、Bundle Adjustment