GPS-Gaussian:Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis

这篇具有很好参考价值的文章主要介绍了GPS-Gaussian:Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前置知识

1)仿射变换
\quad 所谓仿射变换,就是向量经过一次线性变换加一次平移变换,用公式可以表示为:
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 其中,p为变换前原始向量,q为变换后目标向量,A为线性变换矩阵,b为平移变换向量。
\quad 对于二维图像而言,p和q分别是某个像素点在原图和仿射变换后的图中的未知(x, y)。因此,p、q可以写成如下形式:
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
\quad 所以,仿射变换矩阵T如上形式,是一个3*3的矩阵。它的作用是将某一个图片中的所有像素点的位置进行改变,映射到一个新图中。注意:在这个过程中,只改变像素点的位置,不改变像素点的值。
\quad 一般来讲,我们要想求T,需要三组点的对应值,即可将T中的所有元素求出来。求出T后,就可以对图中所有的像素点进行仿射变换。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 仿射变换的效果如下:两幅图中已用红色圆点分别表示出选定的三角形点,可以看出,虽然图像整体出现变化,但对应的点像素值是相同的。总的来讲:仿射=平移+旋转。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 仿射变换有两个性质:共线不变性和比例不变性。

  • 共线不变性:任一直线经仿射变换的像(image)仍是一直线
  • 比例不变性:直线上各点之间的距离比例维持不变

2)透视变换(projective transformation)
\quad 图像的几何变换主要分为:刚性变换(平移、旋转)、相似变换(缩放、剪切)、仿射变换和透视变换(也称为投影变换)。刚性变换、相似变换、仿射变换都属于平面变换(线性)。
\quad 透视变换属于空间变换(非线性)。例如想要实现如下效果,将扑克牌单独提取出来。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 透视变换是将一个图像投影到新的视平面,该过程包括:1.将源二维坐标系转换为三维坐标系;2.将三维坐标系投影到新的二维坐标系。仿射变换属于透视变换的特例。透视变换能够保持“直线性”,即原图中的直线,在经透视变换后仍为直线。
简而言之,就是将一个平面通过一个投影矩阵投影到指定平面上。示意图如下所示,利用透视中心、原像素点、目标点三点共线的条件。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
\quad 透视变换的公式为:
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
\quad (x,y,1)为源目标点,要移动的目标点为(X, Y, Z)。但是就像仿射变换那样,要使Z那个位置为1,才是一个二维坐标。所以在新视平面上的二维坐标(x’, y’)。这也正是为什么说仿射变换是透视变换的特例,因为仿射变换的Z直接就等于1。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 透视变换矩阵需要4组坐标点才可以计算出来。
3)雅各布矩阵
\quad 雅可比(Jacobian)是一个在数学中用于描述多元函数的导数的矩阵,用于表示一个向量值函数的各个分量相对于输入变量的偏导数。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

4)SSIM图像质量损失
\quad 在图像重建、压缩等领域,评价输出图像与原图的差距,最常用的一种损失是MSE。它的计算如下,就是element-wise的计算重建图像与原图的像素差的平方,然后在全图求平均。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 但是,MSE反应的距离,与我们人类的感受有时会有很大的区别。比如下图,有时MSE相差很大的两张图,在我们人类看来反而没什么差别。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 因此,SSIM损失要做的事是更偏重于两个图的结构相似性,而不是逐像素的计算两者的差异。SSIM损失从亮度、对比度、结构三个方面来评价两张图像的相似性。

一、动机

\quad 尽管NeRF的加速技术取得了进步,但是基于NeRF的NVS方法普遍上仍然是time-consuming,因为他们需要在scene space中查询 dense points。
\quad 另一方面,显式表示,特别是点云,由于其高速甚至实时的渲染性能而引起了持续的关注。一旦与神经网络集成,基于点的graphics与NeRF相比,实现了一种很有前途的显式表示,具有相当的真实性和极高的效率。再到最近,3DGS实现了实时和高质量的渲染。但尽管实现了实时的推理,3DGS依赖于per-subject《3DGS》或 per-frame《Dynamic 3DGS》的参数优化。因此,这在交互式场景中是不切实际的,因为一旦场景或角色改变,它需要高斯参数的re-optimization。
\quad 在这篇文章中,我们 target a 泛化性的3DGS,直接以前馈的方式而不是per-subject optimization来回归高斯参数。受learning-based human reconstruction领域中发展的启发,PIFu-like 方法,我们的目标是从具有不同 human topologies、clothing styles和pose-dependent deformations的大规模三维人体扫描模型中学习人类高斯表示的回归(本文也是data-driven方法)。
\quad 具体而言,我们引入了一个2D Gaussian parameter maps,然后还有一个iterative depth estimation module

