3D 生成重建009-DreamGaussian使用gaussian splatting在两分钟内生成3d

本文主要是介绍3D 生成重建009-DreamGaussian使用gaussian splatting在两分钟内生成3d,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3D 生成重建009-DreamGaussian使用gaussian splatting在两分钟内生成3d


文章目录

    • 0 论文工作
    • 1 论文方法
    • 2 效果

0 论文工作

DreamGaussian是第一个使用gaussian splatting方法进行3d生成的工作。论文最先使用gaussian splatting替代原来用nerf表示3d。整体架构依然保留了原来的SDS方法。论文采用了两阶段方法,第一阶段用sds损失生成一个GS3d表示并提出一个粗体的mesh表示。第二阶段用MSE对mesh的纹理进行表示。这个方法能用文本生成也能用图像生成。他的核心优势还是图像生成3d,因为他用到了zero123和MVD等3d-aware的扩散模型,可以根据输入图像生成偏移的新视图。
这个论文速度基本上在两分钟左右,这远远超越了原来的nerf表达形式的优化方法。能达到这一速度的原因有以下几点:1)GS表达的优化速度快,2)zero123等3d感知扩散模型,降低了SDS的寻优时间,3)二阶段的mesh表达等。

1 论文方法

如下图所示,整个过程分为三个步骤,两个阶段。第一阶段包括GS的生成和mesh提取。
对于生成GS,使用一个随机初始化的GS,用输入图像和随机旋转后的新视角图像进行约束,他的约束包含原始图的sds和新视图的MSE。由于zero123等MVD具备3d空间感知能力,一定程度解决多面问题,而且不需要额外的3d先验知识的引入。然后就是从GS的点云中提取mesh。在第二阶段就是对纹理进行优化,因为sds的很大程度会导致过平滑和缺少细节。在第二阶段通过对噪声程度进行控制,然后进行多步降噪计算MSE损失,对细节进行补充。可以确定的是这种策略还是限制细节能力。一种解决思路应该就是更好的MVD模型,另外一种就是改进第二阶段的优化策略。
第二阶段有挺大的改进策略,或者是使用更好的mesh提取方法,因为第一阶段的更好的几何也很重要。值得一提的是,这个方法在速度上的优势,GS和MVD的结合,可以确定这会是比较好的base。
在这里插入图片描述

2 效果

文本生成3d的效果,还是存在比较严重的多面问题和模糊缺乏细节。这种情况下多面比较严重,但是挑选的例子本身都是没有真正人脑所理解的正反面,所以不严重。当使用小动物或者人进行生成时,就会发现这个多面问题。常规引入额外3d先验知识的方法会有较大时间消耗。
在这里插入图片描述
图像生成3d的效果,能缓解多面问题,但是细节确实还是比较严重。论文中使用卡通例子的时候细节问题并不明显,但是当用其他风格图片的时候问题就会比较明显。这也是一个值得思考改进的点。
在这里插入图片描述

这篇关于3D 生成重建009-DreamGaussian使用gaussian splatting在两分钟内生成3d的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981925

相关文章

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实