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

news2025/8/6 2:01:03

视觉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.coloradmin.cn/o/394237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络割接概述

网络割接概述割接背景企业网络的变化割接概述割接难点割接的操作流程情景模拟及解决方案常见的割接场景割接背景 随着企业业务的不断发展,企业网络为了适应业务的需求不断的改造和优化。无论是硬件的扩容、软件的升级、配置的变更,凡是影响现网运行业务…

转速/线速度/角速度计算FC

工业应用中很多设备控制离不开转速、线速度的计算,这篇博客给大家汇总整理。张力控制的开环闭环方法中也离不开转速和线速度的计算,详细内容请参看下面的文章链接: PLC张力控制(开环闭环算法分析)_plc的收卷张力控制系统_RXXW_Dor的博客-CSDN博客里工业控制张力控制无处不…

十四届蓝桥选拔赛Scratch-2023.01.15 试题解析

十四届蓝桥选拔赛Scratch-2023.01.15 试题解析 单选题: 1. 运行以下程序,当角色被点击时会出现什么效果?( C ) *选择题严禁使用程序验证,选择题不答和答错不扣分 A. 小猫说:“你好&#xff01…

前端脚手架搭建(part4)动态插入

例如控制模板的name、选择使用的插件,动态插入之前vue模板是有选择是否使用pinia、unocss,通过用户的选择,在项目中动态配置插件需要用到ejs读取模板,然后动态修改npm install ejs在libs/utils/index.js添加ejs模板的操作函数impo…

IOS - 抓包通杀篇

IOS中大多数情况,开发者都会使用OC提供的api函数,CFNetworkCopySystemProxySettings来进行代理检测; CFNetworkCopySystemProxySettings 检测函数直接会检测这些ip和端口等: 采用直接附加页面进程: frida -UF -l 通…

04 | 在OAuth 2.0中,如何使用JWT结构化令牌? 笔记

04 | 在OAuth 2.0中,如何使用JWT结构化令牌? JWT 结构化令牌 JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地…

28个案例问题分析---10---对生产环境的敬畏--生产环境

一:背景介绍 1:上午9:23,老师没有进行上课,但是却又很多的在线人员,并且在线人员的时间也不正确。 2:开发人员及时练习用户,查看用户上课情况。 3:10点整,询问项目组长发…

BFD配置实验

BFD配置实验拓扑图静态路由联动BFDOSPF联动BFD拓扑图 其中地址各自配置自己的loopback接口,然后接口地址按照AB.1.1.X进行配置。 静态路由联动BFD AR1: [Huawei]bfd [Huawei]bfd 1 bind peer-ip 12.1.1.2 source-ip 12.1.1.1 auto [Huawei]ip route-st…

【强化学习】一文读懂,on-policy和off-policy

一文读懂,on-policy和off-policy 我来谈一下我的理解,不一定对。本文以 Sarsa 和 Q-learning 为例 Sarsa:on-policyQ-learning:off-policy 1. 什么是on-policy和off-policy? 我们有两个策略:行动策略和目标策略 on-policy: 行…

【python】为你绘制玫瑰一束,爱意永存

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 若是有真情,爱意如溪水, 若是有真爱,爱意如阳光, 若是两情相悦,又岂在朝朝暮暮, 女子淡淡的情愫,深深地想念, 浓浓的爱意&a…

Linux :理解编译的四个阶段

目录一、了解编译二、认识编译的四个阶段(一)预处理(二)编译(三)汇编(四)链接1.静态链接2.动态链接三、分步编译(一)创建.c文件(二)预…

【项目】Java树形结构集合分页,java对list集合进行分页

Java树形结构集合分页需求难点实现第一步:查出所有树形集合数据 (需进行缓存处理)selectTree 方法步骤:TreeUtil类:第二步:分页 GoodsCategoryController分页getGoodsCategoryTree方法步骤:第三…

MySQL数据库基本操作-DQL

概念 数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。 MySQL提供了功能强大、灵活的语句来实现这些操作。 MySQL数据库使用select语句来查询数据 语…

ansible组件介绍和简单playbook测试

一、ansible inventory 在大规模的配置管理工作中,管理不同业务的机器,机器的信息都存放在ansible的inventory组件里面。在工作中,配置部署针对的主机必须先存放在Inventory里面,然后ansible才能对它进行操作。默认的Ansible的in…

docker常用命令,基于linux+centos7

启动docker systemctl start docker 重启docker systemctl restart docker docker自启动 systemctl enable docker 查看所有docker,包括正在运行的和关闭的 docker ps -a 查看正在运行的docker docker ps 停止正在运行的docker。通过id或者docker名称 do…

Ceph介绍

分布式存储概述 常用的存储可以分为DAS、NAS和SAN三类 DAS:直接连接存储,是指通过SCSI接口或FC接口直接连接到一台计算机上,常见的就是服务器的硬盘NAS:网络附加存储,是指将存储设备通过标准的网络拓扑结构&#xff…

client打包升级

目录 前言 一、client如何打包升级? 二、使用步骤 1.先进行改版本 2.执行打包升级命令 总结 前言 本文章主要记录一下,日常开发中,常需要进行打包升级的步骤。 一、client如何打包升级? # 升级发布版本 ## 修改版本 * 父p…

链表经典面试题【典中典】

💯💯💯链表经典面试题❗❗❗炒鸡经典,本篇带有图文解析,建议动手刷几遍。🟥1.反转链表🟧2.合并两个有序链表🟨3.链表分割🟩4.链表的回文结构🟦5.相交链表&…

74. ‘pip‘不是内部或外部命令,也不是可运行的程序-解决办法

74. pip’不是内部或外部命令,也不是可运行的程序-解决办法 文章目录74. pip不是内部或外部命令,也不是可运行的程序-解决办法1. 课题导入2. 手动配置环境变量1. 准备工作2. 配置步骤3. 命令行安装1. 课题导入 有的同学在使用pip安装第三方库时&#xf…

elasticsearch 分布式搜索引擎1

1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案 在…