二、相关工作

1)Neural Implicit Human Representation.
\quad INR的优点是:memory efficiency和topological flexibility。
\quad 姿态和穿着的巨大变化使用于人体的泛化性NeRF是一项更具挑战性的任务,因此最近的工作通过利用人类先验简化了问题。例如,NHP 和GM-NeRF采用SMPL人体模型,Key-NeRF使用3D骨骼关键点来编码空间信息,但这些额外的过程增加了计算成本,并且不准确的先验估计会误导最终的渲染结果。
\quad 此外,尽管在加速单一场景NeRF方面取得了巨大进展,但针对交互式场景的efficient generalizable NeRF仍有待进一步发展。
2)Deep Image-based Rendering.
\quad Image-based rendering使用加权混合机制从一组多视图图像中合成新的视图,这通常是从几何代理(geometry proxy)计算出来的。
\quad geometry proxy的意思是指一种用于替代复杂几何结构的简化模型或对象。这个简化的模型通常用于提高计算效率、降低计算成本,或者在某些情况下作为原始几何的替代,以便更有效地处理、渲染或操作图形数据。
\quad 在NVS领域中,geometry proxy就是指重建出的显式点云、mesh surface,或隐式的SDF、Occ网格等。

三、Preliminary

\quad 3D-GS用point primitives显式地构造了一个静态的3D场景,每一个高斯可以被一个协方差矩阵Σ和平均值μ定义:
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 为了被梯度下降有效优化,这个协方差矩阵Σ被分解为一个缩放矩阵S和一个旋转矩阵R:
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 然后利用a view transformation W和 一个透视变换的仿射变换的Jacobian,将3D高斯从三维空间投影到二维空间中。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 投影到二维空间后,然后使用point-based alpha-blend rendering(跟NeRF中使用的很像),
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad c是颜色(由球谐系数定义),α是密度。

四、方法

\quad 方法的总体框架如下:
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 一旦给定一个目标的新视点,我们选择两个相邻的视图,并使用一个共享的图像编码器提取图像特征)。然后用一个深度估计器以这两个图像的特征作为输入,估计这两个图像的深度图(depth maps)。这两个图形的前景区域的深度值和RGB值分别决定了每个高斯点的三维位置和颜色,而三维高斯点的其他参数则以像素级的方式进行预测。其他参数图与深度图和源RGB图像结合起来,在二维图像平面上formulate高斯表示,并进一步不投影到三维空间中。从这两个source views进行反投影出来的高斯,被用于渲染新的views。

4.1. View Selection and Depth estimation
\quad 不同于普通的三维高斯分布,它在所有源视图上优化每个高斯点的特征,我们通过对两个邻近视图进行插值来合成新的目标视图。
\quad 一个场景如果有N个稀疏图像。对于target view,通过将目标视图与source views的向量相乘,就可得出哪些视图是最近的。然后选择最近的两个视图来作为 the ‘working set’ of two-view stereo。
选择完views后,将他们输入编码器网络获取dense feature maps
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 深度图是我们连接二维图像平面和三维高斯表示的框架的关键组成部分。注意,双视角的深度估计,相当于disparity estimation。对于一个视角中的某个pixel (u, v),视察估计的目的是在另一个视角中找到(u+x, v)。
\quad 立体匹配也称作视差估计,或双目深度估计。它的目的是在一个视角的某个坐标中,找到另一个视角下对应的坐标。这样做的前提是考虑每个像素的位移被约束为一个水平线。
\quad 只要给定相机参数,视察预测可以被很容易地转换为深度图。因此这篇文章没有太区分这两者的概念。本文主要启发于Raft-stereo。
\quad 构造3D cost volume的方法如下,给定两个特征图,使用一个矩阵乘法来获得。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 有了3D cost volume后,使用《Raft: Recurrent all-pairs field transforms for optical flow》中的更新算子,从其中来查询T次两个视角的深度图,然后选择最后一次更新的结果拿来凸上采样到全分辨率的图像。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
4.2. Pixel-wise Gaussian Parameters Prediction
\quad 这篇文章,以一个pixel-wise manner来在2D 图像平面上构造3D Gaussians(这一点很有意思)。也就是说构造一张Gaussian maps。
\quad 在图形学中,特别是在基于球谐系数的光照模型中,漫反射通常可以表示为球谐系数的线性组合。光照环境的球谐系数可以用于近似描述场景中光照的变化,其中漫反射是这些变化的一个重要组成部分。
简而言之,漫反射可以通过球谐系数来近似。
\quad 这个Gaussian maps由如下5个参数图组成,每一个参数图分别代表3D position,color,rotation,scaling,opacity。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
\quad 给定预测的深度图D,利用相机参数K的投影矩阵P∈R3×4结构,位于x处的像素可以立即从图像平面反投影到三维空间。对下面这个式子的理解是,将一个二维坐标x和它对应的深度值输入给一个反投影矩阵P,然后就可以得到该二维坐标对应的三维坐标在哪里。注意,这个投影矩阵P的所有参数都是可学习的。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
\quad 考虑到以人为中心的场景的主要特征是漫反射,我们直接用source image作为color map,而不是预测SH系数。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 我们认为,剩下的三个高斯参数通常与(1) pixel level local features,(2) a global context of human bodies, and (3) a detailed spatial structure 相关。因此作者这里想做的是构造出包含着三种信息的高斯特征,然后基于这个特征来预测三种map。image feature已经推导出了(1)和(2)的强线索。因此,这里构造了一个额外的但架构相同的编码器,将depth map作为它的映射,作用是输出spatial feature,来体现(3)的这种信息。构造好了两个feature后,再用一个像U-Net的解码器D将这两种特征进行融合。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
\quad 这个┏就是得到的高斯特征。基于这个高斯特征,有好几个CNN预测头,专门预测每种参数图。rotation map需要被归一化,因为它表示一个四元组,scaling map和opacity map需要激活以满足他们的范围。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

