【三维重建】2D Gaussian Splatting:几何准确的2D辐射场(更新中)

news2024/11/25 18:45:58

标题:2D Gaussian Splatting for Geometrically Accurate Radiance Fields

项目地址:https://github.com/hbb1/2d-gaussian-splatting

文章目录

    • 功能
    • 输入
    • 输出
  • 一、摘要
  • 二、引言
  • 深入分析解读
  • 三、相关工作
    • 3.1新视角合成
    • 3.2 3D重建
    • 3.3 可微分基于点的图形
    • 3.4 同期工作
  • 四、3D 高斯喷溅
    • 4.1 3D高斯原语
    • 4.2 体积积分混合法
    • 总结
    • 表面重建的挑战
  • 五、2D 高斯喷溅
    • 5.1 建模
    • 5.2 2D高斯原语在世界空间中的局部切平面定义
  • 总结


这篇文章介绍了一种新的几何精确的辐射场重建方法——2D Gaussian Splatting (2DGS)。以下从功 能、输入和输出三个方面分析这篇文章。视频讲解见B站【方矩实验室】

功能

2D Gaussian Splatting (2DGS) 方法

  1. 优化几何精确的辐射场重建:2DGS通过优化一组二维高斯面片来表示和重建复杂的真实世界场景。这些面片被紧密地对齐到表面。
  2. 实时渲染:使用2D Gaussian Splatting,能够实现高质量的新视角图像的实时渲染,且具有视角一致的法线和深度图。
  3. 细致的三角网格重建:提供 从优化的二维面片详细且无噪音的三角网格重建
  4. 正则化:引入深度失真 法线一致性正则化 项,以提高重建质量。
  5. 高效的训练和渲染速度:通过高效的训练速度和实时渲染能力,保持竞争力。

输入

  1. 多视角RGB图像:用于从不同视角捕捉的场景图像。
  2. 稀疏点云和相机位姿:用于初始化和监督优化过程。
  3. 深度图和法线图:用于增强几何重建的正则化项。

输出

  1. 新视角图像:高质量的、视角一致的重建图像。
  2. 深度图和法线图:精确的深度信息和法线信息,用于进一步的几何处理。
  3. 三角网格:从优化的二维高斯面片生成的详细且无噪音的三角网格,用于表示场景的几何结构。

  通过这些功能,2D Gaussian Splatting方法在高质量图像合成和几何重建方面展示了出色的性能,且在效率上也具有显著优势。这使得它在计算机视觉和图形学领域具有广泛的应用潜力。

一、摘要

  3D Gaussian Splatting (3DGS) 最近革新了辐射场重建,实现了高质量新视角合成和快速渲染速度。然而,由于3D高斯的多视图不一致性,3DGS无法准确表示表面。我们提出了2D Gaussian Splatting (2DGS),这是一种从多视图图像中建模和重建几何精确辐射场的新方法。关键思路是将3D体积压缩成一组2D定向平面高斯圆盘。与3D高斯不同,2D高斯在内在建模表面的同时提供了视图一致的几何形态。为了准确恢复薄表面并实现稳定优化,我们引入了一种利用射线-斑点交叉和光栅化的透视精确2D喷溅过程。此外,我们还结合了深度失真和法线一致性项,以进一步提高重建质量。我们证明了我们的可微分渲染器在保持竞争外观质量、快速训练速度和实时渲染的同时,允许无噪声和详细的几何重建

