动态SLAM:如何判断一个特征是动态特征(对极几何)
文章目录
- 1.什么是极线、极点和极面
- 2.如何判断其为动态点特征
- 3.如何判断其为动态线特征
1.什么是极线、极点和极面

由图可知,C1,C2,X(X1,X2)组成了一个三角平面,这个三角所在的平面就是极面
在这个极平面中,和成像平面相交的线是极线,即图中①位置蓝色点所在直线
C1和C2即两个相机的光心位置,两个光心C1,C2和成像平面相交的点是极点,即蓝色点(X1)位置
2.如何判断其为动态点特征
先假设所有的特征点都是静态的,在对极几何中,左右两个平行四边形表示相机在不同位置的成像平面,C1,C2是相机两个位置的针孔(光心),X是空间中的一个三维点,X沿着X1-X2运动,X在左边和右边的成像会随着X的运动变化,具体如下四点:

C1是相机在第一个时刻的位姿,C2是相机在第二个时刻的位姿。X是跟踪的一个特征点,X1是在第一个时刻的位置,X2是在第时刻的位置。
①我们的X2在C2极面上的投影是绿色点,这个绿色点与极限相比差距太远了,他本来应该是在极线上的蓝色点。所以这个距离我们可以设定一定的阈值,超过这个阈值我们就可以判断他是动态点。
②反射投影射线(图中紫色的线),没有与跟踪的特征(X)相交,他是运动的。
③因为运动元素(X)导致对基础矩阵的估计出现了错误,即图中最下方蓝色(Ftrue)和绿色的虚线(Ffalse),它也可以作为对动态物体判别的约束。
④与第二点相似,重投影特征与光透特征没有相交,如果特征点运动了(紫色点,没有运动X1蓝色点),那么就会导致在极面上产生一个距离,我们同样设置一个阈值,当超过这个阈值就可以判断为动态点。
3.如何判断其为动态线特征

