StyleGaussian: Instant 3D Style Transferwith Gaussian Splatting 论文解读

目录

一、概述

二、相关工作

1、辐射场

2、3D编辑

3、风格迁移

三、StyleGaussian

1、特征嵌入

2、风格迁移

3、解码

四、实验

1、不同backbone下的量化和定性指标

2、解码器设计上的测试

3、内容损失平衡

4、风格平滑插值


一、概述

提出了StyleGaussian,一种新的3D风格化迁移技术,允许每秒10fps的速度,将任何风格即时传输到3D场景中。利用3DGS执行风格迁移,不会影响实时渲染能力和多视图一致性。

(1)提出了StyleGaussian,一种新颖的三维风格化迁移手段。

(2)设计了一种有效的特征渲染策略,可以在渲染高维特征中,将学习到的特征嵌入到冲减的三维高斯特征中。

(3)设计了一个基于KNN的3D CNN,可以在不影响多视图一致性的同时,解码3DGS格式为RGB。
Introduction

二、相关工作

1、辐射场

辐射场是近年来在3D场景表示方面取得重大进展的技术。它们是一种函数,可以为任意3D坐标分配辐射(颜色)和密度值。像素的颜色是通过体积渲染聚合3D点的辐射而得到的。

辐射场在视觉和图形学的多个领域都有广泛应用,特别是在视图合成 、生成模型和表面重建等方面。它们可以通过多种方式实现,如MLP 、分解张量 、哈希表和体素等,许多研究都致力于提高它们的质量或渲染和重建速度 。其中,3DGS 因其快速重建能力、实时渲染性能和出色的重建结果而脱颖而出。它使用多个显式参数化的3DGS来建模辐射场,依靠光栅化而不是光线追踪来实现实时渲染。本文的工作就是建立在3DGS的优势之上,以实现沉浸式的3D编辑体验。

2、3D编辑

传统的3D表示如网格或点云,编辑它们的外观通常比较简单,因为网格有UV贴图,点对应图像中的像素。但是,辐射场编辑很有挑战,因为它们被隐式地编码在神经网络或张量的参数中。

因此,之前的研究采用基于学习的方法来编辑辐射场,通过图像、文本或其他形式的用户输入进行引导,包括变形、外观变化、移除、重照明和修复等。

这些方法大多依赖于测试时优化策略,需要对每次编辑进行耗时的优化过程。另一方面,一些方法以前馈方式实现3D场景的编辑。但是,这些方法的编辑速度仍然远远达不到交互速度。相比之下,我们的方法可以即时编辑场景的外观。

3、风格迁移

神经风格迁移(Neural Style Transfer)旨在渲染一个新的图像,将一个图像的内容结构与另一个图像的风格模式融合在一起。

早期的研究依赖于优化方法来对齐风格图像的VGG特征。后来的方法引入了前馈网络来近似这个优化过程,大大提高了风格迁移的速度。

更近期的工作将风格迁移扩展到3D领域,尝试对点云或网格进行风格化。但这些方法在渲染能力上通常落后于辐射场(radiance fields)。因此,有更多的研究集中在对辐射场进行风格化。一些方法通过优化实现了辐射场的风格迁移,提供了视觉上令人印象深刻的风格化,但需要耗时的优化过程,且泛化能力有限。另一些方法如HyperNet和StyleRF采用了前馈方式,但仍面临渲染速度慢或多视图一致性差的问题。

相比之下,本文提出的StyleGaussian方法可以实现即时的风格迁移和实时渲染,同时保持严格的多视图一致性。它通过设计高效的特征渲染策略和基于KNN的3D CNN解码器来实现这一目标。

三、StyleGaussian

首先给定一个重建好的3DGS,然后将VGG features嵌入到3DGS(e),然后给定一个style 图像,将当前的3DGS(e)transfer到3DGS(t),之后用一个基于KNN的3D CNN来解码一个带有风格的3DGS。

对于一般的3DGS参数都应该是,其中,对于最初的输入3DGS参数也不例外。

那么对于中间两步,特征嵌入和风格迁移中这个3DGS参数就有所变化,因为我们只改变颜色,而不改变几何结构,所以后续的特征其实就可以看做这个参数。

特征嵌入输出即

风格迁移输出即

最终解码输出即
Framework

1、特征嵌入