二、引言

  照片级真实感的新视角合成(NVS)和精确几何重建是计算机图形学和视觉领域的长期关键目标。最近,3D Gaussian Splatting (3DGS) [Kerbl et al. 2023] 作为一种隐式方法 [Barron et al. 2022a; Mildenhallet al. 2020] 和基于特征网格的表示方法 [Barron et al. 2023; Müller et al. 2022] 在NVS中崭露头角,因为其在高分辨率下的实时照片级NVS结果。3DGS迅速发展,已扩展到多个领域,包括抗锯齿渲染 [Yu et al.2024]、材料建模 [Jiang et al. 2023; Shi et al. 2023]、动态场景重建 [Yan et al. 2023] 以及可动画化身的创建 [Qian et al. 2023; Zielonka et al. 2023]。然而,由于3D高斯模型的体积辐射表示与表面纤细特性之间的冲突,3DGS在捕捉复杂几何结构方面仍然存在不足

  另一方面,早期的研究 [Pfister et al. 2000; Zwicker et al. 2001a,b] 表明surfels(表面元素)是复杂几何结构的有效表示。Surfels 通过形状和阴影属性在局部近似物体表面,可以从已知几何结构中导出。它们广泛应用于SLAM [Whelan et al. 2016] 和其他机器人任务 [Schöps et al. 2019] 作为高效的几何表示。后续进展 [Yifan et al. 2019] 将surfels纳入了可微分框架。然而,这些方法通常需要地面实况(GT)几何、深度传感器数据或在已知光照条件下操作。

  受这些工作的启发,我们提出了2D Gaussian Splatting,用于3D场景重建和新视角合成,结合了两者的优点,同时克服了它们的局限性。与3DGS不同,我们的方法使用2D高斯原语表示3D场景,每个原语定义一个定向椭圆盘。2D高斯相对于其3D对应物的显著优势在于渲染期间几何表示的准确性。具体而言,3DGS在像素射线与3D高斯交点处评估高斯值 [Keselman and Hebert 2022, 2023],这导致从不同视点渲染时深度不一致相反,我们的方法利用显式的射线-斑点交叉,结果是透视正确的喷溅,如图2所示,从而显著提高了重建质量。此外,2D高斯原语中固有的表面法线通过法线约束实现直接表面正则化。与基于surfels的模型 [Pfister et al. 2000; Yifan et al. 2019; Zwicker et al. 2001a] 相比,我们的2D高斯可以通过基于梯度的优化从未知几何中恢复。

  尽管我们的2D高斯方法在几何建模方面表现出色,但仅用光度损失进行优化可能会导致重建噪声,这源于3D重建任务固有的无约束特性 [Barron et al. 2022b; Yu et al. 2022b; Zhang et al. 2020]。为了增强重建并实现更平滑的表面,我们引入了两个正则化项:深度失真和法线一致性。深度失真项将2D原语集中在沿射线的紧密范围内,解决了渲染过程中忽略高斯之间距离的问题。法线一致性项最小化渲染法线图与渲染深度的梯度之间的差异,确保深度和法线定义的几何之间的对齐。结合这些正则化项与我们的2D高斯模型,使我们能够提取高度准确的表面网格,如图1:

在这里插入图片描述

图1. 2DGS: (a) 优化了一组2D定向盘来表示和重建复杂的真实世界场景,这些场景来自多视图RGB图像。这些优化后的2D盘与表面紧密对齐。 (b) 使用2D高斯喷溅,我们允许实时渲染具有视图一致法线和深度图的高质量新视图图像。 © 最后,我们的方法从优化后的2D盘中提供了详细且无噪声的三角网格重建。

  

  

深入分析解读

  • 1. (a) 作为表面元素的2D盘

    • 左上部分展示了不同视角下的彩色盘(Disk (color))和法线盘(Disk (normal))。

    • 这些2D盘被用来表示和重建场景中的表面元素,优化后与表面紧密对齐,确保了重建表面的准确性。

  • 2. (b) 2D高斯喷溅

    • 左下部分展示了辐射场(Radiance field)和表面法线(Surface normal)。

    • 使用2D高斯喷溅方法,能够实现高质量新视图图像的实时渲染,同时确保视图一致的线和深度图。这意味着可以从不同视角生成一致且精确的图像。

  • 3. (c ) 网格化

    • 右侧展示了从优化后的2D盘中生成的三角网格重建结果(Mesh)。

    • 重建的网格详细且无噪声,展示了我们的方法在生成高质量网格方面的能力。

  图1详细展示了我们的方法2DGS在重建复杂真实世界场景中的应用和效果。具体来说:

  • 通过优化一组2D定向盘,能够准确表示和重建场景表面。
  • 使用2D高斯喷溅方法,可以实现具有视图一致法线和深度图的高质量新视图图像的实时渲染。
  • 最终生成的三角网格详细且无噪声,展示了我们的方法在生成高质量重建结果方面的优势。

  这种方法不仅提高了重建的准确性和质量,还显著提升了渲染和重建的效率,适合实际应用中的复杂场景重建。总结一下,我们做出了以下贡献

  1. 我们提出了一种高效的可微分2D高斯渲染器,通过利用2D表面建模、射线-斑点交叉和体积集成,实现透视正确的喷溅。
  2. 引入了两个正则化损失,用于改进和无噪声的表面重建。
  3. 与其他显式表示相比,我们的方法在几何重建和NVS结果方面达到了最先进的水平
    在这里插入图片描述

