三维场景重建经典论文详解

news2024/11/25 3:03:06

来源:投稿 作者:小灰灰
编辑:学姐

论文标题:

《REAL-TIME INDOOR SCENE RECONSTRUCTION WITH RGBD AND INERTIA INPUT》

论文链接:

https://arxiv.org/pdf/2008.00490.pdf

https://github.com/CWanli/RecoNet

数据集:PASCAL-VOC12、PASCAL-Context、COCO Stuff、ADE20K和SIFT-FLOW

快速运动是为了增强现实,或者混合现实。

主要用于商业和公司的人,随意的运动,增强现实打cs游戏,会设计到大量的跑,运动,快速的头部旋转,这样会导致彩色的图片会发生模糊,现有的算法不能去处理这些情况。

在机器人上需要快速运动,在商用上,物流分拣,用的最多的就是慢速的运动,没有考虑到这种情况。

而摄像机运动估计是三维场景重建和同步定位与映射(SLAM)的关键技术。

为了使其切实可行,以前的工作通常假设相机运动缓慢,这限制了它在许多实际情况下的使用。

我们提出了一种端到端的三维重建系统,该系统结合了颜色、深度和惯性测量,通过快速的传感器运动实现稳健的重建。

我们的框架扩展了卡尔曼滤波器来融合这三种信息,并涉及一种迭代方法来联合优化特征对应、相机姿态和场景几何。

我们还提出了一种新的几何感知面片变形技术,以适应图像域中的特征外观,从而在快速相机运动下实现更精确的特征匹配。

研究背景

为什么会出现模糊?

一是因为相机在曝光时间内的运动所导致的,如下图可见,虚线代表上一阶段的相机,实线代表当前相机,相机看见真实场景的红色和绿色点,当我们看见相机运动时,就会出现相定区域的模糊。

二是相机到场景的距离有关。

三是与相机的运动状态有关。相机平移和相机旋转的不同。

解决图像模糊的已有的方法:

1、曝光时间,减少曝光时间,增大光圈量,这样SNR就会不好。

2、使用特征点匹配的方法,拿一张图片去提取特征点,特征描述子很难提取,最终导致相机追踪失败。

3、直接法,可以很好适应,计算的是光度误差,两帧图像运动的相对位置是相同速度的,会遇到收缩膨胀效益。如下图的黑色块就是膨胀效益。

4、ICP算法,很容易陷入局部最优解,得出相机失败,和定位错误。

此图显示了由相机运动和面片几何形状引起的面片SE效果。

网络结构

输入,我们输入的是一个彩色图像,深度图像(记录一个相机到一个场景区域或者一个三维点的距离)和IMU(记录的是传感器自身的平移加速度和角速度)

采用迭代扩展卡尔曼滤波的这样一个框架。红、绿、蓝箭头分别表示当前帧的输入、迭代操作和上一帧的patch,该方法主要由四部分组成:几何感知特征跟踪,探索滤波效果并进行斑块变形;滤波框架,解释卡尔曼预测和更新步骤;模型融合和patch更新。

首先输入IMU 通过卡尔曼预测去得到pose,预测的pose输入图3的Projection,去检测收缩膨胀效益,同时对patch去做变形,然后把变形后的patch做直接法的匹配,去计算一个光度误差,同时我们的输入有区块的几何信息,可以去计算区块的几何误差,我们有两个能量值,一个光度误差,一个几何误差,将两个误差加在一起得到一个能量值,我们把这个能量值当作更新里面估计的观测值,真实观测值为0,虚框里面去做一个卡尔曼更新,更新出更好相机的pose,我们将第二个pose重新放回虚框里面,去根据图3去做进一步的优化,更新之后我们利用pose,去做模型的融合,讲模型输入去更新patch。

结果展示

我们首先展示了我们的几何感知特征跟踪方法的有效性,该方法评估了SE效应,并对具有快速摄像机运动的序列中的精确特征跟踪进行了细分。然后,我们通过比较有无IMU的系统来评估惯性信息的好处。最后,在传感器快速运动的数据集中,将我们的三维重建方法与最先进的系统进行了比较。

这是比较了几个数据集,包括ICL数据集,TUM数据集,以及我们通过手持传感器收集的数据集。

表1列出了patch的平均强度误差(AIE)。根据记录图像的质量,所有数据集分为慢数据集和快数据集。

