READ: Large-Scale Neural Scene Rendering for Autonomous Driving

READ: Large-Scale Neural Scene Rendering for Autonomous Driving :面向自动驾驶的大规模神经场景绘制
门卷积

https://www.jianshu.com/p/09fc8490104d
https://blog.csdn.net/weixin_44996354/article/details/117409438

摘要:论文提出了一种大规模神经绘制自动驾驶场景合成方法,使得在PC机上通过多种采样方案合成大规模驾驶场景成为可能。为了表示驾驶场景,提出了一个𝜔−𝑛𝑒𝑡渲染网络,用于从稀疏点云中学习神经描述符。该模型不仅可以合成真实感驾驶场景,而且可以对驾驶场景进行拼接和编辑。
介绍:
基于神经辐射场(NeRF)的方法在多视点真实感场景合成中取得了很好的效果,NeRFW 利用潜在优化编码和分割动态来合成野外场景。与纯粹依赖于每场景拟合的基于NeRF的方法不同,NPBG 从原始点云数据中学习神经描述符,对局部几何和外观进行编码,避免了经典点云在空场景空间中的采样光线,反映了真实的世界场景的几何特征。基于点的神经绘制方法通过三维点云信息初始化场景,可以用较少的捕获图像合成较大的场景。
主要工作:
论文提出了神经场景绘制方法,通过高效的蒙特卡罗采样、大规模点云筛选和patch sampling,实现了大规模驾驶场景的合成。为了从稀疏点云合成真实感驾驶场景,提出了一种𝜔−𝑛𝑒𝑡网络,通过基本门模块过滤神经元描述符,并采用不同策略融合相同尺度和不同尺度的特征。通过𝜔−𝑛𝑒𝑡,我们的模型不仅可以合成真实感场景,还可以通过神经描述子编辑和拼接场景。此外,我们还能够更新特定区域,并将它们与原始场景缝合在一起。场景编辑可用于合成来自不同视角的各种驾驶场景数据,甚至用于交通紧急情况。

1、Overview

输入一组输入图像和点云𝑃= {𝑝1,𝑝2,,,𝑝N}以及相机参数,得到模拟场景,可以拼接编辑。主要分为三部分:光栅化、稀疏点云采样,𝜔−𝑛𝑒𝑡渲染网络。pipeline如下图
在这里插入图片描述
首先对输入图像进行配准,然后通过特征点匹配和稠密构造得到场景的点云。我们以几种分辨率光栅化点。给定点云𝑃、可学习的神经描述符𝐷和摄像机参数𝐶,我们提出𝜔-𝑛𝑒𝑡渲染网络通过过滤从数据中学习的神经描述符并融合相同尺度和不同尺度的特征来合成真实的驾驶场景。

稀疏3D点云𝑃𝑖可以通过经典的sfm和MVS pipeline获得,每个点pi有一个神经描述符编码场景内容(与NPBG相同)。点云P中的每个点有位置信息:𝑝𝑖= {𝑥𝑖,𝑦𝑖,𝑧𝑖},外观特征通过图像像素的RGB值映射到对应的三维空间得到的,神经描述符从输入点云计算,即表示局部几何形状和光度特性的本征矢量。
通过将梯度传播到输入端来更新这些特征,从而使神经描述符的特征能够从数据中自动学习。给定摄像机的内外参数,可以通过设计8维神经描述符来表示RGB值,从而从不同的角度观察场景。在光栅化阶段,针孔摄像机𝐶采集𝑊×𝐻的图像,构造一个由光栅化图像组成的金字塔,{𝑆𝑡}(t=1~4),空间尺寸为W/2t ×H/2t该金字塔是由通过深度测试的点的神经描述符分配给每个像素而形成的。然后,在摄像机的全投影变换下将其投影到像素上。
本质上,渲染网络表示了一个局部3D功能𝑓,它输出在点𝑥具体的神经场景描述𝑓(𝑖, 𝑥) , 由其局部框架中的神经点建模。

2、Sampling with Sparse Point Cloud