图2. 3DGS和2DGS的比较。3DGS在从不同视角查看时使用不同的交叉平面进行值评估,导致不一致性。我们的2DGS提供了多视角一致的值评估。这张图展示了3D Gaussian Splatting (3DGS) 和 2D Gaussian Splatting (2DGS) 的工作原理和区别

  • 左图(3DGS):
    • 3DGS方法会选择一个交叉平面来计算高斯值,这个平面是射线与高斯体积交叉的地方。
    • 当从不同的视角观察时,所选择的交叉平面会不同,因此计算出来的高斯值会出现不一致。这不一致性会影响最终的渲染效果,使得图像的几何精确度不高。
  • 右图(2DGS):
    • 2DGS方法使用二维高斯圆盘,这些圆盘是平面的,并且紧贴物体表面。
    • 不论从哪个视角观察,这些圆盘在相同的位置进行计算,因此每个视角下的高斯值都是一致的。这种一致性可以保证图像的几何精确度更高,渲染效果更好。

总结起来, 2DGS方法通过将三维高斯体积压缩成二维高斯圆盘,解决了3DGS在多视图渲染时的几何不一致问题,使得生成的图像在多个视角下都能保持一致的高质量

三、相关工作

3.1新视角合成

  在NVS领域,特别是自从引入Neural Radiance Fields (NeRF) [Mildenhall et al. 2021]以来,取得了显著进展。NeRF采用多层感知机(MLP)来表示几何和视角相关的外观,通过体积渲染进行优化,提供了卓越的渲染质量。后续的NeRF开发进一步增强了其功能。例如,Mip-NeRF [Barron et al. 2021]和随后的工作[Barron et al. 2022a, 2023; Hu et al. 2023]解决了NeRF的抗锯齿问题。此外,NeRF的渲染效率通过技术如蒸馏[Reiser et al. 2021; Yu et al. 2021]和烘焙[Chen et al. 2023a; Hedman et al. 2021; Reiser et al. 2023;
Yariv et al. 2023]得到大幅提升。此外,NeRF的训练和表示能力得到了增强,使用了基于特征网格的场景表示[Chen et al. 2022, 2023c; Fridovich-Keil et al. 2022; Liu et al. 2020; Müller et al. 2022; Sun et al.2022a]。

  最近,3D Gaussian Splatting (3DGS) [Kerbl et al. 2023]出现,展示了令人印象深刻的实时NVS结果。这种方法迅速扩展到多个领域[Xie et al. 2023; Yan et al. 2023; Yu et al. 2024; Zielonka et al. 2023]。在这项工作中,我们提出将3D高斯“扁平化”为2D高斯原语,以更好地将其形状与物体表面对齐。结合两个新的正则化损失,我们的方法比3DGS更准确地重建表面,同时保留其高质量和实时渲染能力

3.2 3D重建

  多视图图像的3D重建一直是计算机视觉中的长期目标。基于多视图立体视觉的方法[Schönberger et al.2016; Yao et al. 2018; Yu and Gao 2020]依赖于包含特征匹配、深度预测和融合的模块化管道。相比之下,最近的神经方法[Niemeyer et al. 2020; Yariv et al. 2020]通过MLP[Mescheder et al. 2019; Park et al.2019]隐式地表示表面,训练后通过Marching Cube算法提取表面。进一步的进展[Oechsle et al. 2021;Wang et al. 2021; Yariv et al. 2021]将隐式表面与体积渲染结合,实现了从RGB图像中详细的表面重建。这些方法已通过附加的正则化扩展到大规模重建[Li et al. 2023; Yu et al. 2022a,b],以及高效的物体重建[Wang et al. 2023]。尽管取得了这些令人印象深刻的发展,大规模场景重建的效率仍然是一个挑战。例如,Neuralangelo [Li et al. 2023]需要128个GPU小时来重建Tanks and Temples数据集中的单个场景[Knapitsch et al. 2017]。在这项工作中,我们引入了2D高斯喷溅,一种显著加速重建过程的方法。它在速度上比以前的隐式神经表面表示快一个数量级,同时实现了相似或更好的结果

