论文阅读:MonoScene: Monocular 3D Semantic Scene Completion

news2024/12/27 12:23:42

论文阅读:MonoScene: Monocular 3D Semantic Scene Completion

Abstract

MonoScene提出了一个3D语义场景完成(SSC)框架,其中场景的密集几何形状和语义是从单个单目 RGB 图像中推断出来的。与SC文献不同,我们依靠2.5或3D输入,解决了2D到3D场景重建的复杂问题,同时联合推断其语义。我们的框架依赖于连续的2D和3D UNets,通过受光学启发的新型2D 3D特征投影来连接,并在强制执行空间语义一致性之前引入3D上下文关系。除了建筑贡献之外,我们还介绍了新颖的全局场景和local frustums 损失。实验表明,我们在所有指标和数据集上的表现都优于文献,同时甚至在相机视野之外也会产生看似合理的场景。我们的代码和经过训练的模型可在https://github.com/cv-rits/MonoScene上获取。

3. Method

三维语义场景补全( 3D Semantic Scene Completion,SSC )旨在通过预测标签 C = { c 0 , c 1 , … , c M } C=\{c_0,c_1,\ldots,c_M\} C={c0,c1,,cM},即自由类 c 0 c_0 c0 M M M 个语义类,来联合推断三维场景( y ^ \hat{y} y^ )的几何和语义。这几乎完全由2.5 D或3D输入来解决[ 56 ],例如点云、深度或其他,它们充当强几何线索。

image-20240822103147693

取而代之的是,MonoScene从单幅RGB图像 x r g b x^{rgb} xrgb中求解体素级SSC,学习 y ^ = f ( x r g b ) \hat{y} = f(x^{\mathrm{rgb}}) y^=f(xrgb) 。这显然是困难的,因为从2D恢复3D是很复杂的。在图2中,我们的流水线使用2D和3D UNets,由我们的特征视线投影模块( FLoSP , Sec。3.1 )桥接,将2D特征提升到合理的3D位置,这促进了信息流,并实现了2D - 3D解耦。受[ 71 ]的启发,我们在3D编码器和解码器之间插入3D Context Relation Prior组件( 3D CRP , Sec . 3.2 )来捕获长距离语义上下文。为了指导SSC训练,我们引入了新的补充损失。首先,场景类亲和性损失( Sec.3.3.1 )优化了类内和类间的场景度量。其次,Frustum Proportion Loss ( Sec.3.3.2 )在局部锥台中对齐类分布,提供了场景遮挡之外的监督。

2D - 3D backbond。我们依靠连续的具有标准跳跃连接的2D和3D UNet。2D UNet基于预训练的EfficientNetB7 [ 61 ],将图像 x r g b x^{rgb} xrgb 作为输入。3D UNet是一个2层的自定义浅层编码器解码器。SSC输出 y ^ \hat{y} y^ 是通过处理3D UNet输出特征得到的,我们的完井头带有一个3D ASPP [ 7 ]块和一个softmax层。

3.1. Features Line of Sight Projection (FLoSP)

将2D提升到3D是众所周知的不适定问题,因为单视点的尺度模糊[ 22 ]。我们从光学和背面投射多尺度2D特征推理出所有可能的3D对应关系,即沿着它们的光学射线,聚集在一个独特的3D表示中。我们的直觉是,用3D网络处理后者将从2D特征的集合中提供指导。我们的投影机制与文献[ 52 ]类似,但后者将每个2D地图投影到给定的3D地图- -作为2D - 3D跳跃连接。相反,我们的组件通过将多尺度2D特征提升到单个3D特征图来桥接2D和3D网络。我们认为这使得2D - 3D解耦表示成为可能,为3D网络提供了使用高级2D特征进行细粒度3D的自由

image-20240822102835385

