查看原文
其他

AAAI2023 | 户外超大规模场景数据如何生成?READ告诉你答案(浙大&阿里巴巴)

王汝嘉 自动驾驶之心 2022-12-25

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【多传感器融合】技术交流群

后台回复【READ】获取论文和代码!!!

摘要

合成自由视角真实感图像是多媒体领域的一项重要任务。随着高级驾驶辅助系统(ADAS)的发展及其在自动驾驶汽车中的应用,对不同场景进行试验成为一项挑战。虽然通过图像到图像的转换方法可以合成出具有照片般真实感的街道场景,但是由于缺乏三维信息,这种方法不能产生连贯的场景。本文提出了一种大规模神经绘制方法来合成自动驾驶场景(READ),使得在PC上通过多种采样方案合成大规模驾驶场景成为可能。为了表示驾驶场景,本文提出了一个渲染网络𝜔−𝑛𝑒𝑡,用于从稀疏点云中学习神经描述子(descriptors)。该模型不仅可以合成逼真的驾驶场景,而且可以对驾驶场景进行拼接和编辑。实验结果表明,该模型在大规模驾驶场景下具有较好的性能。

图1:给定输入点云,本文的自动驾驶场景渲染(READ)从不同的视图合成照片真实感驾驶场景,能够为自动驾驶提供丰富的数据,而不是单一视图的图像

介绍

合成自由视角的照片真实感图像是多媒体中的一个重要任务[3]。特别是,合成的大规模街景对于一系列现实世界的应用是必不可少的,包括自动驾驶[12,14]、机器人仿真[6,30]、目标检测[9,35,36]和图像分割[7,25,32]。如图1所示,神经场景绘制的目标是从移动的摄像机合成三维场景,用户可以从不同的视角浏览街道风景,并进行自动驾驶模拟实验。此外,这可以生成多视图图像,为多媒体任务提供数据。

随着自动驾驶的发展,在各种驾驶场景下进行实验具有挑战性。由于复杂的地理位置、多变的环境和道路条件,对室外环境的模拟往往比较困难。此外,很难对一些意外的交通场景进行建模,如车祸,在这些场景中,模拟器可以帮助减少现实差距。然而,像Carla[6]这样被广泛使用的模拟器所生成的数据与使用传统渲染管道的真实世界场景有很大的不同。

基于图像到图像转换的方法[7,10,25,26]通过学习源图像和目标之间的映射来合成带有语义标签的街景。尽管产生了令人鼓舞的街道场景,但仍然存在一些大的人工制品和不连贯的纹理。此外,合成的图像只有单一视图,无法为自动驾驶汽车提供丰富的多视图交通条件。这阻碍了他们大量的现实世界的应用程序。

近年来,基于神经辐射场(NERF)的方法[18,19,29,34]在多视点真实感场景合成方面取得了很好的效果。正如[5]中所建议的,它们不能在只有少量输入视图的情况下产生合理的结果,这通常发生在驾驶场景中,对象只出现在几个帧中。此外,基于NERF的方法主要渲染内部或对象。在复杂的驾驶环境中,大量人工物出现在封闭的视图和周围环境中,很难合成大规模的驾驶场景。为了解决这个问题,NERFW[16]利用额外的深度和分割注释来合成一个室外建筑,使用8个GPU设备需要大约两天的时间。如此长的重建时间主要是由于对广阔的空间进行了不必要的采样。

与纯粹依赖于每个场景拟合的基于NERF的方法不同,神经渲染方法[27,28,31]可以通过神经纹理有效地初始化,神经纹理存储在3D网格代理(3D mesh proxy)的顶部作为地图。类似地,NPBG[2]从原始点云中学习神经描述子,对局部几何和外观进行编码,通过经典点云反映现实世界中场景的几何形状,避免了空场景空间中的样本射线。此外,ADOP[22]改进了NPBG,增加了一个带有色调映射器的可微摄像机模型,引入了更好地近似像素光栅化的空间梯度的公式。一般情况下,基于点的神经绘制方法通过三维点云信息对场景进行初始化,可以用较少的捕获图像合成较大的场景。尽管基于神经绘制的方法可以在室内和室外场景中合成逼真的新颖视图,但由于模型容量的限制,以及内存和计算的限制,在处理大规模驾驶场景时仍然具有很大的挑战性。此外,由于稀疏的点云数据往往含有大量的空洞,因此很难在建筑物、车道、路标等丰富的场景中绘制真实感视图。