3.3 可微分基于点的图形

  可微分基于点的渲染[Aliev et al. 2020; Insafutdinov and Dosovitskiy 2018; Rückert et al. 2022; Wileset al. 2020; Yifan et al. 2019]由于其在表示复杂结构方面的效率和灵活性,得到了广泛的研究。特别是,NPBG 将点云特征光栅化到图像平面,然后利用卷积神经网络进行RGB图像预测。DSS 专注于在已知光照条件下优化多视图图像中的定向点云。Pulsar 引入了一种基于平铺的加速结构,以实现更高效的光栅化。最近,3DGS 优化了各向异性的3D高斯原语,展示了实时照片级NVS结果。尽管取得了这些进展,从非约束的多视图图像中使用基于点的表示仍然具有挑战性。在本文中,我们展示了使用2D高斯原语的详细表面重建。我们还强调了优化过程中附加正则化损失的关键作用,展示了它们对重建质量的显著影响

3.4 同期工作

  自从3DGS [Kerbl et al. 2023]引入以来,它迅速适应了多个领域。我们现在回顾最接近的逆渲染工作。这些工作[Gao et al. 2023; Jiang et al. 2023; Liang et al. 2023; Shi et al. 2023]通过将法线建模为3D高斯原语的附加属性,扩展了3DGS。相比之下,我们的方法通过使用2D高斯原语表示3D表面的切向空间,固有地定义了法线,使其与底层几何结构更加紧密地对齐。此外,上述工作主要专注于估计场景的材质属性,并评估其在重新照明任务中的结果。值得注意的是,这些工作都没有专门针对表面重建,这是我们工作的主要重
点。

  我们还强调了我们的方法与同期工作SuGaR和NeuSG 之间的区别。与SuGaR将2D高斯近似为3D高斯不同,我们的方法直接采用2D高斯,简化了过程并在不需要额外网格细化的情况下增强了生成的几何结构。NeuSG共同优化3D高斯原语和隐式SDF网络,并从SDF网络中提取表面,而我们的方法利用2D高斯原语进行表面近似,提供了一种更快且概念上更简单的解决方案

四、3D 高斯喷溅

4.1 3D高斯原语

  3D高斯原语是一种数学方法,用来描述3D空间中的点的分布。可以把它想象成一个立体的“云团”,每个云团都有自己的中心位置、大小和方向。我们通过这些“云团”来表示3D场景中的物体。

高斯原语公式

在这里插入图片描述

协方差矩阵的作用

在这里插入图片描述

2D协方差矩阵

在这里插入图片描述

背景和动机

  3D Gaussian Splatting (3DGS) 通过在三维空间中使用高斯原语来表示和渲染复杂的几何场景。然而,这种方法在处理薄表面时存在局限性。为了克服这些问题,提出了 2D Gaussian Splatting (2DGS),它通过将 3D 高斯原语简化为 2D 平面高斯盘,实现了更好的几何对齐和表面重建。

3DGS 的问题

  • 体积表示的局限性:3D 高斯原语适用于体积表示,但在处理薄表面时效果不佳。
  • 视角不一致性:3DGS 在不同视角下会产生不一致的深度表示,导致几何重建的准确性降低。
  • 表面法线:3DGS 不本质地表示表面法线,这对于高质量的表面重建是必要的。

2DGS 的提出

  2DGS 的主要思想是通过将 3D 高斯原语投影到二维平面上,从而简化其表示和计算。具体来说,2DGS 从3DGS 的协方差矩阵中去掉第三行和第三列,得到二维的协方差矩阵,从而实现了 3D 到 2D 的转换。

具体过程

