首页 > 其他分享 >InstantStyleGaussian:利用3D Gaussian Splatting实现高效艺术风格迁移

InstantStyleGaussian:利用3D Gaussian Splatting实现高效艺术风格迁移

时间:2024-08-18 14:49:40浏览次数:7  
标签:场景 Splatting 模型 InstantStyleGaussian Gaussian 编辑 风格 图像 3D

前言 本文介绍了InstantStyleGaussian,这是一种基于三维高斯飞溅(3DGS)场景表示的创新三维风格迁移方法。通过输入目标风格图像,它能够快速生成新的三维GS场景。方法作用于预先重建的GS场景,结合了扩散模型与改进的迭代数据集更新策略。它利用扩散模型生成目标风格图像,将这些新图像添加到训练数据集中,并使用该数据集迭代更新和优化GS场景。广泛的实验结果表明,我们的方法在确保高质量风格化场景的同时,在风格迁移速度和一致性方面具有显著优势。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

本文转载自3D视觉之心

仅用于学术分享,若侵权请联系删除

CV方向的准研究生们,未来三年如何度过?

招聘高光谱图像、语义分割、diffusion等方向论文指导老师

领域背景介绍

随着机器人模拟、虚拟现实和自动驾驶等应用的快速发展,3D场景和模型的编辑正扮演着日益重要的角色。在计算机视觉这一不断发展的领域中,开发用户友好的3D表示和编辑算法一直是关键目标。虽然传统的表示方法,如网格和点云,因其编辑过程中的交互性而被广泛应用,但它们在处理复杂场景和精细细节时仍面临挑战。快速可编辑的3D表示方法使艺术家、开发人员和研究人员能够快速生成有价值的内容。

最近,随着隐式神经重建方法(如NeRF)的出现,捕捉现实世界的3D场景变得简单而快速。通过获取一组场景图像和相应的相机参数,这些图像可用于持续优化神经辐射场。与传统的表示方法相比,NeRF的流程更加成熟且易于使用,但其隐式特性使得它在编辑方面不如传统方法直观。尽管如此,它仍吸引了大量关注,并基于其框架衍生出许多作为3D编辑基础方法的扩展。然而,场景重建所需的漫长训练和渲染时间阻碍了其实际应用。尽管有研究试图加速这一过程,但仍难以满足实时要求。

为了创建有价值的3D内容,有必要对3D场景表示进行更多样化的编辑,如编辑表面颜色和纹理特征,并实现3D风格迁移。即时的交互性对于良好的3D用户体验至关重要,它要求在不影响实时渲染和多视图一致性的情况下进行编辑。最近,3D高斯飞溅(3DGS)技术实现了快速渲染,其显式表示允许进行实时3D风格迁移。传统的迁移方法需要从风格图像中提取VGG特征,将这些特征嵌入到重建的3D场景中,然后对这些特征进行解码以渲染新场景。然而,这个过程通常需要大量的内存和计算时间,并且最终的风格迁移效果受到解码方法的影响,这可能会损害多视图一致性并降低整体场景质量。

本文设计了一种3D风格迁移流程,该流程允许仅使用目标风格图像即可快速编辑现有的3DGS(三维图形场景)场景。这种方法能够将2D图像风格转移到3D场景中,同时保持多视图一致性。我们的方法从3DGS场景的相机视角捕获图像,并使用扩散模型来编辑多个视角的图像。基于迭代数据集更新(IDU)方法,将新生成的艺术风格场景图像传回,以迭代方式创建新的3D场景。提出的方法是基于图像的,这比使用文本提示更为直观。图像比冗长的文本描述能传达更多关于风格的信息和细节。为了生成高质量的结果,使用固定的文本提示来辅助图像生成。在传播过程中,使用捕获的相机图像的边缘检测图进行监督,以确保在编辑外观风格的同时,保留场景的形状。

一些相关工作回复

目前,3D模型编辑有几种方法,每种方法都有其独特的重点。一类方法利用扩散编辑技术,该技术结合特定的损失函数,将基于文本提示的2D图像编辑扩展到3D,从而实现3D模型编辑。另一种方法集成了大型语言模型(LLMs)来定位目标区域并修改其颜色和纹理。

