当前位置: 首页 > news >正文

视觉SLAM十四讲ch7-1视觉里程计笔记

视觉SLAM十四讲ch7-1 视觉里程计笔记

  • 本讲目标
  • 从本讲开始,开始介绍SLAM系统的重要算法
  • 特征点法
    • ORB特征
    • BRIEF
  • 实践特征提取与匹配
  • 2D-2D:对极几何
    • 八点法求E
    • 八点法的讨论
    • 从单应矩阵恢复R,t
  • 小结
  • 三角化![在这里插入图片描述](https://img-blog.csdnimg.cn/e05a6e2a754e41d2a2d7dd2fff796285.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/5f0f4cf1e1b943af93f2b043bc871e08.png)
  • 实践:对极约束求解相机运动

本讲目标

  • 理解图像特征点的意义,并掌握在单幅图像中提取出特征点,及多幅图像中匹配特征点的方法。
  • 理解对极几何的原理,利用对极几何的约束,恢复出图像之间的摄像机的三维运动。
  • 理解PNP问题,及利用已知三维结构与图像的对应关系,求解摄像机的三维运动。
  • 理解ICP问题,及利用点云的匹配关系,求解摄像机的三维运动。
  • 理解如何通过三角化,获得二维图像上对应点的三维结构。

从本讲开始,开始介绍SLAM系统的重要算法

  • 视觉里程计:特征点法和直接法
  • 后端优化
  • 回环检测
  • 地图构建

特征点法

在这里插入图片描述

在这里插入图片描述

ORB特征

在这里插入图片描述

BRIEF

在这里插入图片描述
在这里插入图片描述

实践特征提取与匹配

在这里插入图片描述

2D-2D:对极几何

在这里插入图片描述
在这里插入图片描述
P是1坐标系下的坐标,变成2摄像头的坐标需要进行旋转和平移。
归一化:把K换到左边变为逆,x1=P
在这里插入图片描述
E:本质矩阵,F:基本矩阵
t平移项三自由度,R旋转矩阵也是三自由度,t^R就是六自由度,但是由于乘任意非零常数依然满足,需要去掉一个自由度,E就是五自由度。意思:最少用五对点把E算出来,五点法。但是有点麻烦,因为有乘法,需要用到非线性的性质,于是就把E当成3×3普通矩阵,有9个自由度,减去一个非零常数自由度,就变成八个自由度。最少用八个点把E求出来。

八点法求E

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八点法的讨论

  • 用于单目SLAM的初始化
  • 尺度不确定性:归一化t或特征点的平均深度
  • 纯旋转问题:t=0时无法求解
  • 多于八对点时:最小二乘或RANSAC

从单应矩阵恢复R,t

在这里插入图片描述
退化:意味着求解不对,求出来的e=[e1,e2,e3,e4,e5,e6,e7.e8.e9]是高维空间,不是一 维空间
于是就规定单应矩阵,特征点都在一个平面上,法线是n,截距为d。
先通过p1和p2把H算出来,再把R和t算出来。
在这里插入图片描述

小结

  • 2D-2D情况下,只知道图像坐标之间的对应关系
    • 当特征点在平面上时(例如俯视或仰视),使用H恢复R,t
    • 否则,使用E或F恢复R,t
  • 求得R,t后:
    • 利用三角法计算特征点的3D位置(即深度)(三角法在7.5)

三角化在这里插入图片描述在这里插入图片描述

在这里插入图片描述

实践:对极约束求解相机运动

http://www.lryc.cn/news/32992.html

相关文章:

  • 模仿评论样式
  • xxl-job调度中心、执行器源码详解
  • cpp c++summary笔记 复杂类型 “right-left” rule
  • bash编程(马哥)
  • 搭建Gerrit环境Ubuntu
  • 朋友去华为面试,轻松拿到26K的Offer,羡慕了......
  • springboot项目如何配置启动端口
  • IOS - 抓包通杀篇
  • 盒子模型的简介
  • Kubernetes 101,第二部分,pod
  • protobuf序列化解码原理
  • OpenCV——line、circle、rectangle、ellipse、polylines函数的使用和绘制文本putText函数以及绘制中文的方法。
  • 性能平台数据提速之路
  • Dns域名解析服务器
  • 关于 JavaScript 中的 Promises
  • PMP考前冲刺题——错题集
  • 【C++】30h速成C++从入门到精通(多态)
  • 从proc文件系统中获取gateway的IP地址
  • 【LeetCode】剑指 Offer(17)
  • MySQL索引类型
  • 你了解HashMap吗?
  • 我一个女孩子居然做了十年硬件……
  • 【Linux】编译器gcc g++和调试器gdb的使用
  • 高效能自动化港口数字化码头智慧港航,中国人工智能企业CIMCAI世界港航人工智能领军者,成熟港口码头人工智能产品中国人工智能企业
  • HTTP协议(一)
  • 计算神经网络参数量Params、计算量FLOPs(亲测有效的3种方法)
  • sizeof与一维数组和二维数组
  • Spark UI
  • windows应用(vc++2022)MFC基础到实战(2)
  • 记一次反射型XSS