论文解读 | ScanNet:室内场景的丰富注释3D重建
原创 | 文 BFT机器人
大型的、有标记的数据集的可用性是为了利用做有监督的深度学习方法的一个关键要求。但是在RGB-D场景理解的背景下,可用的数据非常少,通常是当前的数据集覆盖了一小范围的场景视图,并且具有有限的语义注释。
为了解决这个问题,本文介绍了一个ScanNet的大规模室内场景3D重建和语义分割数据集。该数据集包含1513个室内场景的2.5M视角,具有3D相机姿态、表面重建和语义分割的注释。并且为了收集这些数据,设计了一个易于使用和可伸缩的RGB-D捕获系统,其中包括自动表面重建和众包语义注释。实验结果表明使用这些数据有助于在几个三维场景理解任务上实现最先进的性能,表现在三维对象分类、语义体素标记和CAD模型检索几个方面。
背景
BACKDROP
随着RGB-D传感器的引入以来,3D几何捕获领域获得了广泛的关注,并开辟了广泛的新应用。在三维重建算法上已经有了大量的努力,但利用RGB-D数据进行的一般三维场景理解最近才开始流行起来。随着现代机器学习方法的快速发展,如神经网络模型,也大大促进了对语义理解的研究。
本文建立了一个来帮助初学者获得语义标记的场景3D模型。人们使用安装有深度摄像头的iPad上的一个应用程序来获取RGB-D视频,然后后台离线处理数据,并返回一个完整的语义标记的场景3D重建。确实开发这样一个框架的挑战是众多的,包括如何稳健地执行三维表面重建,以及如何众包语义标记。对这些问题的研究,并记录了在扩大RGB-D扫描收集(20人)和注释(500名人群工作者)方面的经验。
研究
STUDY
RGB-D重建和语义注释框架的概述。左图:一个新手用户使用一个手持RGB-D设备与我们的扫描界面来扫描一个环境。中间:RGB-D序列被上传到一个处理服务器,该服务器生成三维表面网格重建及其表面分割。右图为发布语义注释任务进行众包,获得实例级对象类别注释和三维CAD模型对齐重建。使用ScanNet提供的数据对三维深度网络进行了训练,并测试了它们在几个场景理解任务上的性能,包括三维对象分类、语义体素标记和CAD模型检索。对于语义体素标记任务,本文引入了一种新的体积CNN架构。
在校准时,本文使用RGB-D传感器需要解除深度数据的扭曲和深度和颜色数据的对齐。先前的研究工作主要集中在具有更精确设备的控制实验室条件上,以告知商品传感器的校准。然而这对于新手用户来说是不实用的。因此,用户只需要打印出一个棋盘图案,将它放在一个大的、平坦的表面上,并捕获一个从近距离观察表面的RGB-D序列。这个序列,以及一组查看棋盘格的红外线和彩色帧对,由用户上传作为校准的输入,我们的系统运行一个校准程序,以获得深度和颜色传感器的内在参数,以及深度到颜色的外部转换。
我们发现,这种校准程序易于用户,结果改善数据,从而提高重建质量。本文研究选择了捆绑融合(BundleFusion)系统,因为它是设计和评估类似的传感器设置,并提供实时速度,同时相当稳健的给定手持RGBD视频数据。在验证过程时候,当扫描上传到处理服务器并在无监督下运行时,将自动触发此重建过程。为了建立一个干净的快照来构建本文报道的ScanNet数据集,自动丢弃了较短、残差重建误差高或对齐帧比例低的扫描序列。然后我们手动检查和丢弃有明显失调的重建。
结论
CONCLUSION
文中还讨论了如何在可扩展的流水线中进行3D表面重建和如何进行众包语义标注的问题,并介绍了使用ScanNet数据进行3D场景理解任务的最新技术和结果。文章中在可扩展的流水线中使用一种新的体积卷积神经网络架构,用于解决语义体素标注任务。结果表明,使用ScanNet数据可以获得比现有数据集更好的性能,这证明了ScanNet数据集的重要性和实用性,该数据集还包括纹理网格、密集的物体级别语义分割和对齐的CAD模型。3D模型是使用RGB-D捕捉系统重建的,其中包括自动表面重建和众包语义注释。
语义分割比任何先前的RGB-D数据集都要大一个数量级。模型使用估计的校准参数、相机姿态、3D表面重建、纹理网格、密集的物体级别语义分割和对齐的CAD模型进行注释。这使得ScanNet成为场景理解研究的宝贵资源。。此外还提供了新的RGB-D基准和改进的结果,这些结果可以用于3D对象分类、语义体素标注和CAD模型检索等场景理解任务。
作者 | ZZY
排版 | 春花
审核 | 猫
若您对该文章内容有任何疑问,请于我们联系,将及时回应。如果想要了解更多的前沿资讯,记得点赞关注哦~
相关文章:

