在多视角几何中,特别是在一些恢复相机运动轨迹的模型中,我们需要将相机的旋转和平移表示出来。通常情况下,我们都是在欧几里得空间中用r和t来进行相应的运算得到相机轨迹。然而,在很多论文中,作者们却喜欢用lie algebra se(3)、so(3) 以及 lie group se(3)、so(3) 之类的表示。紧接着,出现了很多术语,比如twist, tangent space,也出现了一些运算,比如exp(),log()之类的,看得我是云里雾里。
自然要问为啥通过指数运算能够把角速度映射到旋转矩阵,它的背后又有什么样的物理意义,这中间是否有一些尽量直观的解释。
本篇博客将从最基础的内容出发,用直观的容易理解的方式对旋转矩阵和李代数之间的关系进行推导,如有错误,请指出,希望共同进步。
预备知识:
在进入正题之前,我们先需要复习下向量叉积(cross product),以及反对称矩阵(skew symmetric matrix),在计算机视觉中最初遇到这些概念应该是在求解本征矩阵时,然而,他们在沟通刚体变换矩阵和李代数之间扮演着十分重要的作用。
至于什么是刚体变换,什么是旋转矩阵,旋转矩阵有哪些性质这些更基础的知识在这里不再一一补充。
下面的内容中,都是基于3维空间,所以没有特别说明时,所说的旋转矩阵都是3*3的,平移向量也是3维的。并且所有向量上带一个帽子的表示的是它的反对称矩阵形式。
旋转矩阵与 so(3):
我们知道对于旋转矩阵,旋转矩阵本身乘以它的转置等于单位矩阵:
上式中的约束表示r是旋转矩阵。由前面的推导公式三知道如果r是单位矩阵,那它的导数就是一个反对称矩阵,所以只有反对称矩阵组成的空间,即 so(3),我们称之为在在单位矩阵处的正切空间tangent space.为什么称为正切呢?回忆二维曲线在某处的导数是一条切线。对于这个三维球面,那么它的导数应该是个切面。如下图所示,图片来源于tangent space 的 wiki:
可是对于那些不是单位矩阵的旋转矩阵r该怎么找在他们位置处的正切空间呢?由公式3我们知道,在反对称矩阵的右边乘以r就能够得到r的导数,所以在非单位矩阵的r处的正切空间就是反对称矩阵乘以r就行了。
指数映射:
回到公式(3),把旋转矩阵r用x替换掉,如下:
刚体变换和se(3):
前面还只说了旋转,实际上刚体变换还有平移。所以,和只有旋转矩阵构成的李群so(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上,供大家下载。
特斯拉召回21599辆国产ModelY汽车
社会上开始出现了对于人工智能的不同看法
CPLD在DSP多分辨率图像采集系统中的应用
无菌动物房改造项目消防应急照明和疏散系统的应用
智能卡安全数据传输的工作过程
对多视觉几何中出现的运算做出分析和解释
5G开放式RAN(ORAN)详解
信步科技SV1-H1126C主板规格英文版
浅析PCB制板残铜率概念及处理方法
基于星宸科技SSD202D,明远智睿推出新品EK096开发板,助力智能网关创新发展
直流电机和交流电机有什么不同
中国成功发射第十一颗北斗导航卫星
华为面向商业市场推出三款产品组合,构建高质量连接
华为计划在英国剑桥建设芯片工厂,转投英国三大因素分析
OptoTest宣布可为光纤制造商提供按订单生产的OP720-Matrix MEMS 3D光交换机
任正非:今天的问题 在十多年前就有预计
基于Lab Windows/CVI7.1综合检测系统
受迫振动自动控制系统的设计与原理分析
什么是弹性云服务器?
美光和联电之间因DRAM的营业秘密纠纷,互相发起多起诉讼