更具体地说,由于没有明确的划分相机速度的标准,因此我们根据大多数公共数据集的统一特征,根据经验将不产生图像运动模糊的运动设置为慢速相机运动,将产生严重图像模糊的运动设为快速相机运动。

从表中,我们发现我们的方法在所有数据集中的AIE都较低,尤其是在相机快速运动的数据集中。

膨胀效应

对比直接法和本文提出算法在两个连续帧内的patch特征跟踪结果。patch尺寸10*10,并且在每一帧中提取不超过100个patch。

收缩效应

本文的方法与其他方法进行的比较。

关注下方【学姐带你玩AI】🚀🚀🚀

回复“CVPR”领取顶会论文合集(包含55个方向)

码字不易,欢迎大家点赞评论收藏!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/584976.html

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

相关文章

停车系统多位多车算法

1、算法代码 下面代码是伪Java代码&#xff0c;看得懂就行。 //查询当前车牌号对应的车主的其他的车牌号的入场纪录&#xff0c;根据时间倒叙排列。 List<Record> comeRecords mapper.selectFromDB; //车主所有的在场车辆数量-车主拥有车位数量 等于需要计费的车辆数量…

虚拟机NAT模式下修改linux静态ip

首先修改VMware的虚拟网络编辑器&#xff0c;NAT设置-> 设置网关&#xff0c;一般ip的第四部分网关为2&#xff0c;第三部分自己设置。 然后设置自己windows电脑 右键属性里面的ipv4&#xff0c;设置为静态的&#xff0c;dns除了对应网关还加一个通用dns 8.8.8.8。 这些外…

基于Q-Table的强化学习笔记