在这里插入图片描述

  2DGS 确实是从 3DGS 演变而来的,通过将 3D 高斯原语投影到二维平面上,2DGS 实现了几何精确的辐射场重建。具体过程包括简化协方差矩阵、保持位置参数化以及进行显式的几何对齐。这种方法解决了 3DGS在处理薄表面和视角一致性方面的局限性。

4.2 体积积分混合法

  体积积分混合法是一种计算方法,用来将多个高斯原语的效果叠加在一起,得到最终的图像。公式如下:

在这里插入图片描述

总结

  1. 3D高斯原语:用“云团”来表示3D空间中的点。
  2. 高斯原语公式:用数学公式来描述一个点在云团中的浓度。
  3. 协方差矩阵:决定云团的形状和方向。
  4. 转换矩阵:将云团从世界坐标系转换到相机视角。
  5. 体积积分混合法:将多个云团的效果叠加,得到最终的图像。

表面重建的挑战

使用3D高斯建模和喷溅重建表面面临几个挑战。首先,3D高斯的体积辐射表示与表面的薄性质相冲突。其次,3DGS无法本质上建模表面法线,这对高质量表面重建至关重要。第三,3DGS中的光栅化过程缺乏多视图一致性,导致从不同视点渲染时2D交叉平面的变化[Keselman and Hebert 2023],如图2(a)所示。此外,使用仿射矩阵将3D高斯转换到射线空间只在靠近中心时产生准确投影,在周围区域会牺牲透视准确性[Zwicker et al. 2004]。因此,这通常会导致如图5所示的噪声重建。

在这里插入图片描述

图5. DTU基准测试集上的定性比较]。2DGS产生了详细且无噪声的表面。这张图展示了在DTU基准测试集上,不同方法对两个场景(一个建筑物和一个玩具狗)的重建结果进行的比较。

在建筑物场景中

  • 3DGS方法重建的建筑物表面较为粗糙,存在噪声。
  • SuGaR方法的重建质量有所提升,但仍存在一些细节缺失和噪声。
  • 我们的2DGS方法重建出的建筑物表面细节更为清晰,且无明显噪声。

在玩具狗场景中

  • 3DGS方法重建的玩具狗表面存在明显的噪声和不规则。
  • SuGaR方法的重建质量有所改善,但细节仍不够清晰。
  • 我们的2DGS方法重建出的玩具狗表面细节更加清晰,且无明显噪声。

  这张图表明,本文提出的2D Gaussian Splatting方法在重建复杂场景时,能够生成细节更为丰富且无噪声的表面,相较于3DGS和SuGaR方法表现更为优越。

五、2D 高斯喷溅

  为了在保持高质量新视角合成的同时准确重建几何,们提出了可微分的2D高斯喷溅(2DGS)。

5.1 建模

  与3DGS 将整个角度辐射建模为一个整体不同,通过采用嵌入在3D空间中的“扁平"2D高斯来简化三维建模。通过2D高斯建模,原语在平面圆盘内分布密度, 定义法线为密度变化最陡方向。这一特性使得与薄表面更好地对齐 。虽然之前的方法[Kopanas et al. 2021; Yifan et al. 2019]也使用2D高斯进行几何重建,但它们需要稠密点云或地面实况法线作为输入。相比之下,2D GS仅凭稀疏校准点云和光度监督同时重建外观和几何

  如图3所示, 2D喷溅由其中心点 p k p_k pk、两个主要切向矢量 t u t_u tu t v t_v tv以及控制2D高斯方差的缩放矢量( s u s_u su, s v s_v sv)特征化。注意,原始法线由两个正交的切向矢量 t w t_w tw= t u t_u tu t v t_v tv定义。我们可以将方向排列成3x3旋转矩阵 R = [ t u , t v , t w ] R=[t_u,t_v,t_w] R=[tu,tv,tw],并将缩放因子排列成一个3x3对角矩阵S,其最后一个条目为零。

在这里插入图片描述

图3. 2D高斯喷溅的示意图。2D高斯喷溅是由中心点 p k p_k pk 、切向矢量 t u t_u tu t v t_v tv以及两个缩放因子 s u s_u su s v s_v sv控制方差的椭圆盘。它们的椭圆投影通过射线-喷溅交叉进行采样(见后面第二节),并通过图像空间中的阿尔法混合累积。2DGS通过梯度下降重建表面属性,如颜色、深度和法线。

