最新三维视觉下的扩散模型综述——Diffusion Models in 3D Vision: A Survey

news2024/11/25 20:33:28

目录

摘要

一、引言

二、扩散模型简介

A.扩散模型的介绍

B.扩散模型的数学基础

C.扩散模型的变体 

D.三维视觉中的生成过程

三、三维视觉基础

A.三维表示

B.三维视觉中的深度学习方法

C.3D视觉中的挑战

四、三维扩散生成任务

A.无条件生成

B.图像到三维

C.文本到3D

D.纹理生成

E.人类试衣生成

F.场景生成

G.三维编辑和操作

H.新视图合成 

I.深度估计

五、3D数据集和评估指标

A.三维数据集

B.评估指标

六、限制和未来的发展方向

七、总结


论文参考:https://arxiv.org/pdf/2410.04738

摘要

        近年来,三维视觉已成为计算机视觉领域的一个重要领域,为自动驾驶、机器人技术、增强现实(AR)和医学成像等广泛的应用提供了动力。该领域依赖于从图像和视频等2D数据源中对三维场景的准确感知、理解和重建。扩散模型最初是为二维生成任务设计的,提供了更灵活、概率方法的潜力,可以更好地捕捉现实三维数据中的可变性和不确定性。然而,传统的方法往往难以提高效率和可伸缩性。在本文中,我们回顾了利用扩散模型用于三维视觉任务的最新方法,包括但不限于三维对象生成、形状完成、点云重建和场景理解。我们提供了对扩散模型的基本数学原理的深入讨论,概述了它们的正向和反向过程,以及使这些模型能够与3D数据集一起工作的各种架构改进。我们还讨论了将扩散模型应用于三维视觉的关键挑战,如处理遮挡和变化的点密度,以及高维数据的计算需求。最后,我们讨论了潜在的解决方案,包括提高计算效率,增强多模态融合,以及探索使用大规模的预训练来更好地泛化三维任务。本文为这一快速发展的领域的未来探索和发展奠定了基础。

        指数术语-扩散模型,三维视觉,生成模型。

一、引言

        近年来,3D视觉已经成为计算机视觉领域的一个关键领域,为自动驾驶、机器人技术、增强现实和医学成像等广泛的应用提供了动力。这些应用依赖于从2D数据源准确感知和理解、重建三维场景,如图像和视频。随着三维视觉任务变得越来越复杂,传统的方法往往难以提高效率和可伸缩性。

        扩散模型[1]-[5]最初在生成建模领域提出,已经快速发展,并在计算机视觉的许多领域显示出显著的潜力。这些模型基于通过一系列随机步骤转换数据的思想,已经在图像生成[6]-[9]、去噪[10]和恢复任务[11]中取得了成功。特别是,扩散模型已经显示出了强大的生成能力,允许产生高质量、多样化的输出,同时保持对噪声的鲁棒性。

        近年来,扩散模型的发展已经从2D任务转向了更具挑战性的3D任务[12]-[14],包括3D对象生成[15]-[17]、形状补全[18]、[19]和点云重建[20],标志着扩散建模和三维视觉的一个新阶段。

        将扩散模型应用于三维视觉任务是一个很有前途的前沿领域,这主要是因为它们具有建模复杂数据分布的能力,以及它们对噪声的固有鲁棒性。扩散模型为需要合成、完成或增强3D数据的任务提供了一个强大的框架,如形状生成[21]或深度估计[22]。与依赖于确定性算法的传统三维建模技术不同,扩散模型提供了更灵活、概率方法的潜力,可以更好地捕捉现实世界三维数据中的可变性和不确定性。

        人们对扩散模型的兴趣源于它们能够在二维任务中产生详细、高质量的结果,这导致研究人员探索它们在3D中的适用性。本调查旨在巩固利用扩散模型进行三维视觉的最先进的方法,讨论它们的潜在好处,如提高三维重建的准确性,更好地处理遮挡和稀疏数据。

        虽然扩散模型在三维视觉中的应用有很大的前景,但它并非没有挑战。其中一个主要的技术障碍是3D数据的复杂性增加,这些数据可以以各种形式表示,如网格、体素或点云,每一种都有自己的处理需求。将扩散模型与这些异构数据结构集成仍然是一个挑战,扩展3D任务的计算需求也是如此,这些任务通常比2D任务密集得多。

        另一个挑战在于在三维数据中建模随机依赖的困难,扩散模型本身没有能力处理。此外,许多三维视觉任务的大型注释数据集的缺乏使得扩散模型的训练更加复杂,需要大量的高质量的数据来有效地泛化。

        本研究主要关注扩散模型在广泛的三维视觉任务中的应用,包括但不限于三维对象生成、点云去噪、三维重建和场景理解[23]。我们回顾了各种扩散模型架构及其对3D视觉的适应,涵盖了在过去五年中取得的早期阶段和最近的进展。特别注意讨论这些模型如何解决三维数据的挑战以及与大规模三维视觉问题相关的计算约束。主要贡献如下:

  • 对将扩散模型应用于三维视觉任务的现有工作的全面分类和总结,包括它们的优点和局限性。
  • 对用于适应三维数据的扩散模型的各种关键技术、框架和方法进行了深入的分析和比较。
  • 详细讨论了该领域当前面临的挑战和所面临的问题,以及未来在三维视觉应用中改进扩散模型的潜在研究方向。
  • 对用于评估三维视觉任务中的扩散模型的相关数据集和基准的广泛回顾。

        在我们的调查中,我们采用了一个全面的文献检索策略,以确保对该领域的彻底探索。我们首先确定了与我们的主题相关的关键术语和短语,包括“扩散模型”、“3D视觉”,以及相关的概念,如“生成模型”和“3D数据的神经网络”。我们在多个学术数据库中进行了搜索,包括但不限于IEEE Xplore 、arXiv 和谷歌学者,重点关注过去5年的出版物,以获取最新的进展。此外,我们还优先考虑了同行评审的期刊文章、会议论文和预印本,以确保包含高质量和前沿的研究。使用这一策略,我们的目标是提供一个全面和最新的调查扩散模型在三维视觉。

        本文的其余部分组织如下。第二节概述了扩散模型,包括它们的理论基础和在二维和三维视觉任务中的关键发展。第三节深入了三维视觉的核心概念,讨论了各种数据表示及其挑战。第四节详细回顾了扩散模型应用于不同的三维视觉任务。在第五节中,我们总结了用于评估的可用数据集和基准测试。最后,第六节讨论了未来的发展方向和开放的问题,然后在第七节中得出了结论。

二、扩散模型简介

A.扩散模型的介绍

        在本节中,我们首先对扩散模型及其基本原理进行全面概述。然后,我们介绍了各种核心扩散模型,以及如何将其应用于不同的三维视觉任务。

        1)扩散模型的定义:扩散模型[1],[3]是一类生成模型,它通过将随机噪声逐步转换为结构化数据来学习生成数据。这个过程涉及到一个正向扩散过程,其中噪声被一步一步地添加到数据中,以及一个反向过程,从纯噪声中去噪和重建数据。他们的目的是通过迭代去噪来模拟数据分布,并且他们已经被证明可以跨不同的领域产生高质量的样本,包括3D视觉。

        2)历史背景和演化:扩散模型最初是由非平衡热力学[24]启发的随机过程引入的。早期的工作[25]为概率扩散建模奠定了基础。随着时间的推移,这些模型不断发展,特别是随着Ho等人[1]引入的去噪扩散概率模型(DDPMs),这提高了可伸缩性和采样效率。

        3)关键特征:扩散模型具有独特的迭代过程,其中包括两个主要组成部分:

  • 前向过程:在数据中逐步增加高斯噪声。
  • 反向过程:一种学习去噪过程,反向噪声产生新的样本。

        该框架允许扩散模型避免模式崩溃,这是其他生成模型如gan中的常见问题,并产生高质量、多样化的样本。

B.扩散模型的数学基础

        1)前向扩散过程:前向扩散过程是一个马尔可夫链,在每个时间步长的数据中逐步增加高斯噪声。给定一个初始数据点x0,t时刻的噪声版本记为xt,该过程可以表述为:

        其中,αt是一个噪声计划,它控制了在每个时间步长中添加的噪声量。

        2)反向过程:反向过程涉及学习一个去噪函数pθ(xt−1|xt),该函数估计当前步骤xt−1的后验分布,给定当前步骤的后验分布。相反的过程可以写成:

        这个学习到的模型逐步去噪样本,直到它达到最终的干净数据点x0。

        3)概率密度和分数匹配:扩散模型通过建模数据的对数概率的梯度来近似数据的分布,也称为得分函数∇xlogp(x)。相反的过程与分数匹配密切相关,它通过将数据分布的分数与学习模型的分数进行匹配来优化模型。分数匹配损失通常写为:

        该方法还通过最小化真实数据分布和模型分布之间的KL散度项来连接到变分推理。

        4)损失函数:扩散模型的主要目标是通过最小化去噪分数匹配损失来学习反向过程。损失的一种常见形式是:

        其中,ϵθ(xt,t)是模型对添加的噪声ϵ的预测,t从扩散时间步长中均匀采样。

C.扩散模型的变体 

         1)去噪扩散概率模型:去噪扩散概率模型(DDPM)[1]是扩散模型中最著名的变体之一。在ddpm中,前向过程逐渐将高斯噪声添加到数据中,将原始数据分布转换为已知的先验(通常是标准高斯分布)。相反的过程,是由一个神经网络参数化,被训练为逐步去噪损坏的数据。正向处理过程可描述为:

        其中,xt是步骤t处的数据,而βt是控制每个时间步长处的噪声水平的方差调度。

        反向过程通过: 

        其中,µθ(xt,t)和Σθ(t)为预测的平均值和方差,由神经网络参数化。通过优化变分下界,ddpm实现了高保真图像的生成。 

        2)基于分数的生成模型:基于分数的生成模型[3]与ddms不同,通过估计数据分布的对数似然的梯度,称为分数函数∇xlogp(x)。基于分数的框架被应用于去噪分数匹配和生成模型。正向过程包括向数据中添加噪声,类似于ddpm,但关键的区别是反向过程,这是由分数函数驱动的:

        其中,sθ(x,t)是训练好的分数网络,可以在不同的噪声水平下接近真实的分数。

        相反的过程可以描述为求解一个由分数网络参数化的微分方程:

        基于分数的模型通过学习三维物体的底层结构,确保三维视觉任务的高质量重建,生成三维数据,如点云和网格。

         3)随机微分方程:随机微分方程(SDEs)[26]提供了一个扩散模型的连续时间公式。而不是像ddpm那样是离散的时间步,而是随着时间不断地演化数据。正向过程可以被描述为一个Ito SDE:

        其中f (x,t)为漂移函数,g (t)为扩散系数,dw为维纳过程。

        生成的反向SDE如下: 

        其中,∇xlogpt(x)是分数函数。这种连续时间的公式允许对扩散过程进行更灵活的控制,并已成功地应用于三维生成任务中,如生成点云和体素网格。

        4)其他变体:扩散模型的其他变体包括结合离散模型和连续模型元素的混合方法,以及整合高斯分布之外的不同噪声分布的模型。例如,一些模型利用混合噪声分布或对不同类型的数据扩展扩散模型,如文本或多模态输入。 

        另一个扩展涉及条件扩散模型[27],其中生成过程以附加信息为条件,如类标签或语义指导,允许控制三维数据的合成。条件扩散模型在条件三维对象生成和场景完成等任务中特别有用。

