#Sin3DGen

最近有点忙 可能给忘了,贴了我只是搬运工 发这些给自己看, 还有下面不是隐藏是发布出去 ~

北京大学xxx团队联合山东大学和xxx AI Lab的研究人员,提出了首个基于单样例场景无需训练便可生成多样高质量三维场景的方法。

w~视觉~3D~合集2_3D

多样高质的三维场景生成结果

  • 论文地址:https://arxiv.org/abs/2304.12670
  • 项目主页:http://weiyuli.xyz/Sin3DGen/

使用人工智能辅助内容生成(AIGC)在图像生成领域涌现出大量的工作,从早期的变分自编码器(VAE),到生成对抗网络(GAN),再到最近大红大紫的扩散模型(Diffusion Model),模型的生成能力飞速提升。以 Stable Diffusion,Midjourney 等为代表的模型在生成具有高真实感图像方面取得了前所未有的成果。同时,在视频生成领域,最近也涌现出很多优秀的工作,如 Runway 公司的生成模型能够生成充满想象力的视频片段。这些应用极大降低了内容创作门槛,使得每个人都可以轻易地将自己天马行空的想法变为现实。

但是随着承载内容的媒介越来越丰富,人们渐渐不满足于图文、视频这些二维的图形图像内容。随着交互式电子游戏技术的不断发展,特别是虚拟和增强现实等应用的逐步成熟,人们越来越希望能身临其境地从三维视角与场景和物体进行互动,这带来了对三维内容生成的更大诉求。

如何快速地生成高质量且具有精细几何结构和高度真实感外观的三维内容,一直以来是计算机图形学社区研究者们重点探索的问题。通过计算机智能地进行三维内容生成,在实际生产应用中可以辅助游戏、影视制作中重要数字资产的生产,极大地减少了美术制作人员的开发时间,大幅地降低资产获取成本,并缩短整体的制作周期,也为用户带来千人千面的个性化视觉体验提供了技术可能。而对于普通用户来说,快速便捷的三维内容创作工具的出现,结合如桌面级三维打印机等应用,未来将为普通消费者的文娱生活带来更加无限的想象空间。

目前,虽然普通用户可以通过便携式相机等设备轻松地创建图像和视频等二维内容,甚至可以对三维场景进行建模扫描,但总体来说,高质量三维内容的创作往往需要有经验的专业人员使用如 3ds Max、Maya、Blender 等软件手动建模和渲染,但这些有很高的学习成本和陡峭的成长曲线。

其中一大主要原因是,三维内容的表达十分复杂,如几何模型、纹理贴图或者角色骨骼动画等。即使就几何表达而言,就可以有点云、体素和网格等多种形式。三维表达的复杂性极大地限制了后续数据采集和算法设计。

另一方面,三维数据天然具有稀缺性,数据获取的成本高昂,往往需要昂贵的设备和复杂的采集流程,且难以大量收集某种统一格式的三维数据。这使得大多数数据驱动的深度生成模型难有用武之地。

在算法层面,如何将收集到的三维数据送入计算模型,也是难以解决的问题。三维数据处理的算力开销,要比二维数据有着指数级的增长。暴力地将二维生成算法拓展到三维,即使是最先进的并行计算处理器也难以在可接受的时间内进行处理。

上述原因导致了当前三维内容生成的工作大多只局限于某一特定类别或者只能生成较低分辨率的内容,难以应用于真实的生产流程中。

为了解决上述问题,提出了首个基于单样例场景无需训练便可生成多样高质量三维场景的方法。该算法具有如下优点:

1,无需大规模的同类训练数据和长时间的训练,仅使用单个样本便可快速生成高质量三维场景;

2,使用了基于神经辐射场的 Plenoxels 作为三维表达,场景具有高真实感外观,能渲染出照片般真实的多视角图片。生成的场景也完美的保留了样本中的所有特征,如水面的反光随视角变化的效果等;

3,支持多种应用制作场景,如三维场景的编辑、尺寸重定向、场景结构类比和更换场景外观等。

方法介绍

研究人员提出了一种多尺度的渐进式生成框架,如下图所示。算法核心思想是将样本场景拆散为多个块,通过引入高斯噪声,然后以类似拼积木的方式将其重新组合成类似的新场景。

作者使用坐标映射场这种和样本异构的表达来表示生成的场景,使得高质量的生成变得可行。为了让算法的优化过程更加鲁棒,该研究还提出了一种基于值和坐标混合的优化方法。同时,为了解决三维计算的大量资源消耗问题,该研究使用了精确到近似的优化策略,使得能在没有任何训练的情况下,在分钟级的时间生成高质量的新场景。更多的技术细节请参考原始论文。

w~视觉~3D~合集2_视觉_02

随机场景生成 

w~视觉~3D~合集2_3D_03

通过如左侧框内的单个三维样本场景,可以快速地生成具有复杂几何结构和真实外观的新场景。该方法可以处理具有复杂拓扑结构的物体,如仙人掌,拱门和石凳等,生成的场景完美地保留了样本场景的精细几何和高质量外观。当前没有任何基于神经网络的生成模型能做到相似的质量和多样性。

高分辨率大场景生成

视频发不了

该方法能高效地生成极高分辨率的三维内容。如上所示,我们可以通过输入单个左上角分辨率为 512 x 512 x 200 的三维 “千里江山图” 的一部分,生成 1328 x 512 x 200 分辨率的 “万里江山图”,并渲染出 4096 x 1024 分辨率的二维多视角图片。

真实世界无边界场景生成

w~视觉~3D~合集2_3D_04

作者在真实的自然场景上也验证了所提出的生成方法。通过采用与 NeRF++ 类似的处理方法,显式的将前景和天空等背景分开后,单独对前景内容进行生成,便可在真实世界的无边界场景中生成新场景。

其他应用场景

场景编辑 

w~视觉~3D~合集2_3D_05

使用相同的生成算法框架,通过加入人为指定限制,可以对三维场景内的物体进行删除,复制和修改等编辑操作。如图中所示,可以移除场景中的山并自动补全孔洞,复制生成三座山峰或者使山变得更大。

尺寸重定向 

w~视觉~3D~合集2_3D_06

该方法也可以对三维物体进行拉伸或者压缩的同时,保持其局部的形状。图中绿色框线内为原始的样本场景,将一列三维火车进行拉长的同时保持住窗户的局部尺寸。

结构类比生成 

w~视觉~3D~合集2_视觉_07

和图像风格迁移类似,给定两个场景 A 和 B,我们可以创建一个拥有 A 的外观和几何特征,但是结构与 B 相似的新场景。如我们可以参考一座雪山将另一座山变为三维雪山。

更换样本场景 

w~视觉~3D~合集2_视觉_08

由于该方法对生成场景采用了异构表达,通过简单地修改其映射的样本场景,便可生成更加多样的新场景。如使用同一个生成场景映射场 S,映射不同时间或季节的场景,得到了更加丰富的生成结果。

总结

这项工作面向三维内容生成领域,首次提出了一种基于单样本的三维自然场景生成模型,尝试解决当前三维生成方法中数据需求大、算力开销多、生成质量差等问题。该工作聚焦于更普遍的、语义信息较弱的自然场景,更多的关注生成内容的多样性和质量。算法主要受传统计算机图形学中纹理图像生成相关的技术,结合近期的神经辐射场,能快速地生成高质量三维场景,并展示了多种实际应用。

未来展望

该工作有较强的通用性,不仅能结合当前的神经表达,也适用于传统的渲染管线几何表达,如多边形网格 (Mesh)。我们在关注大型数据和模型的同时,也应该不时地回顾传统的图形学工具。研究人员相信,不久的未来,在 3D AIGC 领域,传统的图形学工具结合高质量的神经表达以及强力的生成模型,将会碰撞出更绚烂的火花,进一步推进三维内容生成的质量和速度,解放人们的创造力。





#OpenShape_code

三维点云的开放世界理解,分类、检索、字幕和图像生成样样行 , OpenShape 让三维形状的开放世界理解成为可能。

输入一把摇椅和一匹马的三维形状,能得到什么?

w~视觉~3D~合集2_3D_09

木马和坐在椅子上的牛仔!

w~视觉~3D~合集2_视觉_10

 木推车加马?得到马车和电动马;香蕉加帆船?得到香蕉帆船;鸡蛋加躺椅?得到鸡蛋椅。  

w~视觉~3D~合集2_视觉_11

来自UCSD、上海交大、高通团队的研究者提出最新三维表示模型OpenShape,让三维形状的开放世界理解成为可能。 

  • 论文地址:https://arxiv.org/pdf/2305.10764.pdf
  • 项目主页:https://colin97.github.io/OpenShape/ 
  • 交互demo: https://huggingface.co/spaces/OpenShape/openshape-demo
  • 代码地址:https://github.com/Colin97/OpenShape_code

通过在多模态数据(点云 - 文本 - 图像)上学习三维点云的原生编码器,OpenShape 构建了一个三维形状的表示空间,并与 CLIP 的文本和图像空间进行了对齐。得益于大规模、多样的三维预训练,OpenShape 首次实现三维形状的开放世界理解,支持零样本三维形状分类、多模态三维形状检索(文本 / 图像 / 点云输入)、三维点云的字幕生成和基于三维点云的图像生成等跨模态任务。

三维形状零样本分类

w~视觉~3D~合集2_3D_12

OpenShape 支持零样本三维形状分类。无需额外训练或微调,OpenShape 在常用的 ModelNet40 基准(包含 40 个常见类别)上达到了 85.3% 的 top1 准确率,超过现有零样本方法 24 个百分点,并首次实现与部分全监督方法相当的性能。

OpenShape 在 ModelNet40 上的 top3 和 top5 准确率则分别达到了 96.5% 和 98.0%。

w~视觉~3D~合集2_视觉_13

与现有方法主要局限于少数常见物体类别不同,OpenShape 能够对广泛的开放世界类别进行分类。在 Objaverse-LVIS 基准上(包含 1156 个物体类别),OpenShape 实现了 46.8% 的 top1 准确率,远超现有零样本方法最高只有 6.2% 的准确率。这些结果表明 OpenShape 具备有效识别开放世界三维形状的能力。

多模态三维形状检索

通过 OpenShape 的多模态表示,用户可以对图像、文本或点云输入进行三维形状检索。研究通过计算输入表示和三维形状表示之间的余弦相似度并查找 kNN,来从集成数据集中检索三维形状。

w~视觉~3D~合集2_3D_14

上图展示了输入图片和两个检索到的三维形状。 

w~视觉~3D~合集2_3D_15

上图展示了输入文本和检索到的三维形状。OpenShape 学到了广泛的视觉和语义概念,从而支持细粒度的子类别(前两行)和属性控制(后两行,如颜色,形状,风格及其组合)。 

w~视觉~3D~合集2_视觉_16

上图展示了输入的三维点云和两个检索到的三维形状。 

w~视觉~3D~合集2_3D_17

上图将两个三维形状作为输入,并使用它们的 OpenShape 表示来检索同时最接近两个输入的三维形状。检索到的形状巧妙地结合了来自两个输入形状的语义和几何元素。

基于三维形状的文本和图像生成

由于 OpenShape 的三维形状表示与 CLIP 的图像和文本表示空间进行了对齐,因此它们可以与很多基于 CLIP 的衍生模型进行结合,从而支持各种跨模态应用。

w~视觉~3D~合集2_3D_18

通过与现成的图像字幕模型(ClipCap)结合,OpenShape 实现了三维点云的字幕生成。

w~视觉~3D~合集2_3D_19

通过与现成的文本到图像的扩散模型(Stable unCLIP)结合,OpenShape 实现了基于三维点云的图像生成(支持可选的文本提示)。 

