热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(10分钟感受)对极几何PnPICP的用法

编辑切换为居中添加图片注释,不超过140字(可选)编辑切换为居中添加图片注释,不超过140字(可选࿰

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

以上是2d-2d 2d-3d 3d-3d的匹配的一个简略的介绍,其中最为重要的还是本质矩阵 基础矩阵的推导和计算。 针对2d-3d的情况,这个使用pnp或者ba都是常见的方法。 3d-3d的话一般就会非常容易想起ICP方法,这个方法对于点云的匹配是十分常见的,但是其计算效率不高。

思考:这一部分叫做视觉里程计,其主要采用了特征匹配的方法,使用2d2d 2d3d 3d3d的方式进行匹配,然后通过匹配过程中求解优化问题最终得到了位姿变换,即得到了转换矩阵T。这里特征匹配问题也是数据关联问题的一个部分。数据关联问题在SLAM中作为一个比较重要的部分,是需要掌握的部分。

博客:https://blog.csdn.net/zhengbq_seu/article/details/81702070

编辑切换为居中

添加图片注释,不超过 140 字(可选)

第一段不晓得在说啥。。。 然后最后一句可能有点作用,BA在前端里程计时只需要几帧图像,而在后端优化的时候,需要的图像数量会明显增多。 前端可以理解成local optimization 后端的话就理解成global optimization就可以了。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

奇异值分解 其和特征值分解存在一定的联系。 还有特征值分解是针对方阵而言的,而奇异值分解则可用于任意的M * N矩阵,因此奇异值分解的使用范围更广。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这个上三角符号不知道是啥,主要这个上三角表示的内容太多了,待查。然后在视觉slam14讲里面简单说明了E矩阵和F矩阵的关系,两者只差一个内参矩阵,然后就没啥。感觉这幅图片表达的信息不多。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

在计算F矩阵的时候需要选取8个点,那么这8个点可以先用RANSAC算法进行筛选,使最后得到的结果更加稳定。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

对pnp的简单介绍。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里激光slam的特征点信息不够丰富只能通过距离来进行判断。而视觉slam中的特征点由detector 和 descriptor两部分构成,这里的特征点信息丰富,因此可以充分知道他们之间的匹配关系。然后ICP常用于激光slam中,在视觉里程计的3d-3d的情况下也非常常用。

总结:这篇博客只是一个概念介绍性质的博客。没有推到,学到的内容不多。

博客:https://blog.csdn.net/zxnzjccmily/article/details/124196877

编辑切换为居中

添加图片注释,不超过 140 字(可选)

3种类型的矩阵要弄清楚,本质矩阵、基础矩阵和单应矩阵。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里公式指定不太对。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

E和F矩阵现在知道怎么得到了,然后两个矩阵之间差一个相机的内参矩阵,一般假定相机的内参矩阵是已知的。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

关于本质矩阵和基础矩阵的小知识点。其中第三条,当E矩阵的旋转部分是由旋转向量构成时,那么其需要5个点来解决,如果E矩阵的旋转部分是由旋转矩阵构成的时候,需要8个点来进行求解。因此被称为5点法和8点法。这里有一个自由度可观,举个例子,针对旋转矩阵,一般选取第三行第三列元素,把矩阵的每一个元素同时除以第三行第三列的元素,那么第三行第三列位置的值为1,此时便有了8个未知量,就可认为是8自由度的求解问题,需要8个点来进行解决。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

看的一脸懵,不过感觉公式还挺简单,就是利用平面方程与数字1之间的关系,然后在平移向量后面乘1,然后进行化简求解。最后那两行的P转换成了K p1之间的关系貌似没看明白。感觉这个突然冒出来公式,太突然了。。。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

一些简单公式的求解。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这个好像是r2live里面使用的。

看了一下Epnp 貌似不是很重要 先放一放。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

对称转移误差,感觉是从平面的角度来描述BA的。最下面这两个公式貌似没看懂,但大体描述的就是讲匹配的点对通过单应变换转换到原来的平面上,并与之前的测量值进行差值比较。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑

添加图片注释,不超过 140 字(可选)

编辑

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

重投影误差,在3d空间上进行最优计算。

总结:这篇博客公式很多,但是有些地方存在错误。对2d-2d 2d-3d 3d-3d之间的理解还不是很到位。感觉就是泛泛而谈。

博客:https://zhuanlan.zhihu.com/p/538017402

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这些内容是在特征匹配之后进行的。用于求解位姿估计的,属于visual odometry的内容,简单来说就是求解转换矩阵T的。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

本质矩阵的分解存在四种情况。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上面这个图对基础矩阵F 本质矩阵E 和单应矩阵H进行了一个小总结。展示了他们的计算公式。

总结:学到了一些公式,但感觉还是要看一下视觉slam14讲。。。 不知道为啥这些博客看起来感觉水平好似就是不怎么高。。。 无语了。接着下一篇博客。

博客:https://www.cxyzjd.com/article/WaitingfoDreams/101101950

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上三角号在这里表示的是外积操作,得到一个垂直的向量,然后在与x2做内积运算,自然为0。好了,这部分解决了我的疑惑。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上面是对 对极几何进行的一个小总结。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这里的话 要知道在视觉slam中 先做了2d-2d的求解 然后再进行2d-3d的求解,来获得相机位姿。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这个总结我觉得很好。首先针对单目情况,首先2d-2d对极几何 然后三角测量得到3d点,然后对于第三帧及以后的数据,便可以使用2d-3d的方法得到R和t这样以此类推即可。 针对双目或者RGB-D相机,因为它们可以得到深度信息,因此可以直接使用2d-3d进行R和t的获取。或者可以使用3d-3d的ICP方法来求解位姿。由于一个像素的深度数据可能测量不到,我们有:对于深度已知的特征点,使用3d-3d来求解位姿,对于深度未知的特征点,使用3d-2d的方法来求解位姿即可。

这篇博客最后的总结写的很好。

博客:https://www.guyuehome.com/35452

编辑切换为居中

添加图片注释,不超过 140 字(可选)

特征点 = 关键点 加 描述子,这里的关键点我们一般选择角点作为关键点,其中角点的提取方法有hurris fast 等提取方法。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上三角符号表示反对称矩阵,相当于两侧同时与t做外积,这个根据外积的运算即可推导出来。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

后端优化--从混乱中寻找真理,也即如果利用不准确的数据来得到准确的结果。瞬间对自己硕士期间的工作有了一个更高层次的认识。Hhh

博客:https://www.cnblogs.com/long5683/p/11992551.html

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

求完对极几何以后第一件事情就是三角化,来恢复特征点的深度信息。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上面是一个求导的过程,在视觉slam14讲里面也有提到。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

博客:https://www.jianshu.com/p/ba7e5b85fd7f

编辑切换为居中

添加图片注释,不超过 140 字(可选)

以上是视觉里程计的步骤,2d-2d 2d-3d是放在一起使用的 3d-3d适用在双目相机以及RGB-D相机上面。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

光束法平差:平差是指摆平误差。光束是指相机拍照时三维空间点投影到二维图像的连线集合,合起来就是利用三维到二维投影的光束,消除误差。

到这里就学完了视觉里程计的相关内容,同时又对BA的中文翻译有了一个新的认识。然后这一部分的话 可能等到4 5月份还是得再看看 ,好了 这篇博客就写到这里 23秋招加油。



推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Carve库在Visual Studio2015中的编译方法及注意事项
    本文介绍了在Visual Studio2015中编译Carve库的方法及注意事项。首先下载Carve库,并使用Visual Studio2015打开,生成后在bin目录下会生成.lib文件。同时,本文还指出了之前在Visual Studio2017中编译的问题,并提醒需要根据对应的平台进行编译,否则会出现报错。详细的步骤和注意事项请参考原文链接。 ... [详细]
author-avatar
扫地僧2502896033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有