我们的过程如图3所示。在实际应用中,假设相机内参数已知,我们将3D体素质心( x c x^c xc )投影到2D,并从尺度为 1 : s 1:s 1:s的2D解码器特征图 F 2 D 1 : s \mathsf{F^{1:s}_{2D}} F2D1:s 中采样相应的特征。重复所有尺度 S S S 下的过程,写出最终的三维特征图 F 3 D \mathsf{F_{3D}} F3D
F 3 D = ∑ s ∈ S Φ ρ ( x c ) ( F 2 D 1 : s ) , \mathsf{F_{3D}}=\sum_{s\in S}\Phi_{\rho(x^{\mathrm{c}})}(\mathsf{F_{2D}^{1:s}}) , F3D=sSΦρ(xc)(F2D1:s),
其中 Φ a ( b ) \Phi_a(b) Φa(b) b b b 在坐标 a a a 处的采样 ρ ( ⋅ ) \rho(\cdot) ρ()是透视投影.在实际应用中,我们从尺度 S = { 1 , 2 , 4 , 8 } S = \{ 1,2,4,8 \} S={1,2,4,8}中选择背面投射(backproject),并在采样前在二维地图上应用1x1 conv进行求和。投射到图像外部的体素其特征向量设置为0。输出图 F 3 D \mathsf{F_{3D}} F3D 作为3D UNet输入。

3.2. 3D Context Relation Prior (3D CRP)

由于SSC高度依赖于上下文[ 56 ],我们从CPNet [ 71 ]中得到启发,证明了二进制上下文先验对于二维分割的好处。在这里,我们提出了一个3D上下文关系先验( 3D Context Relation Prior,3D CRP )层,插入到3D UNet瓶颈处,该层学习n - way体素-体素语义场景关系图。这给网络提供了一个全局感受野,并由于关系发现机制增加了空间语义感知。

image-20240822164537820

由于SSC是一个高度不平衡的任务,像文献[ 71 ]那样学习二进制(即n = 2 )关系是次优的。取而代之的是考虑n = 4个双侧体素的体素-体素关系,分组为空闲和占用,分别对应"至少一个体素空闲"和"两个体素都占用"。对于每个组,我们对体素语义类是否相似或不同进行编码,得到4个不重叠的关系: M = { f s , f d , o s , o d } \mathcal{M}=\{\mathbf{f_s,f_d,o_s,o_d}\} M={fs,fd,os,od}。图4a展示了2D (颜色含义见标题)中的关系。

由于体素关系与 N N N 个体素的 N 2 N^2 N2 关系是贪婪的,我们提出了更轻的超体素关系。

Supervoxel↔Voxel relation. 我们将超体素定义为每个 s 3 s^3 s3 个相邻体素的非重叠组,并学习更小的超体素-体素关系矩阵,其大小为 N 2 s 3 \frac{N^{2}}{s^{3}} s3N2。考虑一个超体素 V \mathcal{V} V 有体素 { ν 1 , … , ν s 3 } \{\nu_{1},\ldots,\nu_{s^{3}}\} {ν1,,νs3} 和一个体素 ν \nu ν,存在 s 3 s^3 s3 对关系 { ν 1 ↔ ν , … , ν s 3 ↔ ν } \{\nu_{1}\leftrightarrow\nu,\ldots,\nu_{s^{3}}\leftrightarrow\nu\} {ν1ν,,νs3ν}。我们不是回归V Particiv中M关系的复杂计数,而是预测存在哪些M关系,如图4 b所示。这写道,
V ↔ ν = { ν 1 ↔ ν , … , ν s 3 ↔ ν } ≠ \mathcal{V}\leftrightarrow\nu=\{\nu_1\leftrightarrow\nu,\ldots,\nu_{s^3}\leftrightarrow\nu\}_{\neq} Vν={ν1ν,,νs3ν}=
其中 { ⋅ } ≠ \{\cdot\}\neq {}= 返回集合的不同元素。

image-20240822170057190

3D Context Relation Prior Layer. 图5说明了我们层的架构。它将空间维度 H × W × D H\times W \times D H×W×D 的3D地图作为输入,在其上应用一系列ASPP卷积[7]以收集大的感受野,然后分裂成 n = ∣ M ∣ n=|\mathcal{M}| n=M 大小为 H W D × H W D s 3 HWD\times\frac{HWD}{s^{3}} HWD×s3HWD 的矩阵。

