视觉SLAM14讲 第七讲 视觉里程计1

2023-05-16

C++代码

特征提取:找出2张图片中相似的点

  1. 特征:关键点(例如角点,明暗变化大的点)+描述子(记录的关键点的特征信息,方向,旋转 等)
  2. FAST特征点:角点,检测局部像素灰度变化大的地方,FAST-N 半径为3的圆上有16个像素点,计算是否连续N个点亮度大于或小于阈值
  3. ORB = ORrented Fast 特征点(像素几何中心到平均亮度中心的连线是方向)+ BRIEF 描述子(二进制,用汉明距离描述差异)
  4. 匹配方法:暴力匹配BFM,快速近似最近邻FLANN
  5. opencv2/features2d/features2d.hpp KeyPoint Dmatch

2D-2D 对极几何

  1. 对极约束
    p 2 T K − T t ∧ R K − 1 p 1 = 0 p_2^TK^{-T}t^{\wedge}RK^{-1}p_1=0 p2TKTtRK1p1=0

  2. 基础fundamental矩阵
    F = K − T t ∧ R K − 1 F=K^{-T}t^{\wedge}RK^{-1} F=KTtRK1

  3. 本质essential矩阵,5个自由度,尺度等价性.
    E = t ∧ R E=t^{\wedge}R E=tR

  4. 八点法

    • 用于单目slam初始化
    • SVD分解计算后后4组值,要取深度为正的
    • 纯旋转问题,t为0时E无法分解出R,t ,这时用单应矩阵H求解
    • 多于8对点,超定,用最小二乘解
    • 特征点共面,八点法会退化无法求解,例如无人机的下视
  5. 单应矩阵Homography
    适用于特征点共面,例如无人机的下视摄像头。
    p 2 = K ( R − t n T / d ) K − 1 p 1 p_2=K(R-tn^T/d)K^{-1}p_1 p2=K(RtnT/d)K1p1

p 2 = H P 1 p_2=HP_1 p2=HP1

H = K ( R − t n T / d ) K − 1 H=K(R-tn^T/d)K^{-1} H=K(RtnT/d)K1

  1. 三角测量
    definition: 一对特征点像素位置射线的空间位置交点 -> 空间位置
    • opencv : triangulation()
    • 当t较小,像素深度的不确定性大
    • 当t较大,特征点又少了,这就是三角化的矛盾

总结

  1. 提取特征点
  2. 记录特征点信息
  3. 匹配特征点
  4. 对极约束计算(R,t)
  5. 三角测量计算深度
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视觉SLAM14讲 第七讲 视觉里程计1 的相关文章