输入多视角图像利用VGG网络的中间层进行提取特征,得到二维图像的VGG特征,并将VGG特征嵌入到一个辐射场中。

这一步的目的就是得到了一个特征,也就是3DGS参数基于VGG监督后的特征,包含了3DGS本身的信息,也有多视图的一致性。

给定一个3DGS分布,然后分配到每个像素得到每个像素的3DGS参数,然后给定一个可学习特征参数或者写做,其中F为渲染得到的高维特征图。

利用VGG网络的目的是,监督可学习参数 满足大越来越接近VGG得到的特征,目标函数为一个L1 loss。

对于VGG网络的解释:使用了VGG网络的中间层特征(ReLU3_1和ReLU4_1层),应该是直接将多视图输入到VGG网络,然后输出这两层信息,但由于这两层输出out_channel是256维和512维,耗费计算资源和内存,所以论文中渲染了一个低维特征(32维),然后通过仿射变换T()将低维特征map到高维特征F上。

其中低维特征的解释不太清楚,他只提到用了一个高效的渲染策略,没有看代码,可能是直接将最后一层输出改为32channels。

对于仿射变换就是设计了两个可学习的参数A和b。

2、风格迁移

这里用到了一个AdaIN算法,来实现无参数的零样本训练的风格迁移。

风格迁移的目的就是得到一个注入参考图像风格迁移后的特征信息

下面为计算公式,其中都是通道方向的均值和标准差,是输入参考风格化的图像经过VGG得到的特征。

3、解码

Illustation of the KNN-
based convolution

这一步的重点在于使用了KNN-based的卷积。

目的是通过特征信息来解码出3DGS参数的球谐函数

具体来说,首先设计一个3D CNN作为解码器,将风格迁移后的解码为RGB,解码器在一个滑动窗口内处理每一个GS的KNN,由多层构成,最终输出通道数为3,对应最终的RGB值。

对于每个GS (展开),定义每个KNN为,滑动窗口的第一层输入就是。这句话我的理解就是,在第一层KNN中,肯定由多个聚类中心,那么这个k就是某一个聚类中心,他的输入就是相对应的最靠近的一组GS其中的特征集合

因为KNN引入到一个3D CNN中,那么对于神经网络来说也一定有权重和偏置,那么第一层的KNN-based CNN输出之后,就得到这个特征,其中是sigmoid激活函数。

最后经过了多层 KNN-based CNN结构,最后一层channels数为3,输出得到集合。

对于这一部分的监督,利用内容损失和风格损失(公式均为MSE)来计算。

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

四、实验

1、不同backbone下的量化和定性指标

Qualitative results
Quantitative results

2、解码器设计上的测试

pointnet很显然,关注结构的解码没有意义,因为要解码的是颜色。

mlp很通用,可以处理,但是效果很拉。
Decoder design

3、内容损失平衡

这个λ就是风格损失的占比,越大越关注于风格。
Content-style balance

4、风格平滑插值

这个实现不同风格之间的平滑转换。

他的做法是微调解码器,而不是从头训练,在一个已经训练好A风格的解码器下,再次训练另一个B风格的解码器。


Decoder initialization

参考项目:StyleGaussian: Instant 3D Style Transfer with Gaussian Splatting

相关推荐
old_power2 分钟前
【PCL】Segmentation 模块—— 平面模型分割(Plane model segmentation)
c++·计算机视觉·3d
Jacob_AI4 分钟前
大模型——RAG
数据库·人工智能·算法
尚儒客栈6 分钟前
岁末随笔之人工智能(上)
人工智能·百度
XianxinMao9 分钟前
开源AI模型的优势、挑战与未来发展分析
人工智能
幻风_huanfeng1 小时前
数学:机器学习的理论基石
人工智能·机器学习
坐吃山猪1 小时前
机器学习06-正则化
人工智能·机器学习
有Li1 小时前
胶质母细胞瘤浸润的个性化预测:数学模型、物理信息神经网络和多模态扫描|文献速递-视觉大模型医疗图像应用
人工智能·深度学习·神经网络
道友老李2 小时前
【机器学习】实战:天池工业蒸汽量项目(二)特征工程
人工智能·机器学习
朱永博2 小时前
Qt和halcon联合显示3D点云
开发语言·qt·3d
远洋录2 小时前
Vue 开发者的 React 实战指南:测试篇
前端·人工智能·react