本文提出了一种有效的神经场景绘制方法,通过高效的蒙特卡罗采样、大规模点云筛选和 patch 采样,实现了大规模驾驶场景的合成。值得一提的是,本文的方法合成了大规模的驾驶场景,在配备两个RTX2070 GPU的PC上平均训练两天。这极大地降低了计算成本,从而可以在负担得起的硬件上实现大规模场景渲染。对于稀疏点云,通过多尺度特征融合来填补点云的缺失区域。为了从稀疏点云合成真实感驾驶场景,提出了一种𝜔−𝑛𝑒𝑡网络,通过基本门模块过滤神经描述子,并采用不同策略融合相同尺度和不同尺度的特征.通过𝜔−𝑛𝑒𝑡,本文的模型不仅可以合成真实的场景,还通过神经描述子编辑和缝合场景。而且,本文能够更新特定区域,并将它们与原始场景缝合在一起。场景编辑可用于合成来自不同视图的多样驾驶场景数据,甚至用于交通紧急情况。

主要贡献

1)基于本文的神经渲染引擎(READ),构建了一个大规模驾驶仿真环境,为高级驾驶辅助系统生成真实感数据;

2)𝜔−𝑛𝑒𝑡的提出是为了获得更真实、更详细的驾驶场景,其中引入了多种采样策略,以实现对大规模驾驶场景的综合;

3)在KITTI Benchmark[8]和BRNO Urban DataSet[15]上的实验表明,该方法具有良好的定性和定量效果,可以对驾驶场景进行编辑和拼接,从而合成更大、更多样化的驾驶数据。

图2:本文提出的用于自动驾驶的大规模神经场景渲染(READ)概述。首先对输入图像进行配准,然后通过特征点匹配和稠密构造得到场景的点云。本文以多种分辨率栅格化点。给定点云𝑃、可学习的神经描述子𝐷和摄像机参数𝐶,本文提出的𝜔-𝑛𝑒𝑡渲染网络通过过滤从数据中学习的神经描述子并融合相同尺度和不同尺度的特征来合成真实的驾驶场景。

相关工作

图像对图像转换

许多研究者[7,10,21,25,26]使用图像对图像的转换技术来合成照片真实感的街道场景。高等人。[7]提出了一个无监督的基于GAN的框架,该框架通过考虑从分割标签到图像合成任务的特定属性,自适应地从分割标签合成图像。如在[7]中,Tang等人[25]提出一个双注意GAN,它从输入布局合成具有精细细节的照片真实感和语义一致的图像,而不需要额外的训练开销。为了增强游戏中图像的保真度,Richter等人 [21]使用游戏引擎渲染过程中产生的G-缓冲区(G-buffers)作为额外的输入信号训练卷积神经网络,这是能够消除以往深度学习方法产生的不和谐和不合理错觉的。图像对图像的转换方法虽然可以合成逼真的街道场景,但在场景转换中仍然不能保证一致性。而且,它只能从单个视图合成场景,其结果在纹理细节方面与真实场景相差甚远。

新颖视图合成

神经辐射场[18]是新的视图合成任务的一个重要突破,该任务被提出使用通过可微体绘制优化的整个场景的全连通网络。最近,这种方法有许多变化,以渲染不同的对象,如人[20],汽车[19],室内场景[29]和建筑物[16]。然而,基于NERF的方法依赖于逐场景拟合,很难适应大规模的驾驶场景。NERFW[16]通过不确定性场将外观嵌入和瞬态和静态元素分解相结合。不幸的是,动态对象被忽略,这可能导致静态场景中的遮挡。而且合成街景这么大的场景需要巨大的计算资源,无法实时渲染。