w~视觉~3D~合集2_3D_20

训练细节

基于对比学习的多模态表示对齐:OpenShape 训练了一个三维原生编码器,它将三维点云作为输入,来提取三维形状的表示。继之前的工作,研究利用多模态对比学习来与 CLIP 的图像和文本表示空间进行对齐。与之前的工作不同,OpenShape 旨在学习更通用和可扩展的联合表示空间。研究的重点主要在于扩大三维表示学习的规模和应对相应的挑战,从而真正实现开放世界下的三维形状理解。

w~视觉~3D~合集2_3D_21

集成多个三维形状数据集:由于训练数据的规模和多样性在学习大规模三维形状表示中起着至关重要的作用,因此研究集成了四个当前最大的公开三维数据集进行训练。如下图所示,研究的训练数据包含了 87.6 万个训练形状。在这四个数据集中,ShapeNetCore、3D-FUTURE 和 ABO 包含经过人工验证的高质量三维形状,但仅涵盖有限数量的形状和数十个类别。Objaverse 数据集是最近发布的三维数据集,包含显著更多的三维形状并涵盖更多样的物体类别。然而 Objaverse 中的形状主要由网络用户上传,未经人工验证,因此质量参差不齐,分布极不平衡,需要进一步处理。

w~视觉~3D~合集2_3D_22

文本过滤和丰富:研究发现仅在三维形状和二维图像之间应用对比学习不足以推动三维形状和文本空间的对齐,即使在对大规模数据集进行训练时也是如此。研究推测这是由于 CLIP 的语言和图像表示空间中固有的领域差距引起的。因此,研究需要显式地将三维形状与文本进行对齐。然而来自原始三维数据集的文本标注通常面临着缺失、错误、或内容粗略单一等问题。为此,本文提出了三种策略来对文本进行过滤和丰富,从而提高文本标注的质量:使用 GPT-4 对文本进行过滤、对三维模型的二维渲染图进行字幕生成和图像检索。

w~视觉~3D~合集2_3D_23

w~视觉~3D~合集2_3D_24

 

w~视觉~3D~合集2_3D_25

在每个示例中,左侧部分展示了缩略图、原始形状名称和 GPT-4 的过滤结果。右上部分展示来来自两个字幕模型的图像字幕,而右下部分显示检索到的图像及其相应的文本。

扩大三维骨干网络。由于先前关于三维点云学习的工作主要针对像 ShapeNet 这样的小规模三维数据集, 这些骨干网络可能不能直接适用于我们的大规模的三维训练,需要相应地扩大骨干网络的规模。研究发现在不同大小的数据集上进行训练,不同的三维骨干网络表现出不同的行为和可扩展性。其中基于 Transformer 的 PointBERT 和基于三维卷积的 SparseConv 表现出更强大的性能和可扩展性,因而选择他们作为三维骨干网络。

w~视觉~3D~合集2_视觉_26

困难负例挖掘:该研究的集成数据集表现出高度的类别不平衡。一些常见的类别,比如建筑,可能占据了数万个形状,而许多其他类别,比如海象和钱包,只有几十个甚至更少的形状,代表性不足。因此,当随机构建批次进行对比学习时,来自两个容易混淆的类别(例如苹果和樱桃)的形状不太可能出现在同一批次中被对比。为此,本文提出了一种离线的困难负例挖掘策略,以提高训练效率和性能。





#SPin-NeRF

神经辐射场(Neural Radiance Fields,简称 NeRF)已经成为一种流行的新视角合成方法。尽管 NeRF 迅速适应了更广泛的应用领域,但直观地编辑 NeRF 场景仍然是一个待解决的挑战。其中一个重要的编辑任务是从 3D 场景中移除不需要的对象,以使替换区域在视觉上是合理的,并与其上下文保持一致。本文提出了一种新颖的 3D 修复方法来解决这些挑战。

神经辐射场(NeRF)已经成为一种流行的新视图合成方法。虽然 NeRF 正在快速泛化到更广泛的应用以及数据集中,但直接编辑 NeRF 的建模场景仍然是一个巨大的挑战。一个重要的任务是从 3D 场景中删除不需要的对象,并与其周围场景保持一致性,这个任务称为 3D 图像修复。在 3D 中,解决方案必须在多个视图中保持一致,并且在几何上具有有效性。

本文来自三星、多伦多大学等机构的研究人员提出了一种新的三维修复方法来解决这些挑战,在单个输入图像中给定一小组姿态图像和稀疏注释,提出的模型框架首先快速获得目标对象的三维分割掩码并使用该掩码,然后引入一种基于感知优化的方法,该方法利用学习到的二维图像再进行修复,将他们的信息提取到三维空间,同时确保视图的一致性。

该研究还通过训练一个很有挑战性的现实场景的数据集,给评估三维场景内修复方法带来了新的基准测试。特别是,该数据集包含了有或没有目标对象的同一场景的视图,从而使三维空间内修复任务能够进行更有原则的基准测试。

  • 论文地址:https://arxiv.org/pdf/2211.12254.pdf
  • 论文主页:https://spinnerf3d.github.io/

下面为效果展示,在移除一些对象后,还能与其周围场景保持一致性:

w~视觉~3D~合集2_视觉_27

本文方法和其他方法的比较,其他方法存在明显的伪影,而本文的方法不是很明显:

w~视觉~3D~合集2_视觉_28

方法介绍

作者通过一种集成的方法来应对三维场景编辑任务中的各种挑战,该方法获取场景的多视图图像,以用户输入提取到的 3D 掩码,并用 NeRF 训练来拟合到掩码图像中,这样目标对象就被合理的三维外观和几何形状取代。现有的交互式二维分割方法没有考虑三维方面的问题,而且目前基于 NeRF 的方法不能使用稀疏注释得到好的结果,也没有达到足够的精度。虽然目前一些基于 NeRF 的算法允许去除物体,但它们并不试图提供新生成的空间部分。据目前的研究进展,这个工作是第一个在单一框架中同时处理交互式多视图分割和完整的三维图像修复的方法。

研究者利用现成的、无 3D 的模型进行分割和图像修复,并以视图一致性的方式将其输出转移到 3D 空间。建立在 2D 交互式分割工作的基础上,作者所提出的模型从一个目标对象上的少量用户用鼠标标定的图像点开始。由此,他们的算法用一个基于视频的模型初始化掩码,并通过拟合一个语义掩码的 NeRF ,将其训练成一个连贯的 3D 分割。然后,再应用预先训练的二维图像修复到多视图图像集上,NeRF 拟合过程用于重建三维图像场景,利用感知损失去约束 2 维画图像的不一致,以及画深度图像规范化掩码的几何区域。总的来说,研究者们提供了一个完整的方法,从对象选择到嵌入的场景的新视图合成,在一个统一的框架中对用户的负担最小,如下图所示。

w~视觉~3D~合集2_3D_29

综上所述,这篇工作的贡献如下:

  • 一个完整的 3D 场景操作过程,从用户交互的对象选择开始,到 3D 修复的 NeRF 场景结束;
  • 将二维的分割模型扩展到多视图情况,能够从稀疏注释中恢复出具有三维一致的掩码;
  • 确保视图一致性和感知合理性,一种新的基于优化的三维修复公式,利用二维图像修复;
  • 一个新的用于三维编辑任务评估的数据集,包括相应的操作后的 Groud Truth。

w~视觉~3D~合集2_3D_30

多视图分割模块获取输入的 RGB 图像、相应的相机内在和外部参数,以及初始掩码去训练一个语义 NeRF 。上图描述了语义 NeRF 中使用的网络;对于点 x 和视图目录 d,除了密度 σ 和颜色 c 外,它还返回一个 pre-sigmoid 型的对象 logit,s (x)。为了其快速收敛,研究者使用 instant-NGP 作为他们的 NeRF 架构。与光线 r 相关联的期望客观性是通过在等式中呈现 r 上的点的对数而不是它们相对于密度的颜色而得到的: 

w~视觉~3D~合集2_3D_31

最后,采用两个阶段进行优化,进一步改进掩码;在获得初始三维掩码后,从训练视图呈现掩码,并用于监督二次多视图分割模型作为初始假设(而不是视频分割输出)。 

w~视觉~3D~合集2_3D_32

上图显示了视图一致的修复方法概述。由于数据的缺乏妨碍了直接训练三维修改修复模型,该研究利用现有的二维修复模型来获得深度和外观先验,然后监督 NeRF 对完整场景的渲染拟合。这个嵌入的 NeRF 使用以下损失进行训练: 

w~视觉~3D~合集2_视觉_33

该研究提出具有视图一致性的修复方法,输入为 RGB。首先,该研究将图像和掩码对传输给图像修复器以获得 RGB 图像。由于每个视图都是独立修复的,因此直接使用修复完的视图监督 NeRF 的重建。本文中,研究者并没有使用均方误差(MSE)作为 loss 生成掩码,而是建议使用感知损失 LPIPS 来优化图像的掩码部分,同时仍然使用 MSE 来优化未掩码部分。该损失的计算方法如下:

w~视觉~3D~合集2_视觉_34

即使有感知损失,修复视图之间的差异也会错误地引导模型收敛到低质量几何(例如,摄像机附近可能形成 “模糊” 几何测量,以解释每个视图的不同信息)。因此,研究员使用已生成的深度图作为 NeRF 模型的额外指导,并在计算感知损失时分离权值,使用感知损失只拟合场景的颜色。为此,研究者使用了一个对包含不需要的对象的图像进行了优化的 NeRF,并渲染了与训练视图对应的深度图。其计算方法是用到相机的距离而不是点的颜色代替的方法: 

w~视觉~3D~合集2_3D_35

w~视觉~3D~合集2_视觉_36

实验结果

多视图分割:首先评估 MVSeg 模型,没有任何编辑修复。在本实验中,假设稀疏图像点已经给出了一个现成的交互式分割模型,并且源掩码是可用的。因此,该任务是将源掩码传输到其他视图中。下表显示,新模型优于 2D(3D 不一致)和 3D 基线。此外研究者提出的两阶段优化有助于进一步改进所得到的掩码。

w~视觉~3D~合集2_视觉_37

定性分析来说,下图将研究人员的分割模型的结果与 NVOS 和一些视频分割方法的输出进行了比较。与 3D 视频分割模型的粗边相比,他们的模型降低了噪声并提高了视图的一致性。虽然 NVOS 使用涂鸦(scribbles)不是研究者新模型中使用的稀疏点,但新模型的 MVSeg 在视觉上优于 NVOS。由于 NVOS 代码库不可用,研究人员复制了已发布的 NVOS 的定性结果(更多的例子请参见补充文档)。 

w~视觉~3D~合集2_视觉_38

下表显示了 MV 方法与基线的比较,总的来说,新提出的方法明显优于其他二维和三维修复方法。下表进一步显示,去除几何图形结构的引导会降低已修复的场景质量。 

w~视觉~3D~合集2_视觉_39

定性结果如图 6、图 7 所示。图 6 表明,本文方法可以重建具有详细纹理的视图一致场景,包括有光泽和无光泽表面的连贯视图。图 7 表明, 本文的感知方法减少了掩码区域的精确重建约束,从而在使用所有图像时防止了模糊的出现,同时也避免了单视图监督造成的伪影。 

w~视觉~3D~合集2_3D_40

w~视觉~3D~合集2_3D_41

 



#FF3D~

3D 人像合成一直是备受关注的 AIGC 领域。随着 NeRF 和 3D-aware GAN 的日益进步,合成高质量的 3D 人像已经不能够满足大家的期待,能够通过简单的方式自定义 3D 人像的风格属性成为了更高的目标,例如直接使用文本描述指导合成想要的 3D 人像风格。