每个矩阵 A ^ m \hat{A}^{m} A^m 编码一个关系 m ∈ M m{\in}M mM ,由其基本真值 A m A^{m} Am 监督。然后,我们优化加权多标签二进制交叉熵损失:
L r e l = − ∑ m ∈ M , i [ ( 1 − A i m ) log ⁡ ( 1 − A ^ i m ) + w m A i m log ⁡ A ^ i m ] \mathcal{L}_{rel}=-\sum_{m\in\mathcal{M},i}[(1-A_{i}^{m})\log(1-\hat{A}_{i}^{m})+w_{m}A_{i}^{m}\log\hat{A}_{i}^{m}] Lrel=mM,i[(1Aim)log(1A^im)+wmAimlogA^im]
其中 i i i 循环通过关系矩阵的所有元素,并且 w m = ∑ i ( 1 − A i m ) ∑ i A i m w_{m}=\frac{\sum_{i}(1-A_{i}^{m})}{\sum_{i}A_{i}^{m}} wm=iAimi(1Aim)。关系矩阵与重塑的超体素特征相乘以收集全球上下文。

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

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

相关文章

回归预测|基于北方苍鹰优化NGO-Transformer-GRU组合模型的数据预测Matlab程序多特征输入单输出

回归预测|基于北方苍鹰优化NGO-Transformer-GRU组合模型的数据预测Matlab程序多特征输入单输出 文章目录 前言回归预测|基于北方苍鹰优化NGO-Transformer-GRU组合模型的数据预测Matlab程序多特征输入单输出 一、NGO-Transformer-GRU模型NGO-Transformer-GRU组合模型的数据预测1…

Linux之数字证书

新书速览|Ubuntu Linux运维从零开始学_ubuntu linux运维从零开始学 pdf 下载-CSDN博客 《Ubuntu Linux运维从零开始学(Linux技术丛书)》(肖志健)【摘要 书评 试读】- 京东图书 (jd.com) 随着网络环境的恶化,人们已经逐渐抛弃网络上面的明文…

嵌入式day32

recvfrom 参数: sockfd //socket的fd buf //保存数据的一块空间的地址 len //这块空间的大小 flags //0 默认的接收方式 --- 阻塞方式 src_addr //用来保存发送方的地址信息 addrlen //表示发送方实际的地址信息大小 返回值: 成功 返回接收到的字…

小米、友邦带领恒指大反攻!

港股三大指数反弹止步2连跌,恒生科技指数一度冲高至2%,恒指收涨1.44%。盘面上,大型科技股多数表现活跃,业绩超预期,小米大涨超8%表现尤其抢眼,京东涨约4%,百度涨1.71%,网易涨2.14%&a…

linux内核编译及驱动程序的添加

内核编译:Makefile 条件编译 先拷贝一个默认的配置到.config (官方所有的默认配置文件在arch/arm/configs下) 我使用的是内核源码顶层目录下的config_mini2440_td35 在Kconfig中定义menuconfig中的可配置选项 make menuconfig //可视化配置菜单 --内核活地图 .config #…

生产者消息可靠性

若支付服务和mq之前网络链接失败/mq挂掉/交易服务挂掉,都有可以让支付订单无法更新,所以导致发送者不可靠,mq本身不可靠,消费者不可靠,消息延迟,针对以下问题 生产者可靠性 支付服务和mq之间有可能连不上,连不上怎么办,可以增加失败重连 配置文件中配置-重连 测试结果…

《黑神话·悟空》主创冯骥:我真的不适合做生物

出品| 木青生信大模型 作者| 穆易青、kimi 头图| 大地老周 引言 《黑神话:悟空》自8月20日全球上线以来,以其震撼的视觉效果和深刻的游戏体验,迅速成为现象级作品。这款游戏不仅创下了450万份的单日销量纪录,更在Steam等平台上取得了前所未有的成功。作为一名热爱游戏的…

SDXS:知识蒸馏在高效图像生成中的应用

人工智能咨询培训老师叶梓 转载标明出处 扩散模型虽然在图像生成方面表现出色,但其迭代采样过程导致在低功耗设备上部署面临挑战,同时在云端高性能GPU平台上的能耗也不容忽视。为了解决这一问题,小米公司的Yuda Song、Zehao Sun、Xuanwu Yin…

财务报表解读指南:关键指标与分析方法详解