基于神经绘制的场景合成

迈什里等人 [17]将一个潜在的外观向量和瞬态目标位置的语义掩码作为输入,将场景的点渲染到深度帧缓冲区,并学习这些初始渲染映射到真实照片。这需要大量的语义标注,并且忽略了瞬态对象。通过将传统的图形管道与可学习组件相结合,Thies等人 [27]介绍了一种新的图像合成范式,称为递延神经渲染,通过神经纹理从UV-MAP中学习目标图像的特征映射。尽管取得了很好的结果,但从点云中获得高质量的显式曲面是非常耗时的。

基于点的神经绘制方法采用点云作为输入来学习场景表示。NPBG[2]通过学习神经描述子对局部几何形状和外观进行编码,从点云中合成出高质量的新颖室内视图。TRANSPR[13]对NPBG进行了扩展,用alpha值增加点描述子,用射线行进代替Z-缓冲(Z-buffer)光栅化,可以合成场景的半透明部分。Adop[22]提出了一种基于点的可微神经绘制方法,通过将流水线的各个阶段设计成可微的,来优化所有场景的参数。

大规模神经场景绘制

本文提出的神经场景绘制方法旨在通过用点云表示驾驶场景来合成任意摄像机视角下的照片真实感图像。本文首先概述本文提出的方法。其次,针对大规模驾驶场景,提出了稀疏点云的多采样策略,以降低计算量。第三,提出用稀疏点云表示驾驶场景,合成逼真驾驶场景。最后对驾驶场景进行编辑拼接,为更大更丰富的驾驶场景提供合成数据。

概览

给定驾驶场景的一组输入图像和点云𝑃 = {𝑝1,𝑝2,...,𝑝𝑁}, 在已知摄像机参数的情况下,本文的框架能够从多个视图合成照片级真实感的驾驶场景,以及拼接和编辑驾驶场景。为此,提出了一种端到端的大规模神经场景绘制方法,该方法从稀疏点云合成真实感图像.本文的框架分为以下三个部分:光栅化,稀疏点云采样,𝜔−𝑛𝑒𝑡渲染网络。本文提出的框架概述如图2所示。

稀疏3D点云𝑃𝑖可以通过经典的运动结构和多视图立体管道 pipelines 获得,如Agisoft Metashape [1]。每个点𝑖位于𝑝𝑖,其与编码局部场景内容的神经描述子向量相关联。如在[2]中,每个输入的3D点𝑃包含位置𝑝𝑖= {𝑥𝑖,𝑦𝑖,𝑧𝑖},其外观特征通过将图像像素的RGB值映射到其对应的3D空间来提取。神经描述子𝐷𝑖= {𝑑1,𝑑2,...,𝑑𝑁}从输入点云计算,即表示局部几何图形和光度特性的潜在矢量。本文通过向输入数据传播梯度来更新这些特征,这样就可以从数据中自动学习神经描述子的特征。给定摄像机的内外部参数,通过设计8维神经描述子来表示RGB值,可以从不同的角度观察场景。在光栅化阶段,利用针孔摄像机𝐶 获取𝑊×𝐻尺寸的图像,本文构造了一个栅格化原始图像的金字塔    在本文的所有实验中(T = 4),𝑆𝑡 的空间尺寸为 ,其通过将通过深度测试的点的神经描述子分配给每个像素而形成。然后,在摄像机的全投影变换下将其投影到像素上。本质上,神经描述子特征𝐷𝑖 编码 𝑝𝑖 周围的局部3D场景内容。渲染网络表达局部3D函数𝑓,该局部3D函数𝑓输出 由其局部帧中的神经点建模的特定神经场景描述𝑓(𝑖,𝑥)at 𝑥。