但是 3D 人像的风格化存在一个普遍的问题,当一个高质量的 3D 人像合成模型训练好后(例如训练一个 EG3D 模型),后续往往很难对其进行较大的风格化改变。基于模型隐空间编辑的方法会受限于预训练 3D 人像合成模型的数据分布;直接对 3D 人像不同视角进行风格化会破坏 3D 一致性;自己收集创建一个风格化的多视角人像数据集成本很高。以上这些问题使得大家难以简单的创建风格化 3D 人像。

中科院、阿里出品作者们提出一种简单高效的风格化 3D 人像合成方法,能够快速实现基于文本描述的自定义 3D 人像风格化。,创建自定义风格化3D人像只需三分钟

  • 论文地址:https://arxiv.org/pdf/2306.15419.pdf
  • 项目网站:https://tianxiangma.github.io/FF3D/

视频发不了 就别看了..

方法框架

该方法的核心步骤有两个:1. 小样本风格化人像数据集构建,2. Image-to-Triplane 模型微调。方法框架如下。

w~视觉~3D~合集2_3D_42

使用两种先验模型构建小样本风格化人像数据集

人工收集多视角风格化人像数据是困难的,但是研究团队可以利用已有的预训练模型来间接构建这种数据。本文采用两个预训练先验模型 EG3D 和 Instruct-pix2pix (IP2P) 来实现这一目标。

w~视觉~3D~合集2_视觉_43

mage-to-Triplane 模型微调

构建出 Ds 后,需要学习一个符合该数据集人像风格的的 3D 模型。针对这个问题,研究团队提出一个 Image-to-Triplane (I2T) 网络,它可以建立人像图像到 Triplane 表征到映射。研究将预训练的 EG3D 模型的 Triplane 合成网络替换为本文提出的的 I2T 网络,并复用剩余的渲染网络。

因为 Ds 数据集的不同视角风格化肖像是 3D 不一致的,所以首先需要对 I2T 网络进行预训练,来预先建立人像到 Triplane 表征的准确映射关系。研究团队利用 EG3D 的合成数据来预训练 I2T 网络,训练损失函数如下:

w~视觉~3D~合集2_3D_44

该模型微调是十分高效的,可以在 3 分钟左右完成。至此,就能够得到一个自定义风格(使用文本提示 t 指定)的 3D 人像模型。

实验

在本文的首页所展示的就是一系列高质量的风格化 3D 人像合成结果。为了验证本文方法的可扩展性,研究团队构建了一个多风格多身份人像数据集。他们利用 ChatGPT 生成 100 种不同风格类型的问题提示,包含艺术风格、电影角色风格、游戏角色风格、以及基础属性编辑风格。对于每种风格使用本文的人像风格化 pipeline 合成 10*10 张不同视角的风格化人像,进而构建出包含 10,000 张图像的多风格单身份人像数据集(MSSI)。此外,在 MSSI 的基础上扩展每种风格的身份属性,即随机采样不同的 w 向量,得到多风格多身份人像数据集(MSMI)。该方法在这两个数据集上的微调模型的 3D 人像合成结果如下:

w~视觉~3D~合集2_3D_45

w~视觉~3D~合集2_3D_46

在 I2T 的 ws 隐空间进行插值即可实现 3D 人像的风格变化: 

w~视觉~3D~合集2_3D_47

该方法与 baseline 方法的对比结果如下: 

w~视觉~3D~合集2_3D_48







#PointGST

点云分析精度卷到99%了,还只用了2M训练参数

本文提出了一种全新的点云参数高效微调算法—PointGST,在极大地降低微调训练开销的同时,还展现出了优异的性能。仅凭 2M 可训练参数(仅为此前 SOTA 方法的 0.6%),PointGST 在多个点云分析数据集上均取得了 SOTA 结果,并首次在 ScanObjectNN OBJ_BG 数据集上实现了超过 99% 的准确率,几乎宣告了该数据集的性能达到了饱和。 

近年来,点云分析技术在自动驾驶、虚拟现实、三维重建等领域得到了广泛应用。尽管点云预训练模型展现出了优越的性能,但随着模型参数量的急剧增加,对其进行微调的内存和存储开销也同步增加。为了缓解这一问题,本文提出了一种全新的点云参数高效微调算法——PointGST,在极大地降低微调训练开销的同时,还展现出了优异的性能。仅凭 2M 可训练参数(仅为此前 SOTA 方法的 0.6%),PointGST 在多个点云分析数据集上均取得了 SOTA 结果,并首次在 ScanObjectNN OBJ_BG 数据集上实现了超过 99% 的准确率,几乎宣告了该数据集的性能达到了饱和。

w~视觉~3D~合集2_视觉_49

图1:近年来点云分析模型的训练参数大小和性能的发展趋势

w~视觉~3D~合集2_视觉_50

论文地址:https://arxiv.org/abs/2410.08114

代码地址:https://github.com/jerryfeng2003/PointGST

单位:华中科技大学,百度

摘要

提出了一种全新的三维预训练模型微调算法:PointGST,它主要包含以下创新点:

1、构建了一套参数高效谱域微调方法,通过冻结预训练模型的参数并引入轻量级可训练模块,显著降低了模型在微调过程中的显存占用,同时实现了高性能。

2、通过图傅里叶变换,有效地消除了预训练模型内部点云tokens之间的混淆,并进一步引入点云几何结构信息,使得模型在不同数据集上的泛化能力显著增强。此外,PointGST采用了一种新的多层次点云图构建方法,能够更好地捕捉点云数据的内在特征。在实验中,PointGST在多个点云分析任务上展现出优异的准确性和鲁棒性,超越了目前所有同类方法。

动机

三维点云分析是计算机视觉的基础任务之一,广泛应用于自动驾驶、机器人和三维重建等领域。近年来,探索通过新的预训练方法提升点云分析模型性能已成为热门研究课题,这些方法通常通过对全部参数进行微调,然后将模型部署于下游任务中。

然而,由于需要更新全部参数,并且不同下游任务需要独立训练和存储,全微调带来了较高的GPU显存和存储开销,且随着现有模型参数量的逐渐增加而变得愈发显著。为了解决这一问题,一些研究者开始探索将参数高效微调(Parameter-Efficient Fine-Tuning)应用于点云分析领域,并取得了一定的成果。

但这些方法直接在空间域微调时缺乏下游任务的先验知识,难以消除预训练模型内部 token 的混淆;且这些方法未明确引入点云的固有内在结构,仅靠冻结参数的预训练模型来捕获结构信息存在缺陷。

针对上述问题,文章提出了一种基于谱域的三维预训练模型微调方法PointGST(Point Graph Spectral Tuning),用于进一步减轻预训练模型微调中的显存和存储开销问题,同时有效提升参数高效微调算法的性能。

方法

PointGST通过冻结预训练模型的参数,并向其中并行地插入轻量级的可训练模块,点云谱适配器(PCSA),在谱域内进行微调。通过图傅里叶变换(GFT),PointGST将点云tokens从空间域转换为谱域,使得各个token之间的相关性得以有效去除,缓解了预训练模型内部tokens的混淆。

与此同时,PointGST通过基于点云数据关键点构建多层次的点云图,再分别生成图傅里叶变换的基向量,由此引入点云数据的几何结构信息,使得在对下游任务进行微调时,能够通过谱域微调更好地捕捉到点云数据的固有信息。这使得PointGST在显著减少可学习参数量的同时,在多个点云数据集上实现了优异性能。模型整体的pipeline如下图所示:

w~视觉~3D~合集2_视觉_51

图2:PointGST整体框架图

PointGST的核心在于将点云tokens从空间域转换到谱域进行处理。具体流程如下:

1、构建点云全局和局部图:通过Farthest Point Sampling (FPS)从原始点云中抽取n个关键点,作为全局图;利用空间填充曲线扫描,将点云中的关键点排序后划分出k组,作为k个点云局部图。通过文章提出的数据依赖放缩策略,由点云得到图的邻接矩阵W,并计算拉普拉斯矩阵L,对原始点云数据提取全局和局部点云的图结构,再加入模型由各个子层共用,在引入了全局和局部空间几何信息的同时,共用的基向量矩阵也显著减小了计算开销。

再对其进行特征值分解得到基向量U,传入各个Transformer子层中。具体过程如下图:

w~视觉~3D~合集2_3D_52

图3:全局和局部的图傅里叶变换基向量构建过程

2、图傅里叶变换(GFT):利用全局和局部图的基向量,对输入适配器并降维后的tokens做GFT,得到点云谱域tokens。此过程能够有效解耦点云数据的复杂空间关系,使得各个token在谱域内得到独立表示。图傅里叶变换即基向量矩阵乘输入图信号。其中,为了和局部图的点云分组对应,在对其进行图傅里叶变换前先由上一阶段关键点排序的索引对点云空间域tokens排序后分组,再对各组进行变换。

3、谱域微调:使用轻量级的点云谱适配器(PCSA)对谱域内的tokens进行微调。该适配器包括简单的线性层和残差连接,通过共享的线性层进行全局和局部谱域tokens的调整。

4、图傅里叶逆变换(iGFT):经过微调的谱域tokens通过逆傅里叶变换返回空间域,即乘以基向量矩阵的转置。随后将局部图点云tokens重排序后,各组tokens相加,升维并输出。为了使训练初始时不改变原有子层的输出,并维持图傅里叶正逆变换前后的一致性,对共享线性层和升维矩阵做零初始化,并加入残差连接结构。

通过这一完整的处理流程,PointGST在显著减少可训练参数的同时,实现了较高的微调性能。

实验结果

PointGST在真实世界点云分类数据集ScanObjectNN以及模拟数据集ModelNet40中取得了优异的性能。实验结果显示,相较于之前的点云参数高效微调方法,PointGST在显著减少了微调参数量和显存开销的同时,对于五种不同的baseline,在几乎所有任务上超过全微调并得到点云参数高效微调的SOTA结果。

w~视觉~3D~合集2_3D_53

表1:点云分类任务上参数高效微调方法对比

以PointGPT-L为baseline进行微调训练,超过以往的点云分析方法,实现了多个的SOTA结果,并首次在ScanObjectNN OBJ_BG数据集实现超过99%的准确率。

w~视觉~3D~合集2_3D_54

表2:点云分类任务上性能对比

下图展现了在NVIDIA 3090显卡上,不同批次大小下PointGST相比全微调和现有方法能极大地减小内存开销。与以往方法相比,PointGST采用了更加精简的网络结构,从而能够在保持性能的同时,显著降低显存需求,使得模型在实际应用中更加高效和灵活。

w~视觉~3D~合集2_视觉_55

图4:微调训练中显存占用大小对比

与此同时,当只使用部分训练数据进行训练,PointGST在不同比例数据下得到了最优的结果,体现其在微调训练中能更好地收敛,并证明了其在鲁棒性上的优越性。

w~视觉~3D~合集2_视觉_56

图5:部分数据进行微调训练性能对比

总结

PointGST作为一种全新的点云参数高效微调方法,通过引入谱域微调,有效缓解了传统全微调在显存开销和存储占用上的问题。其在多个数据集上的性能表现证明了该方法的优越性,特别是对大型点云预训练模型进行微调的潜力。PointGST为高效、精确和廉价的三维信息处理提供新的解决方案和可能思路。







#DensePose From WiFi

过去几年,在自动驾驶和 VR 等应用的推动下,使用 2D 和 3D 传感器(如 RGB 传感器、LiDARs 或雷达)进行人体姿态估计取得了很大进展。但是,这些传感器在技术上和实际使用中都存在一些限制。首先成本高,普通家庭或小企业往往承担不起 LiDAR 和雷达传感器的费用。其次,这些传感器对于日常和家用而言太过耗电。