D.三维视觉中的生成过程

        1)扩散模型vs其他生成模型:与GANs [28]和VAEs [29]相比,扩散模型具有更好的样本多样性、避免模态崩溃和更平滑的插值等优点。虽然GANs在生成样本方面通常更快,但扩散模型以其生成高质量、详细的三维结构的优越能力而闻名。

        2)扩散模型在三维视觉中的优势:在三维视觉中,扩散模型因其能够生成平滑的、连续的表面和处理复杂的、高维的数据而表现出色。它们在需要详细几何形状的应用中特别有利,例如三维形状重建,其中gan中的模式崩溃和VAEs中的模糊输出经常有问题。

三、三维视觉基础

A.三维表示

        三维数据表示形成了三维视觉的基石,提供了建模、与复杂空间信息进行分析和交互的手段。在一个增强现实(AR)、虚拟现实(VR)和先进机器人技术等应用日益流行的时代,对3D表示的稳健理解对于解释和操纵物理世界至关重要。三维数据的表示可以采取各种形式,每一种形式都有不同的特征、优点和局限性。

        1)二维表示:二维表示利用二维图像来推断和重建三维信息。这些表示对于渲染和理解3D场景特别有用,但其精度在很大程度上依赖于2D输入的质量和数量。

                a)深度图:深度图[30]表示从特定视点(通常是摄像机)到场景中的对象的距离,其中每个像素的值对应于到最近表面的深度(或距离)。深度图通常由立体视觉、结构光或飞行时间(ToF)相机生成,这些相机根据光或运动的几何形状来估计深度。深度地图提供了一种有效的方式来编码三维信息,其格式易于与传统的2D图像处理技术集成。它们在3D重建、场景理解和机器人导航等应用中特别有用,在理解一个场景的空间布局是必要的。此外,深度图可以与RGB图像一起使用,以创建RGB-D数据集,它将颜色和深度信息结合起来,以进行更全面的场景分析。深度贴图的一个限制是,它们通常只从单个视点表示对象的可见表面。这意味着被遮挡的区域(即被相机隐藏的部分物体)不会被捕获,这将给某些三维重建任务带来挑战。

                b)多视图图像:多视图图像[14],[31]是指从不同角度拍摄的同一场景或物体的多个二维图像。这些图像可以使用立体匹配或运动结构(SfM)等技术来推断3D信息。其想法是利用不同视图之间的外观差异(称为视差)来恢复场景的几何形状。多视图图像被广泛应用于3D重建、虚拟现实(VR)和增强现实(AR)应用中,它们有助于创造沉浸式的、类似真实世界的体验。例如,在摄影测量中,对一个场景的多个重叠图像进行分析,以生成详细的三维模型。类似地,在自动驾驶中,来自安装在车辆上的多个摄像头的多视图图像被用于三维感知周围的环境。与其他3D表示相比,多视图图像在外观上保持了高保真度,因为它们直接从图像中捕捉真实世界的纹理。

        2)显式表示:显式表示直接定义了三维模型的几何形状,提供了清晰而详细的结构。这些表示是直观的和易于操作的,但它们通常需要大量的存储空间,特别是对于复杂的形状。

                a)点云:点云[32]通过在三维空间中的采样点来表示三维对象或场景。点云中的每个点都具有其空间坐标(x、y、z)的特征,并可以选择包括其他属性,如颜色、法向量或强度值。点云由许多3D扫描设备的直接输出,如激光雷达,结构化光扫描仪,或立体视觉系统。点云提供了一个曲面的稀疏表示,只捕获采样点,而不是连续的曲面。虽然点云对于存储原始几何数据简单而有效,但通常缺乏定义对象表面或点之间关系所需的拓扑信息,这使得在没有进一步处理的情况下执行渲染或模拟等任务更加困难。为了增强其可用性,点云通常被转换为更结构化的形式,如网格或体素网格。点云数据被广泛应用于各种应用程序中,包括自动驾驶(用于环境感知)、机器人技术(用于导航和映射)和三维重建(用于扫描对象或场景)。

                b)体素网格:体素网格[33]将三维空间离散成小的、同等大小的立方单位,称为“体素”(体积元素),这类似于二维图像中的像素。每个体素代表空间的一小部分,可以保留诸如占用率(体素是否包含对象的一部分)、颜色或密度等属性。体素网格对于需要体积分析的应用程序特别有利,或者当需要明确地对物体的内部和外部进行建模时,如医学成像(如CT或MRI扫描)、体积渲染和某些物理模拟。体素网格的一个关键优势是其规则的结构,这使得它们可以直接用于三维卷积神经网络(3Dcnn),用于对象分类、分割和场景理解等任务。然而,由于数据大小随着分辨率的立方增长,体素网格可能会计算成本昂贵,这可能导致对详细对象或大型场景的高内存需求。为了缓解这种情况,像八叉树这样的技术,在不同分辨率的体素,经常被用来在保留几何细节的同时减少计算负担。

                c)网格:网格[34]、[35]表示使用互连的顶点、边和面的三维曲面,通常形成多边形(通常是三角形或四边形)。网格被广泛应用于计算机图形学、三维建模和游戏中使用一个相对较少的数据点数。网格中的每个顶点都对应于三维空间中的一个点(x、y、z),这些边定义了顶点之间的连接,形成了对象的结构。这些面通常由三角形或四边形组成,构成定义对象形状的曲面。网格在渲染方面特别有效,因为它们允许平滑和详细的表面表示,同时与体积表示相比,最小化所需的数据量。网格不仅用于可视化,还用于涉及变形、碰撞和动画等物理特性的模拟。此外,它们是3D打印工作流的一个组成部分,其中网格定义了要打印的对象的边界。网格简化技术还可以应用于降低网格的复杂性,同时保留重要的几何特征,使网格在高精度和实时应用中通用。

        3)隐式表示:隐式表示通过数学函数而不是直接几何来定义三维结构。这些表示是紧凑的,可以有效地捕获复杂的形状,但将它们解码为显式几何可能更具挑战性。

                a)神经隐式表示:神经隐式表示[36]是一种利用神经网络编码三维几何的强大方法。它们不是通过显式的顶点和面来表示形状,而是作为可以在三维空间中的任何点上查询的连续函数。这种方法允许高水平的细节和平滑的表面表示,使它特别适合于复杂的形状。神经隐式表示的一个关键优势是它们能够从各种输入数据中学习,如二维图像、点云或体素网格,使它们能够有效地捕捉复杂的细节和几何变化。

                b)占用场:占用域[37]是一种特定类型的神经隐式表示,它决定三维空间中的一个点是否被一个曲面占据。这通常被建模为一个二进制函数,其中每个点返回一个值,指示占用(1)或未占用(0)。通过对三维数据的训练,如点云或体积数据,占用场可以学习近似复杂的表面,并提供对象的紧凑表示。这种表示在诸如场景理解和对象重建等应用程序中特别有用,因为它允许对表面进行高效的查询和渲染。

                c)符号距离域:符号距离域(SDFs)[38]是一种流行的隐式表示形式,它根据从给定点到最近曲面的距离对三维形状的几何形状进行编码。SDF函数为对象内部的点返回负值,为曲面为零,为外部的点返回正值。这一特性允许sdf提供平滑和连续的表面表示,使其成为诸如形状混合、变形和碰撞检测等任务的理想选择。sdf在诸如三维形状生成和渲染等应用中也很有益,因为它们可以有效地用于射线行进算法来可视化复杂的形状。

                d)三维高斯飞溅:三维高斯飞溅[39]是一种利用高斯函数以概率方式表示三维几何的新兴技术。在这种方法中,空间中的每个点都与一个高斯斑点相关联,它可以与其他高斯表示相结合,形成一个更复杂的形状。这种方法能够对复杂的细节和软边界进行建模,提供了一个更有机的表面表示。三维高斯溅射在数据稀疏或有噪声的情况下特别有利,因为它固有地包含了不确定性和平滑性。该技术的应用包括体积渲染、场景重建和增强神经渲染方法。

