加载中…
个人资料
SlowlyThinking
SlowlyThinking
  • 博客等级:
  • 博客积分:0
  • 博客访问:515,373
  • 关注人气:86
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

视觉SLAM的数学基础

(2016-06-18 12:16:04)
分类: 图像三维重建
书《State Estimation for Robotics: A Matrix-Lie-Group Approach》

自由度(degree of freedom, df):在数学中能够自由取值的变量个数,如有3个变量x、y、z,但x+y+z=18,因此其自由度等于2。

超定方程组:是指方程个数大于未知量个数的方程组。对于方程组Ra=y,R为n×m矩阵,如果R列满秩,且n>m。则方程组没有精确解,此时称方程组为超定方程组。

       在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图。为了做这件事,需要对变换矩阵进行插值、求导、迭代等操作。例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵。假设第一组的3D点为P={pi|i=[1,2,…,N]},第二组3D点为Q={qi|i=[1,2,…,N]},那我们实际要做的事情是求一个欧氏变换T,使得T满足:
∀i,qi=Tpi                       
  注意这里使用了齐次坐标表示。通常,这许多个匹配过的点是通过特征匹配得到的,构成了一个超定方程。而由于噪声的存在,这个方程往往是无解的。因此我们转而计算一个最小二乘:
min u(T)=∑∥qi−Tpi∥2                              
  这时问题就来了:如果用迭代方式求解这个优化时(尽管可以不用迭代方式来求),如何求目标函数u相对于T的导数呢?首先,T只有6 个自由度,最好能够在一个六维空间表达它,那么u(T)相对于这个六维空间的导数(雅可比矩阵)是一个6×6的矩阵。其次,T对于乘法是封闭的,但对加法不封闭,即任意两个变换矩阵相加后并不是一个变换矩阵,这主要是因为旋转矩阵对加法是不封闭的。
       出于这两个原因,我们希望有更好的数学工具帮助我们做这些事,而李群与李代数理论正好提供了这样的工具。李群与李代数广泛地用于机器人与计算机视觉领域,并在机器人动力学推导上占据重要地位。不过,由于SLAM不涉及过多的动力学推导。我们重点介绍它在SLAM中相关的几个重要的结果,而略去许多数学性质的证明。特别地,重点介绍SO(3)和SE(3)这两个李群与对应的李代数。

群(Group)是一种集合加上一种运算的代数结构,记作(A,⋅)(A,⋅)。其中AA代表集合,⋅⋅是定义在该集合上的二元运算。那么,如果这个运算满足以下几个条件,则称G=(A,⋅)G=(A,⋅)为群。
封闭性: ∀a1,a2,a1⋅a2∈A∀a1,a2,a1⋅a2∈A
结合律: ∀a1,a2,a3,(a1⋅a2)⋅a3=a1⋅(a2⋅a3)∀a1,a2,a3,(a1⋅a2)⋅a3=a1⋅(a2⋅a3)
幺元: ∃a0∈A,s.t.∀a∈A,a0⋅a=a⋅a0=a∃a0∈A,s.t.∀a∈A,a0⋅a=a⋅a0=a
逆: ∀a∈A,∃a−1∈A,s.t.a⋅a−1=a0

李群是指具有连续性质的群。并且,一般连续群上的运算还是无限可微,乃至解析的(解析比无限可微更强,它还要求任意点邻域的泰勒展开都收敛)。这个问题在20世纪初被称为希尔伯特第五问题,并已得到了解决。而李群,则指实数空间上的连续群。常见的李群包括上边提到的GL(n),SO(n),SE(n),以及其他的如酉群U(n),辛群Sp(2n)等等。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有