为了减少内存使用提高训练效率,利用稀疏采样策略,从原始可用像素的1/4生成稀疏点云,从而只得到训练点云总数的25%。

筛选出被遮挡的点云

为了避免更新被遮挡点的描述符,近似每个点的可见性。通过构造一个Z缓冲区来使用最近的光栅化方案,仅保留像素位置处具有最低Z值的点。神经描述符避开远离当前帧的相机的点以更好地合成场景。从而减少了计算遮挡点云的计算量,大大提高了训练效率。类似于NPBG的操作。

蒙特卡罗抽样

由于场景中点云的分布不同,区域点云丰富的地方,具有明显的特征。对于天空或动态物体的区域,由于缺乏明显的特征或特征点较少,相应的区域点云较少。为了有效地训练,提出了动态训练策略,利用蒙特卡洛方法对大量驾驶场景数据进行采样。对于图像集𝑆𝑒 在训练阶段𝑒,
在这里插入图片描述
𝑄(𝐼𝑒)是图像𝐼𝑒的综合质量,是通过感知损失来计算的。采用每个阶段性能最差的Top 𝑛 个样本作为训练数据。该模型通过动态采样的训练策略,加强了对点云稀疏区域的学习,减少了整体训练时间。

Patch sampling

通过一种采样策略将整幅图像随机划分为多个patch(图像块),该策略可以根据GPU可用内存大小选择大小为𝑤×ℎ的随机patch。patch中像素的比例𝑤 × ℎ,占整个图像𝑊×𝐻的比例小于15%。给定如下的内参K
在这里插入图片描述
𝑓𝑥和𝑓𝑦分别表示𝑥和𝑦轴的焦距。(𝑐𝑥,𝑐𝑦)是主点相对于图像平面的位置。图像坐标系(Ox-y)与像素坐标系(Ou-v)(仿射变换)的转换矩阵
对于在Se中的每张图像I,patch集合 Sp通过以下策略获取,以确保场景中的所有区域都可以训练
在这里插入图片描述
其中𝛼是缩放比。它移动patch(𝑥Δ,𝑦Δ)以增强来自不同视图的场景的合成质量。

3、𝜔 − 𝑛𝑒𝑡

点云,尤其是外部重建方法,通常具有降低渲染质量的孔和异常值。受MIMOUNet 的启发,提出了𝜔-𝑛𝑒𝑡,一种基于稀疏点云合成新视图的绘制网络,它由三部分组成。
给定稀疏点云𝑃,绘制网络的目的是学习可靠的神经描述符来表示场景。然而,从点云学习的神经描述符仍然存在漏洞。为了解决这个问题,设计了一个基本的门模块来过滤不同尺度的神经描述符。
如下图所示。考虑到计算效率,首先采用3 × 3卷积层𝐶𝑂𝑁𝑉来提取神经元描述子的特征𝐷𝑖。通过sigmoid函数学习掩码以过滤神经描述符中的无效值。输出是(0,1)的取值范围,它表示特征在神经描述符中的重要性。为了提高学习效率,使用ELU激活函数。⊗ 表示元素乘法。将初始特征与过滤后的特征连接(©)为新特征。最后,使用一个额外的1 × 1卷积层来进一步细化级联特征。此外,引入门卷积以重新过滤融合的特征。
在这里插入图片描述
上图是基本门模块。从稀疏点云中学习的神经描述子可以有效地筛选出无效值。

Fusing features at different scales.

点云中缺少拓扑信息会导致 holes and bleeding。给定𝐹𝑎带有孔洞的神经描述符的𝐷𝑖特征,如下图中的红框所示。虽然𝐷𝑖具有更高的分辨率和精细的细节,但它仍然遭受更大的表面bleeding。对于没有值的特征块𝐹𝑎,可以在平均合并之后获得粗略值。𝐷𝑖+1的分辨率较低,但能够减少表面bleeding。
对于稀疏点云,在两种不同的尺度下融合特征仍然不能完全填充该孔。因此,提出了建议𝜔-𝑛𝑒𝑡融合多尺度特征。使用了四个尺度的神经描述符,以达到效率和准确性之间的折衷。该模型通过融合不同尺度下的特征,从数据中学习稀疏点云中缺失的点,从而合成出真实感的天空、远处物体等新视图。在上采样阶段,采用双线性插值代替转置卷积。这是因为转置卷积基本上是可学习的上采样,并且可学习的参数招致额外的计算。
在这里插入图片描述