B.三维视觉中的深度学习方法

        深度学习通过了强大的工具,可以分析和解释3D数据,如自动驾驶、机器人和增强现实。本节回顾了3D视觉的关键深度学习方法,并讨论了它们的优势和挑战。

        1)基于卷积的神经网络: 3D神经网络[40]将传统的二维神经网络扩展到体积数据,使其适合于处理体素网格。它们在捕捉三维空间关系方面非常有效,并已应用于医学成像和物体识别等应用。然而,3Dcnn的高内存和计算要求限制了它们的可伸缩性。多视图cnn通过处理一个三维对象的多个二维视图和聚合提取的特征来解决这一限制。这种技术被应用于像MVCNN这样的模型中,对于三维空间中的物体识别任务特别有用。另一种变体,球形cnn,作用于三维数据的球面投影,这对旋转不变的物体识别很有用。

        2)直接点云处理方法:直接点云处理网络分析原始点云数据,而不需要将其转换为体素或网格等中间格式。PointNet [41]率先采用了这种方法,它将点云视为无序集,并使用共享的多层感知器(MLPs)来学习特征。PointNet++ [42]通过结合局部邻域结构来扩展这一点,以更好地捕获细粒度的几何细节。VoxelNet [33]结合了点云数据和体素化,实现了基于网格的处理和直接的点学习。KPConv是一种最新的方法,通过在点云上使用可变形卷积,改进了PointNet++,这允许更好地处理非均匀分布的点。

        3)图神经网络:图神经网络(GNNs)[43]特别适合于以图表示的3D数据,如具有空间关系的网格或点云。例如,MeshCNN处理三角形网格表示,直接利用图结构来执行网格分类和分割等任务。EdgeConv是一种基于gnn的体系结构,它从点云动态地构造图,以捕获局部几何结构和点间关系,使其能够有效地用于三维对象的分类和分割。动态图CNN(DGCNN)扩展了这一想法,随着学习的进展动态更新图,提高了对噪声数据和对象变形的鲁棒性。

        4)占用网络和DeepSDF:占用网络[44]和基于有符号距离函数(SDF)的模型[45]提供了3D形状的隐式表示。占用网络学会预测空间中的任何给定点是在形状的内部还是外部,从而实现连续和灵活的三维表面表示。另一方面,DeepSDF [45]对每个点到最近表面的有符号距离进行建模,提供了更精确的重建。另一种新兴的技术是神经辐射场(NeRF)[36],它使用隐式表示将一个场景表示为一个连续的体积场。NeRF在新的视图合成中显示出了特殊的结果,并在三维形状表示任务中获得了关注。

        5)基于Transformer的架构:Transformer[46],最初是为自然语言处理中的顺序数据开发的,由于它们能够捕获无序集之间的长期依赖关系和关系,已经被用于3D视觉。点转换器[47]将自关注机制直接应用于点云数据,允许其有效地学习本地和全局上下文。类似地,3D-DETR [48]利用了基于转换器的架构来进行3D目标检测。通过使用查询与空间特征交互,变形器在目标检测和3D场景理解等任务上表现出了强大的性能。

C.3D视觉中的挑战

        1)遮挡:遮挡是三维视觉中的一个主要挑战,因为当一个物体的部分被场景中的其他物体遮挡时,它就会出现。这个问题在多个对象相互重叠或阻塞的密集杂乱的环境中尤其严重。在这种情况下,像激光雷达或立体相机这样的三维传感器可能无法捕获被遮挡物体的所有表面,从而导致数据不完整或失真。缺失的信息使得诸如物体识别、表面重建或场景理解等下游任务变得困难。各种技术,如多视图聚合、深度补全和遮挡感知模型,已经被开发出来来缓解这一问题,但遮挡仍然是一个具有挑战性的问题,特别是在自动驾驶或机器人导航等实时应用中,在这些应用中,动态对象可以连续地阻塞场景的部分。

        2)变化点密度:在三维视觉中,扫描设备产生的点云经常受到点密度变化的影响。被扫描对象或场景的某些区域可能会有密集的采样,而其他区域可能会稀疏地填充点。这种可变性受到一些因素的影响,如从传感器到物体的距离、扫描光束的入射角和表面的反射特性。例如,靠近传感器或直接面对传感器的物体可能有密集的点覆盖,而那些较远或在斜角的物体可能有较少的点。这种不均匀性会给三维表面重建、特征提取和目标检测带来挑战。使用点云上采样、表面插值和非均匀采样补偿算法来解决这个问题,但计算复杂度和实时性能之间的权衡仍然是一个问题,特别是在大规模环境中。

        3)噪声和异常值:噪声和异常值是三维数据采集中固有的挑战,通常是由传感器精度或环境因素的限制造成的。噪声是指由于扫描过程中的不准确而导致的点位置的小偏差,而异常值是指错误地放置在远离其真实位置的点,可能是由于反射、传感器校准误差或环境干扰造成的。这些缺陷会扭曲3D物体的形状和结构,导致不可靠的数据进行进一步处理。诸如去噪滤波器、离群值去除算法和鲁棒统计方法等技术已经被开发出来来处理这些问题。然而,在消除噪声和保留3D数据中的重要细节之间找到正确的平衡仍然具有挑战性,特别是在医疗成像或高精度工业检查等应用中,准确性是至关重要的。

四、三维扩散生成任务

        本节概述了3D扩散生成过程中涉及的各种任务,这些任务利用先进的机器学习技术来创建、操作和分析3D数据。这些任务是由扩散模型学习复杂数据分布的能力所驱动的,使它们能够有效地生成和细化3D内容。

A.无条件生成

        无条件3D生成是指在没有任何特定输入或条件的指导下,如类标签、图像或文本提示符的指导下生成三维形状或对象的过程。在这种方法中,该模型根据它从训练数据中识别出的模式来学习创建不同的3D结构,通常从随机噪声或潜在变量开始。这种技术被用于在3D设计、虚拟环境和游戏等应用程序中合成新的3D形状、场景或模型。其目标是通过在没有外部指导的情况下从噪声中捕获底层数据分布,从而产生真实和多样的3D输出。

       安丘克维尤斯[49]等人是第一个使用基于二维的DDPMs实现三维模型ˇ生成的人。它们在每个去噪步骤中生成并呈现中间的三维对象表示,在扩散过程中引入了强烈的归纳偏差,这可以提供只有二维监督的三维一致表示。作为最早利用三维扩散模型生成形状的工作之一,Zhou等人[15]引入了一个称为点-体素扩散的框架,将去噪扩散模型与以点-体素混合物表示的三维形状的概率生成模型相结合。它通过执行一系列去噪步骤,将观测到的点云数据反向扩散到高斯噪声来生成三维形状。为了生成更好的三维点云对象,Ren等[16]观察到,在早期扩散阶段,注意机制对整体形状的影响更大,而在后期扩散阶段,卷积操作对局部表面质量的影响显著。因此,他们提出了一种时变去噪模型,该模型结合了卷积和变压器[46]架构,通过在每个时间步长生成可优化的掩模来重新平衡全局和局部特征,从而在整个过程中实现动态特征融合。Zheng等[50]介绍了一种新的基于扩散模型的点云预训练方法PointDif,旨在提高点云模型在分类、分割和检测等下游任务中的性能。PointDif将点云预训练任务视为一个有条件的点对点生成问题,提出了一种递归的均匀采样优化策略,使模型能够从不同的噪声水平上进行均匀恢复。与以往基于点云的方法不同,Mo等人的[17]将点云转换为体素表示,并利用ddpm对体素化的点云进行去噪操作,从而生成高质量的3D形状。作者使用来自ImageNet的预先训练的DiT- 2D模型[152]初始化他们的DiT-3D,并对其进行微调,以提高3D生成任务的性能。

        除了直接生成三维点云外,一些研究还尝试使用DDPM在隐式空间中生成三维形状。Shim等人[13]提出了一个操作于sdf的两阶段三维形状生成框架。在第一阶段,生成一个三维形状的低分辨率SDF。然后,将该低分辨率SDF作为第二阶段的条件,其中采用扩散模型进行超分辨率处理,产生高分辨率SDF。由于该方法使用SDF作为三维形状的表示,因此它允许使用行进立方体算法和cnn进行直接网格重建。类似地,Chou等人[18]提出了扩散-sdf,它也使用SDFs作为3D表示。该模型通过将SDFs调制为一维潜在向量,并将这些潜在向量作为训练数据,通过预测去噪向量来学习反向扩散过程,从而从高斯噪声中生成样本。

        除了SDFs,Muller等人的[53]还研究了¨辐射场(RFs)上的DDPMs,该辐射场直接作用于三维物体的RFs表示,使用3D DDPM模型直接在显式体素网格上生成辐射场。此外,Shue等人[54]介绍了一种新的三维感知生成模型,称为三平面扩散,设计用于生成神经rf。研究人员将三维训练场景转换为一组二维特征平面(三平面),然后使用现有的二维扩散模型直接对这些表示进行训练,以生成高质量和多样化的三维神经rf,并利用二维扩散模型的强大能力。

        与直接对三维模型的特征进行去噪相比,[21]、[52]、[55]等研究发现,首先使用VAE进行特征空间压缩,然后在压缩空间中应用ddpm,可以得到更好的效果。Nam等人[55]提出了一种名为3D-LDM的方法来生成三维形状的神经隐式表示。作者首先通过训练一个自动解码器,构造了一个基于有符号距离函数(SDFs)的三维形状的潜在空间。这个自动解码器将每个形状与一个潜在向量关联起来,使形状的编码和解码。随后,3D-LDM在三维形状自动解码器的潜在空间中应用了一个扩散模型,允许生成具有连续曲面的三维形状。Vahdat等人。[52]介绍了一种新的三维形状生成模型,称为狮子。LION使用了一个变分自动编码器(VAE)框架,该框架包含了一个层次化的潜在空间,其中包括一个全局形状的向量值的潜在表示和一个点云结构的潜在空间。LION的核心是在这些潜在空间中训练两个层次的去噪扩散模型(DDMs),以生成三维形状。Zhang等人[21]介绍了一种新的3D形状表示方法,称为3DShape2VecSet,它结合了径向基函数(RBF)、交叉注意和自我注意的概念。该表示法适用于变压器处理,可用于神经场和生成扩散模型。作者还提出了一个两阶段的模型:第一阶段涉及一个自动编码器,将三维形状编码到一个潜在空间,而第二阶段在学习的潜在空间内训练一个扩散模型。该方法在各种三维形状生成和重建任务中都取得了优异的性能。

        除了3D生成任务外,ddpm也被广泛用于3D完成任务。Lyu等人[19]引入了一种新的条件点扩散细化范式,称为点扩散-细化(PDR),它是第一个将扩散模型应用于点云完成任务的模型之一。PDR首先使用一个DDPM来生成一个粗糙的已完成的点云,然后应用一个细化网络来进一步细化结果。Kasten等人[51]介绍了一种名为SDS-Fulpte的方法,该方法利用预先训练的文本到图像扩散模型以及给定的对象不完整点云的文本语义来实现对象的完整表面表示。Nunes等人[20]提出了一种基于ddpm的激光雷达场景补全方法,可以直接操作点云数据。作者通过局部添加噪声的去噪方案,重新定义了ddms,而不是将输入数据归一化到噪声范围,使模型能够有效地学习场景的详细结构信息。

