大丰网站建设哪家好,湖南手机网站建设,网络运营中心,公司注册地址怎么变更引用自#xff1a;https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gaussian_splatting_high.pdf
概述#xff1a; 该论文介绍了一种用于实时辐射场渲染的3D高斯点渲染技术。
其基本原理是#xff1a;
一#xff1a;首先从SfM校准的图像及其对应的稀疏点云…引用自https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gaussian_splatting_high.pdf
概述 该论文介绍了一种用于实时辐射场渲染的3D高斯点渲染技术。
其基本原理是
一首先从SfM校准的图像及其对应的稀疏点云中提取出场景信息。
解析
1.SfM校准的图像是指通过Structure from Motion (SfM)技术校准过的图像。SfM是一种从多视角图像中重建三维场景结构的技术。校准过程包括提取图像特征点匹配不同视角下的特征点并估计相机的内参数和外参数从而构建场景的稀疏点云。在校准完成后每个图像都会被赋予相机参数以表示图像的拍摄位置和方向。这些校准的图像作为输入用于构建后续的3D高斯点表示和渲染。简而言之SfM校准的图像是经过多视角图像匹配和相机参数估计后得到的图像其包含了场景的稀疏三维结构信息为后续的3D渲染提供了基础。
2.相机的内参数和外参数是描述相机几何形状和位置的重要参数。内参数包括 焦距f表示相机成像平面到光心的距离。 光心坐标(x0, y0)表示相机成像平面上焦点的坐标。 像素尺寸(pixel size)表示一个像素所代表的实际长度。 旋转矩阵R表示相机的旋转用于将场景中的点投影到成像平面上。 平移向量t表示相机的平移用于确定成像平面上点云的位置。外参数包括 旋转矩阵R表示相机在场景中的旋转。 平移向量t表示相机在场景中的平移。 通过校准相机的内参数和外参数可以得到相机的完整参数用于将场景中的三维点投影到图像上或者将图像中的二维点反向投影到场景中。这些参数对于3D重建和渲染都非常重要。
3.稀疏点云是指通过SfM校准从多视角图像中提取出的三维点云。这些点云的密度较低通常只有数百到数千个点。这些点代表了场景中的关键特征点例如边缘和角点等。稀疏点云的构建通常包含以下步骤 在图像上检测特征点。 将不同视角下的特征点进行匹配。 估计相机的内参数和外参数。 通过相机参数将匹配的特征点投影到场景坐标系中构建稀疏点云。 稀疏点云的主要优点是计算量小表示简单适合于快速的3D重建和渲染。通常后续的渲染和优化过程会在稀疏点云的基础上进行。
二通过这些点创建一组3D高斯点每个高斯点由位置(均值)、协方差矩阵和透明度α组成。
三进行分阶段的优化交替优化高斯点的位置、协方差、α和颜色相关的SH系数等参数同时进行自适应密度控制增加和删除高斯点以更好地表示场景。
四利用基于GPU的平铺栅格化渲染器对高斯点进行快速排序并高效地进行各向异性α混合渲染以实现实时渲染。
这个技术可以用于多种不同风格的数据集实现高质量的实时新视角合成同时训练时间较短仅需30-40分钟。
高效的可微分的3D高斯点扩散渲染方法
一使用3D高斯点代替传统点云避免了需要估计表面法线的困难同时保留了体积表示的可微性。
1传统点云通常需要考虑表面法线的原因如下
遮挡和纹理缺失多视角图像无法直接恢复完整的场景表面信息因此需要表面法线来帮助填补遮挡和纹理缺失的区域。法线估计传统方法使用多视角图像估计表面法线以便在重建表面时考虑表面方向信息。表面重建法线估计可以为表面重建提供方向约束从而提高重建的精度。渲染表面法线对基于物理的渲染很重要因为它决定了光线的反射方向。 然而使用多视角图像估计表面法线存在以下困难 遮挡和纹理缺失这些区域难以估计表面法线。计算量大法线估计需要遍历每个像素和每个点计算量大。噪声影响遮挡、纹理缺失等区域会导致法线估计结果存在噪声。低分辨率表面法线估计结果通常分辨率较低难以准确反映场景细节。依赖多视角几何法线估计依赖多视角几何的准确性因此受遮挡和纹理缺失的影响。 因此传统点云通常需要考虑表面法线但由于估计表面法线存在困难因此需要采用其他方法来替代表面法线的应用。 二将3D高斯点投影到2D平面上得到各向异性的二维高斯扩散可进行快速alpha混合渲染。
1各向异性的二维高斯扩散是指在二维平面上高斯扩散的大小和方向都是各向异性的可以用来表示三维空间中的复杂几何结构。 在3D高斯点扩散渲染方法中每个3D高斯点在2D图像平面上都会对应一个二维高斯扩散。这个二维高斯扩散的形状和方向是由该3D高斯点的协方差矩阵决定的。 具体来说每个3D高斯点都由一个位置和一个协方差矩阵表示。协方差矩阵可以分解为一个旋转矩阵和一个缩放矩阵这决定了高斯扩散的形状和方向。因此每个3D高斯点对应的高斯扩散在2D平面上都是各向异性的。 这样的设计可以使得二维高斯扩散能够紧凑表示三维空间中的复杂几何结构并且仍然可以进行快速的alpha混合渲染。这是3D高斯点扩散渲染方法的一个关键创新点。
2协方差矩阵是一种用于描述随机变量之间相关性的数学工具。在3D高斯点扩散渲染方法中协方差矩阵被用来描述3D高斯点的形状和方向。 具体来说对于一个3D高斯点其协方差矩阵Σ是一个3x3的正定对称矩阵。Σ矩阵的对角线元素描述了高斯点沿着三个坐标轴的方差非对角线元素描述了三个坐标轴之间的相关性。 Σ矩阵可以由一个旋转矩阵R和一个缩放矩阵S相乘得到即Σ RST^TR^T。其中R是一个3x3的正交矩阵描述了高斯点朝向的方向S是一个对角矩阵描述了高斯点沿着三个坐标轴的缩放比例。 因此Σ矩阵描述了高斯点在三维空间中的形状和方向这对于3D高斯点扩散渲染方法中紧凑表示复杂几何结构至关重要。通过优化Σ矩阵可以使得3D高斯点扩散更加紧凑从而提高渲染效果。 三3D高斯点由位置、协方差、α和SH系数表示这些参数都是可优化的从而使其适应不同形状的几何结构。 四每个高斯点都有一个相应的2D高斯扩散从而实现了各向异性扩散这可以表示复杂几何结构。 五整个渲染过程是可微分的可以用于反向传播梯度实现端到端的学习。 六3D高斯扩散的优点包括紧凑表示、快速渲染和体积表示的可微性。 这一方法为后续的场景优化和实时渲染打下了基础。
论文还说了一些优化的手段
一高斯点参数优化 优化的原因原始高斯点参数可能无法准确表示场景中的几何结构和颜色导致渲染效果较差。 优化的方法使用梯度下降算法迭代更新高斯点的位置、协方差矩阵、透明度和球谐系数等参数。 优化的原理位置优化使高斯点更准确代表几何结构协方差矩阵优化控制高斯点的形状和方向透明度优化控制高斯点的可见性球谐系数优化控制高斯点的颜色分布。 优化的结果高斯点表示更准确渲染效果显著提高同时高斯点数量也得以减少。
使用梯度下降算法来优化3D高斯点的参数包括以下步骤 表示高斯点使用高斯点来表示场景每个高斯点包含位置(均值)、协方差矩阵、透明度α和球谐系数等参数。 定义损失函数定义损失函数来度量渲染图像和真实图像之间的差异通常使用L1损失和SSIM损失的结合。 前向传播进行前向传播根据当前高斯点的参数使用不同的可微渲染器渲染图像。 反向传播计算损失函数对各个参数的梯度进行反向传播。 更新参数使用梯度下降算法更新高斯点的各个参数例如位置、协方差矩阵、透明度和球谐系数等。 迭代优化重复上述步骤不断迭代优化高斯点的参数直到收敛或达到预设的迭代次数。
解析
L1损失和SSIM损失都是用于计算预测图像和真实图像之间差异的损失函数。
它们的原理如下 L1损失L1 LossL1损失也称为绝对值损失它计算预测图像和真实图像之间每个像素的绝对值差异。其计算公式为L1 Σ ||预测图像 - 真实图像|| 其中Σ表示对所有像素求和。L1损失对预测和真实图像之间的像素级差异进行平滑处理对大误差不太敏感因此可以很好地处理遮挡、变形等。 SSIM损失SSIM LossSSIM损失基于结构相似性度量(SSIM)它计算预测图像和真实图像的结构差异。SSIM损失包括3个部分 (1) 亮度差异度量计算预测图像和真实图像的亮度差异。
(2) 对比度差异度量计算预测图像和真实图像的对比度差异。
(3) 结构差异度量计算预测图像和真实图像的结构差异。 SSIM损失将这3个差异进行加权求和并通过SSIM公式计算得到。相较于L1损失SSIM损失对预测和真实图像之间的结构差异更为敏感可以更好地保持预测图像的结构细节。 因此L1损失和SSIM损失各有优缺点通常会结合使用在结构保持和像素差异处理上取得较好的平衡。 在深度学习中前向传播是指从输入层到输出层的信息传递过程。具体来说前向传播的步骤如下 初始化参数首先对模型的参数进行初始化。 输入层处理将输入数据传入输入层通过激活函数产生非线性变化。 逐层传递按顺序从输入层到输出层逐层进行计算。每层都将前一层的结果作为输入经过线性变换后通过激活函数产生非线性变化。 输出层输出当计算到输出层时对输出层的结果进行处理得到最终输出。 反向传播基于输出结果和真实标签通过反向传播计算梯度进而优化模型参数。 通过前向传播模型可以将输入数据转化为输出结果。这种计算过程与深度网络中神经元的计算过程相类似。前向传播为反向传播提供了基础是深度学习的关键步骤之一。 可微分渲染器是指一个能够将场景或模型渲染成图像的算法同时支持自动微分求导。
这样的渲染器可以用于训练神经渲染模型通过计算渲染图像与真实图像之间的损失并通过反向传播来优化渲染模型中的参数从而提高渲染质量。 可微分渲染器的主要特点包括 支持渲染场景或模型将其转换成图像。 支持自动微分能够计算出渲染图像与真实图像之间的损失函数的梯度。 支持反向传播可以基于梯度信息优化渲染模型中的参数。反向传播的关键在于自动微分求导它能够计算出渲染图像与真实图像之间损失函数的梯度。这些梯度信息可以被优化器利用以更新渲染模型参数实现持续优化。 通过反向传播迭代训练神经渲染可以不断优化渲染模型以逐步逼近真实图像的质量实现逼真的高质量渲染效果。 渲染质量可调通过改变渲染模型的参数可以调整渲染图像的质量。训练速度快利用GPU并行加速渲染和反向传播过程。 因此可微分渲染器是实现高质量神经渲染的重要基础能够通过反向传播持续优化渲染模型从而实现逼真的高质量渲染效果。 二自适应密度控制 优化的原因场景的复杂度和遮挡关系会影响高斯点表示的效果因此需要动态调整高斯点的密度。 优化的方法根据高斯点在视空间中的梯度大小动态增减高斯点的密度以适应场景的结构。 优化的原理通过检测高斯点梯度大小判断是否需要增加或减少高斯点密度以更准确地表示场景结构。 优化的结果高斯点密度与场景结构相匹配渲染效果得以提高。
高斯点密度控制的具体步骤如下 计算梯度在优化过程中计算每个高斯点在视空间中的梯度大小即\nabla L∇L。 判断梯度大小若\left|\nabla L\right|∣∇L∣大于阈值\tauτ则判断该高斯点可能需要增密以适应场景结构。 确定增密方法根据高斯点的大小选择不同的增密方法 对于大高斯点采用分裂操作将其一分为二以增加高斯点数量。 对于小高斯点采用克隆操作直接复制一个高斯点并移动位置以增加高斯点数量。删除透明高斯点在优化过程中需要删除透明度小于阈值\epsilonϵ的高斯点以保持整体密度的稳定。 周期性调整每隔一定迭代次数降低所有高斯点的透明度然后重新优化以抑制过密区域的增加。 通过这种自适应增密机制可以动态调整高斯点的密度使其能够很好地适应场景结构同时保持密度的稳定。这有利于构建高质量的高斯点表示为实时神经辐射场渲染提供了基础。 在3D Gaussian Splatting中高斯点的密度控制方法如下 识别大小高斯点根据高斯点在视图空间的投影大小来判断。如果高斯点覆盖的面积较大则认为是大高斯点如果覆盖的面积较小则认为是小高斯点。 分裂大高斯点当识别到高斯点过大时可以将该高斯点替换为两个尺寸减半的新高斯点。新点位置通过从原高斯点中采样得到。 克隆小高斯点对于小高斯点可以通过复制该高斯点并在其位置梯度方向移动一定的距离从而生成一个新克隆点。 分裂或克隆的方向分裂大高斯点可以将其替换为两个小高斯点而克隆小高斯点可以在其位置梯度方向上移动一定距离以生成新的小高斯点。 识别和替换在优化过程中需要检测高斯点的位置大小和位置梯度从而判断是否需要分裂或克隆高斯点。当高斯点过大或位置梯度较大时进行分裂或克隆操作。 通过这种自适应的高斯点密度控制方法可以有效地控制高斯点的数量和密度同时填充场景中不完整的区域提高渲染质量。 对于克隆小高斯点的操作其移动距离和方向是由该点在视图空间中的位置梯度决定的。具体步骤如下 计算高斯点在视图空间中的位置梯度。可以使用反向传播来计算渲染图像的损失函数对高斯点位置参数的梯度。 在梯度方向上移动高斯点。根据梯度的方向可以计算出移动的方向。移动的距离则可以通过计算梯度的模长来确定。 将原高斯点克隆并沿着梯度方向移动一定距离从而得到新克隆的高斯点。 用新克隆的高斯点替换原高斯点从而完成密度控制。
三快速渲染 优化的原因原始渲染方法需要对每个像素进行射线追踪和透明度混合效率较低无法实现实时渲染。 优化的方法采用基于瓦片的渲染算法先对高斯点进行排序然后并行处理每个像素从而加速渲染。 优化的原理通过快速排序和并行计算大幅减少每个像素的处理时间实现实时渲染。 优化的结果渲染效率大幅提高实现了高质量的实时辐射场渲染。 基于瓦片的渲染算法包括以下步骤 1.将屏幕划分为16x16的瓦片每个瓦片由一个线程块负责渲染。 2.对所有高斯点进行排序将高斯点划分为16个等级每个等级对应一个瓦片。 3.为每个瓦片计算高斯点列表只包含该瓦片需要渲染的高斯点。 4.每个线程块独立并行地处理一个瓦片按照深度顺序对高斯点进行渲染。 5.线程块内的多个线程共享内存以并行处理高斯点。 6.当某像素的透明度大于阈值时停止对该像素进行渲染。 7.每个线程块处理完瓦片后所有线程查询并等待直到所有瓦片都完成。 8.采用同样的排序和渲染流程进行反向传播计算梯度。 这种基于瓦片的渲染算法利用并行处理和共享内存实现了高效的渲染避免了像素级排序从而提升了渲染速度。同时反向传播过程也可以利用同样的排序结果避免了额外的计算。这种算法为实时神经辐射场渲染提供了基础。 3d高斯函数和渲染图像结合过程
得到了3D高斯函数的场景表示后将这些3D高斯函数与渲染结合起来可以得到最终渲染的图像效果。具体步骤如下 1.将3D高斯函数投影到2D平面上得到2D高斯函数。 2.对每个像素进行光线投射遍历3D空间中的所有高斯函数计算光线与每个高斯函数的交点。 3.计算光线穿过每个交点时的高斯函数值并根据高斯函数值计算每个交点对光线强度的影响。 4.将所有交点的影响值进行累积得到该光线在3D空间中的总强度。 5.将所有光线总强度进行累积得到该像素在渲染图像中的最终颜色。 重复步骤2-5对每个像素进行光线投射得到最终渲染图像。 通过这种方法将3D高斯函数作为场景的表示可以与渲染过程进行有机结合并最终得到高质量的渲染图像。 结果
结果部分在多个数据集上验证了方法的有效性达到或超过当前最优方法的质量同时具有较快的训练速度和低内存占用。 评估部分进行了多个方面的定量评估验证了各模块的有效性并与其他方法进行了对比充分证明了方法在多方面的优势。 这三个部分共同构成了一个完整的研究方案从理论到实践都得到了充分的验证。对于个人职业发展来说这是完整系统方案设计的锻炼对于社会进步而言这是对高质量实时神经渲染技术的积极探索具有广泛的应用前景。 总结
3D Gaussian Splatting是一种新颖的连续体表示能够高效地表示场景并支持快速渲染。 交错优化高斯点属性和密度控制实现了高斯点集的紧凑表示。 基于瓦片的渲染算法实现了高效可微分的渲染支持了快速训练和实时渲染。 方法在多个数据集上实现了高质量和实时效果同时训练速度和内存占用较低。 3D高斯模型可被视为一种介于体积和表面表示之间的折衷具有广泛的适用性。 尽管方法在某些区域存在缺陷但总体上达到了高质量实时神经辐射场渲染的要求。 未来工作将包括进一步优化渲染算法以及与其他表示形式的结合。 总的来说该方法创新地结合了体积和表面表示的优势在多个方面取得了进步对相关领域的发展具有重要意义。