用 WiFi 信号进行人体姿态估计并不新鲜,2018 年 MIT CSAIL 的研究者结合使用 WiFi 信号和深度学习,实现了隔墙人体姿态估计。近日,CMU 的研究者仅用 WiFi 信号搞定了遮挡、多人场景中的密集人体姿态估计。全身追踪、不怕遮挡

至于 RGB 相机,狭窄的视野和恶劣的照明条件会对基于相机的方法造成严重影响。遮挡成为阻碍基于相机的模型在图像中生成合理姿态预测的另一个障碍。室内场景尤其难搞,家具通常会挡住人。更重要的是,隐私问题阻碍了在非公共场所使用这些技术,很多人不愿意在家中安装摄像头记录自己的行为。但在医疗领域,出于安全、健康等原因,很多老年人有时不得不在摄像头和其他传感器的帮助下进行实时监控。

近日,CMU 的三位研究者在论文《DensePose From WiFi》中提出,在某些情况下,WiFi 信号可以作为 RGB 图像的替代来进行人体感知。照明和遮挡对用于室内监控的 WiFi 解决方案影响不大。WiFi 信号有助于保护个人隐私,所需的相关设备也能以合理的价格买到。关键的一点是,很多家庭都安装了 WiFi,因此这项技术有可能扩展到监控老年人的健康状况或者识别家中的可疑行为。

论文地址:https://arxiv.org/pdf/2301.00250.pdf

研究者想要解决的问题如下图 1 第一行所示。给定 3 个 WiFi 发射器和 3 个对应的接收器,能否在多人的杂乱环境中检测和复原密集人体姿态对应关系(图 1 第四行)?需要注意的是,很多 WiFi 路由器(如 TP-Link AC1750)都有 3 根天线,因此本文方法中只需要 2 个这样的路由器。每个路由器的价格大约是 30 美元,意味着整个设置依然比 LiDAR 和雷达系统便宜得多。

为了实现如图 1 第四行的效果,研究者从计算机视觉的深度学习架构中获得灵感,提出了一种可以基于 WiFi 执行密集姿态估计的神经网络架构,并实现了在有遮挡和多人的场景中仅利用 WiFi 信号来估计密集姿态

w~视觉~3D~合集2_视觉_57

下图左为基于图像的 DensePose,图右为基于 WiFi 的 DensePose。 

w~视觉~3D~合集2_3D_58

另外,值得一提的是,论文一二作均为华人。论文一作 Jiaqi Geng 在去年 8 月取得了 CMU 机器人专业硕士学位,二作 Dong Huang 现为 CMU 高级项目科学家。

方法介绍

想要利用 WiFi 生成人体表面的 UV 坐标需要三个组件:首先通过振幅和相位步骤对原始 CSI( Channel-state-information,表示发射信号波与接收信号波之间的比值 )信号进行清理处理;然后,将处理过的 CSI 样本通过双分支编码器 - 解码器网络转换为 2D 特征图;接着将 2D 特征图馈送到一个叫做 DensePose-RCNN 架构中(主要是把 2D 图像转换为 3D 人体模型),以估计 UV 图。

原始 CSI 样本带有噪声(见图 3 (b)),不仅如此,大多数基于 WiFi 的解决方案都忽略了 CSI 信号相位,而专注于信号的幅度(见图 3 (a))。然而丢弃相位信息会对模型性能产生负面影响。因此,该研究执行清理(sanitization)处理以获得稳定的相位值,从而更好的利用 CSI 信息。

w~视觉~3D~合集2_3D_59

 为了从一维 CSI 信号中估计出空间域中的 UV 映射,首先需要将网络输入从 CSI 域转换到空间域。本文采用 Modality Translation Network 完成(如图 4)。经过一番操作,就可以得到由 WiFi 信号生成的图像域中的 3×720×1280 场景表示。 

w~视觉~3D~合集2_3D_60

在图像域中获得 3×720×1280 场景表示后,该研究采用类似于 DensePose-RCNN 的网络架构 WiFi-DensePose RCNN 来预测人体 UV 图。具体而言,在 WiFi-DensePose RCNN(图 5)中,该研究使用 ResNet-FPN 作为主干,并从获得的 3 × 720 × 1280 图像特征图中提取空间特征。然后将输出输送到区域提议网络。为了更好地利用不同来源的互补信息,WiFi-DensePose RCNN 还包含两个分支,DensePose head 和 Keypoint head,之后处理结果被合并输入到 refinement 单元。 

w~视觉~3D~合集2_视觉_61

然而从随机初始化训练 Modality Translation Network 和 WiFi-DensePose RCNN 网络需要大量时间(大约 80 小时)。为了提高训练效率,该研究将一个基于图像的 DensPose 网络迁移到基于 WiFi 的网络中(详见图 6)。 

w~视觉~3D~合集2_3D_62

直接初始化基于 WiFi 的网络与基于图像的网络权重无法工作,因此,该研究首先训练了一个基于图像的 DensePose-RCNN 模型作为教师网络,学生网络由 modality translation 网络和 WiFi-DensePose RCNN 组成。这样做的目的是最小化学生模型与教师模型生成的多层特征图之间的差异。

实验

表 1 结果显示,基于 WiFi 的方法得到了很高的 AP@50 值,为 87.2,这表明该模型可以有效地检测出人体 bounding boxes 的大致位置。AP@75 相对较低,值为 35.6,这表明人体细节没有得到完美估计。

w~视觉~3D~合集2_视觉_63

表 2 结果显示 dpAP・GPS@50 和 dpAP・GPSm@50 值较高,但 dpAP・GPS@75 和 dpAP・GPSm@75 值较低。这表明本文模型在估计人体躯干的姿势方面表现良好,但在检测四肢等细节方面仍然存在困难。 

w~视觉~3D~合集2_3D_64

表 3 和表 4 的定量结果显示,基于图像的方法比基于 WiFi 的方法产生了非常高的 AP。基于 WiFi 的模型 AP-m 值与 AP-l 值的差异相对较小。该研究认为这是因为离相机远的人在图像中占据的空间更少,这导致关于这些对象的信息更少。相反,WiFi 信号包含了整个场景中的所有信息,而不管拍摄对象的位置。 

w~视觉~3D~合集2_视觉_65






#RODIN

微软亚洲研究院提出的RODIN模型,首次实现了利用生成扩散模型在 3D 训练数据上自动生成 3D 数字化身(Avatar)的功能。仅需一张图片甚至一句文字描述,RODIN 扩散模型就能秒级生成 3D 化身。

创建个性化的用户形象在如今的数字世界中非常普遍,很多 3D 游戏都设有这一功能。然而在创建个人形象的过程中,繁琐的细节调整常常让人又爱又恨,有时候大费周章地选了与自己相似的眼睛、鼻子、发型、眼镜等细节之后,却发现拼接起来与自己仍大相径庭。既然现在的 AI 技术已经可以生成惟妙惟肖的 2D 图像,那么在 3D 世界中,我们是否可以拥有一个“AI 雕塑家”,仅通过一张照片就可以帮我们量身定制自己的 3D 数字化身呢?

微软亚洲研究院新提出的 3D 生成扩散模型 Roll-out Diffusion Network (RODIN)可以轻松做到。让我们先来看看 RODIN 的实力吧!

w~视觉~3D~合集2_视觉_66

(a) 给定的照片

w~视觉~3D~合集2_视觉_67

(b) 生成的虚拟形象_图1:给定一张照片 ,RODIN 模型即可生成虚拟形象 

w~视觉~3D~合集2_视觉_68

(a)输入文字“留卷发和大胡子穿着黑色皮夹克的男性”

w~视觉~3D~合集2_3D_69

(b) 输入文字“红色衣着非洲发型的女性”_图2:给定文本描述,RODIN 模型可直接生成虚拟形象

与传统 3D 建模需要投入大量人力成本、制作过程繁琐不同的是,RODIN 以底层思路的创新突破与精巧的模型设计,突破了二次元到三次元的结界,实现了只输入一张图片或一句文字就能在几秒之内生成定制的 3D 数字化身的能力。 在此之前,AI 生成技术还仅仅围绕 2D 图像进行创作,RODIN 模型的出现也将极大地推动 AI 在 3D 生成领域的进步。相关论文“RODIN: A Generative Model for Sculpting 3D Digital Avatars Using Diffusion”已被 CVPR 2023 接收。

论文链接:https://arxiv.org/abs/2212.06135

项目页面:https://3d-avatar-diffusion.microsoft.com

RODIN模型首次将扩散模型应用于3D训练数据

在 3D 生成领域,尽管此前有不少研究利用 GAN(生成对抗网络)或 VAE(变分自动编码器)技术,从大量 2D 图像训练数据中生成 3D 图像,但结果却不尽如人意,“两面派”、“三头哪吒”等抽象派 3D 图像时有出现。科研人员们认为,造成这种现象的原因在于这些方法存在一个基础的欠定(ill posed)问题,也就是说由于单视角图片存在几何二义性,从仅仅通过大量的 2D 数据很难学到高质量 3D 化身的合理分布,所以才造成了各种不完美的生成结果。

对此,微软亚洲研究院的研究员们转变思路,首次提出 3D Diffusion Model,利用扩散模型的表达能力来建模 3D 内容。 这种方法通过多张视角图来训练 3D 模型,消除了歧义性、二义性所带来的“四不象”结果,从而得到一个正确解,创建出更逼真的 3D 形象。

然而,要实现这种方法,还需要克服三个难题:

  • 首先,尽管扩散模型此前在 2D 内容生成上取得巨大成功,将其应用在 3D 数据上并没有可参考的实践方法和可遵循的前例。如何将扩散模型用于生成 3D 模型的多视角图,是研究员们找到的关键切入点;
  • 其次,机器学习模型的训练需要海量的数据,但一个多视图、一致且多样、高质量和大规模的 3D 图像数据很难获取,还存在隐私和版权等方面的风险。网络公开的 3D 图像又无法保证多视图的一致性,且数据量也不足以支撑 3D 模型的训练;
  • 第三,在机器上直接拓展 2D 扩散模型至 3D 生成,所需的内存存储与计算开销几乎无法承受。

多项技术创新让RODIN模型以低成本生成高质量的3D图像

为了解决上述难题,微软亚洲研究院的研究员们创新地提出了 RODIN 扩散模型,并在实验中取得了优异的效果,超越了现有模型的 SOTA 水平。

RODIN 模型采用神经辐射场(NeRF)方法,并借鉴英伟达的 EG3D 工作,将 3D 空间紧凑地表达为空间三个互相垂直的特征平面(Triplane),并将这些图展开至单个 2D 特征平面中,再执行 3D 感知扩散。具体而言,就是将 3D 空间在横、纵、垂三个正交平面视图上以二维特征展开,这样不仅可以让 RODIN 模型使用高效的 2D 架构进行 3D 感知扩散,将三维图像降维成二维图像也大幅降低了计算复杂度和计算成本。

w~视觉~3D~合集2_3D_70

图3:3D 感知卷积高效处理 3D 特征。(左图) 用三平面(triplane)表达 3D 空间,此时底部特征平面的特征点对应于另外两个特征平面的两条线。(右图)引入 3D 感知卷积处理展开的 2D 特征平面,同时考虑到三个平面的三维固有对应关系。