在这里插入图片描述

  因此,一个2D高斯在世界空间中的局部切平面中定义,其参数化为:

在这里插入图片描述

  其中 H ∈ 4 ✖ 4 H∈4✖4 H4✖4 是表示2D高斯几何的齐次变换矩阵。对于 u = ( u , v ) u=(u,v) u=(u,v)空间中的点,其2D高斯值可以通过标准高斯评估为:

在这里插入图片描述
中心 p k p_k pk 、缩放( s u s_u su, s v s_v sv) 和旋转( t u t_u tu, t v t_v tv)是可学习参数。遵循3DGS,每个 2D高斯原语具有不透明度 α α α 和用球谐函数特征化的视角相关外观 c c c

  

5.2 2D高斯原语在世界空间中的局部切平面定义

  这部分内容介绍了如何在2D空间中定义高斯原语,并使用变换矩阵将其定位在世界空间中。

  

  

  

  

  

  

  

  

  

  







d \sqrt{d} d 1 8 \frac {1}{8} 81 x ˉ \bar{x} xˉ x ^ \hat{x} x^ x ~ \tilde{x} x~ ϵ \epsilon ϵ
ϕ \phi ϕ

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

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

相关文章

Manim动画:相机的移动(MovingCameraScene)

1.相机的移动(MovingCameraScene) MovingCameraScene 是 Manim 中的一个类&#xff0c;用于创建可以移动的相机场景。这个类继承自 Scene&#xff0c;并提供了关于相机移动的额外功能。 MovingCameraScene(camera_class<class manim.camera.moving_camera.MovingCamera>…

搭建ELK日志采集与分析系统

SpringCloud微服务实战——企业级开发框架 &#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您…

5.Linux_Shell编程

概述 什么是shell脚本&#xff1a; Shell脚本是利用shell的功能所写的一个程序。这个程序是使用纯文本文件&#xff08;后缀为.sh&#xff09;&#xff0c;将一些shell的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重…

【QT代码控制Linux开发板】QT控制嵌入式Linux开发板运行shell脚本

一. 前言 最近遇到了一个很冲突的问题&#xff0c;我想让比如qt代码控制传感器读取的数值大于某个阈值时控制板子的灯亮进行报警。 但是当我在Linux开发板上./运行交叉编译后的qt文件时&#xff0c;想运行开发板的其他shell语句必须先退出qt代码的执行&#xff0c;当然开发板…

ios白苹果修复办法有哪些?

在这个数字化时代&#xff0c;iPhone作为智能手机的佼佼者&#xff0c;早已融入了我们生活的方方面面。然而&#xff0c;当那熟悉的开机画面——“白苹果”意外地成为了你的日常&#xff0c;无疑让人头疼不已。别担心&#xff0c;今天我们就来聊聊iOS白苹果现象的成因及几种有效…

Element-ui table进阶使用

最近项目有多个报表开发的需求&#xff0c;我采用的是凤翎前端组件框架&#xff08;基于element-ui开发&#xff09;&#xff0c;大伙可以直接参考element-ui组件库文档&#xff0c;把标签中的fks替换为el即可。下面我会按顺序一一展开细说这些需求&#xff1a; 1、有多级表头…

Java语言程序设计基础篇_编程练习题***16.31(游戏:四子连)

目录 题目&#xff1a;***16.31&#xff08;游戏&#xff1a;四子连&#xff09; 习题思路 代码示例 结果展示 题目&#xff1a;***16.31&#xff08;游戏&#xff1a;四子连&#xff09; 编程练习题8.20让两个玩家在控制台上可以玩四子连的游戏。为这个程序重写一个GUI版本…

Open3D mesh 模型锐化

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 输入参数 输出参数 2.2完整代码 三、实现效果 3.1原始mesh 3.2处理后mesh 3.3数据显示 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总…

反射异常捕获 | InvocationTargetException 要用e.getCause()打印才能看到具体异常