1)3D表示

为了解决相应的任务,已经提出了各种3D表示方法。其中,第一项也是最具开创性的工作是神经辐射场(NeRF),它使用体渲染技术,仅通过2D图像监督就能完成重建任务,同时完全保留了场景中的信息。然而,由于这种全面的数据保留,NeRF在重建和后续编辑过程中都非常耗时。

最近,3D Gaussian Splatting逐渐取代了NeRF。它在重建任务中表现出了令人印象深刻的质量和速度,并在生成领域被广泛引用。其高效的可微渲染和模型设计减少了场景中空白空间的采样,从而加快了训练速度。在这项工作中,我们将3D GS应用于3D对象移除和场景纹理风格化编辑任务,旨在实现快速且可控的编辑。

2)Generating 3D Content

SPIn-NeRF通过初始化目标对象的多视图掩码来专注于目标移除。它使用移除对象的RGB图像作为外观先验,深度图像作为几何先验,进行联合优化。然而,得到的纹理可能与原始场景不完全一致。RePaint-NeRF也通过掩码来编辑对象。它利用掩码和文本提示,在预训练的扩散模型和CLIP模型的指导下生成新内容,从而得到一个多视角一致且场景完整的模型。但是,有时对象的形状会发生显著变化。最近的研究已经将2D文本条件扩散模型应用于3D生成。DreamFusion提出了SDS损失作为NeRF渲染图像的损失函数,从而生成了任何角度都一致的3D模型。DreamGaussians将DreamFusion的相同概念应用于GS,极大地加快了模型生成过程。我们的工作不是生成新场景,而是专注于编辑,以实现在给定GS场景的要求下更逼真的编辑和生成。

3)艺术风格迁移与编辑

大多数风格化方法都需要文本提示,并通过CLIP和潜在表示来实现编辑,如StylizedNeRF和StyleRF所示。这些工作可能在选择场景内的特定编辑区域时存在局限性。InstructNeRF2NeRF使用InstructPix2pix作为编辑参考,并利用迭代数据集更新策略,根据文本提示(无需掩码)调整3D模型的颜色、形状和纹理。这些编辑被应用于原始生成场景的数据集图像上。最近的GaussianEditor在GS中实现了文本编辑。其基本方法与InstructNeRF2NeRF类似,但它还结合了SAM方法进行分割,以实现编辑区域的可选性。Gaussian Grouping还展示了一种高效的分割方法,用于后续的修复和对象移除任务。StyleGaussian提出了一种高效的特征渲染策略,能够快速渲染高维VGG特征。然而,这种方法需要预先学习风格图像并将其集成到3DGS特征中。

方法介绍

提出的方法利用输入的风格和文本共同指导在已训练的3DGS场景中生成新场景。我们利用扩散模型(InstantStyle)进行2D图像风格迁移,并改进了InstructNeRF2NeRF中的迭代数据集更新基础策略。将此策略与ARF提出的最近邻特征匹配(NNFM)损失相结合。在训练GS场景时,保持整个过程中3DGS场景的一致性,直到它们收敛到编辑目标。

1)一些背景知识

3D Gaussian Splatting

Gaussian Splatting[24]是一种最先进的3D场景表示方法,它从稀疏点云开始,创建一个优化的3D高斯点云。3D场景被表示为一组3D高斯基元,其中每个高斯点都由坐标中心均值³、协方差矩阵∑ ∈ ³×³、不透明度⁺和颜色³来表征。通过混合重叠像素的 个有序高斯分布来计算像素颜色 ,从而有效地渲染出3D高斯分布:

Style Transfer

从最初对齐风格图像的VGG特征,到将风格迁移扩展到3D领域,这种视觉风格化不仅耗时,而且对于未训练的风格图像来说,其通用性也有限。本工作采用InstantStyle扩散模型,根据输入的风格图像和文本提示生成各种艺术风格的2D图像。然后,使用特定的损失函数将这些结果反向传播到3DGS场景中。在编辑过程中,还输入边缘检测图以保持场景的基本结构。最终,在保留场景内原始内容的同时,完成了对整个场景的风格编辑。