要实现 3D 图像的生成需要三个关键要素:

  • 3D 感知卷积,确保降维后的三个平面的内在关联。 传统 2D 扩散中使用的 2D 卷积神经网络(CNN)并不能很好地处理 Triplane 特征图。而 3D 感知卷积并不是简单生成三个 2D 特征平面,而是在处理这样的 3D 表达时,考虑了其固有的三维特性,即三个视图平面中其中一个视图的 2D 特征本质上是 3D 空间中一条直线的投影,因此与其他两个平面中对应的直线投影特征存在关联性。为了实现跨平面通信,研究员们在卷积中考虑了这样的 3D 相关性,因此高效地用 2D 的方式合成 3D 细节。
  • 隐空间协奏三平面 3D 表达生成。 研究员们通过隐向量来协调特征生成,使其在整个三维空间中具有全局一致性,从而获得更高质量的化身并实现语义编辑,同时,还通过使用训练数据集中的图像训练额外的图像编码器,该编码器可提取语义隐向量作为扩散模型的条件输入。这样,整体的生成网络可视为自动编码器,用扩散模型作为解码隐空间向量。对于语义可编辑性,研究员们采用了一个冻结的 CLIP 图像编码器,与文本提示共享隐空间。
  • 层级式合成,生成高保真立体细节。 研究员们利用扩散模型先生成了一个低分辨率的三视图平面(64×64),然后再通过扩散上采样生成高分辨率的三平面(256×256)。这样,基础扩散模型集中于整体 3D 结构生成,而后续上采样模型专注于细节生成。

w~视觉~3D~合集2_视觉_71

 图4:RODIN 模型概述

此外,在训练数据集方面,研究员们借助开源的三维渲染软件 Blender,通过随机组合画师手动创建的虚拟 3D 人物图像,再加上从大量头发、衣服、表情和配饰中随机采样,进而创建了10万个合成个体,同时为每个个体渲染出了300个分辨率为256*256的多视图图像。在文本到 3D 头像的生成上,研究员们采用了 LAION-400M数据集的人像子集训练从输入模态到 3D 扩散模型隐空间的映射,最终让 RODIN 模型可以只使用一张 2D 图像或一句文字描述就能创建出逼真的 3D 头像。

图5:利用文字做 3D 肖像编辑

w~视觉~3D~合集2_3D_72

图6:更多随机生成的虚拟形象 (更多结果请点击阅读原文,移步项目网页) 

微软亚洲研究院主管研究员张博表示,“此前,3D 领域的研究受限于技术或高成本,生成的 3D 结果主要是点云、体素、网格等形式的粗糙几何体,而 RODIN 模型可创建出前所未有的 3D 细节,为 3D 内容生成研究打开了新的思路。我们希望 RODIN 模型在未来可以成为 3D 内容生成领域的基础模型,为后续的学术研究和产业应用创造更多可能。”

让3D内容生成更个性、更普适

现如今,虚拟人、数字化身在电影、游戏、元宇宙、线上会议、电商等行业和场景中的需求日益增多,但其制作流程却相当复杂专业,每个高质量的化身都必须由专业的 3D 画师精心创作,尤其是在建模头发和面部毛发时,甚至需要逐根绘制,其中的艰辛历程外人难以想象。微软亚洲研究院 RODIN 模型的快速生成能力,可以协助 3D 画师减轻数字化身创作的工作量,提升效率,促进 3D 内容产业的发展。

“目前,3D 真人化身的创建耗时耗力,很多项目背后可能都有一个上百人的团队在做支持,实现方法更多的是借助虚幻引擎、游戏引擎,再加上画师的专业绘画能力,才能设计出高度逼真的真人定制 3D 化身,普通大众很难使用这些服务,通常只能得到一些现成的、与本人毫无关连的化身。而 RODIN 模型低成本和可定制化的 3D 建模技术,兼具普适性和个性化,让 3D 内容生成走向大众成为可能。” 微软亚洲研究院资深产品经理刘潏说

尽管当前 RODIN 模型生成结果主要为半身的 3D 头像,但是其技术能力并不仅限于 3D 头像的生成。随着包括花草树木、建筑、汽车家居等更多类别和更大规模训练数据的学习,RODIN 模型将能生成更多样的 3D 图像。下一步,微软亚洲研究院的研究员们将用 RODIN 模型探索更多 3D 场景创建的可能,向一个模型生成 3D 万物的终极目标不断努力。

 






#Point-NN


首次在3D领域中,提出了一个无参数无需训练的网络,Point-NN,并且在各个3D任务上都取得了良好的性能。

首次实现0参数量、0训练的3D点云分析:

Parameter is Not All You Need, Starting from Non-parametric Networks for 3D Point Cloud Analysis

不引入任何可学习参数或训练,我们是否可以直接实现3D点云的分类、分割和检测?

为此,本文提出了一个用于3D点云分析的非参数网络,Point-NN,它仅由纯不可学习的组件组成:最远点采样(FPS)、k近邻(k-NN)、三角函数(Trigonometric Functions)以及池化(Pooling)操作。不需要参数和训练,它能够在各种3D任务上都取得不错的准确率,甚至超过了一些现有的完全训练的模型。基于Point-NN的非参数框架,我们进一步提出两点Point-NN对于现今3D领域的贡献。

1、首先,我们可以通过插入简单的线性层,来构建Point-NN的参数化网络,Point-PN。由于Point-NN具有强大的非参数基础,所构建出的Point-PN仅需要少量可学习参数就可以表现出优秀的3D分类和分割性能。

2、其次,由于Point-NN不需要训练的属性,我们可以将其作为一个即插即用的增强模块,去增强现有已经训练好的3D模型。通过提供互补知识,Point-NN可以在各种3D任务上提升原本的SOTA性能。

作者:张仁瑞

文章链接:https://arxiv.org/abs/2303.08134

开源代码(已开源):https://github.com/ZrrSkywalker/Point-NN

3D点云的处理和分析是一项具有挑战性的任务,并且在学术界和工业界都取得了广泛的关注。自从PointNet++起,后续的3D模型为了提升性能,一方面设计了更加复杂的局部空间算子,一方面增大了网络的可学习参数量。然而,除了不断更新的可学习模块,他们基本都沿用了同一套潜在的多尺度网络框架,包括最远点采样(FPS)、k近邻(k-NN)和池化(Pooling)操作。目前,还几乎没有研究去探索这些非参数组件的潜力;因此,本文提出并探索了以下问题:这些非参数组件对于3D理解的贡献有多大?仅仅使用非参数组件,能否实现无需训练的3D点云分析?

w~视觉~3D~合集2_3D_73

为了解决以上问题,本文首次提出了一个非参数化(Non-Parametric)的3D网络,Point-NN,整体结构如上图所示。Point-NN由一个用于3D特征提取的非参数编码器(Non-Parametric Encoder)和一个用于特定任务识别的点云记忆库(Point-Memory Bank)组成。非参数编码器采用了多阶段的结构设计,使用了最远点采样(FPS)、k近邻(k-NN)、三角函数(Trigonometric Functions)和池化(Pooling)来逐步聚合局部几何图形,为点云生成一个高维度的全局特征。我们仅仅采用了简单的三角函数来捕捉局部空间几何信息,没有使用任何可学习算子。接下来,我们使用此编码器,去提取到所有训练集点云的特征,并缓存为点云记忆库。进行测试时,点云记忆库通过对测试点云和训练集点云的特征,进行相似度匹配,来输出特定任务的预测。

不需要任何训练,Point-NN可以在多种3D任务中实现优越的性能,例如3D分类、分割、检测,甚至可以超过一些现有的经过完全训练的模型。基于此,我们进一步提出了两点Point-NN对于现今3D领域的贡献,如下图(a)和(b)所示:

w~视觉~3D~合集2_视觉_74

1、以Point-NN为基础框架,我们通过在Point-NN的每个阶段插入简单的线性层,引入了其parameter-efficient的变体Point-PN,如上图(a)所示。Point-PN不包含复杂的局部算子,仅仅包含线性层以及从Point-NN继承的三角函数算子,实现了效率和性能的双赢。

2、我们将Point-NN作为一个即插即用的模块,为各种3D任务中训练好的模型提供互补知识,并在推理过程中可以直接提升这些训练模型的性能,如上图(b)所示。

1. Point-NN

Point-NN由一个Non-Parametric Encoder (EncNP) 和一个Point-Memory Bank (PoM) 组成。对于输入的点云,我们使用EncNP提取其全局特征,并通过PoM的特征相似度匹配,来输出分类结果,公式如下图所示:

w~视觉~3D~合集2_视觉_75

 

接下来,我们依次介绍Point-NN中的这两个模块。

(1)非参数编码器(Non-Parametric Encoder)

非参数编码器首先将输入点云进行Raw-point Embedding,将3维的原始点坐标转化为高维度特征,再经过4个阶段的Local Geometry Aggregation逐步聚合局部特征得到最终的点云全局特征,如下图所示。

w~视觉~3D~合集2_3D_76

a. 原始点云映射(Raw-point Embedding)

w~视觉~3D~合集2_视觉_77

b.局部几何特征的聚合(Local Geometry Aggregation)

w~视觉~3D~合集2_视觉_78

w~视觉~3D~合集2_3D_79

(2)点云记忆库(Point-Memory Bank)

在经过非参数编码器(Non-Parametric Encoder)的特征提取后,由于Point-NN不含任何可学习参数,我们没有使用传统的可学习分类头,而是采用了无需训练的point-memory bank。首先,我们使用非参数编码器去构造关于训练集的bank,接着在推理过程通过相似度匹配输出预测,如下图所示。

w~视觉~3D~合集2_3D_80

a. 记忆构建(Memory Construction)

w~视觉~3D~合集2_视觉_81

b. 相似度预测 (Similarity-based Prediction)

w~视觉~3D~合集2_视觉_82

2. Point–NN在其他3D任务的拓展

以上主要是对Point-NN在分类任务中的应用的介绍,Point-NN也可以被用于3D的部件分割和3D目标检测任务。

部件分割(3D Part Segmentation)

w~视觉~3D~合集2_3D_83

目标检测(3D  Object Detection)

对于检测任务,我们将Point-NN作为一个3D检测器的分类头使用。当预训练好的检测器产生3D proposal后,Point-NN与分类任务相似,使用non-parametric encoder来获取被检测物体的全局特征。在构建point-memory bank时,我们在训练集中对在每个3D框标签内的点云进行采样,将采样后的每个物体的全局特征进行编码得到feature memory。特别的是,我们没有像其他任务一样对每个物体的点云坐标进行归一化,这是为了保留在原始空间中的3D位置信息,实现更好的检测性能。

3. 从Point-NN延伸( Starting from Point-NN)

(1)作为结构框架构建Point-PN(As Architectural Frameworks)

我们讲Point-NN视为一个良好的非参数化框架,在其中插入简单的可学习线性层,来构建参数化的3D网络,Point-PN。Point-PN相比于现有的3D网络,不含有复杂的局部算子,以极少的可学习参数量实现了优秀的3D性能。

w~视觉~3D~合集2_视觉_84

我们构建Point-PN的步骤如下:首先,将point-memory bank替换为传统的可学习的分类头,如上图(A)所示;在ModelNet40的分类任务上,这一步将分类性能从Point-NN的81.8%提高到了90.3%,且仅仅使用了0.3M的参数量。接着,我们将raw-point embedding替换为线性层(B),可以将分类性能进一步提高到90.8%。为了更好地提取多尺度层次特征,我们接着将线性层插入到每一阶段的non-parametric encoder中。具体来说,在每个阶段,两个线性层分别被插入到Geometry Extraction的前后来捕捉高层空间信息,如图中(C、D、E)所示。这样,最终的Point-PN可以仅仅使用0.8M的参数量达到93.8%的性能,且只包括三角函数和简单的线性层。这说明,与现有的高级的操作算子或者大参数两相比,我们可以从非参数框架出发,来获取一个简单高效的3D模型。

w~视觉~3D~合集2_3D_85

(2)作为即插即用模块(As Plug-and-play Modules)