图3:基本门模块。从稀疏点云中学习的神经描述子可以有效地筛选出无效值。

稀疏点云采样

合成千米级的驾驶场景,需要巨大的算力。因此,本文提出的方法的关键是减少内存占用,提高训练效率。本文使用Off-the-Shelf 3D重建软件[1]生成的点云来初始化真实世界场景的几何形状,而不是分别拟合每个场景。由于海量的点云数据消耗大量内存,训练难度依然较大。为了解决这个关键问题,本文利用稀疏采样策略,从原始可用像素的1/4生成稀疏点云,导致仅训练点云总数的25%。

Screen out occluded point clouds. 筛选出被遮挡的点云。为了避免更新被遮挡点的描述子,本文对每个点的可见性进行了近似。本文使用最近的光栅化方案,通过构造一个Z-缓冲区(Z-buffer),只保留像素位置上Z-值(Z-value)最低的点。神经描述器避开离当前帧摄像机较远的点,以更好地合成场景。因此,减少了计算遮挡点云的计算代价,从而大大提高了训练效率。

Monte Carlo sampling. 蒙特卡罗采样。由于点云在场景中的分布不同,在特征明显的区域存在丰富的点云。对于天空或动态物体的区域,由于缺乏明显的特征或特征点较少,相应的区域点云较少。为了有效地训练,本文提出了动态训练策略,利用Monte Carlo方法[24]对大量驾驶场景数据进行采样。对于在训练阶段𝑒的图像集𝑆𝑒,

𝑄(𝐼𝑒)是图像𝐼𝑒的合成质量,在本文的任务中通过感知损失[11]来计算。本文使用在每个阶段具有最差性能的Top𝑛样本作为训练数据。该模型通过动态采样的训练策略,加强对点云稀疏区域的学习,减少了整体训练时间。

Patch sampling。图像分辨率在内存使用中也起着非常重要的作用。为此,本文通过一种采样策略将整幅图像随机划分为多个patch,该策略可以根据GPU可用内存大小选择大小为w×h 的随机patch。值得一提的是,在本文的任务中,在Patch w×h 中的像素占整个图像𝑊×𝐻的比例小于15%。给定如下的固有矩阵𝐾

对于 𝑆𝑒中的每个图像𝐼,Patch的集合 𝑆𝑝通过以下策略获取,以确保可以训练场景中的所有区域:

其中𝛼是缩放比。它移动 Patch(𝑥Δ,𝑦Δ)以增强来自不同视图的场景的合成质量。

𝜔−𝑛𝑒𝑡

点云,特别是来自外部重建方法(如Metashape[1]或Colmap[23])的点云,经常存在空洞和离群点,从而降低渲染质量。在MIMOUNET[4]的推动下,本文提出了一种由稀疏点云合成新视图的渲染网络𝜔 −𝑛𝑒𝑡。

给定稀疏点云𝑃,绘制网络的目的是学习可靠的神经描述子来表示场景。然而,从点云中学习的神经描述子仍然存在漏洞。为了解决这个问题,本文设计了一个基本的门模块来过滤不同尺度的神经描述子,如图所示 3.

从效率上考虑,本文首先采用3×3卷积层来提取神经描述子𝐷𝑖的特征。通过Sigmoid函数学习一个掩码来过滤神经描述子中的无效值。输出是(0,1)的取值范围,它表示特征在神经描述子中的重要性。为了提高学习效率,本文对神经描述子使用ELU激活函数。(we employ the ELU activation function for the neural descriptor.)⊗表示元素相乘。本文将初始特征与过滤后的特征连接(©)起来,作为一个新特征。最后,本文使用额外的1×1卷积层来进一步细化级联特征。另外,引入门卷积[33]对融合的特征进行再滤波。

图4:特征融合模块。第1部分对同一尺度下的特征进行融合,利用了同一尺度下的互补信息。第2部分通过融合不同尺度下的特征来学习神经描述子中的缺失点。

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

