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

news/2024/11/20 1:34:09/

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

论文标题:

《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.ppmy.cn/news/103580.html

相关文章

两个iframe同时滚动实现界面内容对比功能

背景:因为要实现一个版本对比功能,所以要保证两个界面能同时滚动。(本文只讲同时滚动,对比功能文本只讲思路,具体代码实现如有需要 可以联系我),因为过程中有部分收获特此记录。 本文参考&…

Hack The Box - appointment关卡

TASK 1 任务 1 What does the acronym SQL stand for? 首字母缩略词SQL代表什么? Structured Query LanguageTASK 2 任务 2 What is one of the most common type of SQL vulnerabilities? 最常见的 SQL 漏洞类型之一是什么? SQL Injection TASK …

人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)

人脸识别3:C/C InsightFace实现人脸识别Face Recognition(含源码) 目录 1. 前言 2. 项目安装 (1)项目结构 (2)配置开发环境(OpenCVOpenCLbase-utilsTNN) (3)部署TNN模型 (4&a…

伺服系统使用S曲线

在之前文章《S形曲线规划方式汇总》 介绍过贝塞尔曲线方式,并且在Marlin开源工程中也有贝塞尔曲线步进系统的实现方式。本篇介绍伺服系统中基于时间分割法实现的贝塞尔S曲线。 1 贝塞尔曲线路程规划 上文中推导过贝塞尔曲线,本文直接用结论&#xff1a…

matlab影像读取相关函数

geotiffred函数 [A, R] geotiffread(filename) 其中: filename 是要读取的 GeoTIFF 文件的路径和名称。A 是返回的地理影像数据,以 MATLAB 数组的形式表示。对于单波段影像,A 是一个二维数组;对于多波段影像,A 是…

immutable深拷贝:数据多层属性-不可变数据结构

一、为何要用immutable深拷贝? 1.浅拷贝(浅复制) //引用赋值-浅复制、浅拷贝 var obj{name:"溜溜球"}var obj2obj;obj2.name"刘刘球";console.log(obj);//name:"刘刘球"console.log(obj2);//name:"刘刘…

物联网GPRS模块流量计算

物联网GPRS模块流量计算 MQTT(消息队列遥测传输) 是ISO 标准下一个基于TCP/IP的消息发布/订阅传输协议。 一、TCP消耗流量计算 以太网数据包结构: 以太网首部 IP首部 TCP首部 APPL首部 用户数据 以太网尾部 以太网首部为14个字节 IP首部为20个字节 TCP首部…

【Vue3】如何创建Vue3项目及组合式API

文章目录 前言 一、如何创建vue3项目? ①使用 vue-cli 创建 ②使用可视化ui创建 ③npm init vite-app ④npm init vuelatest 二、 API 风格 2.1 选项式 API (Options API) 2.2 组合式 API (Composition API) 总结 前言 例如:随着前端领域的不断发展&am…