论文解读 | ScanNet:室内场景的丰富注释3D重建
原创 | 文 BFT机器人 大型的、有标记的数据集的可用性是为了利用做有监督的深度学习方法的一个关键要求。但是在RGB-D场景理解的背景下,可用的数据非常少,通常是当前的数据集覆盖了一小范围的场景视图,并且具有有限的语义注释。 为了解决这个问题&#…...

手写数字识别之网络结构
目录 手写数字识别之网络结构 数据处理 经典的全连接神经网络 卷积神经网络 手写数字识别之网络结构 无论是牛顿第二定律任务,还是房价预测任务,输入特征和输出预测值之间的关系均可以使用“直线”刻画(使用线性方程来表达)…...

《动手深度学习》 线性回归从零开始实现实例
🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…...

Redis 命令
Redis 命令 Redis 命令用于在 redis 服务上执行操作。 要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。 语法 Redis 客户端的基本语法为: $ redis-cli实例 以下实例讲解了如何启动 redis 客户端…...

Linux网络编程:线程池并发服务器 _UDP客户端和服务器_本地和网络套接字
文章目录: 一:线程池模块分析 threadpool.c 二:UDP通信 1.TCP通信和UDP通信各自的优缺点 2.UDP实现的C/S模型 server.c client.c 三:套接字 1.本地套接字 2.本地套 和 网络套对比 server.c client.c 一:线…...

nvm安装electron开发与编译环境
electron总是安装失败,下面说一下配置办法 下载软件 nvm npmmirror 镜像站 安装nvm 首先最好卸载node,不卸载的话,安装nvm会提示是否由其接管,保险起见还是卸载 下载win中的安装包 配置加速节点nvm node_mirror https://npmmi…...

玩转Mysql系列 - 第7篇:玩转select条件查询,避免采坑
这是Mysql系列第7篇。 环境:mysql5.7.25,cmd命令中进行演示。 电商中:我们想查看某个用户所有的订单,或者想查看某个用户在某个时间段内所有的订单,此时我们需要对订单表数据进行筛选,按照用户、时间进行…...

启动程序结束程序打开指定网页
import subprocess subprocess.Popen(r"C:\\Program Files\\5EClient\\5EClient.exe") # 打开指定程序 import os os.system(TASKKILL /F /IM notepad.exe) # 结束指定程序 import webbrowser webbrowser.open_new_tab(https://www.baidu.com) # 打开指定网页...

从零开始学习 Java:简单易懂的入门指南之包装类(十九)
包装类 包装类5.1 概述5.2 Integer类5.3 装箱与拆箱5.4 自动装箱与自动拆箱5.5 基本类型与字符串之间的转换基本类型转换为StringString转换成基本类型 5.6 底层原理 算法小题练习一:练习二:练习三:练习四:练习五: 包装…...

leetcode分类刷题:哈希表(Hash Table)(一、数组交集问题)
1、当需要快速判断某元素是否出现在序列中时,就要用到哈希表了。 2、本文针对的总结题型为给定两个及多个数组,求解它们的交集。接下来,按照由浅入深层层递进的顺序总结以下几道题目。 3、以下题目需要共同注意的是:对于两个数组&…...

