关于对SLAM(视觉)的学习
关于对SLAM(视觉)的学习
视觉slam是由搭载传感器的可移动物体,在不知道环境任何信息的情况下,在运动过程中建立环境模型。(同时估计自己的运动)
SLAM解决的是机器关于自身的定位和地图的构建,要求传感器需要以一定形式来观察外部世界(同时传感器还要能估计自己的位置)
我们根据多张连续运动的图像(采用RGB相机和深度学习相机)来推断相机的运动,构建环境的三维地图。
slam的应用点,机器人在室内工作时需要知道室内的情况,无人机,自动驾驶汽车,虚拟现实和增强现实。
slam需要几何学,数学理论,编程语言(C++,Python)
以下对环节的排序并不是slam运行时的先后顺序
slam环节 1:视觉里程计:根据拍摄的图像估计相机的运动
slam 环节2:后端优化:由于前端在拍摄的时候误差在不断积累,为了降低误差,便进行后端优化,来降低各部分的误差
slam环节3: 根据传递的数据来构造三维地图
slam环节4: 回环检测:在传感器移动过程中,位姿往往是由上一帧的位姿来估计的,但这样会导致误差一帧帧的积累,为了降低误差,我们可以使用前面的某一帧的位姿来确定这一帧的位姿,而不是前一帧(例如使用第五帧的位姿来估计第十帧的位姿)找到能使误差最小化的某一帧即是回环检测的最终目的。(打这篇博客的时候我还没怎么看第二讲,以上都是百度的,但当我看了第二讲以后,发现与我所百度到的有点不一样,不过到时候学了具体操作估计就知道了,说不定只是表述方式不一样)
接下来是对课后习题的解答
有线性方程Ax=b,需要求解如何求解? 该问题可以用线性代数的方法来求解,将A,x,b看成三个向量组,设矩阵A的列数为n,当|b|=0时,若R(A)=n,则该矩阵满秩,x只唯一解,当R(A)<n时x有无数多解。否则,若R(A,b)>R(A),则x无解,R(A,b)=R(A)=n,则该矩阵满秩,x有且只有唯一解。当R(A,b)=R(A)<n时,x有无数解只可求出他的基础解系。
如何在Ubuntu系统中安装软件,这些软件一般安装在哪里? 可以使用sudo apt install + filename 有些或许要使用sudo apt-get + filename 软件一般被安装在 /usr 内部 部分放在 /opt
如果只知道软件的模糊名称可以使用yum list|grep + (该库的名称)(yum需要提前安装)
你知道C++中的类吗?关于STL的一些了解:C++中的类类似C语言的结构,例如将一个学生的名字,学号,成绩这些不同类型的变量分为一类。但是,C语言中的 struct 只能包含变量,而 C++ 中的 class 除了可以包含变量,还可以包含函数display() 是用来处理成员变量的函数(我原本以为display函数是自带的一个函数,可是结果好像是要自己定义写出来,C++库里面没有他,他的作用是输出类的变量) 在C语言中,我们将它放在了 struct Student 外面,它和成员变量是分离的(而在 C++ 中,我们将它放在了 class Student 内部,使它和成员变量聚集在一起,看起来更像一个整体。
结构体和类都可以看做一种由用户自己定义的复杂数据类型,在C语言中可以通过结构体名来定义变量,在 C++ 中可以通过类名来定义变量。不同的是,通过结构体定义出来的变量还是叫变量,而通过类定义出来的变量有了新的名称,叫做对象(Object)。是一个C++语言的标准模板库(C++库的一部分,不用单独安装),该库包含了许多常用的基本数据结构和基本算法。方便程序员对程序进行复用(这点要区分C语言,C语言的精髓是函数,而c++由于STL不是面向对象,并且C++中的类算是对C语言中结构的扩展,所以导致c++中的精髓是类,并且C++对模板支持的很好)
C++11新标准(由于有一些实在触及到我的知识盲点,这里就不做过多介绍,因为我自己都没怎么打过c++/,可能要先打一会c++再来说些新标准比较好):具体参考https://blog.csdn.net/jiange_zh/article/details/79356417(这是给我自己以后留的网页)
对高斯分布的了解: 一维形式即经常所见的正态分布,
(这张是图片,自己打不太美观,exp(n)=e^n;) ;该函数在计算误差中非常有用,正态分布的值或期望值
等于位置参数,决定了分布的位置;其方差
的开平方或标准差[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XUcZJr6V-1575084441562)(https://wikimedia.org/api/rest_v1/media/math/render/svg/59f59b7c3e6fdb1d0365a494b81fb9a696138c36)]等于尺度参数,决定了分布的幅度。(百度到的,再我自己解释一遍,u代表那输入一堆数据的平均值,之所以称它为位置参数,是因为它描述正态分布的集中趋势位置。而超过一维形式的高斯分布一般称其为概率密度函数 多维高斯分布一般用协方差矩阵表示(我真的没完全看懂,容许我现在先附上百度到的理论,以后再回来看)
协方差矩阵可用来表示多维随机变量的概率密度
为例,由于
引入矩阵
,
及
的协方差矩阵
(协方差矩阵的计算方法是先求出矩阵每个维度的平均值,再将每个维度上的所有元素减去其对应的平均值,最后得到的新矩阵再乘上他的转置矩阵乘上他的行数-1的倒数
3. 求解协方差矩阵的步骤
举个例子,矩阵 X 按行排列:
1. 求每个维度的平均值
2. 将 X 的每一列减去平均值
其中:
3. 计算协方差矩阵
Linux的目录结构是什么样的:(根据百度查找)1. /usr/local 是存放新安装的软件的目录 2. /bin 存放普通用户可以执行的命令,3./boot 存放Linux系统启动时所需使用的文件 4. /mnt 目录中的子目录作为系统中可移动存储设备的挂载点。5. /tmp系统临时目录,很多命令程序在该目录中存放临时使用的文件。 6./usr 目录用于存放大量的系统应用文件。7 /var 目录用于存放系统中经常变化的文件(文件,日志) 8. /dev 目录用于存放系统中的所有设备文件,光盘驱动器,硬盘。 9 /etc 目录用于存放系统中的配置文件,Linux中的配置文件都是文本文件,可以用nano编辑器去编辑。
Ubuntu系统的基本命令:clear :清屏
pwd :显示当前路径
cd :进入文件夹或目录
mv :移动文件,更改文件名
cp :复制文件(cp+文件路径)
mkdir:创建文件夹
rmdir :删除空的文件夹
rm :删除文件及文件夹(可以删除非空的),需要确认(比较繁琐)
rm -rf:删除当前目录下的所有文件及目录,无需逐一确认命令行为。
gedit : 创建文件(gedit + 文件名 .文件格式)
tat xvf :解压文件(tat xvf 文件名.文件格式)
“./":运行文件 (./ 文件名.文件格式)
sudo ./: 以管理员的方式运行文件
ls :列出当前目录下的所有的文件及文件夹 显示文件会带有不同的颜色 :白色代表普通文件, 蓝色代表目录,绿色代表可执行文件, 红色:压缩文件。浅蓝色:链接文件。黄色:设备文件。灰色:其他文件。
cat命令的主要作用是显示一个文件的内容(详细请参考https://www.jb51.net/LINUXjishu/457348.html,允许我偷个懒)。
ls :列出当前目录下的所有的文件及文件夹 显示文件会带有不同的颜色 :白色代表普通文件, 蓝色代表目录,绿色代表可执行文件, 红色:压缩文件。浅蓝色:链接文件。黄色:设备文件。灰色:其他文件。
cat命令的主要作用是显示一个文件的内容(详细请参考https://www.jb51.net/LINUXjishu/457348.html,允许我偷个懒)。
关于对SLAM(视觉)的学习相关推荐
- 1000人证明过的3D视觉系统学习教程
写在前面 我们在「3D视觉从入门到精通」星球里已经为大家梳理了以下一些内容: (一) 3D视觉学习路线 (二)线上视频课程 (三)3D视觉顶会|期刊 (四)精华github资源 (五)往期帖子与问答汇 ...
- 48本3D视觉领域学习书籍,请自取
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 一.机器视觉 机器视觉(Robot Vision,伯特霍尔德·霍恩) 视觉测量(张广军) 机器视觉算法 ...
- SLAM | 视觉SLAM中特征点法与直接法结合:SVO
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前面的话 VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息对相机进行定位并同时构建周围环境地图 ...
- SLAM求职和学习经验
SLAM求职和学习经验 SLAM要不要学? 行业融资健康 SLAM算法岗20 - 40 k 导师影响力 ---- 无 团队 ----- 无团队 不要自己一个热闭门造车 毕业要求 发论文要求高 个人兴趣 ...
- 吐血整理|3D视觉系统化学习路线
原文首发于微信公众号「3D视觉工坊」:吐血整理|3D视觉系统化学习路线 我们生活在三维空间中,如何智能地感知和探索外部环境一直是个热点难题.2D视觉技术借助强大的计算机视觉和深度学习算法取得了超越人类 ...
- 3D视觉的学习路线都在这里了~
前言 很多粉丝在公众号后台留言,不知如何入门3D视觉.3D领域的主线是什么,一些难点该如何解决,有哪些方法,导师新开的3D视觉方向无人指导等等.这些痛点,工坊的许多童鞋都踩过坑,也为大家提出了许多非常 ...
- 汇总|3D视觉系统学习资料下载
微信公众号推荐 关注公众号 后台回复 3D视觉 即可下载 3D视觉相关资料干货,涉及相机标定. 三维重建.立体视觉.SLAM.深度学习.点云后处理.多视图几何等方向 [3D视觉工坊简介] 公众号[3 ...
- SLAM与深度学习融合的研究现状总结
深度学习结合SLAM 语义slam 语义分割 端到端SLAM CNN-SLAM DenseSLAM orbslam2 + ssd LSD-SLAM + CNN SemanticFusion Mask ...
- ViT作者、谷歌大脑研究员翟晓华:大规模视觉表征学习
智源导读:从2020年,Transformer开始在CV领域大放异彩.ViT(Vision Transformer)是Google在2020年提出的直接将transformer应用在图像分类的模型,后 ...
最新文章
- python画曲线图例-如何使用python画曲线图
- 后盾网lavarel视频项目---模型一对多关联简单实例
- 计算机基础知识预备知识,计算机预备知识详解.ppt
- CentOS x64 安装gcc
- 苹果WWDC 2019日期曝光 iOS 13也即将到来!
- 中小企业 IT 运维福利:快速构建 on-call 机制
- python基础(16):学生信息管理系统——Python编写(附全部代码)
- 几个轻巧好用的代码检查工具!
- plc secs通讯协议_一种SECS/GEM通讯方法与流程
- python大数据工程师薪资待遇_2019年就业薪资,凭什么大数据工程师遥遥领先?...
- 手把手QQ机器人制作教程,根据官方接口进行开发,基于Python语言制作的详细教程(更新中)
- 世界上最经典的二十四句草根哲理
- 用计算机探索规律有什么知识点5上,用计算器探索规律知识点
- 数据结构考试的一些选择题
- airpods版本号_苹果更新 AirPods Pro 固件
- 诗:《假如生活欺骗了你》
- 大数据和云计算技术周报(第88期)
- 吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例
- 欣瑞达TFT串口屏开发资料
- unity开发游戏开场问答系统(梦幻模拟战手游)
热门文章
- 使用Navicat打开加密SQLite数据库
- 2020年9月26日 阵雨转晴
- 双十一投影仪怎么买?极米、当贝、坚果、米家投影2000~3000元有什么推荐?
- 为什么中国的程序员总被称为码农?
- Unity实现 双指触摸放大缩小镜头 单指平移镜头
- Ubuntu22.10 安装微信方法
- 有或没有Apple Watch情况下远程控制iPhone相机
- TCP协议(二) 重传 乱序和丢包
- 8、统一处理异常(控制器通知@ControllerAdvice全局配置类、@ExceptionHandler统一处理异常)
- linux命令查硬盘wwn,如何查看linux/unix查看wwn号