随机推荐

  • 网络编程之UDP简单示例

    UDP编程函数recvfrom inet pton sendto UDP协议 user data protrol 用户数据协议特点 xff1a TCP xff1a 面向连接 gt 一定双方连接上了才能进行通信 xff01 UDP xff1a
  • 微信开发(二)http请求工具类

    说明 进行微信开发 xff0c 后台程序需要与微信服务器进行交互 xff0c 通过调用接口来完成服务 xff0c 阅读微信开发文档 xff0c 发现接口的调用都是通过http请求进行的 xff0c 所以必须有个HttpUtil来支撑 xff
  • STM32寄存器与结构体

    piaolin 发表于 2015 9 30 01 02 只看该作者 倒序浏览 阅读模式 第16集 蜂鸣器实验 这个实验和流水灯是一样的 xff0c 只是将相对应的IO口拉高拉低即可控制蜂鸣器 值得注意的是电路设计方面 xff0c 根据视频描
  • 字节序

    1 字节序 字节序 xff0c 又称端序或尾序 xff0c 指的是多字节数据在内存中的存放顺序 例如一个int型变量x占用4个字节 xff0c 假设它的起始地址 amp x为0x10 xff0c 那么x将会被存储在 0x10 0x11 0x
  • extern “C“的作用及理解

    1 意图 extern 34 C 34 是C 43 43 特有的指令 xff08 C无法使用该指令 xff09 xff0c 目的在于支持C 43 43 与C混合编程 2 作用 extern C 的作用是告诉C 43 43 编译器用C规则编译
  • Linux命令 nautilus

    nautilus是GNOME桌面下的一个文件管理工具 通过这个命令我们可以在终端下非常方便的打开指定目录的文件 nautilus 命令后面一个 xff0c 表示当前目录 命令模式为 nautilus pwd支持绝对路径和相对路径两种方式 x
  • windows下C语言实现TCP通信

    编译器 xff1a vs2017 语言 xff1a c语言 具体的原理可以在其他博客看到 在我学习winsock编程时 xff0c 发现那些博客代码居然在我机器上没一个能运行 xff0c 可能是我水平有限 于是我根据winsock相关知识
  • 关于USB转串口型设备的latency问题

    USB转串口型设备在通讯时默认有16ms延时 xff0c 这在控制任务中往往是不能接受的 xff0c 为了改善这个情况需要改变latency的值为最小值1 在Windows环境下 xff0c 可以如下操作 xff1a 右键属性 端口设置 高
  • 航模lipo锂电池过放抢救/处理方式

    实验室用的tattu航模电池经常因为疏忽导致过放 xff0c 逐渐也摸索出来过放的抢救方法 当然最好的方法还是不要过放 xff1a xff09 1 首先是检查电池剩余电压 xff0c 用普通的电压表就可以了 xff0c 今天刚搞崩了了一块
  • 基于DCT+huffman变换的图像压缩解压缩FPGA实现

    目录 一 理论基础 二 verilog程序 三 仿真结果 一 理论基础 整个算法涉及到DCT变换和Huffman编码两个部分 其整体流程图如下所示 nbsp 这里 我们将做三个方面的工作
  • C++代码编译过程

    C 43 43 代码编译过程 源代码从生成到可执行文件可以分成四个步骤 xff1a 预处理 编译 汇编和链接 以下是linux下GCC生成一个可执行文件a out的过程 xff1a 一 预处理 预处理过程主要是处理那些源文件和头文件中以 开
  • Linux终端美化

    1 安装终端软件terminator 可自行选择 sudo apt get install terminator y 2 安装zsh sudo apt get install zsh y 3 安装oh my zsh sh c 34 curl
  • windows 7 浏览器无法进网站,提示安全证书存在问题(GlobalSign)

    下载更新包就行了kb4474419 http www catalog update microsoft com search aspx q 61 kb4474419
  • linux下共享库(.so文件)的调用

    需要的文件 libxxxx so xxxx h 记住 复制文件的时候千万不要用ROOT权限 xff0c 不然编译时会找不到这个共享库 最好时把库放到 usr lib chmod 777 chown username CMakeLists t
  • 3.RT-Thread线程的创建与删除,动态线程、静态进程

    在实际应用中 xff0c 经常添加多个 c 文件和 h 文件 xff0c RT Thread借助自动构建系统 Scon xff0c 它会自动添加你的 c和 h文件到你的工程中 xff0c Scon工具根据package kernel目录下的
  • Windows环境下使用VSCode和CMake学习Eigen库的使用

    YOUTUBE LINK https www youtube com watch v 61 wP4cwAtU g8 Eigen xff1a http eigen tuxfamily org index php title 61 Main P
  • Linux环境下使用 VScode + CMake +CMakeTools开发调试 C++ 程序

    插件 xff1a Bracket Pair Colorizer xff1a 括号颜色区分 C C 43 43 IntelliSense xff1a 代码提示 Chinese Simplified Language Pack for Visu
  • 四旋翼定高篇之惯导加速度+速度+位置三阶互补融合方案

    2017年03月13日 原文链接 四旋翼定高篇之惯导加速度 43 速度 43 位置三阶互补融合方案 笔者最近正在做四旋翼惯性导航的部分 xff0c 利用加速度计进行速度估计 位置估计 xff0c 从而实现四旋翼的垂直方向上的定高 水平方向上
  • x86_64 OpenWrt/LEDE 环境下使用mentohust配置锐捷上网共享网络

    OpenWrt 可以被描述为一个嵌入式的 Linux 发行版 xff08 主流路由器固件有 dd wrt tomato openwrt三类 xff09 对比一个单一的 静态的系统 xff0c OpenWrt的包管理提供了一个完全可写的文件系
  • 视觉SLAM14讲 第七讲 视觉里程计1

    C 43 43 代码 特征提取 xff1a 找出2张图片中相似的点 特征 xff1a 关键点 例如角点 xff0c 明暗变化大的点 43 描述子 记录的关键点的特征信息 xff0c 方向 xff0c 旋转 等 FAST特征点 xff1a 角