Point-NN可以在不进行额外训练的情况下增强现有3D预训练模型的性能。以分类任务为例,我们直接将Point-NN与预训练模型预测的分类logits进行相加,来提供互补的3D知识提升性能。如下图对特征的可视化所示,Point-NN主要提取的是点云的低层次高频特征,在尖锐的三维结构周围产生了较高的响应值,例如飞机的翼尖、椅子的腿和灯杆;而经过训练的PointNet++更关注的是点云的高层次语义信息,通过对它们的logits相加可以得到互补的效果,例如,飞机的机身、椅子的主体和灯罩。

w~视觉~3D~合集2_视觉_86

实验1.Point-NN和Point-PN

(1)3D物体分类(Shape Classification)

w~视觉~3D~合集2_视觉_87

对于2个代表性的3D物体分类数据集,ModelNet40和ScanObjectNN,Point-NN都获得了良好的分类效果,甚至能够在ScanObjectNN上超过完全训练后的3DmFV模型。这充分说明了Point-NN在没有任何的参数或训练情况下的3D理解能力。

Point-PN在2个数据集上也都取得了有竞争力的结果。对于ScanObjectNN,与12.6M的PointMLP相比,Point-PN实现了参数量少16倍,推理速度快6倍,并且精度提升1.9%。在ModelNet40数据集上,Point-PN获得了与CurveNet相当的结果,但是少了2.5X的参数量,快了6X的推理速度。

(2)少样本3D分类(Few-shot Classification)

w~视觉~3D~合集2_3D_88

与现有的经过完全训练的3D模型相比,Point-NN的few shot性能显著超过了第二好的方法。这是因为训练样本有限,具有可学习参数的传统网络会存在严重的过拟合问题。

(3)3D部件分割(Part Segmentation)

w~视觉~3D~合集2_视觉_89

70.4%的mIoU表明由Point-NN在分割任务中也可以产生执行良好的单点级别的特征,并实现细粒度的3D空间理解。

Poinnt-PN能够取得86.6%的mIoU。与Curvenet相比,Point-PN可以节省28小时的训练时间,推理速度快6X。

(4)3D目标检测(3D Object Detection)

w~视觉~3D~合集2_视觉_90

将Point-NN作为检测器的分类头,我们采用了两种流行的3D检测器VoteNet和3DETR-m来提取类别无关的3D region proposals。由于我们没有进行点云坐标的归一化处理(w/o nor.),这样可以保留原始场景中更多物体三维位置的信息,大大提升了Point-NN的AP分数。

2.Point-NN的即插即用(Plug-and-play)

(1)3D物体分类(Shape Classification)

w~视觉~3D~合集2_3D_91

Point-NN可以有效提高现有方法的分类性能,在ScanObjectNN数据集上,Point-NN可以对PointNet和PoitMLP的分类准确率均提高2%。

(2)3D分割和检测(Segmentation and Detection)

w~视觉~3D~合集2_视觉_92

w~视觉~3D~合集2_视觉_93

 

讨论

1.为什么Point-NN中的三角函数可以编码3D信息?

(1)捕获高频的3D结构信息

通过下图中Point-NN特征的可视化,以及我们分解出的点云低频和高频信息,可以观察到Point-NN主要捕获了点云的高频空间特征,例如边缘、拐角以及其它细粒度的细节。

w~视觉~3D~合集2_3D_94

(2)编码点云之间的相对位置信息

w~视觉~3D~合集2_3D_95

这个公式表示了x轴上两个点之间的相对位置。因此,三角函数可以得到点云之间的绝对和相对位置信息,这更有利于Point-NN对局部化点云的结构理解。

2.Point–NN可以即插即用的提升Point–PN的性能吗?

w~视觉~3D~合集2_3D_96

如上表所示,Point-NN对Point-PN的提升极其有限,从上图可视化的结果来看,Point-NN和Point-PN之间的互补性比Point-NN和PointNet++之间的互补性更弱。这是因为Point-PN的基础结构是继承自Point-NN,因此也会通过三角函数获取3D高频信息,和Point-PN拥有相似的特征捕获能力。

3.和其它无需训练的3D模型的比较

w~视觉~3D~合集2_3D_97

现有的3D模型中,有一类基于CLIP预训练模型的迁移学习方法,例如PointCLIP系列,它们也不需要进行3D领域中的训练过程。从上表的比较可以看出,Point-NN可以实现很优越的无需训练的分类性能。

4.Point–NN与PnP–3D的增强效果比较

w~视觉~3D~合集2_视觉_98

PnP-3D提出了一种对于3D模型的即插即用的可学习增强模块,但是它会引入额外的可学习参数,并且需要重新训练而消耗更多的计算资源。如上表所示,相比之下,Point-NN也能实现相似的增强性能,但是完全不需要额外参数或者训练。 

总结和展望

本文首次在3D领域中,提出了一个无参数无需训练的网络,Point-NN,并且在各个3D任务上都取得了良好的性能。我们希望这篇工作可以启发更多的研究,来关注非参数化相关的3D研究,而不是一味的增加复杂的3D算子或者堆叠大量的网络参数。在未来的工作中,我们将探索更加先进的非参数3D模型,并推广到更广泛的3D应用场景中。







#OSX~~

本文提出了首个用于全身人体网格重建的一阶段算法OSX,通过模块感知的Transformer网络,高效、准确地重建出全身人体网格,并提出了一个大规模、关注真是应用场景的上半身人体重建数据集UBody。IDEA与清华提出首个一阶段3D全身人体网格重建算法

三维全身人体网格重建(3D Whole-Body Mesh Recovery)是三维人体重建领域的一个基础任务,是人类行为建模的一个重要环节,用于从单目图像中捕获出准确的全身人体姿态和形状,在人体重建、人机交互等许多下游任务中有着广泛的应用。来自粤港澳大湾区研究院(IDEA)与清华大学深研院的研究者们提出了首个用于全身人体网格重建的一阶段算法OSX,通过模块感知的Transformer网络,高效、准确地重建出全身人体网格,并提出了一个大规模、关注真是应用场景的上半身人体重建数据集UBody. 本文提出的算法从投稿至今(2022.11~2023.04),是AGORA榜单SMPL-X赛道的第一名。该工作已经被计算机视觉顶会CVPR2023接收,算法代码和预训练模型已经全部开源。

文章:https://arxiv.org/abs/2303.16160

代码:https://github.com/IDEA-Research/OSX

项目主页:https://osx-ubody.github.io/

单位:IDEA,清华大学深研院

三维全身人体网格重建(3D Whole-Body Mesh Recovery)是人类行为建模的一个重要环节,用于从单目图像中估计出人体姿态(Body Pose), 手势(Hand Gesture)和脸部表情(Facial Expressions),该任务在许多下游现实场景中有着广泛的应用,例如动作捕捉、人机交互等。得益于SMPLX等参数化模型的发展,全身人体网格重建精度得到了提升,该任务也得到越来越多的关注。

相比于身体姿态估计(Body-Only Mesh Recovery),全身人体网格重建需要额外估计手和脸部的参数,而手和脸部的分辨率往往较小,导致难以通过一个一阶段的网络,将全身参数估计出来。之前的方法大多采用多阶段的复制-粘贴(Copy-Paste)框架,提前检测出手和脸的包围框(Bounding Box),将其裁剪出来并放大,输入三个独立的网络,分别估计出身体(Body), 手(Hand), 和脸(Face)的参数,再进行融合。这种多阶段的做法可以解决手和脸分辨率过小的问题,然而,由于三部分的参数估计相对独立,容易导致最后的结果以及三部分之间的连接不够自然和真实,同时也会增加模型的复杂度。为了解决以上问题,我们提出了首个一阶段的算法OSX,我们使用一个模块感知的Transformer模型,同时估计出人体姿态, 手势和脸部表情。该算法在较小计算量和运行时间的情况下,在3个公开数据集(AGORA, EHF, 3DPW)上,超过了现有的全身人体网格重建算法.

我们注意到,目前的全身人体网格重建数据集,大部分是在实验室环境或者仿真环境下采集的,而这些数据集与现实场景有着较大的分布差异。这就容易导致训练出来的模型在应用于现实场景时,重建效果不佳。此外,现实中的许多场景,如直播、手语等,人往往只有上半身出现在画面中,而目前的数据集全部都是全身人体,手和脸的分辨率往往较低。为了弥补这方面数据集的缺陷,我们提出了一个大规模的上半身数据集UBody,该数据集涵盖了15个真实场景,包括100万帧图片和对应的全身关键点(2D Whole-Body Keypoint), 人体包围框(Person BBox)、人手包围框(Hand BBox)以及SMPLX标签。下图是UBody的部分数据可视化。

w~视觉~3D~合集2_视觉_99

图1 UBody数据集展示 

本工作的贡献点可以概括为:

  • 我们提出了首个一阶段的全身人体网格重建算法OSX,能够用一个简单、高效的方式,估计出SMPLX参数。
  • 我们的算法OSX在三个公开数据集上,超过了现有的全身人体网格重建算法。
  • 我们提出了一个大规模的上半身数据集UBody,用以促进全身人体网格重建这个基础任务在现实场景中的应用。

一阶段重建算法介绍OSX整体框架

如下图所示,我们提出了一个模块感知(Component-Aware)的Transoformer模型,来同时估计全身人体参数,再将其输入SMPLX模型,得到全身人体网格。我们注意到,身体姿态(Body Pose)估计需要利用到全局的人体依赖信息,而手势(Hand Gesture)和脸部表情(Facial Expression)则更多的聚焦于局部的区域特征。因而,我们设计了一个全局编码器和一个局部解码器,编码器借助于全局自注意力机制(Global Self-attention),捕获人体的全身依赖关系,估计出身体姿态和形状(Body Pose and Shape),解码器则对特征图进行上采样,使用关键点引导的交叉注意力机制(Cross-Attention),用以估计手和脸部的参数。

w~视觉~3D~合集2_3D_100

图2 OSX网络结构示意图

全局编码器

w~视觉~3D~合集2_3D_101

高分辨率局部解码器

w~视觉~3D~合集2_3D_102

最终,这些模块token通过全连接层,转换为手势和脸部表情,并于身体姿态和形状一起,输入SMPLX模型,转换为人体网格。

上半身数据集UBody介绍

数据集亮点

为了缩小全身人体网格重建这一基础任务与下游任务的差异,我们从15个现实场景,包括音乐演奏、脱口秀、手语、魔术表演等,收集了超过100万的图片,对其进行标注。这些场景与现有的数据集AGORA相比,由于只包含上半身,因而手和脸的分辨率更大,具有更加丰富的手部动作和人脸表情。同时,这些场景含有非常多样的遮挡、交互、切镜、背景和光照变化,因而更加具有挑战性,更加符合现实场景。此外,UBody是视频的形式,每个视频都包含了音频(Audio),因而未来也可以应用于多模态等任务。

w~视觉~3D~合集2_3D_103

图3 UBody 15个场景展示

IDEA自研高精度全身动捕标注框架

为了标注这些大规模的数据,我们提出了一个自动化标注方案,如下图所示,我们首先训练一个基于ViT的关键点估计网络,估计出高精度的全身人体关键点。接着,我们使用一个多阶段渐进拟合技术(Progreesive Fitting),将OSX输出的人体网格转换为三维关键点(3D Keypoints),并投影到图像平面,与估计的二维关键点(2D Keypoints)计算损失,用以优化OSX网络参数,直至估计出来的网格与2D关键点能够高度贴合。

w~视觉~3D~合集2_视觉_104

图4 全身动捕标注框架图

以下是UBody数据集的几个场景及其标注结果的展示:

w~视觉~3D~合集2_3D_105

SignLanguage

w~视觉~3D~合集2_视觉_106

 Singing

实验结果

定量实验对比