Fusing features at the same scale

神经描述符𝐷𝑖+𝑖 的特征𝐹𝑏,来自𝐷𝑖 通过平均池化操作。神经描述符𝐷𝑖+𝑖的 下采样特征𝐹𝑑 ,将其自身与最后一个1×1层特征连接,用于细节增强以保留丢失的信息。同时, 大小为𝐻/2 ×𝑊/2的特征𝐹𝑐,由使用门卷积的门模块的神经描述符𝐷𝑖获得的。融合相同尺度的𝐹𝑐 和𝐹𝑑 特征可以利用特征之间的互补信息,其中融合特征是𝐹𝑓𝑢𝑠𝑖𝑜𝑛 = 𝐹𝑐 + 𝐹𝑑 ⊗ 𝐹𝑐 , 如图上的红圈所示。

4、Scene Editing and Stitching

由于我们提出的模型从点云中学习神经描述符来表示场景,因此可以通过改变训练好的神经描述符来编辑场景。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue2前端实现html导出pdf功能

1. 功能实现方案 1.html转换成canvas后生成图片导出pdf(本文选用) html转canvas插件:html2canvas是一款将HTML代码转换成Canvas的插件;canvas生成pdf:jsPDF是一个使用Javascript语言生成PDF的开源库 2.HTML代码转出…