NNFM Loss

(Artistic Radiance Fields, ARF)提出了一种新颖的方法来融合3D场景和风格图像。风格图像和场景渲染图像通过VGG编码器进行处理,并应用最近邻特征匹配(NNFM)损失来将复杂的高频视觉细节从2D风格图像转移到3D场景中,从而更好地确保局部纹理细节的保留。 和 分别是来自风格图像和选定视角的场景渲染,而 ( , )表示特征图中像素位置( , )处的特征向量。损失函数可以表示为:

其中N是渲染图像 中的像素数量,而 ( 1, 2)是两个向量 1, 2之间的余弦距离。

2)InstantStyleGaussian

提出的方法使用给定的风格图像和文本提示进行编辑,主要依赖图像提示,文本则辅助生成训练数据集。重建的场景模型经过微调以匹配参考编辑后的图像风格,最终生成一个符合艺术风格的同时保持3D一致性的场景,如图2所示。使用基于图像的条件扩散模型来迭代更新训练数据集图像,这有助于保持原始场景的结构特征。

编辑渲染图像

使用InstantStyle去噪扩散模型来更新数据集图像,该模型接受四个输入:待更新的图像 、文本提示 、风格图像 和随机噪声输入 。输入图像是从相机视角捕获的,设置为条件图像,并转换为潜在变量,输入到扩散模型的U-Net网络中。然后,基于给定的文本提示和风格图像,模型通过迭代细化噪声进行训练。解码后,最终生成符合指定条件的图像。这样,编辑后的图像直接反向传播到GS场景中,使其根据输入提示不断更新,从而生成符合条件的新GS场景。

在此过程中,在将捕获的相机图像输入到U-Net网络之前,会对图像应用边缘算子以获得相应的边缘检测图,然后将该图与潜在变量一起输入到扩散模型中。这有助于保持生成图像中的原始结构,确保在传输到GS场景时,原始物体的形状和结构不会发生显著变化。

迭代数据集更新

InstructNeRF2NeRF方法是一个迭代过程,包括NeRF渲染图像、编辑图像和更新NeRF。虽然这种方法非常有效,但由于数据集中编辑和未编辑图像的混合训练,它通常需要大量的训练时间。在这项工作中,对该方法进行了小幅修改。核心仍然是迭代数据集更新过程,但随机选择三十个或更少的相机视角(根据场景大小进行调整),并使用扩散模型对这些图像进行单次编辑。编辑后的图像作为参考,增强训练数据集,而不会替换来自相应视角的原始图像。这种持续的添加和优化过程改进了GS场景,确保了持续的改进和完善。

然而,扩散模型可能会从不同视角生成不一致的编辑图像。与NeRF不同,3DGS不需要使用光线进行训练,并且可以直接从渲染图像开始。因此,我们使用L1和LPIPS损失来训练Gaussian Splatting。对于从不同视角出现的局部不一致纹理,使用NNFM损失来匹配局部特征,从而更好地保留纹理细节。

使用来自GaussianEditor的gsplat库作为底层模型和可视化工具,InstantStyle作为扩散模型。扩散模型的更新强度由几个附加参数决定,如Controlnet条件尺度和文本与图像调整的引导权重。这些参数设置为默认值,但已对一些超参数进行了修改以适应高斯分布。在生成的结果不理想的情况下,可以手动调整相关引导权重以达到所需的编辑效果。

训练方法最多涉及1000次迭代。在A100 GPU(40GB内存)上,完成一个场景的风格转换编辑仅需二十分钟。前十五分钟专门用于扩散模型生成图像,这些图像仅在五分钟内就通过整个场景进行反向传播。最终的编辑结果是主观判断;更长的训练时间可能会导致极端的编辑效果,因此一旦达到收敛就停止训练。

实验结果

数据集和基线。在Tanks and Temples数据集和Mip-NeRF 360数据集上评估了提出的方法。每个数据集的大小范围从150到400张图像不等。这些数据集具有复杂的几何形状和逼真的现实世界纹理,使得新场景的生成更加有意义和逼真。

