没有3D卷积的3D重建方法,A100上重建一帧仅需70ms

简介: 没有3D卷积的3D重建方法,A100上重建一帧仅需70ms
来自 Niantic 和 UCL 等机构的研究者使用精心设计和训练的 2D 网络,实现了高质量的深度估计和 3D 重建。


从姿态图像重建 3D 室内场景通常分为两个阶段:图像深度估计,然后是深度合并(depth merging)和表面重建(surface reconstruction)。最近,多项研究提出了一系列直接在最终 3D 体积特征空间中执行重建的方法。虽然这些方法已经获得出令人印象深刻的重建结果,但它们依赖于昂贵的 3D 卷积层,限制其在资源受限环境中的应用。

现在,来自 Niantic 和 UCL 等机构的研究者尝试重新使用传统方法,并专注于高质量的多视图深度预测,最终使用简单现成的深度融合方法实现了高精度的 3D 重建。



该研究利用强大的图像先验以及平面扫描特征量和几何损失,精心设计了一个 2D CNN。所提方法 SimpleRecon 在深度估计方面取得了显著领先的结果,并且允许在线实时低内存重建。

如下图所示,SimpleRecon 的重建速度非常快,每帧仅用约 70ms。


SimpleRecon 和其他方法的比较结果如下:



方法

深度估计模型位于单目深度估计与平面扫描 MVS 的交点,研究者用 cost volume(代价体积)来增加深度预测编码器 - 解码器架构,如图 2 所示。图像编码器从参考图像和源图像中提取匹配特征,以输入到 cost volume。使用 2D 卷积编码器 - 解码器网络来处理 cost volume 的输出,此外研究者还使用单独的预训练图像编码器提取的图像级特征进行增强。


该研究的关键是将现有的元数据与典型的深度图像特征一起注入到 cost volume 中,以允许网络访问有用的信息,如几何和相对相机姿态信息。图 3 详细地显示了 feature volume 构造。通过整合这些之前未开发的信息,该研究的模型能够在深度预测方面显著优于之前的方法,而无需昂贵的 4D cost volume 成本、复杂的时间融合以及高斯过程。


该研究使用 PyTorch 来实现,并使用 EfficientNetV2 S 作为主干,其具有类似于 UNet++ 的解码器,此外,他们还使用 ResNet18 的前 2 个块进行匹配特征提取,优化器为 AdamW ,在两块 40GB A100 GPU 上耗时 36 小时完成。

网络架构设计

网络是基于 2D 卷积编码器 - 解码器架构实现的。在构建这种网络时,研究发现有一些重要的设计选择可以显著提高深度预测准确率,主要包括:

基线 cost volume 融合:虽然基于 RNN 的时间融合方法经常被使用,但它们显著增加了系统的复杂性。相反,该研究使得 cost volume 融合尽可能简单,并发现简单地将参考视图和每个源视图之间的点积匹配成本相加,可以得到与 SOTA 深度估计相竞争的结果。

图像编码器和特征匹配编码器:先前研究表明,图像编码器对深度估计非常重要,无论是在单目和多视图估计中。例如 DeepVideoMVS 使用 MnasNet 作为图像编码器,其具有相对较低的延迟。该研究建议使用很小但更强大的 EfficientNetv2 S 编码器,虽然这样做的代价是增加了参数量,并降低了 10% 的执行速度,但它大大提高了深度估计的准确率。

融合多尺度图像特征到 cost volume 编码器:在基于 2D CNN 的深度立体和多视角立体中,图像特征通常与单尺度上的 cost volume 输出相结合。最近,DeepVideoMVS 提出在多尺度上拼接深度图像特征,在所有分辨率上增加图像编码器和 cost volume 编码器之间的跳跃连接。这对基于 LSTM 的融合网络很有帮助,该研究发现这对他们的架构也同样重要。

实验

该研究在 3D 场景重建数据集 ScanNetv2 上训练和评估了所提方法。下表 1 使用 Eigen 等人 (2014) 提出的指标来评估几个网络模型的深度预测性能。


令人惊讶的是,该研究所提模型不使用 3D 卷积,在深度预测指标上却优于所有基线模型。此外,不使用元数据编码的基线模型也比以前的方法表现更好,这表明精心设计和训练的 2D 网络足以进行高质量的深度估计。下图 4 和图 5 显示了深度和法线的定性结果。



该研究使用 TransformerFusion 建立的标准协议进行 3D 重建评估,结果如下表 2 所示。


对于在线和交互式 3D 重建应用,减少传感器延迟是至关重要的。下表 3 展示了给定一个新的 RGB 帧,各个模型对每帧的集成计算时间。


为了验证该研究所提方法中各个组件的有效性,研究者进行了消融实验,结果如下表 4 所示。


感兴趣的读者可以阅读论文原文,了解更多研究细节。

相关文章
|
机器学习/深度学习 存储 算法
【轻量化:实操】动手实现神经网络中的裁枝操作(附演示代码&yolo系列)
【轻量化:实操】动手实现神经网络中的裁枝操作(附演示代码&yolo系列)
318 1
|
11月前
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
1022 11
|
JSON 安全 Go
Go 语言怎么使用 zap 日志库?
Go 语言怎么使用 zap 日志库?
178 0
|
数据采集 PHP
PHP中实现简单爬虫与数据解析
【8月更文挑战第31天】在互联网的海洋里,爬虫技术如同一艘探索船,帮助我们搜集和理解信息。本文将带你通过PHP语言,轻松实现一个简单的网页内容抓取工具,并展示如何从抓取的数据中解析出有用信息。我们将一起航行在代码的波浪中,体验从无到有构建一个基本爬虫的过程。
|
消息中间件 运维 前端开发
java云his系统源码 B/S版+saas智慧医院云his系统源码 二甲医院应用多年 运行稳定
Java云HIS系统,SaaS模式,适用于二甲医院,稳定运行多年。包括B/S版电子病历,支持四级标准,具有自主知识产权。系统涵盖挂号、收费、病历、药物管理、统计报表、综合维护及运营运维功能。前端使用Angular+Nginx,后端基于Java+Spring系列,数据库为MySQL+MyCat,缓存Redis+J2Cache,集成RabbitMQ、XxlJob等。电子病历系统支持在线创建、管理和打印,采用SpringBoot、Mybatis-Plus等技术,提供一体化解决方案。系统优势在于模板化、配置化设计,便于使用和扩展。
157 1
java云his系统源码 B/S版+saas智慧医院云his系统源码  二甲医院应用多年 运行稳定
|
机器学习/深度学习 数据采集 算法
深入理解VGG网络,清晰易懂
深入理解VGG网络,清晰易懂
|
IDE 区块链 开发工具
智能合约开发环境搭建及Hello World合约
智能合约开发环境搭建及Hello World合约
[已解决]npm淘宝镜像最新官方指引(2023.08.31)
[已解决]npm淘宝镜像最新官方指引(2023.08.31)
4270 0
|
机器学习/深度学习 数据采集 数据可视化
NumPy 正态分布与 Seaborn 可视化指南
正态分布(高斯分布)是重要的概率模型,具有钟形曲线特征,由均值μ和标准差σ描述。NumPy的`random.normal()`可生成正态分布随机数,Seaborn库方便绘制分布图。正态分布广泛应用于统计学、机器学习、金融和工程等领域。练习包括生成正态分布数据、比较不同标准差影响及模拟考试成绩计算平均分和标准分。
506 0
|
计算机视觉
在线生成ArUco标签图片
在线生成ArUco标签图片
731 0