B.图像到三维

        图像到三维生成的重点是将二维图像转换为三维表示。扩散模型可以帮助从一个或多个二维视图中推断出深度、结构和纹理,从而产生精确的三维重建。这项任务在图像三维重建或通过逐步细化模型对空间结构的理解来增强单视图三维预测等应用中至关重要。

        最近的工作已经探索了使用扩散模型来解决从单一图像重建三维物体的具有挑战性的任务。扩散模型提供了强大的生成先验,可以帮助约束这个不适定的逆问题。Wang等人[56]提出了一种称为分数雅可比链(SJC)的方法,该方法应用链规则将扩散模型的梯度与可微渲染器的雅可比矩阵相乘,从而将二维图像梯度聚合为三维资产梯度。这使得使用预先训练的2D扩散模型用于3D生成任务,而不需要额外的3D数据。Xu等人[57]提出了一种clip引导的采样策略,该策略有效地将扩散模型的先验知识与参考图像相结合。这种方法可以从单一图像中重建真实的、三维一致的物体,而不需要精确的深度估计。此外,他们还引入了尺度不变的深度监督,减少了对精确的多视图一致深度估计的需要。

       斯齐曼诺维奇[58]等人提出了一种称为视图集扩散的方法,该方法使用多视图二维数据来训练一个生成三维对象的扩散模型。通过在去噪网络本身中集成视图集和三维模型之间的双射映射,该方法确保了生成的视图集和三维模型在几何上是一致的。Liu等人[59]提出了一个称为网格扩散的模型。为了解决在不同对象类别之间的不规则拓扑问题,他们使用可变形的四面体网格来表示三维网格。该模型基于基于分数的生成建模,并直接基于三维网格的参数表示进行训练。通过训练一个扩散模型,网格扩散可以有效地生成三维网格。

        当只提供对象的单视图图像时,生成3D模型缺乏关于对象背面的信息。然而,ddpm的泛化能力使我们能够生成额外的多视图图像来填补这些缺失的信息,从而实现更健壮的3D生成。例如,Melas-Kyriazi等人[60]提出了真实融合,他们利用扩散模型中捕获的先验来弥补缺失的信息。通过优化特定的文本提示,他们使扩散模型能够生成给定对象的其他可能的视图,从而在没有三维监督的情况下实现对任意对象的高质量的三维重建。和Liu等人的[61]利用二维扩散模型生成多视图图像,并结合基于成本体积的神经表面重建方法,从多视图预测中重建三维网格。Hu等人[62]没有随机多视图生成,而是采用二维扩散模型,基于给定的文本提示生成包含四幅正交视图子图像的复合图像,提供了较强的几何结构先验,增强了三维一致性。对于扩散模型生成的多视图图像,Long等人[63]引入了多视图跨域注意机制和几何感知的正态融合算法,以促进不同视图和模式之间的信息交换,从而提高了生成输出的一致性和质量。Xu等人[64]引入了即时网格,旨在从单个图像快速生成高质量的三维网格模型,同时确保生成的模型具有良好的训练可伸缩性和不同的几何外观。作者将现有的多视图扩散模型与基于大型重建模型(LRM)架构的稀疏视图重建模型相结合,生成一致的多视图图像,然后使用LRM框架直接预测三维网格。

        与端到端方法相比,两阶段方法虽然效率较低,但可以获得更好的精度,因此被广泛应用于图像到3d任务。Tang等人[65]提出了一种名为Make-It-3D的方法,它利用二维扩散模型作为三维先验。通过两阶段优化管道,首先结合参考图像的约束和新视图的扩散来优化NeRF。然后,它将粗糙的模型转换为一个纹理点云,并利用扩散先验进一步增强了真实性,同时也利用参考图像中的高质量纹理来创建高保真的3D对象。郑et al. [66]提出一个两步扩散模型基于三维形状生成框架称为洛杉矶扩散,占用扩散首先生成一个低分辨率的占用场近似形状的壳然后发展扩散合成高分辨率符号距离场在占用体素内提取精细的几何细节。值得注意的是,作者采用了一种新的视图感知局部注意机制,该机制利用二维图像斑块特征来指导三维体素特征的学习,显著提高了局部可控性和模型的泛化能力。Lin等人的[67]提出了一致的123,它包括两个阶段。在第一阶段,它利用三维结构先验进行广泛的几何利用,并集成了一个基于clip的病例感知自适应检测机制。第二阶段引入二维纹理先验,逐渐发挥主导指导作用,细化三维模型的细节。在整个优化过程中,该模型强调三维结构指导,同时逐步强调二维先验对优化纹理细节的重要性,实现更高质量的三维重建。Qian等人[68]介绍了一种名为Magic123的方法,用于从单个未曝光的图像中生成高质量的三维网格模型。Magic123采用了一个两阶段的优化过程,首先优化一个神经辐射场(NeRF)以产生一个粗糙的几何形状,然后使用一个内存高效的可微网格表示来生成一个高分辨率网格。在这两个阶段,新视图的生成是通过结合二维和三维扩散先验来指导的,通过一个权衡参数来控制生成的几何图形的探索(更有想象力)和开发(更精确)。

        与NeRF相比,3DGS [39]因其在3D表示方面的优越性能而受到越来越多的关注。在3D生成任务中,一些研究人员正在探索如何将ddpm与3DGS结合起来,以生成更精细的3D模型。与以往依赖于NeRF的方法不同,Tang等人[69]采用三维高斯飞溅法,引入了一种新的三维表示方法,即多视图高斯特征,可以融合在一起进行可微渲染。他们提出了一种新的框架,利用多视图高斯特征和非对称的U-Net骨干,从单视点图像快速生成高分辨率的三维模型。此外,Xu等人[70]引入了一种新的前馈三维生成模型,称为GRM(高斯重建模型),设计用于有效地从稀疏视图图像中重建和生成三维资产。GRM采用了一种基于变压器的网络体系结构,它将输入像素转换为与像素对齐的三维高斯值。然后,这些高斯值被重新投影,形成一组密集分布的三维高斯值,以代表场景的几何形状和外观。

C.文本到3D

        文本到3D的生成涉及到直接从文本描述中生成3D模型或场景。扩散模型特别适合于这项任务,因为它们能够弥合语言和3D结构之间的差距,从而能够创建语义上有意义的3D资产。这与游戏、虚拟现实和产品设计等领域的内容创建高度相关。

        在所有的研究中,Nichol等人,[71]是第一个探索如何使用ddpm从自然语言描述中有效地生成三维点云的人。作者首先使用文本到图像的扩散模型生成一个单一的合成视图,然后使用第二个条件扩散模型基于生成的图像生成三维点云。 

        随后,Li等人[72]提出了一种基于补丁的SDF自动编码器,该编码器将三维形状的截断符号距离场(TSDF)映射到局部高斯潜在表示。并引入体素化扩散模型来捕获局部信息以及斑块(块对块)和全局结构(块间)之间的关系。为了消除在每个引导步骤中将渲染的RGB图像编码到潜在空间的负担,Metzer等人[73]提出了潜在-nerf,它在潜在空间中而不是标准的RGB空间中运行。此外,Seo等人[74]研究了二维扩散模型缺乏对三维空间的理解,经常导致扭曲和不相干的三维场景。他们根据文本提示生成一个粗略的3D点云,并将其投影到任意视图中,以创建粗糙的深度图,作为显式的3D一致性条件,并将其输入到二维扩散模型中。这使得模型能够以3守护软件的方式优化每个视点,提高了生成的3D场景的一致性和结构。

        为了产生更准确的结果,一些研究采用了两阶段的方法来产生结果。Chen等人[75]解耦了几何和外观的建模,其中文本特征被专门用于几何和外观的建模,指导生成过程有效地产生期望的结果。Wu等人[76]使用分阶段扩散模型,首先生成形状,然后根据第一阶段生成的形状分配颜色。

        对于基于3dgs的[39]生成,Chen等人[77]介绍了GSGEN,一种使用三维高斯散射进行文本到三维生成的新方法。该方法采用了一个两阶段的优化策略。在第一阶段,它利用来自二维和三维扩散先验的联合引导来形成一个三维一致的粗结构。在第二阶段,在外观细化过程中,该模型通过基于紧凑的致密化过程来增强细节。Ling等人[78]提出了一种利用动态3DGS和复合扩散模型从文本描述中生成高质量的四维动态场景的新方法。作者使用动态三维高斯混合物和变形场作为四维表示的主干。变形场捕捉场景动态,并变换三维高斯函数集合来表示物体的运动。该方法结合了文本到图像、文本到视频和3D关注多视图扩散模型,在一个基于分数蒸馏的合成框架内提供反馈。Yi等人和[79]探索了如何在保持三维一致性和详细生成的同时,从文本提示中有效地生成三维高斯表示。作者提出了一个名为高斯梦想者的框架,它通过高斯溅射连接了三维和二维扩散模型。在这个框架中,三维扩散模型提供了一个初始化先验,而二维扩散模型增强了几何形状和外观,从而产生了一个详细和连贯的三维输出。

        除了在生成过程中进行改进外,一些方法还试图增强传统的分数分馏采样(SDS),以提高生成模型的性能。Wang等人[80]提出了变分分数蒸馏(VSD),这是一个基于粒子的变分框架,它将三维参数建模为随机变量,与传统SDS中使用的常数形成对比。通过优化三维场景的分布,VSD的目标是使所有视图呈现的图像分布与预先训练的二维扩散模型定义的分布非常匹配。Bahmani等[81]。引入了混合分数蒸馏采样(HSDS)。该方法采用交替优化过程,首先使用三维感知文本到图像模型生成初始静态3D场景,从而避免了“Janus问题”。在此之后,该过程在变分SDS和文本到图像的模型监督之间交替进行,以增强场景的外观。此外,Huang[82]等人还发现了扩散模型中三维优化过程与均匀时间步长采样之间的冲突,导致收敛缓慢,生成的3D模型质量差,生成多样性低。因此,他们提出了一种时间优先评分蒸馏采样(TP-SDS)策略,该策略在三维优化过程中使用单调递减函数对不同的扩散时间步进行优先排序,更有效地将三维优化过程与采样步骤对齐。

        为了解决由于3D任务的训练样本数量有限而导致的生成对象多样性较低的问题,一些研究人员尝试仅使用2D预训练模型生成3D对象,而不使用任何直接的3D样本。Poole等人[83]探讨了如何利用预先训练好的二维文本到图像扩散模型,在不需要三维训练数据的情况下合成三维模型。他们采用了一个预先训练好的二维文本到图像的扩散模型作为先验,并提出了一个基于概率密度蒸馏的损失函数。这种方法允许使用二维扩散模型作为一个先验。最后,他们通过梯度下降来优化一个随机初始化的三维NeRF,以实现从随机视角呈现的二维图像的低损耗。这种方法有效地解决了稀缺的3D数据和3D去噪架构效率低下的挑战,为3D内容的创建提供了一种新的可能性。Lu等人[84]提出了一种新的多视图2.5D扩散模型,该模型对预先训练好的二维模型进行微调,直接捕获三维数据的结构分布,同时保留了原始二维扩散模型的强泛化能力。这种方法解决了当前方法的局限性,这些方法要么依赖于预先训练的耗时SDS的2D扩散模型,要么直接使用受有限三维数据限制的三维扩散模型,牺牲了生成的多样性。