4.3. Joint Training with Differentiable Rendering
\quad 有了这几个pixel-wise Gaussian parameter maps后,将它们lift到3D空间,然后聚合到一起形成3D Gaussian cloud,然后对其渲染出一个新视图来进行训练。
\quad 在训练时,损失函数主要包括两个方面。
\quad 一个是对渲染出的新视图进行监督。这里用了两种损失,一个是L1损失,一个是SSIM损失,两个超参数权重分别是0.8和0.2。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 另一方面是对深度进行监督。与Raft-stereo相同,在中间过程的所有预测到的深度图序列上,以指数递增的权重(μ为0.9),执行L1监督损失。
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法
5.实验部分
\quad 由于在最开始的训练步骤中如果深度估计不稳定的话,会对高斯参数回归有很大的影响,因此作者对深度估计模块进行了40k次迭代的预训练。(这是一个问题)
\quad 训练完深度估计模块后,再联合训练深度估计模块和高斯参数预测模块,执行100 k次迭代。花了15个小时。

5.1 数据集和指标
\quad 在一个cycle内,有8个cameras。每两个相邻的cameras是45°。在一次训练中,每次source images是两个相邻的图像,然后在这两个视角之间随机选取三个新视角进行渲染,评价。
\quad 为了评价在真实场景的鲁棒性,作者捕捉了4个characters的相同8-cameras设置以及额外的8个camera views作为评估数据。
评价时,之评价前景区域的渲染结果。

5.2 baseline
\quad 对比时,仍然是与泛化性方法进行对比,包括ENeRF、FloRen、IBRNet。所有的这些方法,都采用本文设置的方法来进行训练、对比。
\quad 此外,还与同时使用8个views进行优化的3D-GS进行了对比。
\quad 一旦遮挡发生,新视图中的一些区域在source view中是看不见的。在这种情况下,输入视图中深度模糊会导致ENeRF和IBRNet呈现不合理的结果,因为这些方法在进行特征聚合时会被混淆。在这些情况下,不可靠的几何代理也使FloRen产生模糊的输出,即使它使用了depth和flow流精炼网络。
\quad 在我们的方法中,由大量人体图象学习到的human priors帮助缓解遮挡带来的不良反应。此外,3D-GS需要几分钟来进行优化,并在这样一个稀疏的摄像机设置中产生新视图的噪声渲染结果

5.3 消融实验
gps-gaussian:generalizable pixel-wise 3d gaussian splatting for real-time hu,论文阅读笔记,3d,人工智能,算法

\quad 当去除深度特征后,如上所示,质量下滑了一些。文章来源地址https://www.toymoban.com/news/detail-780510.html