一、概述 财务报表中包含了丰富的信息,但如果在分析时缺乏明确的思路或忽略重点,很容易被复杂的数据搞得无所适从。本文将介绍财务报表中的关键指标,包括资产负债率的分析、净资产收益率的解读,以及销售复合增长率的计算&#xf…

如何生成随机数(通过rand函数,srand函数,time函数深入讲解)

目录 1. 随机数的生成 2. srand函数 3. time函数 4. 设置随机数的范围 1. 随机数的生成 既然是猜数字游戏,那么最终的数字答案肯定是重要的,我们要如何实现这个随机数的生成呢? 在这个功能上,C语言提供了一个函数叫rand&…

智算中心算力池化技术深度分析报告

智算中心算力池化技术深度分析 智能算力,人工智能基石,助力构建多要素融合信息基础设施。作为数字经济高质量发展核心引擎,智能算力基础设施建设正迎来高潮。 智算中心,作为集约化算力基础设施,以智能算力为核心&…

特征工程练手(四):特征选择

本文为和鲸python 特征工程入门与实践闯关训练营资料整理而来,加入了自己的理解(by GPT4o) 原活动链接 原作者:云中君,大厂后端研发工程师 目录 0、关卡总结1、前言2、基础知识讲解2.1get_best_model_and_accuracy2…

springboot集成kafka-生产者发送消息

springboot集成kafka发送消息 1、kafkaTemplate.send()方法1.1、springboot集成kafka发送消息Message对象消息1.2、springboot集成kafka发送ProducerRecord对象消息1.3、springboot集成kafka发送指定分区消息 2、kafkaTemplate.sendDefault()方法3、kafkaTemplate.send(...)和k…

案例-异常

题目: (如果一开始不知道如何用异常的语法写,可先用如if语句代替try...catch,最后再把if优化为try...catch) 代码: javabean类: 测试类:

Java CompletableFuture:你真的了解它吗?

文章目录 1 什么是 CompletableFuture?2 如何正确使用 CompletableFuture 对象?3 如何结合回调函数处理异步任务结果?4 如何组合并处理多个 CompletableFuture? 1 什么是 CompletableFuture? CompletableFuture 是 Ja…

springboot静态资源访问问题归纳

以下内容基于springboot 2.3.4.RELEASE 1、默认配置的springboot项目,有四个静态资源文件夹,它们是有优先级的,如下: "classpath:/META-INF/resources/", (优先级最高) "classpath:/reso…

【精选】基于Spark的国漫推荐系统(精选设计产品)

目录: 系统开发技术 Python可视化技术 Django框架 Hadoop介绍 Scrapy介绍 IDEA介绍 B/S架构 MySQL数据库介绍 系统流程分析 操作流程 添加信息流程 删除信息流程 系统系统介绍: 可以查看我的B站: 系统测试 运行环境 软件平台 硬…

docker-compose安装NebulaGraph 3.8.0

文章目录 一. 安装NebulaGraph1.1 通过 Git 克隆nebula-docker-compose仓库的3.8.0分支到主机1.2 部署1.3 卸载1.4 查看 二. 安装NebulaGraph Studio2.1 下载 Studio 的部署配置文件2.2 创建nebula-graph-studio-3.10.0目录,并将安装包解压至目录中2.3 解压后进入 n…

shaushaushau1

CVE-2023-7130 靶标介绍: College Notes Gallery 2.0 允许通过“/notes/login.php”中的参数‘user’进行 SQL 注入。利用这个问题可能会使攻击者有机会破坏应用程序,访问或修改数据. 已经告诉你在哪里存在sql注入了,一般上来应该先目录扫…

【补充篇】AUTOSAR多核OS介绍(下)

文章目录 前文回顾1 AUTOSAR OS1.1 AUTSOAR OS元素1.1.1 操作系统对象1.1.2 操作系统应用程序1.1.3 AUTOSAR OS裁剪类型1.1.4 AUTOSAR OS软件分区1.2 AUTOSAR OS自旋锁1.3 AUTOSAR OS核间通信1.4 AUTOSAR OS多核调度前文回顾 在上篇文章【补充篇】AUTOSAR多核OS介绍(上)中,…