OSX从投稿至今(2022.11~2023.04),是AGORA榜单上SMPLX赛道的榜首,在AGORA-test(https://agora-evaluation.is.tuebingen.mpg.de/)上的定量对比结果如下表所示:

w~视觉~3D~合集2_视觉_107

表1 OSX与SOTA算法在AGORA-test上的定量结果

在AGORA-val上的定量对比结果如下表所示:

w~视觉~3D~合集2_3D_108

可以看出,OSX由于使用了模块感知的Transformer网络,能够同时保证全局依赖关系的建模和局部特征的捕获,在现有数据集,特别是AGORA这一较为困难的数据集上,显著超过了之前的方法。

定性实验对比

在AGORA上的定性对比结果如图所示:

w~视觉~3D~合集2_视觉_109

从左到右依次为:输入图, ExPose, Hand4Whole, OSX(Ours)

可以看出,我们的算法OSX能够估计出更加准确的身体姿势,手部动作和脸部表情,重建出来的人体网格更加准确,与原图贴合的更好,更加鲁棒。

总结

OSX是首个一阶段全身人体网格重建的算法,通过一个模块感知的Transformer模型,同时估计了body pose, hand pose和facial experssion,在三个公开榜单上取得了目前最好whole-body mesh recovery最好的结果。此外,我们提出了一个大规模的上半身场景数据集UBody,用以促进人体网格重建任务在下游场景中的应用。我们的代码已经进行了开源,希望能够推动该领域的发展。







#SparseOcc

全稀疏3D全景占用预测

今天看到了arxiv版本更新到了V3,这应该是第一个做occupancy纯稀疏架构工作的paper,之前dense 的feature上做occupancy是比较容易的,大部分的方案也都是dense /semi-sparse(sparse-to-dense)的feature ,想做全稀疏的工作难度较高,作为第一篇值得精读,而且这个方案也算是重建了整个场景,目前看来感知和重建的方案在occ的发展上越来趋于一致

以前的OCC方法通常构建密集的3D体积,忽略了场景的固有稀疏性(大部分为空气),计算成本较高。为了弥合差距,我们引入了一种新的完全稀疏占用网络,称为SparseOcc。SparseOcc 最初从视觉输入重建稀疏的 3D 表示,然后通过稀疏查询从 3D 稀疏表示预测语义/实例占用。掩码引导的稀疏采样旨在使稀疏查询能够以完全稀疏的方式与 2D 特征交互,从而规避昂贵的密集特征或全局注意力。此外,我们设计了一个深思熟虑的基于光线的评估指标,即RayIoU,以解决传统体素级mIoU标准中沿深度的不一致惩罚。SparseOcc 通过实现 34.0 的 RayIoU 来证明其有效性,同时保持 17.3 FPS 的实时推理速度,具有 7 个历史帧输入。通过将前面的更多帧合并到 15 帧,SparseOcc 不断提高其性能到 35.1 RayIoU,没有花里胡哨的东西。

论文:Fully Sparse 3D Panoptic Occupancy Prediction

链接:https://arxiv.org/pdf/2312.17118.pdf

arxiv:https://arxiv.org/abs/2312.17118v3

code:GitHub - MCG-NJU/SparseOcc: Fully Sparse 3D Occupancy Prediction

现有的方法通常构造密集的3D特征,存在计算开销巨大(A100上的2∼3FPS)。然而,密集表示对于占用预测不是必需的。图1(a)中的统计揭示了几何稀疏性,超过90%的体素是空的。这通过利用稀疏性在入住率预测加速方面显示出巨大的潜力。voxformer、TPVformer探索了 3D 场景的稀疏性,但它们仍然依赖于sparse-to-dense的模块进行密集预测。这启发我们寻求一个完全稀疏的占用网络,不需要任何密集的设计

w~视觉~3D~合集2_3D_110

SparseOcc是第一个完全稀疏占用网络。如图1(b)所示,SparseOcc包括两个步骤。首先,它利用稀疏体素解码器以从粗到细的方式重建场景的稀疏几何形状。这仅对非自由区域进行建模,显着节省了计算成本。其次,我们设计了一个具有稀疏语义/实例查询的mask transformer来预测稀疏空间中片段的mask和label。mask transformer不仅提高了semantic occupancy的性能,而且为panoptic occupancy铺平了道路。设计了一种掩码引导的稀疏采样来实现mask transformer中的sparse cross-attention。

本文注意到常用的 mIoU指标的缺陷,并进一步设计 RayIoU 作为解决方案。考虑到未扫描体素的模糊标记,mIoU 标准是一个ill-posed公式(有些只是lidar点云稀疏没有扫描到,不代表真的没有占用)。以前的occ3d仅通过评估观察到的区域,也就是大家occ挑战赛常用的vismask来缓解这个问题,但会在深度的不一致惩罚中引发额外的问题。相反,RayIoU 同时解决了上述两个问题。它通过检索指定光线的深度和类别预测来评估预测的 3D 占用体积。具体来说,RayIoU 将查询光线(利用lidar线束生成的方法构造)投射到预测的 3D 体积中,并决定TP预测作为光线,其第一个被触及的占据体素网格的正确距离和类别。这制定了一个更加公平和合理的标准。

由于稀疏性设计,SparseOcc 在 Occ3D-nus [48] 上实现了 34.0 RayIoU,同时保持了 17.3 FPS(Tesla A100、PyTorch fp32 后端)的实时推理速度,具有 7 个历史帧输入。通过将更多的前一帧合并到 15 中,SparseOcc 不断提高其性能到 35.1 RayIoU。SparseOcc与以前的方法在性能和效率方面的比较如图1(c)所示。

不过flashocc的方法能在3090上达到200多FPS,sparseocc这个速度在A800上还是慢了一些,毕竟是第一篇,还会有优化空间

占用预测在自动驾驶领域发挥着关键作用。先前的方法通常构建密集的3D Volume,忽略了场景的固有稀疏性,这导致了高计算成本。此外,这些方法仅限于语义占用,无法区分不同的实例。为了利用稀疏性并确保实例感知,作者引入了一种新的完全稀疏全景占用网络,称为SparseOcc。SparseOcc最初从视觉输入重建稀疏的3D表示。随后,它使用稀疏实例查询来从稀疏3D表示预测每个目标实例。

此外,作者还建立了第一个以视觉为中心的全景占用基准。SparseOcc在Occ3D nus数据集,通过实现26.0的mIoU,同时保持25.4 FPS的实时推理速度。通过结合前8帧的时间建模,SparseOcc进一步提高了其性能,实现了30.9的mIoU,代码后面将开源。

w~视觉~3D~合集2_视觉_111

SparseOcc的结构和流程

SparseOcc由两个步骤组成。首先,作者提出了一种稀疏体素解码器来重建场景的稀疏几何结构,它只对场景的非自由区域进行建模,从而显著节省了计算资源。其次,设计了一个mask transformer,它使用稀疏实例查询来预测稀疏空间中每个目标的mask和标签。

w~视觉~3D~合集2_视觉_112

此外,作者还进一步提出了mask-guide的稀疏采样,以避免mask变换中的密集交叉注意。因此SparseOcc可以同时利用上述两种稀疏特性,形成完全稀疏的架构,因为它既不依赖于密集的3D特征,也不具有稀疏到密集的全局注意力操作。同时,SparseOcc可以区分场景中的不同实例,将语义占用和实例占用统一为全景占用!

w~视觉~3D~合集2_视觉_113

由于3D OCC GT是形状为W×H×D的密集3D体积(例如200×200×16),现有方法通常构建形状为W×H×D×C的密集3D特征,但该类方法计算消耗大。

在本文中,我们认为这种密集表示对于occupancy预测不是必需的。与我们的统计数据一样,我们发现场景中超过 90% 的体素是空气。这促使我们探索一种稀疏 3D 表示,它只对场景的占据区域进行建模,从而节省计算资源。

Sparse Voxel Decoder如图3所示。它遵循coarse-to-fine的结构,但只对占据区域进行建模。Decoder从一组均匀分布在 3D 空间中的粗体素查询开始(例如 25×25)。在每一层中,我们首先将每个体素上采样 2 倍,例如大小为 d 的体素将被上采样到 8 个大小为 d2 的体素。接下来,我们估计每个体素的占用分数并进行修剪以去除无用的体素网格。在这里有两种修剪方法:一种是基于阈值(例如,只保留score > 0.5);另一种是 top-k 选择。在本文实现中,只需保留具有 top-k 个占用分数的体素,以提高训练效率。k 是一个与数据集相关的参数,通过计算每个样本中不同分辨率的非自由体素的最大数量来获得。修剪后的体素tokens将作为下一层的输入。

在每一层中,我们使用类似 Transformer 的架构来处理体素查询。具体架构的来自SparseBEV,这是一种使用稀疏方案的检测方法。具体来说,在第 l 层,具有由 3D 位置和 C-dim 内容向量描述的 Kl-1 体素查询,我们首先使用自注意力来聚合这些查询体素的局部和全局特征。然后,线性层用于从相关内容向量为每个体素查询生成 3D 采样偏移量 {(Δxi, Δyi, Δzi)}。这些采样偏移量用于变换体素查询以获得全局坐标中的参考点。最后,我们将这些采样的参考点投影到多视图图像空间,通过自适应混合来整合图像特征

时序建模:以前的dense occupancy方法通常将历史BEV/3D特征warp到当前时间戳,并使用deformable attention或3D卷积来融合时间信息。然而,由于本文 3D 特征的稀疏性质,这种方法在我们的案例中并不直接适用。为了解决这个问题,我们利用上述全局采样参考点的灵活性,将它们扭曲到先前的时间戳来对历史多视图图像特征进行采样。然后,通过自适应混合堆叠和聚合采样的多帧特征。

监督:计算每一层的稀疏体素的损失。我们使用二元交叉熵 (BCE) 损失作为监督,因为我们正在重建与类别无关的稀疏占用空间(这个时候真值标签只有0/1)。只有保留的稀疏体素被监督,而在早期阶段修剪期间丢弃的区域被忽略。

设计的稀疏体素解码器如图4所示。通常,它遵循从粗到细的结构,但采用一组稀疏的体素标记作为输入。在每个层的末尾,我们估计每个体素的占用分数,并基于预测的分数进行稀疏化。在这里,有两种稀疏化方法,一种是基于阈值(例如,仅保持分数>0.5),另一种是根据top-k。在这项工作中,作者选择top-k,因为阈值处理会导致样本长度不相等,影响训练效率。k是与数据集相关的参数,通过以不同分辨率对每个样本中非自由体素的最大数量进行计数而获得,稀疏化后的体素标记将用作下一层的输入!

时序建模。先前的密集占用方法通常将历史BEV/3D特征warp到当前时间戳,并使用可变形注意力或3D卷积来融合时间信息。然而,这种方法不适用于我们的情况,因为3D特征是稀疏的。为了处理这一问题,作者利用采样点的灵活性,将它们wrap到以前的时间戳来对图像特征进行采样。来自多个时间戳的采样特征通过自适应混合进行叠加和聚合。

loss设计:对每一层都进行监督。由于在这一步中重建了一个类不可知的占用,使用二进制交叉熵(BCE)损失来监督占用头。只监督一组稀疏的位置(根据预测的占用率),这意味着在早期阶段丢弃的区域将不会受到监督。   

此外,由于严重的类别不平衡,模型很容易被比例较大的类别所支配,如地面,从而忽略场景中的其他重要元素,如汽车、人等。因此,属于不同类别的体素被分配不同的损失权重。例如,属于类c的体素分配有的损失权重为:

w~视觉~3D~合集2_3D_114

其中Mi是GT中属于第i类的体素的数量!

mask引导的稀疏采样。mask transformer的一个简单基线是使用Mask2Former中的mask交叉注意模块。然而,它涉及关键点的所有位置,这可能是非常繁重的计算。在这里,作者设计了一个简单的替代方案。给定前一个(l−1)Transformer解码器层的mask预测,通过随机选择掩码内的体素来生成一组3D采样点。这些采样点被投影到图像以对图像特征进行采样。此外,我们的稀疏采样机制通过简单地warp采样点(如在稀疏体素解码器中所做的那样)使时间建模更容易。

w~视觉~3D~合集2_视觉_115

Mask Transformer

这里倒不算是sparseocc第一个使用这种方法,之前论文occformer也采用了类似模块思想,但细节不太一样。

该部分源自Mask2Former,它使用 N 个稀疏语义/实例查询,由二进制mask query Qm ∈ [0, 1]N ×K 和content vector Qc ∈ RN ×C 解耦。掩码转换器包括三个步骤:多头自注意力(MHSA)、掩码引导的稀疏采样和自适应混合。MHSA 用于不同查询之间的交互作为常见的做法。Mask-guided稀疏采样和自适应混合负责查询和2D图像特征之间的交互。

Mask-guided sparse sampling:

一个简单基线是使用 Mask2Former 中的掩码交叉注意模块。但是,它关注key的所有位置,具有难以承受的计算。在这里,我们设计了一个简单的替代方案。我们首先在第 (l − 1) 个 Transformer 解码器层预测的掩码中随机选择一组 3D 点。然后,我们将这些 3D 点投影到多视图图像中,并通过双线性插值提取它们的特征。此外,稀疏采样机制通过简单地扭曲采样点(如稀疏体素解码器中所做的那样)来使时间建模更容易。

对于类别预测,应用了一个基于query embeddings Qc 的 sigmoid 激活的线性分类器。对于掩码预测,查询嵌入通过 MLP 转换为掩码嵌入。mask embeddings M ∈ R Q×C 具有与query embeddings Qc 相同的形状,并与稀疏体素嵌入 V ∈ R K×C 点积以产生掩码预测。因此,mask transformer的预测空间被限制在稀疏体素解码器的稀疏 3D 空间,而不是完整的 3D 场景(occformer是完整3D场景)。掩码预测将作为下一层的掩码查询 Qm。

Supervision:稀疏体素解码器的重建结果可能并不可靠,因为它可能会忽略或不准确检测某些元素(会漏一些前景voxel)。因此,监督mask transformer会带来一些挑战,因为它的预测被限制在这个不可靠的空间中。

在漏检占据区域的情况下,在预测的sparse occupancy不存在GT对应的预测,选择丢弃这些部分以防止混淆。

至于误检占据趋于,简单地将它们分类为一个额外的“"no object”类别。

遵循 MaskFormer,使用匈牙利匹配将基本事实与预测进行匹配。Focal loss Lf ocal 用于分类,而 DICE loss Ldice 和 BCE mask loss Lmask 的组合用于mask预测。Locc 是稀疏体素解码器的损失。因此,SparseOcc 的总损失由:

w~视觉~3D~合集2_3D_116

New metric:Ray-level mIoU

Occ3D 数据集及其提出的评估指标被广泛认可为该领域的基准。GT占用率由 LiDAR 测量重建,体素级别的平均 Intersection over Union (mIoU) 用于评估性能。然而,由于距离和遮挡等因素,累积的LiDAR点云不完善。LiDAR 未扫描的一些区域被标记为自由,导致实例碎片化(一些车的occ结果不全),如图 4(a) 所示。这引发了标签不一致的问题。以前解决评估问题的努力,例如 Occ3D,使用二进制vismask来指示在当前相机视图中是否观察到体素。然而,我们发现仅在观察到的体素位置计算 mIoU 仍然会造成歧义并且很容易被黑客攻击。如图 4 所示,RenderOcc [39] 生成了一个更厚的表面,射线状连续,这类方式是利用ray渲染,无法用于下游任务。然而,RenderOcc 的掩码 mIoU 远高于 BEVFormer 的预测,后者更稳定和干净。这表现了目前的评测指标还是不够合理

w~视觉~3D~合集2_3D_117

定性和定量结果之间的错位是由于vismask深度方向的不一致造成的。如图 5 所示,这个示例揭示了当前评估指标的几个问题:

w~视觉~3D~合集2_3D_118

考虑一个场景,我们在前面有一个墙,地面真实距离为d,厚度为dv。当预测厚度为 dp >dv 时,如 RenderOcc 所示,mask mIoU 出现深度的不一致。如果我们预测的墙壁是 dv 比GT更远(总共 d + dv),那么它的 IoU 将为零,因为没有预测的体素与实际墙壁对齐。但是,如果我们预测的墙是 dv 更接近GT(总共 d - dv),我们仍然将达到 0.5 的 IoU,因为表面后面的所有体素都被填充。类似地,如果预测深度为 d − 2dv ,我们仍然有 1/3 的 IoU,依此类推。

考虑一个场景,我们在前面有一个墙,地面真实距离为d,厚度为dv。当预测厚度为 dp >dv 时,如 RenderOcc 所示,mask mIoU 出现深度的不一致。如果我们预测的墙壁是 dv 比GT更远(总共 d + dv),那么它的 IoU 将为零,因为没有预测的体素与实际墙壁对齐。但是,如果我们预测的墙是 dv 更接近

  1. 如果模型填充表面后面的所有区域,则不一致地惩罚深度预测。该模型可以通过填充表面后面的所有区域并预测更接近的深度来获得更高的 IoU。这种厚表面问题在使用可见掩码或 2D 监督的模型中很常见。
  2. 如果预测的占用是一个薄的表面,惩罚过于严格,因为一个体素的偏差将导致IoU为零。
  3. vismask只考虑当前时刻的可见区域,从而将占用减少到具有类别的深度估计任务,而忽略了在可见区域之外完成场景的关键能力。(从最新的趋势来看vismask的依赖变得逐渐减少了,毕竟推理的时候不使用会变很差)

Mean IoU by Ray Casting

为了解决上述问题,提出了一个新的评估指标:Ray-level mIoU(简称RayIoU)。在RayIoU中,集合的元素现在是查询射线,而不是体素。我们通过将查询光线投影到预测的 3D 占用体积来模拟 LiDAR射线。对于每个查询射线,计算它在相交任何表面并检索相应类标签之前传播的距离。然后,我们将相同的过程应用于GT,以获得GT深度和类别标签。如果光线与GT中存在的任何体素不相交,它将被排除在评估过程之外

如图6(a)所示,真实数据集中的原始激光雷达射线往往从近到远不平衡。因此,我们对 LiDAR 射线重新采样以平衡不同距离的分布,如图 6(b) 所示。对于近距离,我们修改了LiDAR射线通道,以在投影到地平面时实现等距离间距。在远距离,我们增加了角分辨率通道,以确保在不同范围内更均匀的数据密度。此外,查询射线可以起源于ego路径当前、过去或未来时刻的激光雷达位置。如图6所示,时序堆叠更好地评估场景完成性能,同时确保任务保持良好。

w~视觉~3D~合集2_3D_119

RayIoU的覆盖区域。(a)不同距离的原始激光雷达射线样本不平衡。(b)对射线重新采样,以平衡RayIoU中距离的权重。(c)为了研究场景完成的性能,我们建议通过在访问的路点上投射光线来评估可见区域在宽时间跨度内的占用率

如果类标签重合,并且地面真实深度和预测深度之间的L1误差小于某个阈值(例如,2m),则查询射线被分类为真阳性(TP)。设C是类的数量

RayIoU解决了上述三个问题:

  1. 由于查询射线只计算它接触第一个体素的距离,因此模型不能通过填充表面后面的区域来获得更高的IoU。
  2. RayIoU通过距离阈值确定TP,减轻体素级mIoU过于苛刻的性质
  3. 查询射线可以起源于场景中的任何位置,从而考虑模型的场景补全能力和防止occupancy衰减成深度估计。

在Occ3D-nus上进行,使用提出的RayIoU来评估语义分割性能。查询光线来自ego路径的 8 个 LiDAR 位置。计算三个距离阈值下的RayIoU: 1,2和4米。最终的排名指标在这些距离阈值上取平均值

FPS 是在 Tesla A100 GPU 上使用 PyTorch fp32 (1个batch size)测量的。

实验结果

Occ3D nuScenes数据集上的3D占用预测性能。“8f”意味着融合来自7+1帧的时间信息。本文的方法在较弱的设置下实现了与以前的方法相同甚至更高的性能!

w~视觉~3D~合集2_视觉_120

w~视觉~3D~合集2_3D_121

稀疏体素够预测整个场景吗?

在这项研究中,我们深入研究了体素稀疏性对最终性能的影响。为了研究这一点,我们系统地消融了图 8 (a) 中 k 的值。

w~视觉~3D~合集2_3D_122

 k只是密集体素总数的 5%(200×200×16 = 640000)。进一步增加 k 不会产生任何性能改进;相反,它会引入噪声。因此,我们的研究结果表明 5% 的稀疏级别就足够了,额外的稀疏性将适得其反。这个应该是rayiou指标造成的现象,感觉miou的话,应该会涨。时序上12帧就饱和了

Panoptic occupancy。展示了SparseOcc可以很容易地扩展到泛视占用预测,这是一个从全景分割派生的任务,它不仅将图像分割成语义上有意义的区域,而且可以检测和区分单个实例。与全景分割相比,全景占用预测要求模型是几何感知来构建用于分割的 3D 场景。通过在掩码转换器中引入实例查询。在图9中,可视化了SparseOcc的全景占用结果。

 

w~视觉~3D~合集2_3D_123

通过去除路面来增强稀疏性。大多数无非占用数据与背景几何有关。实际应用时,占用率可以有效地替换为高清地图(HD Map)或online mapping。这种替换不仅简化了稀疏性,而且丰富了道路的语义和结构理解。我们构建了实验来研究在 SparseOcc 中去除路面的效果。表7可以看出去除背景query数量降低了,对比原来性能也没有变化,但是这里对比原来的FPS没有变化,比较意外,感觉不正常。不过纯稀疏的架构确实可以通过这种操作减少计算量 

Miou对比

之前大家一直都是miou的指标对比,其实也可以发现整体场景的miou而言,sparseocc性能也能达到30,这个是16帧的结果,对比没有使用vismask比fb-occ性能(作者自己实现的fb-occ变体)还强,虽然速度确实还不够理想,

w~视觉~3D~合集2_3D_124

在训练期间使用可见掩码可以提高大多数前景类的性能,例如公共汽车、自行车和卡车。然而,它对可驾驶表面、地形和人行道等背景类产生负面影响。

这一观察引发了进一步的问题:为什么背景类的性能下降。为了解决这个问题,我们在图 10 中提供了 FB-Occ 中预测可驾驶表面的深度误差和高度图的可视化比较,无论是否在训练期间使用可见掩码。该图表明,使用可见掩码进行训练会导致更厚、更高的地面表示,从而导致远处区域的深度误差很大。相反,没有可见掩码训练的模型以更高的精度预测深度

w~视觉~3D~合集2_3D_125

“FB w/mask”倾向于预测更高和更厚的路面,导致沿射线的深度误差显著。相比之下,“FB wo/mask”预测一个既准确又一致的路面

vismask结论:在训练期间使用vismask通过解决未扫描体素的模糊标记问题有利于前景类occ预测。然而,它损害了深度估计的准确性,因为模型倾向于预测更厚和更紧密的表面。

总结

这是第一个纯稀疏占用网络,不依赖于密集的 3D 特征,也不依赖于稀疏到密集和全局的注意力操作。

还创建了RayIoU,这是一种用于occupancy评估的射线级度量,消除了先前度量miou的一些问题。