视觉SLAM十四讲:从理论到实践(Chapter7:视觉里程计1)
前言
学习笔记,仅供学习,不做商用,如有侵权,联系我删除即可
一、目标
1.理解图像特征点的意义,并掌握在单幅图像中提取特征点及多幅图像中匹配特征点的方法。
2.理解对极几何的原理,利用对极几何的约束,恢复图像之间的摄像机的三维运动。
3.理解PNP问题,以及利用已知三维结构与图像的对应关系求解摄像机的三维运动。
4.理解ICP问题,以及利用点云的匹配关系求解摄像机的三维运动。
5.理解如何通过三角化获得二维图像上对应点的三维结构。
二、特征点法
视觉里程(Visual Odometry):计算前后两帧位姿的变化量
VO主要有两个大类:特征点法和直接法。
特征点法最大的一个案例就是ORB-SLAM。
2.1 特征点
特征点由关键点(Key-point)和描述子(Descriptor)组成。
2.2 ORB特征
ORB(Oriented FAST and Rotated BRIEF)
关键点:FAST角点




描述子:BRIEF(一种二进制描述子,速度非常快)
2.3 特征匹配
Hamming distance:两个二进制串之间的比较,相同为1,不同为0.
暴力匹配(Brute-Force Matcher):A中的每个特征点依次和B中所有的特征点比较距离,取最近的一个作为匹配点。
加速方法:快速最近邻(FLANN)
2.4 计算相机运动

三、2D-2D:对极几何
对极几何是研究两幅图像之间存在的关系的几何。它与场景结构无关,只依赖于相机的内外参数,可广泛用于图像匹配、三维重建方面。
3.1 对极约束


空间点P的世界坐标:
像素点p1,p2的像素坐标:
,其中:K:内参矩阵,R,t:外参矩阵,s1p1和p1是投影关系,在齐次坐标上是相等的(尺度意义下相等)。
把s除过取,再使用归一化坐标:![]()

基础矩阵F(和内参和外参都有关)和本质矩阵E (只和外参有关,内参已知的情况下)

3.2 本质矩阵

最后可以得到如下方程:

Ax=0可以用SVD方法计算出x的值。
从E中分离出R和t的方法是:
,该方法会有4个可能的解


八点法用于初始换,但有尺度不确定性,而且不能用于纯旋转问题,多于八个点会用最小二乘法或RANSAC算法。
3.3 单应矩阵
平面方程:
于是有:
把中间部分记作H,则有:
H即为单应矩阵。

整理得:
强制令h9=1,可得:
类似于Ax=b的方程,可用SVD分解或者最小二乘法优化算法求解。
四、三角测量

![]()
![]()
R,t已经求解出结果,只有深度未知,求解深度即可
但三角测量的误差与基线长度有关:

相机初始化:
特征点提取 --> 特征匹配 --> 求解E或F --> 根据E或F分解出R,t --> 三角化恢复三维坐标
五、3D-2D:PnP
真实点3D坐标和像素点的2D坐标已知,相机可以通过标定得到内参,进而计算相机位姿R,t的算法。
P3P,DLT,EPnP,UPnP等算法,PnP只是求解出一个初值,后面还需要用光束平差法(Bundle Adjustment, BA)进行优化。
5.1 DLT(直接线性变换)