在图3中展示了定性结果。InstantStyleGaussian展示了出色的风格迁移性能,能够生成高质量的3D场景,这些场景与参考图像的艺术风格更加一致,并且更好地保留了原始场景的内容。StyleGaussian使用解码后的风格化RGB设计,生成场景的质量取决于解码后的特征。对于第2、4和8行的风格,它产生的颜色与参考风格图像不匹配。我们的方法采用了扩散模型,该模型能够更有效地捕获风格特征,而无需额外训练,并且输入的边缘检测图像有助于保留原始场景的纹理和内容。

消融实验

最近邻特征匹配(NNFM)。引入的NNFM损失有助于更好地处理局部细节纹理和适应不一致的颜色。如图4中每行的第三和第四张图像所示,如果不使用NNFM损失,则渲染结果的整体颜色会明显变暗,并且无法控制局部区域的颜色纹理。

更多迭代次数。最终的风格迁移效果是一个主观过程,但仅仅增加迭代次数并不能提高整体场景质量。相反,它可能导致局部区域过拟合,使纹理变得异常,如图5中的红色框所示。

正如之前的工作所指出的,目前尚没有标准化的指标来评估3D风格迁移的质量。为了定量比较多视角一致性和渲染时间,遵循先前工作的方法:根据光流使用softmax splatting将一个视图扭曲到另一个视图,然后计算掩码RMSE分数和LPIPS分数来衡量风格化一致性。我们的方法在保证场景质量的同时,在性能上优于之前的工作。结果总结在表1中。

与我们的方法不同,StyleGaussian需要特征嵌入训练和风格迁移训练。在风格迁移训练过程中,它需要从预定义的数据集(如WikiArt)中的图像学习风格,这需要大量的训练时间。一旦训练完成,模型就可以快速执行风格迁移。相比之下,我们的方法可以直接使用输入风格图像作为参考来推断和更新3D场景,而无需额外的训练。我们的方法显著减少了风格迁移过程所需的时间,同时优化了迁移过程。它无需为每个视角重复生成新的视图,从而大大提高了速度,实现了整体编辑速度13倍的提升。

我们的方法主要侧重于场景表面的纹理编辑,这使得其他类型的编辑变得无效。例如,通过分割从场景中移除现有对象可能会因为缺少对象所在位置的原始信息而导致显著的伪影。同样,向场景中添加新对象也是一个挑战,因为很难将它们准确地放置在指定位置。然而,我们相信随着更强大的图像处理扩散模型的出现,添加和删除内容也将变得可行。此外,InstantStyleGaussian在保持几何形状不变的同时修改了高斯函数中的颜色属性,这使得它不适合涉及几何变形的风格迁移。将几何变形纳入风格迁移是一个潜在的研究方向,可能需要更有效的监督来实现。

参考

[1] InstantStyleGaussian: Efficient Art Style Transfer with 3D Gaussian Splatting.

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

分享一个CV知识库,上千篇文章、专栏,CV所有资料都在这了

明年毕业,还不知道怎么做毕设的请抓紧机会了

LSKA注意力 | 重新思考和设计大卷积核注意力,性能优于ConvNeXt、SWin、RepLKNet以及VAN

CVPR 2023 | TinyMIM:微软亚洲研究院用知识蒸馏改进小型ViT

ICCV2023|涨点神器!目标检测蒸馏学习新方法,浙大、海康威视等提出

ICCV 2023 Oral | 突破性图像融合与分割研究:全时多模态基准与多交互特征学习

听我说,Transformer它就是个支持向量机

HDRUNet | 深圳先进院董超团队提出带降噪与反量化功能的单帧HDR重建算法

南科大提出ORCTrack | 解决DeepSORT等跟踪方法的遮挡问题,即插即用真的很香

1800亿参数,世界顶级开源大模型Falcon官宣!碾压LLaMA 2,性能直逼GPT-4

SAM-Med2D:打破自然图像与医学图像的领域鸿沟,医疗版 SAM 开源了!

GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR

Meta推出像素级动作追踪模型,简易版在线可玩 | GitHub 1.4K星

CSUNet | 完美缝合Transformer和CNN,性能达到UNet家族的巅峰!

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