【剑指offer】10~11.斐波那契数列(C# 实现)

文章目录前言关于编译环境10- I. 斐波那契数列10- II. 青蛙跳台阶问题11. 旋转数组的最小数字结语前言 🍀 大家好,我是哈桑。这是自己的 C# 做题记录,方便自己学习的同时分享出来。 关于编译环境 注意,笔者使用的编译环境是 .NET …

Java学习星球,Java学习路线

目录一、Java学习路线二、学习计划三、为何会有Java学习星球?四、加入星球后,你可以得到什么?五、如何加入Java学习星球?六、打卡挑战大家好,我是哪吒,一个靠着热情攀登至C站巅峰的中年男子,CSD…

全网最火爆,Python接口自动化测试-接口数据 RSA 加密和签名实现(超详细)

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

算法基础---数学知识

文章目录 质数 试除法判定质数试除法分解质因数朴素筛法求质数埃氏筛法求质数线性筛法求质数约数 试除法求所有约数试除法求所有约数之和约数个数和约数之和欧几里得算法一、质数 1.试除法判定质数--O(sqrt(N)) 原理:把从[2,n-1]中的每一个自然数作为除数来除n&a…

基于 Apache Flink 的实时计算数据流业务引擎在京东零售的实践和落地

摘要:本文整理自京东零售-技术研发与数据中心张颖&闫莉刚在 ApacheCon Asia 2022 的分享。内容主要包括五个方面: 京东零售实时计算的现状实时计算框架场景优化:TopN场景优化:动线分析场景优化:FLINK 一站式机器学…

【Linux】写一个基础的bash

头文件#include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<sys/wait.h> #include<sys/stat.h> #include<string.h> #include<pwd.h> #include<dirent.h>分割输入的命令串字符串或参数内容为空则退出strtok( ,…

【MySQL】数据类型

目录 一、数据类型分类 二、数值类型 bit&#xff1a; tinyint&#xff1a; ​编辑 smallint&#xff1a; memdiumint&#xff1a; int&#xff1a; bigint&#xff1a; float&#xff1a; ​编辑 decimal&#xff1a; 三、文本类型 char&#xff1a; 字符的概念&a…

出入了解——Vue.js

个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每天分享网络运维知识与技能。座右铭&#xff1a;海不辞水&#xff0c;故能成其大&#xff1b;山不辞石&#xff0c;故能成其高。个人主页&#xff1a;小李会科技的…

技术掉:PDF显示,使用pdf.js

PDF 显示 场景&#xff1a; 其实直接显示 pdf 可以用 iframe 标签&#xff0c;但产品觉得浏览器自带的 pdf 预览太丑了&#xff0c;而且无法去除那些操作栏。 解决方案&#xff1a;使用 pdf.js 进行显示 第一步&#xff1a;引入 pdf.js 去官网下载稳定版的 pdf.js 文件 然后…

ElasticSearch-第二天

目录 文档批量操作 批量获取文档数据 批量操作文档数据 DSL语言高级查询 DSL概述 无查询条件 叶子条件查询 模糊匹配 match的复杂用法 精确匹配 组合条件查询(多条件查询) 连接查询(多文档合并查询) 查询DSL和过滤DSL 区别 query DSL filter DSL Query方式查…

使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录

兄弟们天天看基础看腻了吧 今天来分享一下如何使用Python突破某网游游戏JS加密限制&#xff0c;进行逆向解密&#xff0c;实现自动登录。 逆向目标 目标&#xff1a;某 7 网游登录主页&#xff1a;aHR0cHM6Ly93d3cuMzcuY29tLw接口&#xff1a;aHR0cHM6Ly9teS4zNy5jb20vYXBpL…

Vue的命令式和声明式的概念

1.命令式框架(jQuery) 这里有个小例子&#xff1a; 1.获取id为app的div标签 2.设置他的文本内容是hello&#xff0c;world 3.为其绑定点击事件 4.当点击时候弹出提示ok 1.首先我们通过$来活动app的标签 $(#app)//获取id为app的标签 2.然后通过text来讲内容设置为hello&am…

Sentinel 授权规则规则持久化

本篇博客我们来学习授权规则&#xff0c;授权规则是对请求者的一种身份的判断。 1、授权规则 授权规则是对请求者的身份做一个判断。你有没有权限来访问我&#xff1f;那就有人可能会说这个功能&#xff0c;好像以前我们在学习微服务的时候讲过网关他不就是把门的吗&#xff1…

云上办公系统项目

云上办公系统项目1、云上办公系统1.1、介绍1.2、核心技术1.3、开发环境说明1.4、产品展示后台前台1.5、 个人总结2、后端环境搭建2.1、建库建表2.2、创建Maven项目pom文件guigu-oa-parentcommoncommon-utilservice-utilmodelservice-oa配置数据源、服务器端口号application.yml…

springboot车辆充电桩

sprinboot车辆充电桩演示录像2022开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;ecli…

文法和语言的基本知识

一、什么形式化的方法用一套带有严格规定的符号体系来描述问题的方法二、什么是非形式化的方法对程序设计语言的描述从语法、语义和语用三个方面因素来考虑所谓语法是对语言结构定义所谓语义是描述了语言的含义所谓语用则是从使用的角度去描述语言三、符号串字母表和符号串字母…

vue基于vant封装可精确到秒的时间选择器

前言 在移动开发中&#xff0c;时间选择的控件比比皆是&#xff0c;但却鲜有类似的组件可以精确到秒级别的&#xff0c;官方可能是考虑到小屏幕手机的显示问题&#xff0c;也可能是使用的场景寥寥无几&#xff0c;但是少不代表没有&#xff0c;所以最近花了点时间基于 vant 组件…

011+limou+C语言深入知识——(3)“字符串函数”和“字符分类函数”和“内存操作函数”以及“部分库函数的模拟实现”

一、字符串库函数 001、求字符串长度strlen size_t strlen ( const char * str );注意size_t是一个无符号类型&#xff0c;没有正负 #include <stdio.h> #include <string.h> int main() {char*str1 "abcdef";strcmpchar*str2 "bbb";if( …

《Roller: Fast and Efficient Tensor Compilation for Deep Learning》

《Roller: Fast and Efficient Tensor Compilation for Deep Learning》 用于深度学习 快速高效的张量编译器 作者 微软亚洲研究院以及多伦多大学等多所高校 摘要 当前编译为了产生高效的kernel时&#xff0c;搜索空间大&#xff0c;通常使用机器学习的方法 找到最优的方案…
最新文章