背景&#xff1a;线上某段和反射相关的代码报错了&#xff0c;但是异常信息打印只看到了 InvocationTargetException&#xff0c;没打印具体的异常。就像这样&#xff1a;java.lang.reflect.InvocationTargetException: null 查阅资料后发现要用e.getCause()才能打印具体异常&a…

[数据集][目标检测]航拍屋顶检测数据集VOC+YOLO格式458张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;458 标注数量(xml文件个数)&#xff1a;458 标注数量(txt文件个数)&#xff1a;458 标注类别…

深度剖析数字媒体产业链的无限潜力与创新生态

在当今信息爆炸的时代&#xff0c;数字媒体产业链正以势不可挡的姿态展现出其令人瞩目的无限潜力与创新生态。 数字媒体的发展潜力简直无可限量。从在线视频的爆发式增长&#xff0c;到虚拟现实和增强现实技术带来的沉浸式体验&#xff0c;再到社交媒体平台上丰富多彩的内容创…

抽象类与抽象函数+接口

抽象类与抽象函数 什么是抽象方法 抽象方法是没有实现代码的虚方法 抽象方法使用abstract修饰符进行声明&#xff0c;只能在同样声明了abstract的类中使用。 继承了抽象类的子类必须实现抽象类的所有抽象方法。 什么是抽象类 用abstract修饰过的类是抽象类 抽象类无法被…

《机器学习》 决策树 ID3算法

一、什么是决策树&#xff1f; 1、概念 决策树是机器学习中一种常见的分类和回归算法。它基于树状结构的模型&#xff0c;通过对数据进行逐步划分&#xff0c;最终生成一棵决策树来进行预测或分类任务。 在决策树中&#xff0c;每个节点代表一个特征或属性&#xff0c;每个分支…

数据库:数据更新和视图

1 实验目的 &#xff08;1&#xff09;掌握SQL语言的数据更新功能&#xff1a; update 语句用于对表进行更新 delete 语句用于对表进行删除 insert 语句用于对表进行插入 &#xff08;2&#xff09;掌握对视图的操作&#xff1a; 视图的定义 视图的更新 基于视图的查询 …

總結熱力學_4(完了)

參考: 陈曦<<热力学讲义>>http://ithatron.phys.tsinghua.edu.cn/downloads/thermodynamics.pdf 7 最大功定理 考虑一个与外界隔绝的由几个彼此不处于热平衡、但相互绝热的物体组成的系统。另外还需要一个重物,它不参与热力学过程,但是可以以重力势能的 方式存…

js vscode 关于对象数组的一个bug

数据结构&#xff1a; let address [{label: "北京市",children: []},{label: "天津市",children: []},{label: "上海市",children: []},{label: "重庆市",children: []},{label: "河北省",children: [{label: "石家…

Flink 同步 MySQL 到 Doris

一、前言 使用Apache Flink实现数据同步的ETL&#xff08;抽取、转换、加载&#xff09;过程通常涉及从源系统&#xff08;如数据库、消息队列或文件&#xff09;中抽取数据&#xff0c;进行必要的转换&#xff0c;然后将数据加载到目标系统&#xff08;如另一个数据库…

Spring自动注册-Bean的加载

Spring在进行完xml文件标签解析后,我们如何获取对应的Bean? 核心方法: getBean() Spring三级缓存&循环依赖: 由于单例在Spring容器中只会被创建一次&#xff0c;即&#xff1a;创建出来的单例实例对象就会被缓存到singletonObjects(一级缓存)中。所以&#xff0c;当要获得…

Nginx高级部分

一、web服务基础介绍 Web 服务基础介绍 正常情况下的单次web服务访问流程&#xff1a; Apache 经典的 Web 服务端 Apache起初由美国的伊利诺伊大学香槟分校的国家超级计算机应用中心开发 目前经历了两大版本分别是1.X和2.X 其可以通过编译安装实现特定的功能 1.Apache pr…

<数据集>航拍牧场牛羊识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1021张 标注数量(xml文件个数)&#xff1a;1021 标注数量(txt文件个数)&#xff1a;1021 标注类别数&#xff1a;3 标注类别名称&#xff1a;[cattle, cow, sheep] 序号类别名称图片数框数1cattle29741282cow6740…