D.纹理生成

        纹理生成是指将真实的表面细节映射到这些网格上。扩散模型通过从学习到的分布中生成高保真的纹理来帮助这两个过程。这些模型可以确保几何精度和表面细节,与真实世界的外观相一致,有利于在图形、仿真和AR/VR环境中的应用。Cao等人[85]介绍了Tex融合,该融合利用潜在扩散模型和一种新的三维一致扩散模型采样方案实现了文本引导的三维纹理合成。该方法在不同的二维渲染视图上运行一个二维去噪网络,并在每次去噪迭代后将预测结果聚合为一个潜在的纹理映射。这种方法有效地生成具有丰富细节和一致性的纹理,响应文本提示,为3D资产的基于AI的纹理生成提供了新的可能性。Yu等人的[86]研究了在三维网格模型上自动生成高保真度和几何兼容的纹理图像的方法。作者提出了点-紫外扩散,一个结合去噪扩散模型和紫外映射的两阶段粗糙精细框架。Gupta等人[87]结合VAE和条件扩散模型生成高质量的纹理三维网格。他们使用三平面VAE将输入网格中的点云编码为三平面高斯潜在空间,然后学习从这个潜在空间重构连续的纹理网格。Li等人[88]提出了一种基于八叉树的扩散模型(TexOct),该模型使用八叉树结构来有效地表示从给定的三维模型表面采样的点云。该方法直接优化了三维空间中的纹理生成,有效地解决了稀疏采样导致的自遮挡和纹理退化导致的纹理误差。Yeh等人。[89]结合个性化建模、评分蒸馏和几何指导,从少量图像中提取纹理信息,并将其传输到具有不同几何形状的目标对象上。Wang等人[90]提出了一种新的基于卷积和基于DDPM的重建模型,该模型利用几何先验来实现从单一图像中快速生成高保真的三维纹理网格。

        与从单个图像生成纹理相比,从多视图图像生成纹理对图像之间的一致性有更高的要求。Zhang等人[91]提出了一种实现多视图一致性的新方法。该方法基于预先训练的扩散模型,如DDIM,在每个去噪步骤将预测的无噪潜在状态解码为颜色空间,并将其混合形成纹理图像。然后使用一个优化过程来更新潜在代码,以确保从混合纹理图像中呈现的图像在所有视图中保持一致。Liu等人[92]首先对二维扩散模型进行微调,从六个角度预测一组一致的图像,为三维重建提供一致的视图。这些观点,为三维重建提供了连贯的观点。然后采用多视图条件下的三维扩散模型,从一致的多视图图像中,采用从粗到细的方法来预测纹理网格。通过利用多视图图像作为监督和应用轻量级优化技术,该方法提高了生成的网格的纹理质量。

        除了RGB的颜色外,照明信息也是纹理的一个重要组成部分。为了在特定的光照条件下生成阴影结果,Zhang等人[93]提出了一种新的扩散模型,该模型在训练过程中考虑了给定的光照环境。通过在材料提取过程中应用相同的环境照明,DreamMat可以生产高质量的PBR材料,符合给定的几何形状,并不受任何烘烤的阴影效果。相反,Zeng等人[94]引入了Paint3D,旨在生成高质量的纹理。通过利用预先训练的二维图像扩散模型和专门设计的UV补全和升级扩散模型,Paint3D实现了从文本或图像输入生成高质量、无照明的三维纹理地图的目标。

        为了生成视觉上一致的纹理,一些工作试图将深度信息纳入生成过程中。Chen等人的[95]采用了一个预先训练好的深度感知图像扩散模型,该模型可以基于文本提示生成高分辨率的部分纹理。此外,作者从不同的角度逐步合成高分辨率的局部纹理,以避免在视图之间的不一致和拉伸的伪影的积累。理查森等人[96]使用预先训练的深度到图像扩散模型,从不同的观点渲染3D模型,结合动态三点分割技术,生成不同视图的无缝纹理。此外,与以往的方法不同,Chen等人[97]将纹理合成任务表述为RGB空间中的一个优化问题。通过使用多分辨率纹理场和交叉注意解码器,它有效地利用了深度到图像的扩散,然后为室内场景生成高质量、风格一致的纹理。

E.人类试衣生成

        人类试衣的生成包括创建真实的或程式化的人类3D模型。扩散模型有助于生成具有精确解剖比例、动态姿势和纹理的人体化身。这些模型还可以根据面部表情或身体运动进行微调,使它们在游戏、虚拟现实和数字时尚中有应用价值。

        人类化身(头)生成是目前人类生成研究最广泛的方向。Wang等人[98]通过将三维特征映射展开到二维平面上,并应用三维感知卷积,解释三维数据在二维平面上的投影关系,有效地生成了nerf中表示的详细的三维数字化身。Jiang等人的[99]以扩散模型为指导,生成基于文本提示的具有参数化形状和姿态控制的三维人体化身。Chen等人[100]提出了一种新的三维变形扩散模型,能够基于身份和表达式等输入参数生成三维网格模型。通过将三维变形模型与多视图一致性扩散方法相结合,该模型可以从一幅图像中生成可控的、真实的三维化身。Lei等人[101]提出了扩散gan3D框架,该框架将预先训练好的三维生成模型(如EG3D)与文本到图像的扩散模型相结合。该框架利用相对距离损失来在领域适应过程中增强多样性,并利用特定案例的可学习三平面来提高网络的生成能力。Zhou等人[102]介绍了一种名为超图像的新方法,该方法使用扩散颜色提取模型和真实引导纹理扩散模型从文本提示或单一图像生成真实和可动画的3D角色。为了解决几个关键问题,包括低纹理质量、身份信息丢失和遮挡处理不足,Li等人[88]提出了UV-IDM,它利用潜在扩散模型(LDM)强大的纹理生成能力,基于巴塞尔人脸模型生成真实的面部纹理。

        与只生成一个化身相比,生成一个具有特定姿势的人类3D模型更加复杂和具有挑战性。Chen等人[103]介绍了第一个基于扩散模型的三维人体生成框架,称为初始扩散,它基于体积原语,将人体建模为具有辐射和运动信息的多个小体积。通过直接操作体积原语上的去噪和扩散过程,该框架解决了三维表示的高计算成本和三维人体拓扑的复杂性。随后,Kim等人[104]提出了一个名为Chupa的3D人体生成管道,旨在解决生成具有不同身份、姿态和随机细节的真实3D人体网格的挑战。他们将问题分解为二维法线图生成和基于法线图的三维重建,提高了计算效率,生成了多视图一致的三维模型。Svitov等人[105]提出了第纳尔,它将神经纹理与SMPL-X人体模型[153]结合起来,实现了真实的质量,同时保持卡通人物易于操作和实现快速推断。采用潜在扩散模型来恢复纹理。Ho等人[106]引入了一种名为SiTH的新的3D人体重建管道,它解决了从单视图图像重建真实和细节丰富的3D人体模型的挑战。SiTH方法将单视图重建问题分解为两个子问题:生成后视图图像的错觉和网格重建。首先,利用图像条件扩散模型来预测输入图像的后视图的外观。然后,使用前景和后视图图像作为指导,该方法重建了整个身体的纹理网格。[107]等人提出了一种称为ScoreHMR的方法,旨在解决从二维图像证据中预测人类模型参数的问题。ScoreHMR方法模拟了模型拟合过程,其中训练一个扩散模型来捕获给定输入图像的人类模型参数的条件分布。通过使用特定任务的分数来指导其去噪过程,ScoreHMR有效地解决了各种应用程序中的逆问题,而不需要为每个特定的任务重新训练扩散模型。Huang等人[108]提出了一种名为人类规范的新方法,该方法通过学习正常适应扩散模型和正常对准扩散模型来增强模型对三维几何的二维感知。此外,它还引入了一种渐进式几何生成策略和一种多步分数蒸馏采样(SDS)损失函数,以提高三维人体生成的性能。与以往基于图像的方法不同,科洛图罗斯等人[109]提出了一种仅从文本描述生成真实和可动画的3D人体化身的方法。作者利用一个大型的文本到图像的扩散模型来生成一个初始的3D人体模型,使用NeRF来表示3D场景,并优化它,以产生具有高质量纹理和学习到的特定实例的表面变形的动态3D人体化身。

        通过生成的3D人体模型,一些研究进一步探索了如何使用ddpm来生成一系列连续的动作。[110]提出了一种新的方法,将gnn作为去噪扩散模型,直接在网格空间中进行扩散过程,以一致的噪声采样方法生成三维面部表情,以确保动画中的时间相干性。Xu等人[111]介绍了一项预测三维空间中的人体交互作用(HOI)的新任务,其主要目标是生成长期、多样化和生动的3D HOI序列。作者提出了一个名为InterDiff的框架,它结合了交互扩散和物理信息的交互校正,以生成现实和物理上可信的未来人体交互的三维序列。由于传统的运动扩散模型往往忽略物理定律,导致产生物理上不现实的运动,Yuan等人[112]引入了一种新的物理引导的人体运动扩散模型,称为PhysDiff。该模型通过使用基于物理的运动投影模块在扩散过程中的物理约束,该模块使用物理模拟器的运动模拟将扩散步骤中的去噪运动投影到物理上可信的运动上。

