slam14讲证明构成李代数】的更多相关文章

参考:视觉SLAM十四讲(第一章作业) 深蓝上高博的第一讲课后题: 题目:6 * 使用摄像头或视频运行 ORB-SLAM2(3 分,约 1 小时)请注意本题为附加题.了解⼀样东西最快的⽅式是⾃⼰上⼿使⽤它,不要担⼼弄坏你的笔记本,⼤部分时候它都是你可靠的伙伴.这个作业中,我将指导你⽤⾃⼰的笔记本摄像头读取到的图像,来运⾏ ORB-SLAM2,看看它能不能实际⼯作.你也可以外接⼀个 usb 摄像头,这会让你的⼿更加灵活⼀些(不⽤费⼒端着笔记本到处跑).或者,如果你的电脑碰巧没有摄像头/摄像头故障了…
答案: Q1:验证SO(3) SE(3) Sim(3)关于乘法成群 SO(3) : 由P64最开始可知,乘法代表了旋转,而SO(3)是旋转矩阵的集合, SE(3)  Sim(3)  同理(最基础的部分还是旋转,平移和缩放只是附加的) Q2:验证(R3, R, X)构成李代数 满足李代数定义的四条性质: 封闭性:对于任意的三维向量X Y,他们的内积仍然是三维向量 双线性:显然可得 自反性:sin(0°) = 0 雅克比等价: 只可以举一个特殊的例子,在笛卡尔坐标系下考虑就是三个零相加  待大神补充…
1.验证旋转矩阵是正交矩阵 感觉下面这篇博客写的不错 http://www.cnblogs.com/caster99/p/4703033.html 总结一下:旋转矩阵是一个完美的矩阵——正交矩阵.①行列式为1,②每个列向量都是单位向量且相互正交,③它的逆等于它的转置. 2.罗德里格斯公式的简单推导 http://blog.sina.com.cn/s/blog_ea828d2a0102wlk6.html 罗德里格斯旋转公式是通过反对称矩阵求旋转矩阵的方法,起初我在看别人写的姿态解算分析文章里看到,…
一.环境配置,基本库的安装 1.Eigen库 apt-get 安装 2.sophus库 apt-get 安装 3.pcl 点云库 (1)官方预编译版本 sudo apt-get install libpcl-dev 卸载 sudo apt-get remove install libpcl-dev (2)源文件编译)(耗时很长) 安装一堆依赖库 git clone cmake .. make install 4.kDevelop 打开工程 build debug(launch configura…
目录 第1讲 前言:本书讲什么:如何使用本书: 第2讲 初始SLAM:引子-小萝卜的例子:经典视觉SLAM框架:SLAM问题的数学表述:实践-编程基础: 第3讲 三维空间刚体运动 旋转矩阵:实践-Eigen:旋转向量和欧拉角:四元数:相似.仿射.射影变换:实践-Eigen几何模块:可视化演示: 第4讲 李群与李代数 李群李代数基础:指数与对数映射:李代数求导与扰动模型:实践-Sophus:相似变换群与李代数:小结: 第5讲 相机与图像 相机模型:图像:实践-图像的存取与访问:实践-拼接点云: 第…
这是高博<视觉SLAM14讲,从理论到实践>第4章的练习.加了一些注释和理解: #include <iostream>#include <cmath>using namespace std; #include <Eigen/Core>#include <Eigen/Geometry> #include "sophus/so3.h"#include "sophus/se3.h" int main( int a…
前言 本节我们将深入介绍视觉slam中的主流优化方法——图优化(graph-based optimization).下一节中,介绍一下非常流行的图优化库:g2o. 关于g2o,我13年写过一个文档,然而随着自己理解的加深,越发感觉不满意.本着对读者更负责任的精神,本文给大家重新讲一遍图优化和g2o.除了这篇文档,读者还可以找到一篇关于图优化的博客: http://blog.csdn.net/heyijia0327 那篇文章有作者介绍的一个简单案例,而本文则更注重对图优化和g2o的理解与评注. 本…
20190429 10:31 之前安装了g2opy,g2o也一直没好好学,跑通了slam14讲第13章的单目稠密重建.想要改写成 python版,开始仔细研究g2opy的用法.…
嗯 这个方法我暂时弄不出来,用了另外一个方法:SLAM14讲 第一次课 使用摄像头或视频运行 ORB-SLAM2 前面的准备: Ubuntu14.04安装 ROS 安装步骤和问题总结 Ubuntu14.04+ROS 启动本地摄像头 http://www.liuxiao.org/2016/07/ubuntu-orb-slam2-%E5%9C%A8-ros-%E4%B8%8A%E7%BC%96%E8%AF%91%E8%B0%83%E8%AF%95/ STEP1:第一个终端 roscore STEP2…
本文是在Ubuntu16.04下安装PCL. 按照官网的教程,有两种方法可以安装: 1.直接安装预先编译好的二进制库文件 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt-get update sudo apt-get install libpcl-all update的时候总会提示Some index files failed to download. install的时候就会提示Unable…
上一篇文章<从零开始一起学习SLAM | 为啥需要李群与李代数?>以小白和师兄的对话展开,受到了很多读者的好评.本文继续采用对话的方式来学习一下相机成像模型,这个是SLAM中极其重要的内容,必须得掌握哦~ 小白:师兄,上次听你讲了李群李代数,有种“听君一席话胜读十年书”的赶脚~后来看书感觉容易理解多了呢!师兄:是吗?那太好啦,给你讲的过程也加深了我的理解呢小白:那师兄今天要不要继续加深理解一下相机成像模型 的部分呢?师兄:额..好啊(感觉被套路了,不过想想上次小白师妹请客吃了烧烤呢)小白:讲完…
最近在学习slam14讲,需要配置一些环境<视觉slam十四讲> 这本书中已经给出如何配置相关环境的比较详细的说明,但是有些环境并无卵用,比如OpenCV以及PCL 这里给出自己屡试不爽的配置OpenCV3.2以及PCL1.8的相关的教程 实际上在配置的时候,还是会出现一些问题,尤其是在安装conda的时候,编译python接口总会存在各种各样的问题所以不建议在安装conda上的机器上配置,一般我遇到bug的时候就直接重新安装机器了 1. 安装Opencv3.2 安装OpenCV3.2的教程主…
必修1 (已看) 第一章 集合与函数概念 1.1 集合 1.2 函数及其表示 1.3 函数的基本性质 第二章 基本初等函数(1) 2.1 指数函数 2.2 对数函数 2.3 幂函数 第三章 函数的应用 3.1 函数与方程 3.2 函数模型及其应用 必修2 (已看) 第一章 空间几何体 1.1 空间几何体的结构 1.2 空间几何体的三视图和直观图 1.3 空间几何体的表面积与体积 第二章 点,直线,平面之间的位置关系 2.1 空间点,直线,平面之间的位置关系 2.2 直线,平面平行的判定及其性质…
Description W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,-In}.实验Ej需要用到的仪器是I的子集Rj.配置仪器Ik的费用为ck美元.实验Ej的赞助商已同意为该实验结果支付pj美元.W教授的任务是找出一个有效算法,确定在一次太空飞行中要进行哪些实验并因此而配置哪些仪器才能使太空飞行的净收益最大.这里净收益是指进行实验所…
Q1 下列软件包有未满足的依赖关系:   libtiff4-dev : 依赖: libjpeg-dev  E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系. 上网查了下主要是因为版本的问题. 安装新的时必然要卸载旧的,但卸载的时候可能安装下一个包又需要这个包,所以产生了依赖(个人理解,不知到对了没) 纠结了很久突然发现每次出现这个问题的时候,都是在同时安装很多包的情况下发生的,如这一次的安装命令是 sudo apt-get install build-essen…
Self-Normalizing Neural Networks ,长达93页的附录足以成为吸睛的地方(给人感觉很厉害), 此paper提出了新的激活函数,称之为 SELUs ,其具有normalization的功能. 给人感觉只是在全连接层有效果,在CNN和RNN中貌似没有提及有效果 Abstract: CNN在视觉的多个领域有很好的表现,然而 feed-forward neural networks(FNNs) (wiki上解释就是传统的前向传播网络)不能提取many levels of a…
考的这么差二试基本不用去了 不想说什么了.就把这几天听课乱记的东西丢上来吧 这里是二试乱听课笔记ZJOI2019Round#2 ZJOI Round#1 Day1 M.<具体数学>选讲 罗煜翔-宁波市镇海中学 上升/下降阶乘幂 差分和和式 差分类似求导:和式类似积分 下降幂多项式与下降幂级数 考虑如何计算两个下降幂多项式的乘积 如何处理下降幂多项式的点值? 下降幂级数在自然数处收敛,在其他数位置基本不收敛 点值的数量大概是阶乘级别的,考虑点值的指数生成函数 那么我们选取自然数生成点值.关于点值…
Q: 平时都是用git clone这个命令从github中克隆出完整的文件,但有时我们仅需要其中某个文件夹时,该如何下载? A: 可以使用svn命令来完成. 具体用法:(以视觉slam14讲的github为例    https://github.com/gaoxiang12/slambook) 假设我们需要下载ch5/joinMap/depth这个文件夹,只需找到该文件夹的url:   https://github.com/gaoxiang12/slambook/tree/master/ch5/…
本系列随笔将结合 OpenCV 的 CMakeLists.txt 来讲解 cmake 的语法. 这一节,主要介绍一下cmake语法的基本语法. cmake语法的基本语法 # 执行 cmake . # 表示在当前目录下执行 cmake cmake .. # 表示在前一级目录下执行 cmake make # 在当前目录下执行 make # 语法 #1 设置 cmake 版本需求 cmake_minimum_required(VERSION 2.8) #2 设置工程名 project( 工程名 ) #…
下面是slam14讲公式5.7 $Z\left(\begin{array}{l}{u} \\ {v} \\ {1}\end{array}\right)=\left(\begin{array}{ccc}{f_{x}} & {0} & {c_{x}} \\ {0} & {f_{y}} & {c_{y}} \\ {0} & {0} & {1}\end{array}\right)\left(\begin{array}{l}{X} \\ {Y} \\ {Z}\end{…
2019年7月9日14:31:13 完成了一个简单的小例子,python生成点云数据,利用pybind11传给PCL显示. ubuntu 16.04 + Anaconda3  python3.6 + PCL 1.8 + pybind11 代码: https://github.com/necroen/py_pcd_visualization 效果图如下: 搞深度估计,一直需要点云库PCL的python接口,未来还需要用到PCL中的某些功能. 然而好像没有什么资料和例子. github上也只有一个看…
为何初始化外参 当外参完全不知道的时候,VINS也可以在线对其进行估计(rotation),先在processImage内进行初步估计,然后在后续优化时,会在optimize函数中再次优化. 如何初始化外参 外参校准函数为: if(ESTIMATE_EXTRINSIC == 2) { ROS_INFO("calibrating extrinsic par am, rotation movement is needed"); if (frame_count != 0) { vector&…
本文综合了几个相关的维基百科,加了点自己的理解,从比较基础的向量投影和叉积讲起,推导出罗德里格斯旋转公式.公式比较繁杂,如有错误,欢迎评论区指出. 对于向量的三维旋转问题,给定旋转轴和旋转角度,用罗德里格斯(Rodrigues)旋转公式可以得出旋转后的向量.另外,罗德里格斯旋转公式可以用旋转矩阵表示,即将三维旋转的轴-角(axis-angle)表示转变为旋转矩阵表示. 向量投影(Vector projection) 向量a在非零向量b上的向量投影指的是a在平行于向量b的直线上的正交投影.结果是一…
主要讲证明,流程倒是也有 然后发现自己并不会严谨证明 其实后面一些部分流程还是挺详细 本来这篇blog叫做"图论部分算法证明",然后发现OI中的图论想完全用数学上的方法证明完全超出我能力范围 而且只写了一个 tarjan 相关的内容长度就爆了,所以别的算法就令开blog吧 各个用途的模板代码可能细节上稍有不同(比如无向图中节点与父亲的连边到底算不算的回边),也可能是我理解没有透彻,所以学的时候看的什么样的代码就写的什么样的 也无所谓,个人感觉我的这些写法在实现和理解上还是比较方便的 懒…
论文摘取 (这部分看的是泡泡机器人的翻译) 基于特征点.单目.完全自动初始化,基于PTAM框架. 相关工作 A.位置识别(大概是用于回环检测) bags of words FAB-map DBOW2 covisibility 信息返回多个假设 B.地图初始化 单目SLAM需要初始化,两种方法:Mono-slam和LSD-slam(逆深度参数) 本文采用基于模型的初始化方法 平面场景:单应性矩阵 非平面场景:基础矩阵 C.单目SLAM 最初:每一帧采用滤波器联合地图特征和相机位姿:处理连续帧图像上…
证明:   设度为1的节点个数为n1,因为二叉树的所有节点的度都小于等于2, 所以n=n0+n1+n2; 又因为二叉树中,除了根节点所有的节点都有一个进入节点的分支,假设B为所有的分支,那么n=B+1;    又因为这些分支都是由度为1和度为2的节点射出,所以B=n1+n2*2; 所以B+1=n0+n1+n2; 所以n0=n2+1;…
视觉SLAM中的数学基础 第三篇 李群与李代数 前言 在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图.为了做这件事,需要对变换矩阵进行插值.求导.迭代等操作.例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵.假设第一组的3D点为$\mathbf{P}=\{ \mathbf{p}_i | i = [1,2, \ldots, N] \}$,第二组3D点为$\mathbf{Q}=\{ \mathbf{q}…
很多刚刚接触SLAM的小伙伴在看到李群和李代数这部分的时候,都有点蒙蒙哒,感觉突然到了另外一个世界,很多都不自觉的跳过了,但是这里必须强调一点,这部分在后续SLAM的学习中其实是非常重要的基础,不信你看看大神们的论文就知道啦. 关于李群李代数,其实高翔的<视觉SLAM十四讲>里推导什么的挺清楚了,本文就在高博的基础上用比较容易理解的语言讲述一下重点. 首先,假装(也可能是真的)自己是个小白,我们假想对面坐了一个大牛师兄,下面我们开启问答模式. 为啥需要李代数? 小白:师兄,我最近在学习SLAM…
在知乎上看到这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错,所以推荐给大家,非常值得一读. 作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/40316953来源:知乎 一.WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HT…