Fusing features at the same scale 以相同比例融合要素。在本文提出的方法中,神经描述子𝐷𝑖+1的特征𝐹𝑏是从𝐷𝑖中通过平均池化操作获得的。神经描述子𝐷𝑖+1的下采样特征𝐹𝑑,将其自身与最后一个1 × 1层 特征相连接,用于细节增强以保留丢失的信息。同时,大小为 H/2 × w/2 的特征𝐹𝑐 是从神经描述子𝐷𝑖的门模块(gate module)中使用门控卷积(gate convolution)得到的。融合特征𝐹𝑐和𝐹𝑑到同一尺度下,可以利用特征之间的互补信息,其中融合特征 𝐹𝑓𝑢𝑠𝑖𝑜𝑛 = 𝐹𝑐 + 𝐹𝑑 ⊗ 𝐹𝑐 ,如图4中红色圆圈所示。

场景编辑和缝合

由于本文提出的模型从点云中学习神经描述子来表示场景,因此可以通过改变训练好的神经描述子来编辑场景。因此,本文可以随意移动场景中的汽车、人和房屋。或者甚至模拟极端的场景,比如一辆汽车走错了方向,就快要撞车。

如图5所示,表示在点云中的一个汽车的范围。通过反向传播,本文使用一个具有可学习参数𝜃的绘制网络将所有的神经描述子投影𝐷到RGB图像上。

其中𝐼𝑥,𝑦是投影的2D图像,𝜓pr表示投影和光栅化过程。本文通过改变car 的位置,合成了 car 的新视图.

利用场景编辑的优势,本文不仅可以移动场景中的物体,还可以去除动态物体,从而获得更加多样的驾驶场景,如图7所示。

针对大规模驾驶场景,本文提出了一种场景拼接方法,能够拼接多个场景并局部更新一个块。对于场景1的边界处的坐标(𝑥1,𝑦1,𝑧1),需要拼接场景2的边界坐标(𝑥2,𝑦2,𝑧2)。本文首先旋转两个场景的点云(𝑃1,𝑃2),使得它们在边界处的坐标系上对齐。特征描述子(𝐷1,𝐷2)表示在由本文的渲染网络训练之后它们的场景的纹理。然后,在边界处缝合𝐷1和𝐷2以更新场景。新场景为𝑐𝑜𝑛𝑐𝑎𝑡(𝐷1,𝐷2)。

损失函数。感知损失[11],又称VGG损失,比其他损失函数更能有效地反映感知的图像质量。因此,本文采用感知损失函数来防止平滑高频细节,同时鼓励色彩保留。具体而言,本文计算合成新视图和地面真实图像𝐼(𝐺𝑇)之间的感知损失,其通过预先训练的VGG层 Φ𝑙 计算,表示如下:

其中𝑙表示随机裁剪的 patches。给定点云𝑃和相机参数𝐶,本文的驾驶场景渲染𝑅𝜃 学习神经描述子𝐷 和 网络参数𝜃。

实验

为了更好地比较各种方法的定性和定量结果,本文在Nvidia GeForce RTX 2070 GPU上进行了实验,并在两个自动驾驶数据集上对本文提出的方法进行了评估。为了减少加载整个大规模场景的点云所占用的内存,所有比较方法都使用经本文的方法优化的稀疏点云作为输入。

数据集

KITTI数据集[8]:KITTI是一个真实驾驶场景的大数据集,包含了丰富的场景。本文主要在三种不同的情况下进行实验,即住宅、道路和城市,分别覆盖3724、996和1335米。由于部分重叠,本文最终在住宅、道路和城市场景中分别采用了3560帧、819帧和1584帧作为测试床(testbed)。本文通过遵循[2,22]的训练和测试拆分,每10帧(例如,0,10,20…)进行评估。其余的帧用于训练。为了证明本文方法的有效性,本文进行了更具挑战性的实验,每100帧前后丢弃5个测试帧作为测试帧。由于汽车行驶速度较快,丢失10帧可能会丢失大量场景信息,尤其是在弯道处。