F.场景生成

        场景生成侧重于构建完整的3D环境,包括对象、纹理和空间布局。扩散模型通过学习合成物体、光照条件和纹理之间的现实空间关系发挥了关键作用。这对虚拟世界的创造、建筑设计和游戏中的沉浸式体验都有影响。场景生成一般可以分为图像引导、文本引导和场景图引导生成,如图8所示。

        在不同的引导中,图像引导的场景生成是最简单、最直观的。为了为复杂的开放世界三维环境自动生成生成模型,Kim等人[113]首先训练一个场景自动编码器,将图像和姿态对表示为一个神经场。然后,他们使用一个潜在的自动编码器来进一步压缩神经场表示,将体素网格映射到一组潜在的表示。最后,他们训练一个潜在表示的分层扩散模型来完成场景生成过程。Wynn等人的[114]解决了当只有有限数量的输入视图可用时,NeRF可以严重限制场景几何形状和颜色场的问题。作者提出了一种利用DDPM的方法,该方法在合成DDPM数据集[154]的RGBD图像补丁上进行训练,作为在正规化NeRF之前学习关于场景几何和颜色的先验知识Chung等人[115]介绍了荧光梦者,它通过重复应用“梦想”和“对准”两种操作来维护和扩展其世界模型。做梦的过程包括生成几何上一致的图像,并将这些图像提升到三维空间中。对齐算法将新生成的三维点云片段和谐地集成到现有的三维场景中。Wu等人[116]介绍了一种称为块融合方法,该方法利用潜在三维平面外推技术,利用VAE将三维平面压缩到潜在平面空间。在这个空间中,执行去噪扩散过程来生成可以无限扩展的高质量的三维场景。Ran等人[23]引入了激光雷达扩散模型(LiDMs),旨在通过结合几何先验来捕捉真实性来提高激光雷达场景的保真度。这种方法提高了模式真实性、几何真实性和对象真实性,从而能够生成更接近真实世界数据的激光雷达场景。

        与图像引导的生成相比,文本引导的场景生成提供了更大的灵活性和多样性。Fridman等人[117]提出了一种新的框架,该框架将预先训练好的文本到图像生成模型与单眼深度预测模型相结合,在测试过程中进行优化,以实现在线三维一致的场景视频生成。Po等人[118]探讨了如何使用文本提示和边界框来控制场景中不同部分的生成,同时确保这些部分之间的自然转换。作者提出了局部条件扩散,它允许用户通过文本提示和相应的边界框来控制图像的特定区域。Zhang等人[119]提出了一个名为Text2NeRF的框架,该框架将文本到图像的扩散模型与NeRF结合起来,从文本提示中生成具有复杂几何结构和高保真纹理的三维场景。该方法通过渐进的场景细化和更新策略,以及深度对齐策略,成功地提高了生成场景的真实性和多视图一致性。

        与图像和文本相比,场景图[155]提供了结构化信息,允许模型更好地理解和利用对象之间的语义关系。这有效地捕获了场景中的多层次关系,从而产生更分层和更合乎逻辑的生成结果。Gao等人[120]提出了图形梦想者,这是第一个同类的框架,可以从场景图中生成合成的3D场景。通过利用场景图信息,有效地解决了文本到三维生成过程中属性混淆和引导崩溃的问题。为了生成多样化和真实的室内三维场景,Tang等[121]提出了一种扩散场景,该模型基于去噪扩散模型,该模型将场景表示为无序对象的集合,其中每个对象的属性包括位置、大小、方向、语义和几何特征。通过对一系列无序对象属性进行去噪,合成了一个三维室内对象集合。

        Zhai等人[122]提出了采用双分支扩散模型的回声场景。每个分支包含多个去噪过程,在场景图中的每个点上都有相同数量的节点。该模型通过一个信息回波方案在每个去噪步骤中交换信息,并利用图卷积结合这些更新。该方案确保了去噪过程受到对场景图的全局理解的影响,从而促进了全局一致场景的生成。

G.三维编辑和操作

        三维编辑和操作是指编辑或修改现有的三维对象或场景。扩散模型可以用来对形状、纹理或姿态进行微妙的调整,同时保持现实主义。通过直接对3D数据或其潜在表示进行操作,扩散模型允许以最小的失真有效地操作3D结构。

        Kim等人[123]提出了DATID-3D,一种新的三维生成模型的领域自适应方法。它利用文本到图像的扩散模型和对抗性训练来保持文本提示的多样性,将样本从预先训练过的3D生成器转换为多样化的目标图像,同时生成高质量的3D图像。

        Mikaeili等人[124]提出了一种创新的3D编辑技术[124],将问题分为两个子任务:第一个涉及基于纯几何推理的粗定位和边界定义;第二种使用生成模型丰富的语义知识来添加和细化几何和纹理细节。通过利用至少两个来自不同视点的引导草图来修改现有的神经场,SKED通过一种新的损失功能和编辑工作流程,实现了对三维形状的直观、本地化和有意义的编辑。

        Sella等人[125]介绍了一种称为Vox-E的新技术,它使用基于文本的提示和扩散模型来编辑三维对象的体素表示。它以一个三维对象的多视图二维图像作为输入,并学习其基于网格的体积表示。研究人员引入了一种新的体积正则化损失,它直接在三维空间中运行,利用三维表示的显性性质来加强原始对象和编辑对象的全局结构之间的相关性。

        Han等人的[126]旨在解决现有文本引导的3D头部模型编辑中的身份特征丢失或次优编辑结果的问题。他们提出了一种名为头部雕刻的工作流程,该工作流程首先集成了基于陆地标记的控制网和文本反演技术,将三维感知注入到扩散模型中,确保生成的头部模型的一致性。然后,使用doultPix2Pix实现,混合编辑和身份保存分数,优化纹理网格,同时保持原始身份信息,并遵循编辑指令。

        Zhuang等人[127]提出了一个名为“梦想编辑器”的框架,该框架旨在使用文本提示来控制和编辑3D场景的神经场表示,同时保持与文本提示无关的区域的不变性。通过将场景表示为一个基于网格的神经场,并利用预先训练的文本到图像扩散模型,根据文本提示的语义自动识别需要编辑的区域,该框架能够对3D场景进行精确和高质量的编辑。

        Liu等人[128]提出了草图梦,一种结合了草图和文本提示的技术,利用多视图图像生成和三维编辑技术,从简单的二维草图中实现高质量的复杂三维模型的生成和编辑。为了解决二维到三维转换中的模糊性,他们引入了一个基于草图的多视图图像生成扩散模型,该模型利用深度信息来建立空间对应关系。采用三维控制网对多视图图像进行控制,确保其三维一致性。为了支持本地化编辑,提出了一种从粗到细的编辑框架。在粗阶段,分析组件交互,提供三维掩模标记编辑区域;在精细阶段,应用局部增强生成精细化的真实结果。

        Chen等人[129]提出了高斯编辑器,旨在解决传统三维编辑方法在处理复杂场景方面的局限性,以及基于三维nerf的隐式方法在处理速度和编辑控制方面的不足。本文介绍了高斯语义跟踪方法,通过在整个训练过程中跟踪编辑目标,可以精确控制高斯喷溅。为了克服GS在随机生成指导下获得良好结果所面临的困难,作者提出了分层高斯喷溅法,它将高斯点划分为不同的“代”,并对每一代点应用不同程度的约束。

        Decatur等人[12]提出了3D画笔,旨在解决在3D建模工作流程中编辑现有的高质量3D资产的基本能力,特别是对于本地化编辑。与之前主要关注全局编辑的作品不同,3D画笔利用级联评分蒸馏技术将局部纹理表示为定义在网格表面上的神经纹理。这种方法通过多层感知器(MLP)优化纹理和定位映射,允许在三维网格模型上实现基于文本的纹理本地化风格化。这种方法生成的纹理紧密附着在局部区域。

        Pandey等人。[130]研究了如何对图像进行3D编辑,如3D平移和旋转,使用预先训练好的扩散模型,而不需要额外的训练或微调,同时确保编辑后的图像在透视、遮挡、照明和阴影方面显得可信。作者提出了一种利用代理深度将扩散模型的激活提升到三维空间的方法。然后将提升的激活度在三维空间中,投影回图像空间,引导扩散过程,从而生成编辑后的图像。

        Yoo等人[131]提出了APAP,旨在增强用户交互式编辑过程中变形网格的视觉真实性。APAP框架使用每个面的雅可比矩阵来表示网格的变形,通过一个可微泊松求解器计算网格的顶点坐标。首先,将变形的网格渲染成二维图像,利用SDS过程从中提取出有意义和合理的先验。为了更好地保持编辑网格的身份,作者使用LoRA对二维扩散模型进行了微调。最后,通过迭代梯度下降计算最终变形,平衡用户编辑与输出的合理性。

