李群 计算机视觉_李群在计算机视觉上的应用 - CSDN
  • 计算机视觉中的李群、李代数

    千次阅读 2016-02-24 20:35:50
    在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用R和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用Lie ...

       

         在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用R和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用Lie algebrase(3)、so(3) 以及 Lie group SE(3)、SO(3) 之类的表示。紧接着,出现了很多术语,比如twist, tangent space,也出现了一些运算,比如exp(),log()之类的,看得我是云里雾里。

       比如下面这个公式, 是由三个角速度组成的向量,表示对应的旋转矩阵, 表示由三个角速度组成的反对称矩阵(skew-symmetric matrix)。

    自然要问为啥通过指数运算能够把角速度映射到旋转矩阵,它的背后又有什么样的物理意义,这中间是否有一些尽量直观的解释。

       本篇博客将从最基础的内容出发,用直观的容易理解的方式对旋转矩阵和李代数之间的关系进行推导,如有错误,请指出,希望共同进步。

    预备知识:

       在进入正题之前,我们先需要复习下向量叉积(cross product),以及反对称矩阵(skew symmetric matrix),在计算机视觉中最初遇到这些概念应该是在求解本征矩阵时,然而,他们在沟通刚体变换矩阵和李代数之间扮演着十分重要的作用。
      对给定的两个三维实数向量,它们的叉积可以通过下面的公式计算出来:

    叉积
    叉积有如下性质:
    叉积性质
    这说明通过叉积运算得到的结果实际上是一个垂直于u,v 平面的向量。
      这种两个向量的运算可以通过一个矩阵来表示,即 其中 是一个3*3的实数矩阵:
    反对称矩阵
    注意向量u上带一个帽子表示的是由它构成的反对称矩阵。同时由这个矩阵也很容易看出有请记住这个性质。并且任意一个3*3的反对称矩阵,我们能够找到一个三维向量和它对应。
      至于什么是刚体变换,什么是旋转矩阵,旋转矩阵有哪些性质这些更基础的知识在这里不再一一补充。

    下面的内容中,都是基于3维空间,所以没有特别说明时,所说的旋转矩阵都是3*3的,平移向量也是3维的。并且所有向量上带一个帽子的表示的是它的反对称矩阵形式。

    旋转矩阵与 so(3)

      我们知道对于旋转矩阵,旋转矩阵本身乘以它的转置等于单位矩阵:

    旋转矩阵性质
    对上式求导可以得到:
    旋转矩阵求导  (1)
    这个1式推得的结果不正好满足反对称矩阵的性质吗?因此肯定存在一个三维向量,使得该向量组成的反对称矩阵满足:
    这里写图片描述 (2)
    对2式中两边各右乘一个旋转R(t),得到:
    这里写图片描述 (3)
    这个等式是不是很熟悉?一个变量的导数等于它本身再乘以一个系数。Bingo,是他是他就是他,我们高斯微积分中熟悉的指数!
      在介绍我们期待已久的指数映射前,先挖掘挖掘(3)式的一些含义。如果初始时刻,那么有。那么在单位矩阵附近的一个旋转矩阵,我们能用一阶导来近似得到:
    这里写图片描述
    这是不是有点类似于速度位移之类的。我们把所有的这些反对称矩阵集合起来就组成了一个所谓的李代数Lie algebraso(3) :
    这里写图片描述
    而把所有的旋转矩阵集合起来呢,就有了一个所谓的李群Lie group SO(3) 注意是大写
    这里写图片描述
    上式中的约束表示R是旋转矩阵。由前面的推导公式三知道如果R是单位矩阵,那它的导数就是一个反对称矩阵,所以只有反对称矩阵组成的空间,即so(3),我们称之为在在单位矩阵处的正切空间tangent space.为什么称为正切呢?回忆二维曲线在某处的导数是一条切线。对于这个三维球面,那么它的导数应该是个切面。如下图所示,图片来源于tangent space 的 wiki
    这里写图片描述
    可是对于那些不是单位矩阵的旋转矩阵R该怎么找在他们位置处的正切空间呢?由公式3我们知道,在反对称矩阵的右边乘以R就能够得到R的导数,所以在非单位矩阵的R处的正切空间就是反对称矩阵乘以R就行了。

    指数映射:

      回到公式(3),把旋转矩阵R用x替换掉,如下:

    这里写图片描述
    求微分方程得到:
    这里写图片描述
    其中是矩阵的指数映射:
    这里写图片描述) (4)
    好了,此时我们假设R(0)=I,即单位矩阵,就可以得到:
    这里写图片描述 (5)
    当然可以验证验证这个指数是不是旋转矩阵:
    这里写图片描述
    所以,我们能够说指数映射将so(3)映射到了SO(3)
    这里写图片描述
    也就是说找了一个通道,它将切平面上的一点可以映射到球面体上去。但是,指数还带一个矩阵这不好算吧,没关系,马上带来Rodrigues formula for rotation matrix。首先反对称矩阵有如下性质:
    这里写图片描述
    此时指数映射的泰勒展开式(4)式能够整理成如下形式:
    这里写图片描述
    注意公式中两个括号里面的内容,他们就是sin(t)和(1-cost(t)),其实这种形式的推导在欧拉方程那里也见到过。最后得到:
    这里写图片描述
      当然,对于任意的旋转矩阵,我们也能够找到一组对应的w,t:
    这里写图片描述

    刚体变换和SE(3)

      前面还只说了旋转,实际上刚体变换还有平移。所以,和只有旋转矩阵构成的李群SO(3) 一样,我们也可以有由刚体变换得到的李群SE(3) :

    这里写图片描述
    和之前的推导一样,我们可以对如下的刚体变换矩阵求导:
    这里写图片描述
    对这个矩阵的每部分进行分析可知,存在一个反对称矩阵和三维向量使得下面两式成立:
    这里写图片描述
    这里写图片描述
    即可以得到:
    这里写图片描述
    所以,我们可以和反对称矩阵一样,定一个矩阵,注意这里这个帽子不代表反对称矩阵了:
    这里写图片描述
    接着我们就能得到:
    这里写图片描述
    这和之前的推导太像了。由于有了前面的铺垫,我们可以直接给出g(t)附近的近似,而不必像之前那样从R(t)=I开始:
    这里写图片描述
    可以称之为在曲线g(t)处的”正切向量”,而在机器人领域,我们称它为twist。这个twist呢,就像我们开葡萄酒塞时螺旋的角速度和前进的线速度。于是把这些twist集合起来就有了刚体变换的李代数se(3):
    这里写图片描述
    当然这个twist矩阵也可以表示成一个六维的向量
    这里写图片描述
    同理,由
    这里写图片描述
    可以得到:
    这里写图片描述
    如果假设g(0)=I,有
    这里写图片描述
    又到了指数映射,这个矩阵的指数映射可以写成如下形式:
    这里写图片描述
    于是我们知道了如何将se(3) 映射到SE(3)

      到这里基本理清了SE,SO之类的与刚体变换之间的关系,看视觉SLAM类的论文以及相应代码中有关lie部分应该没啥压力了。

      各种论文里涉及到的求解位姿矩阵时的非线性最小二乘优化(牛顿法,LM法),其中增量都是在单位矩阵处的tangent space se(3)上计算,获得的增量(即相邻位姿变换关系)通过指数映射映射回多面体SE(3)上。

    这里写图片描述
    通过这种方式,能够避免奇异点,保证很小的变换矩阵也能够表示出来。这一段引用自论文《Scale Drift-Aware Large Scale Monocular SLAM》。


      这篇博文可以说是我看慕尼黑工大(TUM)多视角几何教学视频的笔记,YouTube链接点击这里,这位牛的飞老师的英语吐字清晰,大家应该能够听懂。当然,老师也是参看的别人的文档,这里我也把讲lie 和计算机视觉的两个文档传到了csdn上,供大家下载



    转自:http://blog.csdn.net/heyijia0327/article/details/50446140

    展开全文
  • 在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用R和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用Lie ...

      在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用R和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用Lie algebra se(3)、so(3) 以及 Lie group SE(3)、SO(3) 之类的表示。紧接着,出现了很多术语,比如twist, tangent space,也出现了一些运算,比如exp(),log()之类的,看得我是云里雾里。

       比如下面这个公式, 是由三个角速度组成的向量,表示对应的旋转矩阵, 表示由三个角速度组成的反对称矩阵(skew-symmetric matrix)。

    自然要问为啥通过指数运算能够把角速度映射到旋转矩阵,它的背后又有什么样的物理意义,这中间是否有一些尽量直观的解释。

       本篇博客将从最基础的内容出发,用直观的容易理解的方式对旋转矩阵和李代数之间的关系进行推导,如有错误,请指出,希望共同进步。

    预备知识:

       在进入正题之前,我们先需要复习下向量叉积(cross product),以及反对称矩阵(skew symmetric matrix),在计算机视觉中最初遇到这些概念应该是在求解本征矩阵时,然而,他们在沟通刚体变换矩阵和李代数之间扮演着十分重要的作用。
      对给定的两个三维实数向量,它们的叉积可以通过下面的公式计算出来:

    叉积
    叉积有如下性质:
    叉积性质
    这说明通过叉积运算得到的结果实际上是一个垂直于u,v 平面的向量。
      这种两个向量的运算可以通过一个矩阵来表示,即 其中 是一个3*3的实数矩阵:
    反对称矩阵
    注意向量u上带一个帽子表示的是由它构成的反对称矩阵。同时由这个矩阵也很容易看出有 请记住这个性质。并且任意一个3*3的反对称矩阵,我们能够找到一个三维向量和它对应。
      至于什么是刚体变换,什么是旋转矩阵,旋转矩阵有哪些性质这些更基础的知识在这里不再一一补充。

    下面的内容中,都是基于3维空间,所以没有特别说明时,所说的旋转矩阵都是3*3的,平移向量也是3维的。并且所有向量上带一个帽子的表示的是它的反对称矩阵形式。

    旋转矩阵与 so(3)

      我们知道对于旋转矩阵,旋转矩阵本身乘以它的转置等于单位矩阵:

    旋转矩阵性质
    对上式求导可以得到:
    旋转矩阵求导  (1)
    这个1式推得的结果不正好满足反对称矩阵的性质吗?因此肯定存在一个三维向量,使得该向量组成的反对称矩阵满足:
    这里写图片描述 (2)
    对2式中两边各右乘一个旋转R(t),得到:
    这里写图片描述 (3)
    这个等式是不是很熟悉?一个变量的导数等于它本身再乘以一个系数。Bingo,是他是他就是他,我们高斯微积分中熟悉的指数!
      在介绍我们期待已久的指数映射前,先挖掘挖掘(3)式的一些含义。如果初始时刻,那么有。那么在单位矩阵附近的一个旋转矩阵,我们能用一阶导来近似得到:
    这里写图片描述
    这是不是有点类似于速度位移之类的。我们把所有的这些反对称矩阵集合起来就组成了一个所谓的李代数Lie algebra so(3) :
    这里写图片描述
    而把所有的旋转矩阵集合起来呢,就有了一个所谓的李群Lie group SO(3) 注意是大写
    这里写图片描述
    上式中的约束表示R是旋转矩阵。由前面的推导公式三知道如果R是单位矩阵,那它的导数就是一个反对称矩阵,所以只有反对称矩阵组成的空间,即 so(3),我们称之为在在单位矩阵处的正切空间tangent space.为什么称为正切呢?回忆二维曲线在某处的导数是一条切线。对于这个三维球面,那么它的导数应该是个切面。如下图所示,图片来源于tangent space 的 wiki
    这里写图片描述
    可是对于那些不是单位矩阵的旋转矩阵R该怎么找在他们位置处的正切空间呢?由公式3我们知道,在反对称矩阵的右边乘以R就能够得到R的导数,所以在非单位矩阵的R处的正切空间就是反对称矩阵乘以R就行了。

    指数映射:

      回到公式(3),把旋转矩阵R用x替换掉,如下:

    这里写图片描述
    求微分方程得到:
    这里写图片描述
    其中是矩阵的指数映射:
    这里写图片描述) (4)
    好了,此时我们假设R(0)=I,即单位矩阵,就可以得到:
    这里写图片描述 (5)
    当然可以验证验证这个指数是不是旋转矩阵:
    这里写图片描述
    所以,我们能够说指数映射将so(3)映射到了SO(3)
    这里写图片描述
    也就是说找了一个通道,它将切平面上的一点可以映射到球面体上去。但是,指数还带一个矩阵这不好算吧,没关系,马上带来Rodrigues formula for rotation matrix。首先不妨看看简单的情况,假设w模长为1,||w||=1,这时候有如下性质:
    这里写图片描述
    此时指数映射的泰勒展开式(4)式能够整理成如下形式:
    这里写图片描述
    注意公式中两个括号里面的内容,他们就是sin(t)和(1-cost(t)),其实这种形式的推导在欧拉方程那里也见到过。最后得到:
    这里写图片描述
      当然,对于任意的旋转矩阵,我们也能够找到一组对应的w,t:
    这里写图片描述

      上面推导的是连续时间的,并且假设||w||=1,即旋转速度为单位速度,t是一个时间跨度,联合起来的物理意义就是在单位旋转速度w下,经过时间t后,旋转了多少。可是,我们常常见到的是另一种情况,单位时间t,旋转速度却不为单位模长了,||w||1。表达成公式就是如下情况:
    这里写图片描述

    简单整理:
    这里写图片描述
    这个时候||w||1,因此,有
    这里写图片描述
    这里写图片描述
    最后,综合起来就是:

    这里写图片描述
    即:
    这里写图片描述
    这公式就只和w这个三维向量有关了,||w||的计算轻松加随意,三维向量变换成反对称矩阵也是容易,所以整个将三维旋转速度映射到旋转矩阵编程实现是不是也很容易了。

    刚体变换和SE(3)

      前面还只说了旋转,实际上刚体变换还有平移。所以,和只有旋转矩阵构成的李群SO(3) 一样,我们也可以有由刚体变换得到的李群SE(3) :

    这里写图片描述
    和之前的推导一样,我们可以对如下的刚体变换矩阵求导:
    这里写图片描述
    对这个矩阵的每部分进行分析可知,存在一个反对称矩阵和三维向量使得下面两式成立:
    这里写图片描述
    这里写图片描述
    即可以得到:
    这里写图片描述
    所以,我们可以和反对称矩阵一样,定一个矩阵,注意这里这个帽子不代表反对称矩阵了:
    这里写图片描述
    接着我们就能得到:
    这里写图片描述
    这和之前的推导太像了。由于有了前面的铺垫,我们可以直接给出g(t)附近的近似,而不必像之前那样从R(t)=I开始:
    这里写图片描述
    可以称之为在曲线g(t)处的”正切向量”,而在机器人领域,我们称它为twist。这个twist呢,就像我们开葡萄酒塞时螺旋的角速度和前进的线速度。于是把这些twist集合起来就有了刚体变换的李代数se(3):
    这里写图片描述
    当然这个twist矩阵也可以表示成一个六维的向量
    这里写图片描述
    同理,由
    这里写图片描述
    可以得到:
    这里写图片描述
    如果假设g(0)=I,有
    这里写图片描述
    又到了指数映射,这个矩阵的指数映射可以写成如下形式:
    这里写图片描述
    于是我们知道了如何将se(3) 映射到SE(3)

    这里也来一个去掉时间t的版本:

    这里写图片描述

    矩阵的各个部分对应如下:
    这里写图片描述

      到这里基本理清了SE,SO之类的与刚体变换之间的关系,看视觉SLAM类的论文以及相应代码中有关lie部分应该没啥压力了。

      各种论文里涉及到的求解位姿矩阵时的非线性最小二乘优化(牛顿法,LM法),其中增量都是在单位矩阵处的tangent space se(3)上计算,获得的增量(即相邻位姿变换关系)通过指数映射映射回多面体SE(3)上。

    这里写图片描述
    通过这种方式,能够避免奇异点,保证很小的变换矩阵也能够表示出来。这一段引用自论文《Scale Drift-Aware Large Scale Monocular SLAM》。


      这篇博文可以说是我看慕尼黑工大(TUM)多视角几何教学视频的笔记,YouTube链接点击这里,这位牛的飞老师的英语吐字清晰,大家应该能够听懂。当然,老师也是参看的别人的文档,这里我也把讲lie 和计算机视觉的两个文档传到了csdn上,供大家下载

    祝好
       –白巧克力

    (转载请注明作者和出处:http://blog.csdn.net/heyijia0327 未经允许请勿用于商业用途)

    展开全文
  • 在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用R和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用Lie ...

    在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用R和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用Lie algebrase(3)、so(3) 以及 Lie group SE(3)、SO(3) 之类的表示。紧接着,出现了很多术语,比如twist, tangent space,也出现了一些运算,比如exp(),log()之类的,看得我是云里雾里。

       比如下面这个公式, 是由三个角速度组成的向量,表示对应的旋转矩阵, 表示由三个角速度组成的反对称矩阵(skew-symmetric matrix)。

    自然要问为啥通过指数运算能够把角速度映射到旋转矩阵,它的背后又有什么样的物理意义,这中间是否有一些尽量直观的解释。

       本篇博客将从最基础的内容出发,用直观的容易理解的方式对旋转矩阵和李代数之间的关系进行推导,如有错误,请指出,希望共同进步。

    1. 预备知识

       在进入正题之前,我们先需要复习下向量叉积(cross product),以及反对称矩阵(skew symmetric matrix),在计算机视觉中最初遇到这些概念应该是在求解本征矩阵时,然而,他们在沟通刚体变换矩阵和李代数之间扮演着十分重要的作用。 
      对给定的两个三维实数向量,它们的叉积可以通过下面的公式计算出来: 

    叉积
    叉积有如下性质: 
    叉积性质
    这说明通过叉积运算得到的结果实际上是一个垂直于u,v 平面的向量。 
      这种两个向量的运算可以通过一个矩阵来表示,即  其中 是一个3*3的实数矩阵: 
    反对称矩阵
    注意向量u上带一个帽子表示的是由它构成的反对称矩阵。同时由这个矩阵也很容易看出有 请记住这个性质。并且任意一个3*3的反对称矩阵,我们能够找到一个三维向量和它对应。 
      至于什么是刚体变换,什么是旋转矩阵,旋转矩阵有哪些性质这些更基础的知识在这里不再一一补充。 

    下面的内容中,都是基于3维空间,所以没有特别说明时,所说的旋转矩阵都是3*3的,平移向量也是3维的。并且所有向量上带一个帽子的表示的是它的反对称矩阵形式。

    2.旋转矩阵与 so(3)

      我们知道对于旋转矩阵,旋转矩阵本身乘以它的转置等于单位矩阵:

    旋转矩阵性质
    对上式求导可以得到: 
    旋转矩阵求导  (1)
    这个1式推得的结果不正好满足反对称矩阵的性质吗?因此肯定存在一个三维向量,使得该向量组成的反对称矩阵满足: 
    这里写图片描述 (2)
    对2式中两边各右乘一个旋转R(t),得到: 
    这里写图片描述 (3)
    这个等式是不是很熟悉?一个变量的导数等于它本身再乘以一个系数。Bingo,是他是他就是他,我们高斯微积分中熟悉的指数! 
      在介绍我们期待已久的指数映射前,先挖掘挖掘(3)式的一些含义。如果初始时刻,那么有。那么在单位矩阵附近的一个旋转矩阵,我们能用一阶导来近似得到: 
    这里写图片描述
    这是不是有点类似于速度位移之类的。我们把所有的这些反对称矩阵集合起来就组成了一个所谓的李代数Lie algebraso(3) : 
    这里写图片描述
    而把所有的旋转矩阵集合起来呢,就有了一个所谓的李群Lie group SO(3) 注意是大写: 
    这里写图片描述
    上式中的约束表示R是旋转矩阵。由前面的推导公式三知道如果R是单位矩阵,那它的导数就是一个反对称矩阵,所以只有反对称矩阵组成的空间,即 so(3),我们称之为在在单位矩阵处的正切空间tangent space.为什么称为正切呢?回忆二维曲线在某处的导数是一条切线。对于这个三维球面,那么它的导数应该是个切面。如下图所示,图片来源于tangent space 的 wiki: 
    这里写图片描述
    可是对于那些不是单位矩阵的旋转矩阵R该怎么找在他们位置处的正切空间呢?由公式3我们知道,在反对称矩阵的右边乘以R就能够得到R的导数,所以在非单位矩阵的R处的正切空间就是反对称矩阵乘以R就行了。

    3. 指数映射

      回到公式(3),把旋转矩阵R用x替换掉,如下:

    这里写图片描述
    求微分方程得到:
    这里写图片描述
    其中是矩阵的指数映射:
    这里写图片描述) (4)
    好了,此时我们假设R(0)=I,即单位矩阵,就可以得到: 
    这里写图片描述 (5)
    当然可以验证验证这个指数是不是旋转矩阵: 
    这里写图片描述
    所以,我们能够说指数映射将so(3)映射到了SO(3)
    这里写图片描述
    也就是说找了一个通道,它将切平面上的一点可以映射到球面体上去。但是,指数还带一个矩阵这不好算吧,没关系,马上带来Rodrigues formula for rotation matrix。首先不妨看看简单的情况,假设w模长为1,||w||=1,这时候有如下性质: 
    这里写图片描述
    此时指数映射的泰勒展开式(4)式能够整理成如下形式:
    这里写图片描述
    注意公式中两个括号里面的内容,他们就是sin(t)和(1-cost(t)),其实这种形式的推导在欧拉方程那里也见到过。最后得到:
    这里写图片描述
      当然,对于任意的旋转矩阵,我们也能够找到一组对应的w,t: 
    这里写图片描述

      上面推导的是连续时间的,并且假设||w||=1,即旋转速度为单位速度,t是一个时间跨度,联合起来的物理意义就是在单位旋转速度w下,经过时间t后,旋转了多少。可是,我们常常见到的是另一种情况,单位时间t,旋转速度却不为单位模长了,||w||1。表达成公式就是如下情况:
    这里写图片描述

    简单整理:
    这里写图片描述
    这个时候||w||1,因此,有
    这里写图片描述 
    这里写图片描述
    最后,综合起来就是:

    这里写图片描述
    即:
    这里写图片描述
    这公式就只和w这个三维向量有关了,||w||的计算轻松加随意,三维向量变换成反对称矩阵也是容易,所以整个将三维旋转速度映射到旋转矩阵编程实现是不是也很容易了。 

    4. 刚体变换和SE(3)

      前面还只说了旋转,实际上刚体变换还有平移。所以,和只有旋转矩阵构成的李群SO(3) 一样,我们也可以有由刚体变换得到的李群SE(3) :

    这里写图片描述
    和之前的推导一样,我们可以对如下的刚体变换矩阵求导:
    这里写图片描述
    对这个矩阵的每部分进行分析可知,存在一个反对称矩阵和三维向量使得下面两式成立:
    这里写图片描述
    这里写图片描述
    即可以得到:
    这里写图片描述
    所以,我们可以和反对称矩阵一样,定一个矩阵,注意这里这个帽子不代表反对称矩阵了: 
    这里写图片描述
    接着我们就能得到: 
    这里写图片描述
    这和之前的推导太像了。由于有了前面的铺垫,我们可以直接给出g(t)附近的近似,而不必像之前那样从R(t)=I开始: 
    这里写图片描述
    可以称之为在曲线g(t)处的”正切向量”,而在机器人领域,我们称它为twist。这个twist呢,就像我们开葡萄酒塞时螺旋的角速度和前进的线速度。于是把这些twist集合起来就有了刚体变换的李代数se(3):
    这里写图片描述
    当然这个twist矩阵也可以表示成一个六维的向量
    这里写图片描述
    同理,由
    这里写图片描述
    可以得到:
    这里写图片描述
    如果假设g(0)=I,有
    这里写图片描述
    又到了指数映射,这个矩阵的指数映射可以写成如下形式:
    这里写图片描述
    于是我们知道了如何将se(3) 映射到SE(3)

    这里也来一个去掉时间t的版本:

    这里写图片描述

    矩阵的各个部分对应如下:
    这里写图片描述

      到这里基本理清了SE,SO之类的与刚体变换之间的关系,看视觉SLAM类的论文以及相应代码中有关lie部分应该没啥压力了。 

      各种论文里涉及到的求解位姿矩阵时的非线性最小二乘优化(牛顿法,LM法),其中增量都是在单位矩阵处的tangent space se(3)上计算,获得的增量(即相邻位姿变换关系)通过指数映射映射回多面体SE(3)上。

    这里写图片描述
    通过这种方式,能够避免奇异点,保证很小的变换矩阵也能够表示出来。这一段引用自论文《Scale Drift-Aware Large Scale Monocular SLAM》。


      这篇博文可以说是我看慕尼黑工大(TUM)多视角几何教学视频的笔记,YouTube链接点击这里,这位牛的飞老师的英语吐字清晰,大家应该能够听懂。当然,老师也是参看的别人的文档,这里我也把讲lie 和计算机视觉的两个文档传到了csdn上,供大家下载

    祝好 
       –白巧克力 

    (转载请注明作者和出处:http://blog.csdn.net/heyijia0327 未经允许请勿用于商业用途)
    展开全文
  • 计算机视觉中的矩阵李群 草稿版,3D刚体运动的表示 刚体运动的表示 刚体运动的表示 刚体运动的表示, 3D运动李群表示,李群在视觉 SLAM 中的应用 等章节
  • 李群李代数的知识解释计算机视觉中的问题。。。。。
  • 计算机视觉中的李代数与李群

    千次阅读 2017-08-11 16:20:37
    计算机视觉领域的文献里经常会见到李代数和李群的概念,在此说说我个人对李代数与李群的理解。 本人第一次遇见李代数与李群的概念是在研一时必修课《非线性控制系统理论与应用》上,在该课程中是使用李群与李...

    在计算机视觉领域的文献里经常会见到李代数和李群的概念,在此说说我个人对李代数与李群的理解。


    本人第一次遇见李代数与李群的概念是在研一时必修课《非线性控制系统理论与应用》上,在该课程中是使用李群与李代数来解决非线性控制系统精确线性化这一任务的。之后在计算机视觉课程中深入学习了双视几何,期间了解到三维旋转的不同表示方法。三维旋转的自由度为3,可以使用旋转矩阵、欧拉角、四元和旋转向量来表示。


    旋转矩阵即是行列式等于1的正交矩阵,行列式等于-1的正交矩阵为镜面反射变换;

    欧拉角就是绕三个坐标轴转动个角度,会存在万向锁的情况使得三维旋转的自由度降为2;

    四元数和复数概念比较像,有实部和虚部的概念,实部表示旋转的角度,虚部表示旋转轴;

    旋转向量与四元数也比较像,旋转向量是一个三维向量,其方向表示旋转方向,其模表示旋转角度。


    三维旋转比较紧凑的表示方法是使用旋转向量来表示,其次是四元数。


    旋转向量与旋转矩阵之间的相互转换是通过罗德里格斯公式建立起来的:


    其中r为旋转向量,R为旋转矩阵。其反过程可有下式确定:



    简单提下关于罗德里格斯公式的证明,由理论力学关于刚体的三维旋转矩阵R随时间的变化与角速度w之间满足欧拉公式:

    该矩阵微分方程的解为


    下标x表示向量对应的反对称阵。为了简化,假设角速度为常量,则积分号可以去掉;R0为单位阵,则旋转矩阵Rt为:


    从这可以看出旋转矩阵可以通过一个三维向量来确定,三维向量与旋转矩阵之间通过矩阵指数函数建立映射关系,不过该映射不是一一映射,即存在若干个旋转向量对应一个旋转矩阵,任何一个旋转矩阵都可以找到若干个旋转向量与之对应,但是只要把旋转角度限制在一个圆周内,则为一一映射。矩阵指数函数可以按照矩阵级数展开,而凯莱-哈密顿定理告诉我们可以把该矩阵级数化为有限项的线性组合,于是有了罗德里格斯公式。这就是一个典型的李群SO(3)及其对应的李代数so(3)的实例,且李群的自由度与其对应的李代数具有相同的自由度。李群SO(3)叫三维旋转群,李代数so(3)为其对应的正切向量空间,它们之间满足微分方程,该微分方程差分化后用于计算机迭代求解。


    从使用角度看,机器视觉里面用到的李代数与李群,归根结底就是罗德里格斯公式,用旋转向量来表示三维旋转。开源库sophus里的api基本上就是四元数、旋转向量和旋转矩阵的相互转化和对点施行变换的功能。


    除此之外,还有凯莱公式(Cayley formula)可以将旋转向量转化为旋转矩阵,该公式也有说是欧拉发现的:


    其中A为旋转向量对应的反对称阵。

    值得一提的是,同一个旋转向量用凯莱公式和罗德里格斯公式转化得到的旋转矩阵通常并不相等,但都是旋转矩阵。凯莱公式还可以化简为:


    其中


    凯莱公式的逆变换为:


    或者



    使用凯莱公式计算旋转矩阵,计算量会比罗德里格斯公式小很多。

    参考:http://researchopen.lsbu.ac.uk/92/1/CayleyMap(corrected).pdf



    小例子:

    https://github.com/jah10527/rot3d







    展开全文
  • 计算机视觉问题总结

    2020-04-25 18:27:15
    答:必须是,应该现在的计算机视觉基本都是搞计算机的人在做,还有就是一些做自动化的也在做,计算机视觉在国内最厉害的就是中科院的自动化所。 实际上,还有个微软亚洲研究院实力貌似也不比自动化所低,...
  • 本文原文链接:计算机视觉毕业后找不到工作怎么办?,来自知乎上的同名问题,原文链接: https://www.zhihu.com/question/335451320 对几个优秀的回答进行了整理,解释权归答主所有,如有侵权请联系删除,以下观点并...
  • 文章目录李群与李代数大全(1) 在计算机视觉应用详细描述为什么说李群可以使用在机器人学和计算机视觉中三维欧氏空间向量叉积(Cross product)叉积例子(右手定则,Right-hand rule)反对称矩阵刚体运动刚体运动或...
  • 李代数与计算机视觉

    热门讨论 2020-07-30 18:47:29
    计算机多视角几何中经常看到李代数,指数映射之类的,和我们经常使用的旋转矩阵R不一样,这两个文档很好的说明了他们之间的关系,也可以翻看我的博文讲解http://blog.csdn.net/heyijia0327/article/details/50446140...
  • 来源 · 计算机视觉life 编辑 · Tony     很多刚刚接触SLAM的小伙伴在看到李群和李代数这部分的时候,都有点蒙蒙哒,感觉突然到了另外一个世界,很多都不自觉的跳过了,但是这里必须强调一点,这部分在后续...
  • 视觉slam十四讲学习笔记——第四章 李群与李代数4.1 李群李代数基础4.1.1 群4.2.2 李代数的引出4.1.3 李代数的定义4.1.4 李代数 $\mathfrak{so}(3)$4.1.5 李代数 $\mathfrak{se}(3)$4.2 指数与对数映射4.2.1 $SO(3)$...
  • 计算机视觉的数学基础

    千次阅读 2013-08-11 20:17:59
    读后加深理解计算机视觉的数学需求,比我们想象的博大的多。  这是转载过来的一篇心得(MIT的林达华博士应该是主要撰写人),对机器视觉给出了很好的建议。不过需要提醒初学者的是:不一定要全部掌握了这些...
  • 和机器学习和计算机视觉相关的数学之一 (以下转自一位MIT牛人的空间文章,写得很实际:) 作者:Dahua 感觉数学似乎总是不够的。这些日子为了解决research中的一些问题,又在图书馆捧起了数学的教科书。从...
  • 机器学习和计算机视觉都是很多种数学的交汇场。看着不同的理论体系的交汇,对于一个researcher来说,往往是非常exciting的enjoyable的事情。不过,这也代表着要充分了解这个领域并且取得有意义的进展是很艰苦的。 ...
1 2 3 4 5 ... 20
收藏数 505
精华内容 202
关键字:

李群 计算机视觉