BRNO Urban DataSet[15]:与Kitti的单视图轨迹相比,BRNO Urban DataSet包含四个视图,包括左视图、右视图、左前视图和右前视图。本文使用了1641帧的驾驶图像在本文的实验中。左视图、左前视图和右视图被用作一组数据,使用与KITTI类似的评估标准。

图6:来自KITTI基准的住宅、道路和城市场景的新视图合成的比较结果,以及来自BRNO城市数据集的多视图场景的比较结果。与Dagan[25]、NRW[17]、NPBG[2]和ADOP[22]相比,本文的方法在行人、车辆、天空、建筑物和路标等情况下表现最好。请放大以了解更多细节。

KITTI测试集的评价

由于外部重建方法(如MetaShape [1])的点云通常包含空洞和离群值,因此渲染质量通常会下降。此外,作为输入的稀疏点云给场景合成带来了很大的挑战。

为了验证该方法的有效性,本文将其与最近基于图像到图像转换和基于神经点的方法进行了比较,包括Dagan[25],NRW[17],NPBG[2]和ADOP[22],这些方法在室外场景合成中取得了很好的效果。在上述方法的基础上,采用峰值信噪比(PSNR)、结构相似度(SSIM)和感知损失(VGG损失)作为评价指标。为了便于公平比较,本文还采用了感知度量和学习的感知图像贴片相似度(LPIPS)。

Tang et al. [25]提出了一种新颖的双注意力GAN(DAGAN)算法,该算法能够在空间和通道维度上对语义注意力进行有效建模,从而提高语义图像的特征表示能力。基于GAN的方法可以合成出合理的语义图像,但与真实场景纹理有一定差距,在各种度量指标上性能较弱。

NRW[17]将点渲染到深度帧缓冲区,并通过训练神经网络学习从初始渲染到实际照片的映射。除了点云、摄像机视图和成对姿态,NRW还需要额外的深度图来监督,这些图由Agisoft Metashape[1]获得。虽然在KITTI数据集中获得了很好的度量,但它在有细节的纹理中表现不佳,如图6所示。

NPBG[2]是基线方法之一。为了便于比较,本文使用了相同的参数,如神经描述子的个数和网络结构的层数等,并通过消融和NPBG的比较,详细评价了该方法的有效性。

Adop[22]提出了可微渲染,它可以优化相机姿态、固有颜色或纹理颜色的参数。但是,它具有复杂的流水线场景参数,是一个两阶段渲染网络,每幅图像的曝光和每幅图像的白平衡都需要手动调节。ADOP算法在稀疏点云中存在困难,容易在有孔洞的点云区域合成模糊图像。

在本文提出的方法中,本文通过四个数据集中的点云初始化驾驶场景,并使用神经描述子对几何和外观进行编码。在每次迭代中,本文在KITTI数据集中采样10个大小为256×256的目标patch。由于BRNO城市数据集具有较高的图像分辨率,因此采用336×336的patch进行训练。在蒙特卡罗抽样中,本文将抽样比例设置为80%。表1显示了本文方法的结果。可以看出,本文提出的方法在所有度量上都明显优于以前的方法。

BRNO城市测试集的评价

与KITTI数据集不同,BRNO城市数据集的三视图非常具有挑战性。

在评估中,本文分别测试左侧视图、左前侧视图和右侧视图。如表2所示,本文提出的方法明显优于其他方法,而Dagan在100帧测试中获得了稍好的LPIPS度量。NRW的侧视结果与本文的相似。这是由于更快的汽车速度和更窄的侧视,导致帧间的图像显著不同。由于训练和测试集的分布不同,使得基于点云绘制的方法受到严重影响。NRW算法通过附加的分割标注来合成不熟悉的场景,并将图像投影到点云上初始化深度缓冲区。利用GAN生成器可以对点云中的缺失区域获得合理的图像。因此,DAGAN和NRW在输入图像较少的情况下实现了轻微的改进。然而,这类方法受到从不同视角合成新颖场景的限制。另外,ADOP使用可微绘制流水线pipeline 将摄像机图像与点云对齐,右侧视图合成结果与本文的相似。