H.新视图合成 

        新视图合成的目的是基于有限的输入视图,从看不见的视点生成一个场景的图像。扩散模型通过预测一个场景应该如何从不同的角度出现,提供一致和连贯的视觉输出。这对于虚拟旅游、交互式媒体和机器人技术的应用至关重要,从多个角度理解环境是至关重要的。

        Deng等人[132]提出了一个名为NeRDi的框架,该框架利用二维扩散模型中的一般图像先验进行单视图NeRF合成。NeRDi将单视点重建问题定义为一个受图像条件约束的三维生成问题,通过最小化从任意视角渲染时扩散模型的图像分布损失来优化NeRF表示。

        Karnewar等[133]提出了一种全息扩散方法,该方法采用混合显式-隐式特征网格。该方法只对输入的二维图像添加噪声,然后训练一个去噪的3D UNet网络来去除噪声。它可以训练三维感知生成模型的扩散。此外,由于这些特征是在三维空间中定义的,因此可以从任何期望的视点渲染图像,并在不同的视点之间保持一致性。

        Tseng等人。[134]研究了当有显著的摄像机运动时,产生长期一致和高质量的新视图序列的问题。他们提出了一个假设引导的扩散模型,在网络中设计了一个外极注意层来将输入和输出视图的特征联系起来。利用相机姿态信息,他们估计输入视图的特征图上的外极线,以计算输入和输出视图之间的注意权重。

        Zhou等人。[135]主要关注如何从少量具有已知相对姿态的分割输入图像(例如,两幅图像)中进行三维重建。稀疏融合结合了最先进的神经渲染和概率图像生成技术,利用一个视图条件的潜在扩散模型(VLDM)来生成详细的新视图图像。它通过最大化VLDM建模的条件分布的可能性来优化特定实例(神经)三维表示。

        Liu等人的[136]研究了如何以零镜头的方式从单个RGB图像中合成新视角的三维物体图像。作者提出了zero123的框架,该框架在一个合成数据集上进行训练,以学习相对摄像机视点的控制。这允许在指定的照相机转换下生成同一对象的新图像。此外,该框架通过优化神经场的三维重建任务,实现了从单个图像的三维重建。

        Chan等人[137]设计了一个NVS框架,该框架建立在现有的2D扩散模型之上,但最重要的是以3D特征体的形式整合了3D几何先验。这个潜在的特征字段捕获了潜在的场景表示的分布,并增强了生成跨视点一致的新渲染图像的能力。 

        Shi等人[138]探索改进现有的单图像到3D转换技术,解决生成图像中的纹理退化和几何错位等常见问题。他们通过将6个视图(以3×2的布局)拼接成一个图像来模拟多个图像的联合分布。此外,它们通过修改噪声计划,增强了模型生成全局一致图像的能力。

        Watson等人[139]提出了DiM,它利用了一种后图像到图像的扩散模型。它将一个源代码视图及其姿态作为输入,并在目标姿态中生成一个新的视图作为输出。作者在生成过程中,采用随机条件反射来随机选择条件视图,提高了生成图像的三维一致性。此外,他们使用了一种专门为3D视图合成而设计的UNet体系结构的新变体,通过在两个输入图像之间共享权重和在视图之间使用交叉注意来提高性能。

        Gu等人[140]提出了一种名为NerfDiff的方法,该方法通过在测试过程中合成和优化一组虚拟视图,解决了现有的神经辐射场(NeRF)方法在处理严重遮挡时所面临的不确定性问题。NerfDiff的核心是通过NeRF引导的蒸馏过程,将来自三维感知条件扩散模型(CDM)的知识集成到NeRF中。

        Hollein等人[141]提出了一种新的方法,利用¨一个预先训练的文本到图像模型作为先验。通过结合三维体积渲染、跨帧注意层和自回归生成策略,该模型能够在此过程中根据之前生成的图像来确定下一个视点图像的生成。这种方法能够基于文本或图像输入,跨多个视点生成与真实世界的3D对象相一致的高质量图像。

        Ye等人[142]将NVS任务分解为两个阶段。首先,使用一个场景表示变换器将观察到的区域转换为新的视图,然后使用一个视图条件的扩散模型来想象看不见的区域。此外,他们还引入了一种分层生成范式,能够产生一致的长视图序列,允许对所提供的对象图像进行360°的全面观察。

        Liu等人[143]引入了一种新的扩散模型,称为同步梦想器,该模型通过建模多视图图像的联合概率分布,在一个单一的反向过程中实现一致的图像生成。作者使用了一种3d感知的特征注意机制,通过关联不同视点之间的相应特征,来同步生成的图像的中间状态。此外,他们用一个预先训练好的扩散模型初始化同步梦器,以保持很强的泛化能力。

I.深度估计

        深度估计是指从二维图像或视频帧等输入数据中估计场景的深度信息。扩散模型被用来逐步细化深度图,确保场景几何的准确和详细的表示。这项任务对于三维重建、增强现实和自主系统等应用至关重要,在这些应用中,深度感知是决策所必需的。 

        目前的深度估计研究面临着训练数据的缺乏,这促使一些研究者尝试使用ddpm来生成真实的深度图样本。Zhang等人[147]利用深度2水下控制网,利用稳定扩散技术从地面深度数据中生成一个新的水下深度估计数据集。该方法结合了地面深度信息的精度和水下场景的真实性,使该数据集可用于训练水下深度估计模型。为了解决复杂和不利因素造成的单眼深度估计任务中的挑战,Tosi等人[148]使用最新的文本到图像扩散模型,利用一系列挑战和相应的深度信息生成用户定义的新场景和深度信息。此外,Ke等人[151]引入了金盏花,一种基于稳定扩散模型的方法,该方法通过对合成数据进行微调,而不访问真实深度样本,在多个真实数据集上实现了最先进的单眼深度估计。作者只对去噪的U-Net进行微调,保留了预训练模型丰富的视觉先验。

        训练前技术也被广泛用于协助ddpm进行深度估计,有助于克服训练数据的短缺。Patni等人的[22]利用由预先训练好的视觉转换器(ViT)[156]模型生成的全局图像先验作为输入,以提供更详细的上下文信息。Saxena等人[150]提出了一个称为DDVM的模型,该模型结合了自我监督的预训练和有监督的微调。DDVM首先对自我监督的图像-图像翻译任务进行预训练,然后对RGB-D数据进行监督训练。

        为了解决研究人员依赖于合成数据集的问题,Shim等人[149]将扩散模型集成到一个领域自适应的深度估计框架中,提取领域不变的结构内容。它利用深度一致的风格转移来估计注意力地图,与现有的方法相比,从而提高了在室内和室外环境中的性能。作为最早将ddpm应用于深度地图预测的方法之一,Ji等人利用多任务技术,提出了一个针对各种密集视觉预测任务设计的条件扩散模型框架。通过在现代感知管道中有效地扩展去噪扩散过程,DDP在多个基准测试中实现了具有竞争力的性能,而不需要进行特定于任务的设计或架构定制。Li等人[145]引入了DADP,这是一个结合扩散模型来改进稀疏标注的自动驾驶场景中的深度估计的框架。

        DADP包括一个噪声预测器和一个深度预测器,其中噪声预测器通过预测噪声成分来加强区域和整体空间结构,而深度预测器可以是任何单图像深度估计模型。Duan等人[146]引入了一种直接扩散深度,而是一种称为扩散深度的新方法,该方法学会将自己的细化深度的扩散逆转为随机深度分布,克服了在稀疏GT深度场景中应用生成模型的挑战。

五、3D数据集和评估指标

A.三维数据集

        在本节中,我们总结了当前与扩散相关的三维任务中最常用的一些数据集。我们将它们分为三组:基于对象的、基于人的和基于场景的。表一列出了所有的数据集及其详细信息。

        1)对象数据集:在可用于3D对象数据集的各种数据集中,ShapeNet [34]是最早和最基础的数据集之一,具有跨不同类别的51K合成3D CAD模型。它对该领域的后续研究产生了重大影响。CO3D [164]以其大规模的真实扫描3D对象而闻名,包括19K模型,允许进行详细分析,并已成为细粒度3D物化任务的重要资源。

        另一方面,反向[165]代表了数据集规模的一个重大进步,拥有近800K个模型,使其成为列出的数据集中最大的,并促进了在训练深度学习模型进行三维理解方面的广泛应用。除上述数据集外,其他数据集如ABO [162]和GSO [166]在三维对象生成的研究中也发挥着重要作用。

        2)人类数据集:在这些专注于人类表示的数据集中,渲染人[172]是最大的合成数据集,包含近40K个模型。它广泛的规模使其成为计算机图形学和机器学习中的各种应用的宝贵资源。相比之下,THuman 2.0数据集[173]有500个真实的人类模型,被认为是该领域最早的数据集之一,对人类运动和行为识别的研究做出了重要贡献。另一个重要的数据集是UESTC [178],它具有25.6K个真实的人体模型,以其庞大的规模和在现实世界场景中的实际应用而脱颖而出。其他数据集,如HumanML3D [175]、累积的[176]和FaceScape [179],也为人类建模和动画提供了重要的见解。

        3)场景数据集:在这些3d场景数据集中,3)10K[193]是最大的数据集,包含750K个场景,这对场景识别和分析的进步做出了重大贡献。KITTI [185]是最早为自动驾驶应用程序建立的数据集之一,包括389个场景,并为计算机视觉和机器人技术的研究提供了必要的数据。ScanNet [32]因其广泛的真实世界室内场景收集而闻名,拥有近1500个不同的场景,使其成为在训练和基准测试算法中使用最广泛的数据集之一。其他数据集,如NyuDepth [30]和Waymo [191],也在室内和室外三维场景相关研究中发挥着重要作用。

B.评估指标

        我们在表二中分类并列出了3d相关任务中所有常用的指标,包括倒角距离(CD)、地球移动器距离(EMD)、总互差(TMD)、最小匹配距离(MMD)、光场距离(LFD)、覆盖率(COV)、最近邻(1-NNA)、帧起始距离(FID)、帧视频距离(FVD)、内核起始距离(KID)、交叉联合(IoU)、深度图像结构和纹理相似度(DISTS)、正确关键点百分比(PCK)、再识别分数(ReID)、峰值信噪比(PSNR)、结构相似度指数(SSIM)、提示保真度(PF)、视觉质量(VQ)、结构完整性(SC)、感知质量(PQ)、平均绝对相对误差(REL)、均方相对误差(SqRel)、均方根误差(RMSE)、均方根对数误差(RMSElog) 。

六、限制和未来的发展方向

         提高计算效率和推理速度。虽然扩散模型在生成高质量的三维数据方面显示出了巨大的前景,但它们的计算需求仍然是一个重大的挑战。这些模型通常需要大量的迭代来产生结果,这增加了训练时间和推理速度。当使用高维三维数据时,这个问题会变得更加严重,因为内存和计算需求可以迅速扩展。未来的研究可以集中于优化扩散步数或探索更有效的架构,如使用去噪自编码器或神经常微分方程(ode),以在不牺牲输出质量的情况下加速推断。此外,并行化技术或硬件加速(例如,利用gpu或tpu)可以进一步减轻计算负担。

        多模态融合。3D视觉任务中的一个关键挑战是有效地集成不同的数据模式,如2D图像、3D几何图形和文本描述。虽然扩散模型已经成功地应用于单模态任务,但在多模态融合方面仍有改进的空间。未来的工作可以探索在扩散框架内更好地结合这些模式的方法。例如,使用交叉注意机制或利用嵌入来捕获2D、3D和文本输入之间的关系,可以增强模型合成更丰富、更有上下文感知的3D内容的能力。此外,开发能够联合处理多种模式的统一架构可以拓宽扩散模型在诸如三维场景生成和对象理解等任务中的应用。

        大规模的预训练和迁移学习。大尺度预训练在许多二维视觉任务中实现最先进成果的关键,但其在三维扩散模型中的应用仍未得到充分探索。对大量数据集上的三维扩散模型进行预训练,然后对特定的下游任务进行微调,可以帮助减轻对大型带注释的三维数据集的需求。此外,可以开发有效的迁移学习技术,允许预先训练的模型泛化不同的3D任务,如重建、生成和识别。确定强大的训练前策略和理解知识在二维和三维领域的可转移性是未来研究的很有前途的领域。

        可解释性和控制。当前扩散模型的主要局限性之一是缺乏对生成过程的可解释性和细粒度的控制。这个问题在3D视觉中特别相关,用户可能想要影响生成的3D内容的特定方面,如形状、纹理或姿势。未来的工作应集中于通过开发可解释的潜在空间或整合控制机制来提高这些模型的透明度。诸如潜在空间操作、条件生成或各种属性的分离等技术可以使用户能够以更可预测的方式指导输出。此外,可解释性工具可以帮助用户理解模型如何获得特定的输出,从而增加在现实世界应用程序中的信任和可用性。

        应用于复杂和动态的场景。目前三维视觉中的扩散模型大多应用于静态对象或场景,但将它们扩展到处理复杂和动态的环境仍然是一个关键的挑战。真实世界的三维场景通常涉及到动态元素,如移动的物体、不断变化的照明条件、或大型的户外环境。为了解决这些复杂性,未来的研究应该探索编码时间信息和处理扩散模型内的动态变化的方法。这可能涉及到时空扩散过程的整合,或开发将静态场景理解与时间动态相结合的混合模型。成功地将这些模型扩展到动态和大规模的3D环境中,将为其在模拟、虚拟现实和机器人技术方面的应用开辟新的可能性。

        纳入物理约束。将物理约束纳入三维扩散模型对于生成现实和可信的三维内容至关重要。未来的研究可以集中于整合物理学原理,如守恒定律、碰撞检测和材料特性,以确保生成的三维物体的行为与现实世界一致。这可能涉及到在训练过程中嵌入基于物理的先验或损失函数,以鼓励身体上准确的输出。例如,加强几何一致性或模拟真实世界的交互作用,如重力或流体动力学,可以增强生成的3D内容的真实性。通过将这些模型建立在物理定律上,它们可以更有效地应用于工程、模拟和其他物理精度最重要的领域。