到了这里,关于GPS-Gaussian:Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【辐射场】3D Gaussian Splatting

      , 3D Gaussian Splatting,下文简称3DGS,是好一段时间以来在三维内容创作和三维重建领域比较有热度的一项技术。 它属于 基于图像的三维重建方法 ,意思就是你对现实物体或者场景拍照片,就能给你训练成一个场景模型,能够被渲染出来给你看。 它产生的模型可以作为三维

    2024年02月03日
    浏览(42)
  • 3D Gaussian Splatting 渲染过程

    给定一组三维高斯点,渲染步骤大致为:1.camera space转成ray space 2.对像平面进行分块,然后对高斯排序 3.正投影发出射线进行α-blending 这个步骤将NeRF中的投影过程变为了正投影,引入了ray space的概念,让3D Gaussian 变为2D Gaussian. 透视投影和正投影                    一般的渲

    2024年01月20日
    浏览(65)
  • 3D Gaussian Splatting的使用

    今年SIGGRAPH最佳论文,学习了一下,果然厉害,具体论文原理就不说了,一搜都有,主要是看看怎么用,自己能不能把身边的场景快速建个模。 赶紧记录下,好像这几天在这个基础上又有很多花样出来了… 我的系统是Ubuntu22.04。 开源作者已经都弄的很详细了,也有教程。 首

    2024年02月04日
    浏览(46)
  • 3D Gaussian Splatting文件的压缩【3D高斯泼溅】

    在上一篇文章中,我开始研究高斯泼溅(3DGS:3D Gaussian Splatting)。 它的问题之一是数据集并不小。 渲染图看起来不错。 但“自行车”、“卡车”、“花园”数据集分别是一个 1.42GB、0.59GB、1.35GB 的 PLY 文件。 它们几乎按原样加载到 GPU 内存中作为巨大的结构化缓冲区,因此

    2024年02月03日
    浏览(34)
  • 3D Gaussian Splatting:论文原理分析

    标题:3D Gaussian Splatting for Real-Time Radiance Field Rendering 作者:Bernhard Kerbl、Georgios Kopanas、Thomas Leimkühler和George Drettakis,来自法国Inria、Université Côte d\\\'Azur和德国Max-Planck-Institut für Informatik。 发表时间:2023年8月,ACM Transactions on Graphics上,卷号42,编号4 提出了一种名为3D Gaussia

    2024年01月23日
    浏览(49)
  • 3D Gaussian Splatting学习记录11.2

    cmd输入以下命令,开始训练 整个训练(30,000步)大约需要20分钟,但7000步后会保存一个中间模型,效果已经很不错了。训练结束后得到output文件 在Ubuntu 22.04上,运行以下命令来构建可视化工具: 安装后,找到SIBR_gaussianViewer_app二进制文件,并以模型的路径作为参数运行它: 参

    2024年02月04日
    浏览(62)
  • Awesome 3D Gaussian Splatting Resources

    GitHub - MrNeRF/awesome-3D-gaussian-splatting: Curated list of papers and resources focused on 3D Gaussian Splatting, intended to keep pace with the anticipated surge of research in the coming months. 3D Gaussian Splatting简明教程 - 知乎 

    2024年01月20日
    浏览(54)
  • Drivable 3D Gaussian Avatars 论文笔记

    这篇文章主要使用了两个当前流行的概念,一是3D高斯溅射,二是cage-based deformation。 这篇文章主要是通过多视角视频来实现逼真的人体三维建模 (3D Human Avatar modeling)。 首先大致记录一下对cage-based deformation 的理解。首先这种方法是将一个object 看成是很多 cages, 然后每一个

    2024年01月23日
    浏览(34)
  • 【Animatable 3D Gaussian】3D高斯最新工作,25s重建十人, 炸裂

    1. 资料 项目: 论文: 代码: 2. 论文 2.1 摘要 神经辐射场能够重建高质量的可驱动人类化身,但训练和渲染成本很高。为减少消耗,本文提出可动画化的3D高斯,从输入图像和姿势中学习人类化身。我们通过在正则空间中建模一组蒙皮的3D高斯模型和相应的骨架,并根据输入

    2024年01月23日
    浏览(42)
  • 3d gaussian splatting笔记(paper部分翻译)

    本文为3DGS paper的部分翻译。 基于点的𝛼混合和 NeRF 风格的体积渲染本质上共享相同的图像形成模型。 具体来说,颜色 𝐶 由沿射线的体积渲染给出: 其中密度 𝜎、透射率 𝑇 和颜色 c 的样本是沿着射线以间隔 𝛿 𝑖 采集的。 这可以重写为 典型的基于神经点的方法通过

    2024年01月24日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包