基于Q-Table的强化学习笔记 1 几个概念1.1 状态空间 S S S和动作空间 A A A1.2 奖励 R R R1.3 价值函数与Q-Table1.4 马尔可夫性 2 基于Q-Table的强化学习算法2.1 SARSA算法2.2 Q-learning算法 1 几个概念 最近也从小白入手看了些强化学习(Reinforcement Learning&#xff0c;…

中国人民大学与加拿大女王大学金融硕士——每天都要优于过去的自己,加油!

职场中拉开人与人之间差距的&#xff0c;往往是日复一日微小的积累。满足已取得的成就会让人停滞不前&#xff0c;一旦停止学习&#xff0c;人就会止步不前。懂得持续学习、终生成长的人&#xff0c;能保持积极进取的状态。金融行业的你有计划来人民大学与加拿大女王大学金融硕…

累积运行时间功能块(SCL语言)

设备累积运行时间功能块梯形图源代码请参看下面的文章博客: SMART PLC设备累计运行时间功能块_RXXW_Dor的博客-CSDN博客功能块非常简单,没有什么特别需要说明的,方法不唯一仅供参考。https://blog.csdn.net/m0_46143730/article/details/129170452方法始终不唯一,受限于当…

【c】vscode c/c++环境配置

文章目录 1 mingw下载及配置1.1 mingw下载1.2 环境变量配置1.3 gdb安装 2 vscode c插件安装3 vscode文件配置 1 mingw下载及配置 1.1 mingw下载 https://sourceforge.net/projects/mingw-w64/files/ 1.2 环境变量配置 1.3 gdb安装 我下载的mingw未安装gdb调试 cmd执行: …

vue3 项目实践总结

一、挂载全局变量 1.1 main.js 中挂载 // 引入全局变量 import api from /api;const app createApp(App);// 挂载全局变量 app.config.globalProperties.$API api;app.use(store).use(router).use(ElementPlus).use(Vant).mount(#app);1.2 组件中获取 方法一 推荐使用proxy…

研发工程师玩转Kubernetes——非定时任务

在《研发工程师玩转Kubernetes——自动扩缩容》一文中&#xff0c;我们使用在本地使用wrk进行了压力测试。如果我们希望在容器中运行&#xff0c;该怎么做呢&#xff1f; 构建/推送wrk镜像 Dockerfile如下。主要就是在Ubuntu22中安装wrk。 From ubuntu:22.04 RUN apt-get up…

【Nodejs】Node-js笔记

Node.js 文章目录 Node.js一、Node.js概述1.1、介绍1.2、官网1.3、Node.js应用场景1.4、安装Node.js1.5、npm包管理器1.5.1、介绍1.5.2、切换npm源1.5.3、生成JSON配置文件1.5.4、查看当前安装的树形模块1.5.5、安装模块1.5.6、自定义脚本命令1.5.7 、自动重启应用 1.6、模块化…

VehicleHal.java - fwk层对应VehicleService

VehicleHal.java - fwk层对应VehicleService 1、VehicleHal.java初始化1.1 hal服务区分1.2 简要时序图 2、PowerHalService为例2.1 PowerHalService初始化和订阅2.2 简要时序图 android12-release 【IVI】VehicleService启动 【IVI】车载设备硬件抽象层VHAL 【IVI】CarService启…

【人脸识别】insightface 使用记录和搭建服务注意点和坑 从0到1

文章目录 前言1.开始1.1 前置1.2 再次运行&#xff0c;人脸检测跑通1.3 人脸特征抽取1.3.1 模型下载1.3.2 重新跑一下检测和识别1.3.3 人脸监测返回值分析1.3.4 计算相似度 1.4 全流程的相似度 2. 业务化人脸识别 前言 人脸识别项目&#xff0c;再走一遍。之前是公司老人留下的…

HTML+CSS实训——Day05——JavaScript基础知识点

前言 上一周我们只做了静态页面&#xff0c;这周开始要学js了&#xff0c;那我们先来认识一下他的语法和变量吧。 知识点 变量定义 学习了var还有console.log()输出变量 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&…

点云配准算法综述-完整解读

点云配准的挑战 同源点云配准 同源点云的配准是指从同一类型的传感器,但在不同的时间或视角下获取的点云在进行配准问题中存在的挑战,其主要包含了 噪声和离群值。在不同的采集时间,环境和传感器噪声是不同的,采集到的点云在同一三维位置附近会包含噪声和异常值。部分重叠…

全网最火爆,从接口测试到接口自动化测试总结,卷王进阶高级...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python接口自动化测…

设计模式之美-为什么基于接口而非实现编程?有必要为每个类都定义接口吗?

我愿意称之为最强设计书籍之一。看完这篇文章使我对代码编写有了新的思考。值得注意的是文章全篇写的是伪代码&#xff0c;并没有真正实现方法的逻辑&#xff0c;不过这样反而有利于逻辑的理解。 在上一节课中&#xff0c;我们讲了接口和抽象类&#xff0c;以及各种编程语言是如…

如何跑通一个java项目

查找项目代码的途径&#xff1a;github,码云&#xff0c;掘金网 以小说精品屋项目(掘金网)为例&#xff1a; 先读Readme&#xff08;这里会介绍项目结构和技术选型&#xff09;&#xff0c;这里还会告诉你们怎么跑起来这个项目&#xff0c;比如让你先安装数据库&#xff0c;然…

从业者指南:专业编辑和校对技巧

在写作领域&#xff0c;编辑和校对是确保高质量作品的关键步骤。作为从业者&#xff0c;你需要掌握专业的编辑和校对技巧&#xff0c;以提高客户满意度和自己的市场竞争力。以下是一些值得关注的专业编辑和校对技巧。 1.建立良好的沟通 与客户保持良好的沟通是提高编辑和校对质…

如何更改 Linux 文件和目录权限?

在Linux系统中&#xff0c;文件和目录权限是安全性和访问控制的关键组成部分。正确设置文件和目录的权限可以确保只有授权的用户能够读取、写入或执行这些文件和目录。 本文将详细介绍如何在Linux系统中更改文件和目录的权限。 1. 文件和目录权限概述 在Linux系统中&#xff…

解决Kubernetes就绪检查导致网关不可用的问题

引言 在K8s环境中&#xff0c;由于就绪检查设置不合理的问题&#xff0c;导致出现网关不可用的情况。 本文将详细探讨这个问题的原因&#xff0c;并提供一些解决方案&#xff0c;帮助有需要的同学解决类似的问题。 注&#xff1a;网关使用 spring-cloud-gateway 问题描述 描…

记录两个Windows和Mac上部署阿里Canal无法启动的神坑

目录 一、问题列表 二、解决方案 三、参考资料 四、配置详解 五、数据库相关操作 一、问题列表 1、问题一&#xff1a;点击 startup.bat 窗口出现后立马闪退的问题。 2、问题二&#xff1a;启动后日志文件报错&#xff1a; ERROR com.alibaba.otter.canal.deployer.Cana…