UML四大关系
文章目录 引言UML的定义和作用UML四大关系的重要性和应用场景关联关系继承关系聚合关系组合关系 UML四大关系的进一步讨论UML四大关系的实际应用软件开发中的应用其他领域的应用 总结 引言 在软件开发中,统一建模语言(Unified Modeling Language&#x…...

forms组件(钩子函数(局部钩子、全局钩子)、三种页面的渲染方式、数据校验的使用)、form组件的参数以及单选多选形式
一、form是组件 后端代码 from django.shortcuts import render, redirect, HttpResponsedef ab_form(request):back_dict {username: , password: }if request.method POST:username request.POST.get(username)password request.POST.get(password)if 金瓶梅 in userna…...

跨专业申请成功|金融公司经理赴美国密苏里大学访学交流
J经理所学专业与从事工作不符,尽管如此,我们还是为其成功申请到美国密苏里大学经济学专业的访问学者职位,全家顺利过签出国。 J经理背景: 申请类型: 自费访问学者 工作背景: 某金融公司经理 教育背景&am…...

第十一章 CUDA的NMS算子实战篇(下篇)
cuda教程目录 第一章 指针篇 第二章 CUDA原理篇 第三章 CUDA编译器环境配置篇 第四章 kernel函数基础篇 第五章 kernel索引(index)篇 第六章 kenel矩阵计算实战篇 第七章 kenel实战强化篇 第八章 CUDA内存应用与性能优化篇 第九章 CUDA原子(atomic)实战篇 第十章 CUDA流(strea…...

R语言01-数据类型
概念 数值型(Numeric):用于存储数值数据,包括整数和浮点数。例如:x <- 5。 字符型(Character):用于存储文本数据,以单引号或双引号括起来。例如:name &l…...

【网络基础实战之路】基于三层架构实现一个企业内网搭建的实战详解
系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…...

C++11相较于C++98多了哪些可调用对象?--《包装器》篇
C98里面的可调用对象只有普通函数和函数指针。 而在C11里面可调用的对象有下面几种: 普通函数函数指针仿函数lambda表达式(匿名函数)包装器 普通函数、函数指针、仿函数、lambda表达式我在以前的文章里其实已经介绍过了 包装器 在C11里面有…...

栈与队列:常见的线性数据结构
栈(Stack)和队列(Queue)是计算机科学中常见的线性数据结构,它们在许多算法和编程场景中发挥着重要作用。它们的不同特点和用途使得它们适用于不同的问题和应用。 栈(Stack) 栈,作为…...

android framework之AMS的启动管理与职责
AMS是什么? AMS管理着activity,Service, Provide, BroadcastReceiver android10后:出现ATMS,ActivityTaskManagerService:ATMS是从AMS中抽出来,单独管理着原来AMS中的Activity组件 。 现在我们对AMS的分析,也就包含对…...

Decoupling Knowledge from Memorization: Retrieval-augmented Prompt Learning
本文是LLM系列的文章,针对《Decoupling Knowledge from Memorization: Retrieval 知识与记忆的解耦:检索增强的提示学习 摘要1 引言2 提示学习的前言3 RETROPROMPT:检索增强的提示学习4 实验5 相关实验6 结论与未来工作 摘要 提示学习方法在…...

腾讯云coding平台平台inda目录遍历漏洞复现
前言 其实就是一个python的库可以遍历到,并不能遍历到别的路径下,后续可利用性不大,并且目前这个平台私有部署量不多,大多都是用腾讯云在线部署的。 CODING DevOps 是面向软件研发团队的一站式研发协作管理平台,提供…...

无法正常访问服务器
网络原因,本地网络:解决办法:检查本地网络是否正常,访问外网是否流畅。机房网络:通过路由追踪查看是否中间有 节点不通,确定是线路出现丢包。 远程连接,检查远程连接是否启用以及远程计算机上的…...

解决css英文内容不自动换行的问题
解决css英文内容不自动换行的问题 这里主要是针对CMS后台管理系统添加进入数据库,再抓取出来前端显示的英文不换行的问题的情况 1.一般常见的就是英文不自动换行,或者英文换行单词背截断的问题。 这种处理方法通过前端样式就可以解决,方法网…...

python语言学习
序言 此系列用于总结python语言的相关知识点,用于帮助自己和有缘人查阅 1、python基本数据类型 python基本数据类型 – 字符串...

1. 深度学习介绍
1.1 AI地图 ① 如下图所示,X轴是不同的模式,最早的是符号学,然后概率模型、机器学习。Y轴是我们想做什么东西,感知是我了解这是什么东西,推理形成自己的知识,然后做规划。 ② 感知类似我能看到前面有个屏…...

【现场问题】oracle 11g 和12c 使用jdbc链接,兼容的问题
oracle不同版本 问题是什么寻找解决方式首先Oracle的jdbc链接有几种形式?Oracle 11g的链接是什么呢Oracle 12C的链接是什么呢我的代码是哪种!?发现问题没 解决问题代码 问题是什么 项目上建立Oracle数据源,以前大部分都是,11g的…...

嵌入式底层驱动需要知道的基本知识
先说结论,能,肯定能,必须能! 但是,问题重点在于坚持,程序员这一行 ,下班回家一般都要10点了,再刷两个小时枯燥的学习视频,我想大多数人是坚持不下来的。 但是ÿ…...

《软件开发的201个原则》阅读笔记 120-161条
目录 使用有效的测试完成度标准 原则122 达成有效的测试覆盖 原则123 不要在单元测试之前集成 原则 124 测量你的软件 原则125 分析错误的原因 对错不对人 原则127 好的管理比好的技术更重要 使用恰当的方法 原则 129 不要相信你读到的一切 原则130 理解客户的优先级 原…...

JVM——类加载与字节码技术—类文件结构
由源文件被编译成字节码文件,然后经过类加载器进行类加载,了解类加载的各个阶段,了解有哪些类加载器,加载到虚拟机中执行字节码指令,执行时使用解释器进行解释执行,解释时对热点代码进行运行期的编译处理。…...

C语言学习之main函数两个参数的应用
main函数的两个参数: int main(int argc, char const *argv[]) {/* code */return 0; }参数argc:表示在执行程序时,在终端所输入参数的个数,包括可执行文件的名称;参数argv:1.本质上是一个字符型指针数组;2.用于获取指…...