标签:场景,Splatting,模型,InstantStyleGaussian,Gaussian,编辑,风格,图像,3D
From: https://www.cnblogs.com/wxkang/p/18365637

相关文章

  • 【3DGS】从新视角合成到3D_Gaussian_Splatting
    @目录引言:什么是新视角合成任务定义一般步骤NeRF的做法NeRF的三维重建NeRF的渲染3DGS的三维重建从一组图片估计点云高斯点云模型球谐函数参数优化损失函数和参数优化高斯点的数量控制(AdaptiveDensityControl)新的问题3DGS的渲染:快速可微光栅化3DGS的限制引言:什么是新视角合成......
  • 多元/多维高斯/正态分布概率密度函数推导 (Derivation of the Multivariate/Multidime
    各种维度正态分布公式:一维正态分布二维正态分布/多维正态分布各向同性正态分布 注:即方差都是一样的,均值不一样,方差的值可以单独用标量表示。多元/多维高斯/正态分布概率密度函数推导(DerivationoftheMultivariate/MultidimensionalNormal/GaussianDensity)作者:凯......
  • OpenCV图像滤波(6)高斯滤波函数GaussianBlur()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述函数使用高斯滤波器对图像进行模糊处理。该函数使用指定的高斯核对源图像进行卷积。支持原位过滤。高斯模糊是一种有效的图像平滑技术,可以减少图像中的噪声和细节。函数原型vo......
  • 3D Gaussian SLAM学习笔记一.Gaussian-SLAM配置运行
    ​研一小白,最近在做SLAM的科研工作,在一定的调研后,发现3DGaussianSplatting这个方向不错,于是跑一下这方面的代码。论文链接:https://arxiv.org/pdf/2312.10070.pdf代码链接:https://github.com/VladimirYugay/Gaussian-SLAM项目测试首先克隆代码,不过我觉得直接下载zip包......
  • 渲染 | Gaussian Splatting 源码解析
    TODO:GS组成pointcloudrenderflowoptimize仓库结构仓库由C++/CUDA和Python组成,CUDA包括diff-rasterization,Python包括optimize。CUDA部分依赖glm,只用了glm的vector数据类型。Rendering(C++/CUDAPart)Python-CUDA接口CUDA向Python暴露的就......
  • 论文阅读《Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image De
    BeyondaGaussianDenoiser:ResidualLearningofDeepCNNforImageDenoising发表于IEEETRANSACTIONSONIMAGEPROCESSING,VOL.26,NO.7,JULY2017Paper和CodeAbstract:提出前馈去噪卷积神经网络(DnCNNs),将超深层次结构、学习算法和正则化方法的进展纳入图像去噪......
  • 开源!首个无需相机位姿的通用3D Gaussian Splatting!
    作者:Hao Li等人|编辑:计算机视觉工坊添加小助理:dddvision,备注:3D目标检测,拉你入群。文末附行业细分群扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算......
  • Ubuntu22.04下Issac Gym/宇树机器人RL&gcc/g++,CUDA,CUDA ToolKit,Pytorch配置环境配
    前置条件本随笔写作Condition:在本人3050Ti笔记本上配好环境后,再在室友4060笔记本上边配边记录整理所得。室友的系统已经配好了相应驱动,因此,本随笔内容基于已经安装了NVIDIA显卡驱动的系统。下次搞到没装驱动的系统我再补一个随笔。宇树机器人宇树科技的文档中心有一个简单的安......
  • Gaussian Splatting CUDA结构
    给自己记录一下,不一定对。每次去重写的时候又要忘记。1.python部分在gaussian_renderer/__init__.py里面调用cuda写的rasterization,语句为:fromdiff_gaussian_rasterizationimportGaussianRasterizationSettings,GaussianRasterizer其中GaussianRasterizationSettings定义......
  • 地形 SplattingMap 采样 HLSL Demo
    地形SplattingMap采样HLSLDemoFetchingsplattingindexTranslateitintoalocalcacheindexSampleallthepbrtexturesfromthecache使用ChatGPT写一个hlsl脚本来实现这三个步骤。这个示例假设已经有了splattingindex纹理和一组PBR(Physically-BasedR......