消融实验

在消融实验中,本文检验了各个模块的有效性,更多的结果在补充材料中给出。为了进行公平的比较,本文在NPBG中加入了3.2.3节中提出的抽样策略作为本文的基线,即抽样NPBG,如表3第一行所示。然后,本文逐步添加第3节中提到的每个模块,并在Kitti Road场景中对它们进行评估。与NPBG采样相比,本文提出的基本门模块能够有效地过滤神经描述子中的无效值,从而在PSNR、SSIM等指标上得到显著改善。通过融合相同尺度(相同)的特征,以精细的细节增强场景的纹理。不同尺度特征模块(Differ)的融合可以有效地填补神经描述子接近于零的值。所有的度量都比基线有了很大的改进。本文还研究了不同损失函数的影响。可以观察到,将L1、PSNR损失和VGG损失结合起来,可以稍微改善SSIM指标。

驾驶场景编辑

编辑驾驶场景不仅为先进的驾驶员辅助系统提供了更多的合成数据,还可以模拟日常生活中罕见的交通状况,即一辆汽车违规行驶在错误的道路一侧。此外,本文提出的方法可以去除场景中的动态对象,使数据采集人员不必担心复杂的交通和车辆对真实场景恢复的影响。这为数据收集提供了方便。另外,通过本文的方法可以合成全景图。更大的视场为驾驶员辅助系统提供了更多的街景信息,便于观察周围环境,及时处理突发事件,如图7所示,更多的结果在补充材料中提出。

驾驶场景拼接

利用场景拼接的优势,本文的模型能够合成更大的驾驶场景,更新路况变化明显的局部区域。这不仅能在更大尺度上处理驾驶区域,还能将大尺度场景分割成小块并行高效训练。如图5所示 对两个Kitti住宅场景进行拼接,这两个场景共享相同的渲染网络,并分别从相应的部分学习纹理。表4显示了对缝合方案的比较结果。可见,将大场景分解成小部分可以达到更好的效果。这表明了本文提出的拼接方法的有效性。

图7:场景编辑的示例结果。本文可以在不同的视图中移动和移除汽车。通过改变摄像机参数,可以合成一幅较大视图的全景图。

限制

本文提出了一种从稀疏点云中合成具有真实感的驾驶场景的多尺度绘制方法。然而,对于与训练视图差异很大的图像,例如,在BRNO城市数据集的右视图中,测试帧附近的10帧被丢弃。如图8所示,基于神经绘制的方法很难在观测量少的情况下合成场景,导致模糊。此外,点云上的不对齐会影响渲染结果。未来将考虑利用激光雷达传感器扫描的点云作为训练数据,以减少重建误差。

总结

本文提出了一种基于神经网络的自动驾驶场景绘制方法,使得在PC上通过多种采样方案合成大规模场景成为可能。提出了一个渲染网络𝜔 −𝑛𝑒𝑡,通过基本的门模块对神经描述子进行过滤,并采用不同的策略对同一尺度和不同尺度的特征进行融合。本文提出的方法不仅合成了照片真实感视图,而且对驾驶场景进行了编辑和拼接。这使得能够生成各种照片逼真的图像来训练和测试自动驾驶系统。令人鼓舞的实验结果表明,本文提出的方法在定性和定量上都明显优于其他方法。

参考

Li Z, Li L, Ma Z, et al. READ: Large-Scale Neural Scene Rendering for  Autonomous Driving[J]. arXiv preprint arXiv:2205.05509, 2022.

往期回顾

苏黎世理工最新!maplab2.0:模块化的多模态建图定位框架


自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存