小l1是我们提取到的一个线特征,大L1就是它在三维空间中的实际位置
我们可以估计两帧相机间的运动,预测出蓝色线特征在C2成像平面的位置
在第二帧C2,预测出的线特征(蓝色)与观测出的线特征(绿色),我们通过公式算出两线之间的距离,然后设定一个阈值,通过阈值判断是否为动态线特征
相关文章:
动态SLAM:如何判断一个特征是动态特征(对极几何)
文章目录 1.什么是极线、极点和极面2.如何判断其为动态点特征3.如何判断其为动态线特征 1.什么是极线、极点和极面 由图可知,C1,C2,X(X1,X2)组成了一个三角平面,这个三角所在的平面就是极面 在这个极平面中,和成像平面相交的线是极线…...
【C++】初识C++基础篇·一(命名空间,函数重载,缺省参数,引用);
文章目录 前言1.输入与输出输出输入cin和scanf的对比 2.命名空间2.1namespace存在的意义2.2namespace的使用3.缺省参数4.函数重载重载函数的调用规则 5.引用 前言 我们先通过一段简单的代码来拉开C的序幕; //text.cpp #include<iostream> #include<stdio…...
2024年道路运输安全员考试题库及答案
一、判断题 1.国家制订《中华人民共和国道路交通安全法》的目的是为了维护道路交通秩序,预防和减少交通事故,保护人身安全,保护公民、法人和其他组织的财产安全及其他合法权益,提高通行效率。 答案:正确 2.依据《中…...
Linux Vim教程(十二):语法高亮与代码折叠
目录 1. 语法高亮 1.1 启用语法高亮 1.2 设置配色方案 1.3 自定义语法高亮 2. 代码折叠 2.1 启用代码折叠 2.2 设置折叠方法 2.3 手动折叠 2.4 基于缩进的折叠 2.5 基于语法的折叠 3. 案例 3.1 配置文件 3.2 编辑Python文件 3.3 使用折叠功能 4. 高级使用技巧 …...
JavaScript(18)——事件类型,事件对象
事件类型 鼠标事件: click:鼠标点击 mouseenter:鼠标经过 mouseleave:鼠标离开 焦点事件: focus:获得焦点 blur:失去焦点 键盘事件: Keydown:键盘按下触发 Keyup&#…...
有效组织离散变量:指针数组在C语言中的应用
把离散变量组织起来,访问起来更加方便,无需一个个变量单独赋值。 如modbus读写reg, 把a\b\c\d实时变化分散的变量组织成一个数组reg,方便获取 相当于变量的内存地址池 int main() {int a 10, b 20, c 30, d 40;int i;int *re…...
qt 应用正在运行时,如何更新升级exe文件
在Qt应用正在运行时,直接替换同名的.exe文件可能会导致文件正在使用中的错误。为了安全地更新.exe文件,你可以采取以下步骤: 创建一个临时的.exe文件。 等待当前.exe文件的进程关闭。 删除原有的.exe文件。 将临时.exe文件重命名为原有的.…...
git的rebase 和 merge 的区别
rebase 和 merge 的区别 Merge(合并)和 Rebase(变基)是 Git 中两种常用的分支整合方式,它们有不同的工作原理和适用场景: Merge(合并): ● Merge 操作将两个分支的不同提…...
django基于大数据的电影推荐系统-计算机毕业设计源码71246
目 录 摘 要 1 绪论 1.1 选题背景与意义 1.2研究现状 1.3研究内容 1.4 开发环境 1.5论文结构与章节安排 2 相关理论和技术 2.1 协同过滤算法 2.2 B/S体系结构介绍 2.3 Python爬虫技术 2.4 Django框架介绍 2.5 MySQL数据库 3 电影推荐系统系统分析 3.1 可行性分析…...
reverse_re3-入土为安的第十天
一个迷宫题 shirtf12发现flag字样 点进去发现迷宫 675 应该是3 * 15*15 即有三个迷宫 shifte提取 import numpy as np# 你的数据(长度应为 225 的倍数) dword_202020 [1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,3,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,…...
fastapi之一
文章目录 安装运行HTTP 请求方法示例 POSTMAN 检验GETPOSTPUTDELETE HTTP 状态码示例GETPOST 综合示例POSTGETPUTDELETE 总结 安装 pip install fastapi或者 pip install fastapi -i https://mirrors.aliyun.com/pypi/simple上面两种方法均可以,选择一个即可&…...
【C语言报错已解决】Format String Vulnerability
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 在日常开发中,我们经常会遇到各种各样的bug,其中格式化字符串漏洞报错可能是最让人头疼的一种。这…...
关于一个简单的顺序表代码
1.首先是头文件SeqList.h的代码: #pragma once #include<stdio.h> #include<assert.h> #include<stdlib.h> typedef int SXBint; typedef struct SL {SXBint* a;int size;int capacity; }SLnode; //初始化 void SeqLsitInit(SLnode* ps); //尾插…...
【资料分享】2024第三届钉钉杯大学生大数据挑战赛B题思路解析+双语言代码
2024钉钉杯大学生大数据挑战赛,B题解题思路和双语言代码分享,资料预览:...
Typescript学习笔记(2.0)
ts编译选项 tsc app.ts -w 参数-w,就是对app.ts进行监视,每次该文件改变时就会自动编译 **:任意目录 *:任意文件 接口 接口用来定义一个类结构,用来定义一个类中应该包含哪些属性和方法,同时接口也可以当做类型…...
【IJHE】:微通道反应器中全氢二苄基甲苯脱氢产氢
Highlight 微通道反应器中全氢二苄基甲苯脱氢产氢两种不同反应器的比较:搅拌釜和连续微通道反应器连续微通道反应器是一种很有前途的脱氢技术 摘要: 本文对全氢二苄基甲苯作为液态有机氢载体从搅拌槽反应器转换为连续流微通道反应器进行脱氢进行了初步研究。与搅拌槽…...
Spring踩坑:抽象类作为父类,使用子类@Autowired属性进行填充,属性值为null
Spring踩坑:抽象类作为父类,使用子类Autowired属性进行填充,属性值为null Spring Boot中抽象类和依赖注入的最佳实践引言在抽象类中使用Autowired注解protected vs private修饰符低版本Spring Boot的注意事项 构造器中的依赖注入陷阱为什么不…...
C#网络连接:TCP/IP模式下的网络连接与同步
1,目的 为了测试局域网的消息同步,简单写了下TCP/IP模式的同步,参考这个帖子。 2,核心库部分 using System; using System.Net; using System.Net.Sockets; using System.Text;namespace Coldairarrow.Util.Sockets {/// <s…...
基于树莓派(Raspberry Pi) 的智能电表监测系统设计:集成 Home Assistant、SQLite 和 MQTT 协议
在全球对可持续发展和能源节约的关注日益加深的背景下,智能能源管理系统(IEMS)应运而生。该系统利用现代科技(如物联网、云计算和大数据分析)来优化能源使用,提高能效,降低能源成本。本文将详细…...
C语言程序设计(二)
四.找素数 素数:除了1和它本身不再有其他因数的自然数。换句话说:一个大于1的自然数 ,如果只能被1和它本身整除,那就是素数(质数)。 在打印中遇到的问题就是,知道怎么写却总是运行不起来。主要…...
【AI搜索时代生存指南】:Perplexity vs Google搜索的5大核心差异,90%的开发者还不知道的关键决策点
更多请点击: https://intelliparadigm.com 第一章:AI搜索时代的技术范式迁移 传统关键词匹配式搜索正被语义理解、上下文感知与生成式推理深度重构。AI搜索不再仅返回文档链接,而是直接合成答案、推演逻辑链、调用工具并动态验证结果——这标…...
运维实战:ESXi主机物理网卡闪断致部分VM网络中断的排查与应急恢复
1. 故障现象与初步判断 那天凌晨2点15分,值班手机突然响起刺耳的告警声。监控系统显示,ESXi主机上的三台关键业务虚拟机网络连接中断,而其他虚拟机却运行正常。这种部分VM断网的情况立刻引起了我的警觉——这通常意味着问题出在物理层而非虚拟…...
ComfyUI图像修复终极指南:5个高效技巧解决安装与使用难题
ComfyUI图像修复终极指南:5个高效技巧解决安装与使用难题 【免费下载链接】comfyui-inpaint-nodes Nodes for better inpainting with ComfyUI: Fooocus inpaint model for SDXL, LaMa, MAT, and various other tools for pre-filling inpaint & outpaint areas…...
3步开启Windows实时语音转文字:TMSpeech离线语音识别完全指南
3步开启Windows实时语音转文字:TMSpeech离线语音识别完全指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech TMSpeech是一款专为Windows系统设计的开源实时语音识别工具,能够将电脑系统声音…...
构建 AI Agent 应用商店的构想
构建 AI Agent 应用商店的构想:从“单骑救主”的工具到“生态协同”的智能枢纽关键词 AI Agent、应用商店、多Agent协作、工具调用链、Prompt工程标准化、安全沙箱、智能分发摘要 当你在凌晨2点对着一份混乱的月度财务报表焦虑时,有没有想过:…...
League Akari终极指南:基于LCU API的英雄联盟专业工具包完整解析与快速部署方案
League Akari终极指南:基于LCU API的英雄联盟专业工具包完整解析与快速部署方案 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还…...
AI架构绘图副驾驶:用自然语言生成专业Excalidraw架构图
1. 项目概述与核心价值 如果你和我一样,每天都要面对陌生的、动辄几十个微服务的复杂代码库,或者需要向团队解释一个新系统的设计,那你一定理解那种“认知过载”的痛苦。在脑海里构建整个系统的架构图,试图理清服务间的调用关系和…...
CTFshow F5杯 逆向与隐写实战解析 超详细
1. CTFshow F5杯逆向与隐写技术全景解析 去年参加F5杯时,我对着那道LSB隐写题折腾到凌晨三点。当终于从图片噪点中提取出flag那一刻,突然理解了什么叫做"数字世界的考古学"。逆向工程和隐写术就像侦探破案,需要同时具备技术功底和发…...
AI绘画工作流自动化:从NovelAI到Pixiv的Semi-Auto工具实战
1. 项目概述:从手动到自动,解放AI绘画生产力的桌面利器如果你和我一样,是个深度沉迷于AI绘画的创作者,那你一定经历过这样的痛苦:在NovelAI的WebUI里,吭哧吭哧地调好一组参数,生成一张图&#x…...
【AI原生产品规划终极指南】:2026奇点大会PM必修的7大认知跃迁与3个落地陷阱规避法
AI原生产品规划:2026奇点智能技术大会产品经理必修课 更多请点击: https://intelliparadigm.com 第一章:从AI赋能到AI原生:一场范式革命的底层认知重构 传统AI赋能模式将模型作为工具嵌入既有系统——例如在CRM中调用NLP接口分析…...