一个点对可以提供两个方程,DLT有12个未知数,所以至少6个点对就可以求解。
现在最常用的是EPnP
总结
相关文章:
视觉SLAM十四讲:从理论到实践(Chapter7:视觉里程计1)
前言 学习笔记,仅供学习,不做商用,如有侵权,联系我删除即可 一、目标 1.理解图像特征点的意义,并掌握在单幅图像中提取特征点及多幅图像中匹配特征点的方法。 2.理解对极几何的原理,利用对极几何的约束&…...
c++指针的*
1.*运算符 *运算符被称为间接值(indirect value)或者解除引用(dereferencing)运算符 将其应用于指针可以得到该地址处存储的值 由于 * 也有乘法的意思,c通过上下文来确定是乘法还是解除引用 2.如何声明和初始化指针 …...
快团团大团长帮卖团长团长如何获得物流查询码?
一、功能说明 团长可自行生成物流查询码,直接将码发给顾客,顾客扫码可查询自己订单的物流状态! 用户扫码后,会出现用户在该团长处下单的所有快递订单。团员可查看该订单物流信息、进行退款申请,或直接联系团长。 二…...
MySQL(二)基本SQL语句以及基本函数应用
1、基本SQL语句 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 - 函数应用在sql语句中 -- 临时表 select now() from dual;-- 数学函数 二进制 -- 返回x的绝对值 select a…...
fyne apptab布局
fyne apptab布局 AppTabs 容器允许用户在不同的内容面板之间切换。标签要么只是文本,要么是文本和一个图标。建议不要混合一些有图标的标签和一些没有图标的标签。 package mainimport ("fyne.io/fyne/v2/app""fyne.io/fyne/v2/container"//&…...
Python实现定时任务的方式
大家好,在当今数字化的时代,定时任务的需求在各种应用场景中频繁出现。无论是数据的定时更新、周期性的任务执行,还是特定时间点的操作触发,Python 都为我们提供了强大而灵活的手段来实现这些定时任务。当我们深入探索 Python 的世…...
微信小程序-网络数据请求(配置request合法域名)
1.小程序中网络数据请求的限制 出于安全方面的考虑,小程序官方对数据接口的请求做出了如下两个限制: (1)只能请求HTTPS类型的接口 (2)必须将接口的域名添加到信任列表中 如果要请求某个域名下的接口&am…...
栈和队列题目练习
本节小编选了两道题来加深对栈和队列的认识理解! 有效的括号 方法1:直接用栈的结构(动态数组) 本题可以用栈这个结构来解答,将(,{,[ 左括号压入栈中,然后取出栈顶元素与右括号),},]匹配。不匹配的话&…...
【排列问题】
问题: 已知某序列有n个元素,请编写程序打印出包含该序列所有元素的所有排列。 输入要求: 输入第1行为整数n,表示该序列元素的个数;第2行为n个整数,表示需要排列的序列元素。 输出要求:输出若…...
token 无感刷新
什么是 token 无感刷新?为什么需要 token 无感刷新?让我们想象一下有这么个场景:你登录一个系统成功后,玩了 10 分钟,发现登录失效了,又要你重新登录,然后又过 10 分钟,又失效了&…...
Netty SSL双向验证
Netty SSL双向验证 1. 环境说明2. 生成证书2.1. 创建根证书 密钥证书2.2. 生成请求证书密钥2.3. 生成csr请求证书2.4. ca证书对server.csr、client.csr签发生成x509证书2.5. 请求证书PKCS#8编码2.6. 输出文件 3. Java代码3.1. Server端3.2. Client端3.3. 证书存放 4. 运行效果4…...
4.nginx反向代理、负载均衡
nginx反向代理、负载均衡 一、反向代理1、语法2、注意事项3、后端服务器记录客户端真实IP3.1 在nginx反向代理时添加x-real-ip字段3.2 后端httpd修改combined日志格式3.3 后端是nginx的情况 二、负载均衡 upstream模块1、负载均衡作用2、调度算法3、配置应用 一、反向代理 隐藏…...
浅谈申请小程序地理位置权限的正确打开方式
小程序地理位置接口有什么功能? 这篇内容会教大家如何快速申请“获取当前的地理位置(onLocationChange)”接口,以便帮助大家顺利开通接口。以下内容是本人经历了多次的申请经历得出来的经验,来之不易,望大家…...
make modules 和 make modules_install
1. make modules 如:make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- modules 直接make,不加任何参数,就是make all,包含make modules。 make modules是单独编译模块,驱动被配置成M的都是modules,modul…...
docker 安装mysql,redis,rabbitmq
文章目录 docker 安装ngnix,mysql,redis,rabbitmq安装docker1.安装下载docker-ce源命令2.安装docker3.查看版本4.查看docker状态5.启动docker6.测试安装ngnix 安装mysql8.0.361.拉取mysql镜像2.安装mysql8 安装redis1.拉取redis7.0.11镜像2.安装redis3.进入容器内部…...
Windows配置java环境JDK
配置jdk环境非常简单,大概有以下几步: 下载jdk安装,然后双击进行安装配置环境变量(也不是一定非要配置环境变量,配置环境变量的好处就是,在任何位置,系统都可以找到安装路径,非常实用且方便) …...
英伟达驱动重装教程
离线安装NVIDIA驱动程序通常涉及下载驱动程序安装包并手动执行安装步骤。以下是详细步骤: 1. 下载NVIDIA驱动程序 首先,你需要在有网络连接的计算机上下载适合你系统的NVIDIA驱动程序安装包。可以从NVIDIA官方驱动下载页面下载。 选择你的GPU型号和操作系统,然后下载相应…...
【蓝桥杯嵌入式】 第六届国赛
目录 题目 配置 注意事项 代码 - 默写大师 EEPROM读写函数 LED驱动函数 ADC采集 上电初始化 LCD 按键 PWM互补输出 全部代码 hardware.c hardware.h control.c control.h main.c 题目 配置 注意事项 复制LCD的工程,先配置资源 --- 勾选完选项一…...
图片裁剪与上传处理方案 —— 基于阿里云 OSS 处理用户资料
目录 01: 通用组件:input 构建方案分析 02: 通用组件:input 构建方案 03: 构建用户资料基础样式 04: 用户基本资料修改方案 05: 处理不保存时的同步问题 06: 头像修改方案流程分析 07: 通用组件:Dialog 构建方案分析 08: 通用组件&…...
迷你主机Esxi 6.7挂载新硬盘
背景 硬件:零刻SER Pro 6 系统:vmware Exsi 6.7.0 Update 3 现有的硬盘槽位占满了,但空间不够用,想要通过USB外接移动硬盘来进行扩容。使用了一块250G的硬盘做测试。 步骤 TL;DR # 停止usbarbitrator服务 /etc/init.d/usbarbi…...
嵌入式核心板小型化设计:从邮票孔到板对板连接器的技术演进与应用
1. 项目概述:当“小”成为一种刚需在嵌入式硬件开发领域,我们常常面临一个经典的权衡:性能、成本与体积。过去,为了追求极致的稳定性和丰富的接口,核心板往往做得比较大,通过邮票孔或高密度连接器与底板固定…...
【BK3633】从规格书到实战:解锁蓝牙5.2双模芯片的十大核心应用场景
1. BK3633芯片核心特性解析 第一次拿到BK3633规格书时,我被它的参数惊艳到了——这简直是为物联网设备量身定制的瑞士军刀。作为博通集成推出的蓝牙5.2双模芯片,它完美兼顾了高性能与低功耗这对"冤家"。实测下来,全速运行电流仅5mA…...
msphpsql与现代化PHP框架集成指南:Laravel、Symfony等主流框架的完整配置方案
msphpsql与现代化PHP框架集成指南:Laravel、Symfony等主流框架的完整配置方案 【免费下载链接】msphpsql Microsoft Drivers for PHP for SQL Server 项目地址: https://gitcode.com/gh_mirrors/ms/msphpsql Microsoft Drivers for PHP for SQL Server&#…...
从0到1搭建AI心理健康预警系统:我是如何用BERT+BiLSTM捕捉情绪拐点的
一、 痛点:为什么通用大模型干不了这活?首先声明,我们不是大模型黑。但在心理预警这个场景下,直接用GPT-4或者文心一言的API,有三个致命伤:成本炸裂: 每天几万条的学生/员工咨询日志ÿ…...
2026年好用的录音转文字工具怎么选?从链接提取到实时转写的完整方案
做会议记录、课堂笔记或内容创作时,经常卡在两个问题上:一是录音文件堆积成山不知道从何整理,二是转完文字还要花时间校对和调整。微信里有个叫提词匠的小程序在这类需求里效率比较实用,下面会重点拆解它怎么用,同时也…...
用STM32定时器中断做个呼吸灯吧:CubeMX+HAL库驱动LED渐变效果(正点原子F103)
STM32呼吸灯实战:用CubeMXHAL库实现PWM渐变效果 呼吸灯作为嵌入式开发的经典项目,不仅能直观展示PWM技术的魅力,更是理解定时器中断机制的绝佳案例。本文将带您从零开始,在正点原子STM32F103开发板上实现LED的平滑呼吸效果&#x…...
ElevenLabs阿拉伯文语音在Qur’anic Arabic场景下韵律崩塌?20年古兰经语音工程团队验证的4层音节边界校准协议
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs阿拉伯文语音在Qur’anic Arabic场景下的韵律失效现象全景扫描 Qur’anic Arabic(古兰经阿拉伯语)具有高度规范化的诵读规则(Tajwīd)&#x…...
对比按需计费与Token Plan在长期项目中的成本差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按需计费与Token Plan在长期项目中的成本差异 在构建基于大模型的应用时,成本是项目规划中一个重要的考量因素。对…...
taotoken token plan套餐为长期项目带来的成本控制优势
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken Token Plan套餐为长期项目带来的成本控制优势 在持续进行AI功能开发的软件项目中,模型API的调用成本是研发预…...
【ElevenLabs语音伦理合规白皮书】:面向银发群体的AI语音生成必须绕开的4类GDPR/《互联网信息服务深度合成管理规定》雷区
更多请点击: https://intelliparadigm.com 第一章:银发群体AI语音服务的伦理合规必要性 随着智能语音助手在居家养老、远程问诊、紧急呼叫等场景中的深度部署,面向60岁以上用户的AI语音服务已从“可选功能”演变为“关键基础设施”。然而&am…...