七、总结

        在本文中,我们全面介绍了扩散模型在三维视觉任务中的应用。我们探索了这些最初为二维生成任务设计的模型是如何适应处理3D数据的复杂性的,如点云、网格和体素网格。我们回顾了将扩散模型应用于三维对象生成、形状补全、点云重建和场景生成等任务的关键方法。我们对扩散模型的基本数学原理进行了深入的讨论,概述了它们的正向和反向过程,以及使这些模型能够与三维数据一起工作的各种架构改进。

        此外,我们还对扩散模型具有显著影响的不同三维任务进行了分类和分析,如text-to-3D生成、网格生成和新视图合成。本文还讨论了将扩散模型应用于三维视觉的关键挑战,如处理遮挡、变化的点密度和高维数据的计算需求。为了指导未来的研究,我们讨论了潜在的解决方案,包括提高计算效率,增强多模态融合,以及探索使用大规模的预训练来更好地泛化三维任务。本文通过巩固三维视觉中扩散模型的现状,识别差距和机遇,为这一快速发展领域的未来的探索和发展奠定了基础。

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

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

相关文章

JavaSE:运算符 (学习笔记)

目录 一,算术运算符 【1】 共同点: 【2】 不同点: 二,关系运算符 三,逻辑运算符 2,&和&&的区别和联系 { |和||的区别和联系 }---两题类似 四,赋值运算符 五,拓展…

strtok函数详解

strtok函数 strtok 函数是一个字符串分割函数,用于将字符串分割成一系列的标记。这个函数通过一组分隔符字符来确定标记的边界,每次调用都会返回字符串中的下一个标记,并且将原始字符串中的分隔符替换为空字符‘\0’,从而实际上是…

题目练习之二叉树那些事儿(续集)

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…

【入门篇】确定字符串是否包含唯一字符——多语言版本

题目跳转:确定字符串是否包含唯一字符 题目解析 这个问题要求我们判断一个字符串中的字符是否唯一(忽略字母的大小写),并输出相应的结果。如果字符串中所有的字符都是唯一的,输出 YES;否则,输…

ConcurrentModificationException:检测到并发修改完美解决方法

🚦 ConcurrentModificationException:检测到并发修改完美解决方法 💡 🚦 ConcurrentModificationException:检测到并发修改完美解决方法 💡摘要1. 什么是ConcurrentModificationException?&…

并查集 How many tables(hdu 1213) How many answers are wrong(hdu 3038)

目录 前言 并查集 并查集的初始化 并查集的合并 并查集合并的优化,路径压缩 How many tables(hdu 1213) 问题描述 输入 输出 问题分析 代码 带权并查集 How many answers are wrong(hdu 3038) 问题描述 输入 输出 问题分析 代码 前言 感觉并查集总共有两个应…

JavaScript day01 笔记

一、引入方式 JavaScript 程序不能独立运行&#xff0c;它需要被嵌入 HTML 中&#xff0c;然后浏览器才能执行 JavaScript 代码。通过 script 标签将 JavaScript 代码引入到 HTML 中 1️⃣内部 通过 script 标签包裹 JavaScript 代码&#xff08;一般就写在</script>的…

Notepad++ 最新官网中文版在线下载 附文本编辑器安装与基础使用教程

Notepad &#xff08;记事本&#xff09;是一个简单的文本编辑器&#xff0c;预装在所有版本的 Microsoft Windows 操作系统中。它的主要功能是创建、编辑和存储纯文本文件&#xff0c;通常以 .txt 格式保存。Notepad 的设计旨在提供一个轻量级的文本处理工具&#xff0c;适合快…

使用C语言进行信号处理:从理论到实践的全面指南

1. 引言 在现代操作系统中&#xff0c;信号是一种进程间通信机制&#xff0c;它允许操作系统或其他进程向一个进程发送消息。信号可以用来通知进程发生了一些重要事件&#xff0c;如用户请求终止进程、硬件异常、定时器超时等。掌握信号处理技术对于开发健壮、高效的系统程序至…

大数据入门-什么是HBase

目录 一、概念 二、架构 1.Client 2.Zookeeper 3.HMaster 4.HRegionServer 三、特性 1.数据存储庞大 2.支持随机读写 3.轻松融入生态 4.数据强一致性 5.性能足够高效 四、适用场景 五、其他事宜 1.权益备注 2.支持博主 大数据入门系列文章 这里简单介绍的HBas…

【笔记】自动驾驶预测与决策规划_Part6_不确定性感知的决策过程

文章目录 0. 前言1. 部分观测的马尔可夫决策过程1.1 POMDP的思想以及与MDP的联系1.1.1 MDP的过程回顾1.1.2 POMDP定义1.1.3 与MDP的联系及区别POMDP 视角MDP 视角决策次数对最优解的影响 1.2 POMDP的3种常规解法1.2.1 连续状态的“Belief MDP”方法1. 信念状态的定义2. Belief …

Vue2中使用firefox的pdfjs进行文件文件流预览

文章目录 1.使用场景2. 使用方式1. npm 包下载,[点击查看](https://www.npmjs.com/package/pdfjs-dist)2. 官网下载1. 放到public文件夹下面2. 官网下载地址[点我,进入官网](https://github.com/mozilla/pdf.js/tags?afterv3.3.122) 3. 代码演示4. 图片预览5. 如果遇到跨域或者…

MFC图形函数学习06——画椭圆弧线函数

绘制椭圆弧线函数是MFC基本绘图函数&#xff0c;这个函数需要的参数比较多&#xff0c;共四对坐标点。前两对坐标点确定椭圆的位置与大小&#xff0c;后两对坐标确定椭圆弧线的起点与终点。 一、绘制椭圆弧线函数 原型&#xff1a;BOOL Arc(int x1,int y1,int x2,int y2…

新版 idea 编写 idea 插件时,启动出现 ClassNotFound

IntelliJ IDEA 2024.1.6 (Ultimate Edition) Build #IU-241.19072.14, built on August 8, 2024 Licensed to Sophia Tout Subscription is active until June 29, 2025. For educational use only. Runtime version: 17.0.111-b1207.30 amd64 Kotlin: 241.19072.14-IJ 新版本…

信息安全工程师(83)Windows操作系统安全分析与防护

一、Windows操作系统安全分析 系统漏洞&#xff1a; Windows操作系统由于其复杂性和广泛使用&#xff0c;可能存在一些已知或未知的漏洞。这些漏洞可能会被黑客利用&#xff0c;进行恶意攻击。微软会定期发布系统更新和补丁&#xff0c;以修复这些漏洞&#xff0c;提高系统的安…

【嵌入式开发——ARM】1ARM架构

嵌入式领域&#xff0c;使用ARM架构的芯片公司可不占少数吧&#xff0c;intel的x86架构主要占据PC、服务器市场&#xff0c;ARM架构主要占据移动市场。x86架构和ARM架构不同的主要原因&#xff0c;是背后使用的计算机指令集不同。计算机有自己的语言系统&#xff08;汇编&#…

31-自定义地图:分层地图

利用自定义地图中的级别&#xff0c;可以让多个人同时在一张地图上工作。它还允许您在仿真过程中使用Python API在地图上加载和卸载层&#xff0c;就像分层的CARLA地图一样(layered CARLA maps)。 本指南将解释如何添加新级别&#xff0c;如何向级别添加资产&#xff0c;以…

操作系统-磁盘

文章目录 磁盘的结构一、磁盘的物理结构二、磁盘的逻辑结构 磁盘的调度算法磁盘时间算法先来先服务&#xff08;FCFS - First-Come, First-Served&#xff09;最短寻道时间优先&#xff08;SSTF - Shortest Seek Time First&#xff09;扫描算法&#xff08;SCAN&#xff0c;也…

【Linux】【信号操作】汇总整理

信号&#xff08;Signals&#xff09;是操作系统中用于通知进程发生特定事件的一种机制。信号可以由软件或硬件触发&#xff0c;并且可以被进程捕获和处理。以下是信号的相关概念、常见信号列表、信号处理以及相关API的汇总整理。 信号概述 信号是操作系统向进程发出的通知&am…

必备的计算机软件专业资料汇总,包括:计算机专业实习报告,计算机毕业设计成品(含源码和论文1900套)

大学期间必备的计算机软件专业资料汇总&#xff0c;包括&#xff1a;计算机专业实习报告&#xff08;58篇&#xff09;、计算机毕业设计成品&#xff08;含源码和论文&#xff0c;1900多套&#xff0c;包括C语言/PHP/VB/java/JSP/Andorid/Python/微信小程序等&#xff09;、HTM…