[CVPR-24] Text-to-3D using Gaussian Splatting

news2024/11/16 20:45:27

  • 3DGS对初始化敏感;
  • 引入基于Point-E的3D SDS可以缓解多脸问题;
  • 外观细化阶段可以有效抑制异常点,并提高可视化效果;
  • 不需要对SDS的改进,用gudiance scale=100可以取得很不错的结果。

[pdf | proj | code]

方法

Geometry Optimization

  • text-to-3D任务通畅存在严重的双脸问题。不同于NeRF和DMTE等3D表征,3DGS可以显示控制每个点的位置。因此,本文提出通过Point-E + SDS loss优化3DGS的位置变量。
  • 其中,p_tx_t分别表示加噪的高斯位置和渲染图像。

Appearance Refinement

  • 本文引入了额外的外观细化阶段(appearance refinement stage),该阶段间歇执行,仅使用2D图片先验细化和稠密化3DGS。
  • 3DGS中使用的稠密化方法需要设置梯度阈值。然而,这个阈值在使用SDS损失时不好确认。由于SDS具有较强的随机性,使用较小阈值会导致产生大量的随机点,较大阈值则会导致点较少进而影响表达能力。
  • 为解决该问题,本文提出基于紧凑的稠密化方法(compactness-based densification),可以和较大的位置梯度阈值搭配使用。
  • 具体来说,对每个高斯点,首先通过KD树获取K个最近邻点;对每个近邻,如果他们之间的距离小于他们半径之和,则在他们中间新增一个高斯点,新增点的半径为距离残差。
  • 如下图所示,本文所提出的稠密化方法可以填补空洞,得到更好的几何结构。

  • 为了剪除不需要的高斯点,本文引入了一个透明度正则项,其权重正比于它到中心点的距离(extra loss to regularize opacity with a weight proportional to its distance to the center)。
  • 为了确保在外观细化阶段中,高斯点不发生较大位移,本文引入了针对位置的正则项。
  • 外观细化阶段损失如下:
  • 其中,sg()是梯度截停操作,p_io_i是第i个高斯点的位置和透明度。

Initialization with Geometry Prior

  • 前人工作发现3DGS初始化对结果影响较大。因此,本文使用Point-E来初始化3DGS位置,颜色则随机初始化。
  • 缩放、可见度初始化为一个常数,旋转矩阵初始化为单位矩阵。

实验

Implementation Details

  • SD 1.5,gudiance scale设置为100,使用了view-dependent prompt
  • 500 iter进行一次稠密化,T_{pos} = 0.02。本文提出的compactness-based densification 1000-iter执行一次。每200-iter移除掉可见度小于\alpha_{min}=0.05的点。
  • 在几何优化阶段:\lambda_{SDS}=0.1, \lambda_{3D}=0.01;在外观细化阶段\lambda_{SDS}=0.1, \lambda_{mean}=1.0, \lambda_{opacity}=100.0

消融实验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1526639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——动静态库的制作及使用与动态库原理

目录 一、静态库 1.静态库的制作 2.静态库的使用 加载静态库方法一:安装头文件与库文件 加载静态库方法二:指定文件目录 二、动态库 1.动态库的制作 2.动态库的使用 方法一:安装到系统中 方法二:软链接 方法三&…

c语言文件操作(中)

目录 1. 文件的顺序读写1.1 顺序读写函数1.2 顺序读写函数的原型和介绍 结语 1. 文件的顺序读写 1.1 顺序读写函数 函数名功能适用于fgetc字符输入函数所有输出流fputc字符输出函数所有输出流fgets文本行输入函数所有输出流fputs文本行输出函数所有输出流fscanf格式化输入函数…

刷题DAY24 | LeetCode 77-组合

1 回溯法理论基础 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。 所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数。 1.1 回溯法的效率 回溯法的性能如何呢&#xff0…

完整指南:如何使用 Stable Diffusion API

Stable Diffusion 是一个先进的深度学习模型,用于创造和修改图像。这个模型能够基于文本描述来生成图像,让机器理解和实现用户的创意。使用这项技术的关键在于掌握其 API,通过编程来操控图像生成的过程。 在探索 Stable Diffusion API 的世界…

HarmonyOS NEXT应用开发之Web获取相机拍照图片案例

介绍 本示例介绍如何在HTML页面中拉起原生相机进行拍照,并获取返回的图片。 效果预览图 使用说明 点击HTML页面中的选择文件按钮,拉起原生相机进行拍照。完成拍照后,将图片在HTML的img标签中显示。 实现思路 添加Web组件,设置…

Vue.js+SpringBoot开发食品生产管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 加工厂管理模块2.2 客户管理模块2.3 食品管理模块2.4 生产销售订单管理模块2.5 系统管理模块2.6 其他管理模块 三、系统展示四、核心代码4.1 查询食品4.2 查询加工厂4.3 新增生产订单4.4 新增销售订单4.5 查询客户 五、…

生成式人工智能服务安全基本要求实务解析

本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。 引言 自2022年初以来,我国陆续发布算法推荐、深度合成与生成式人工智能服务相关的规范文件,…

阿里云服务器ECS经济型e实例性能如何?

阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理…

JS第一阶段1

文章目录 1. js组成2. JS三种书写位置JS输出语句 3. 变量4. 数据类型Number字符串型 String布尔型booleanUnddefined和Null 5. 获取变量的数据类型获取检测变量的数据类型 6. 数据转换类型转换为字符串转换为数字型(重点)转换为布尔型 7.运算符算数运算符…

找不到msvcp110.dll怎么办,msvcp110.dll丢失的5种修复方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp110.dll丢失”。由于msvcp110.dll是Microsoft Visual C Redistributable Package的重要组成部分,它的缺失会导致依赖于该组件的软件无法正常启动或运行,比如某…

从初学者到专家:Java反射的完整指南

一.反射的概念及定义 Java 的反射( reflection )机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么&#x…

Jenkins + Docker + ASP.NET Core自动化部署

本来没想着要写这篇博客,但是在实操过程中,一个是被网络问题搞炸了心态(真心感觉网络能把人搞疯,别人下个包、下个镜像几秒钟搞定,我看着我的几KB小水管真是有苦说不出),另一个就是这里面坑还是…

C语言---指针的两个运算符:点和箭头

目录 点(.)运算符箭头(->)运算符需要注意实际例子 C语言中的指针是一种特殊的变量,它存储了一个内存地址。点(.)和箭头(->)是用于访问结构体和联合体成员的运算符。…

手撕算法-二叉树的镜像

题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0≤_n_≤1000 , 二叉树每个节点的值 0≤_val_≤1000要求: 空间复杂度 O(n) 。本题也有原地操作,即空间复杂度 O(1) 的解法&#xff0c…

【设计模式】-工厂模式

工厂模式是一种创建型设计模式,它提供了一种在不指定具体类的情况下创建对象的方法。工厂模式的核心思想是将对象的创建与使用分离,降低系统的耦合度,使系统更加灵活、可扩展。 工厂模式主要分为三种类型:简单工厂模式、工厂方法…

苍穹外卖-day06:HttpClient、微信小程序开发、微信登录(业务流程)、导入商品浏览功能代码(业务逻辑)

苍穹外卖-day06 课程内容 HttpClient微信小程序开发微信登录导入商品浏览功能代码 功能实现:微信登录、商品浏览 微信登录效果图: 商品浏览效果图: 1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目,…

苍穹外卖-day04:项目实战-套餐管理(新增套餐,分页查询套餐,删除套餐,修改套餐,起售停售套餐)业务类似于菜品模块

苍穹外卖-day04 课程内容 新增套餐套餐分页查询删除套餐修改套餐起售停售套餐 要求: 根据产品原型进行需求分析,分析出业务规则设计接口梳理表之间的关系(分类表、菜品表、套餐表、口味表、套餐菜品关系表)根据接口设计进行代…

C#重新认识笔记_ 点乘,叉乘

C#重新认识笔记_ 点积,叉乘 一、Dot Product 点乘: (Ax*Bx)(Ay*By)(Az*Bz)Dot Product 点积 利用点积,可以了解,两个向量(vector)的相关信息, …

el-form 的表单校验,如何验证某一项或者多项;validateField 的使用

通常对form表单的校验都是整体校验: this.$refs.form.validate( valid > {if (valid) {// 校验通过,业务逻辑代码...} }); 如果需要对表单里的特定一项或几项进行校验,应该如何实现? 业务场景:下图点探测按钮时…

CSS 零基础入门教程

目录 1. div 和 span2. 什么是CSS?3. CSS 引入方式3.1 内部样式表3.2 外部样式表3.3 行内样式 4. 选择器4.1 标签选择器4.2 类选择器4.3 id 选择器4.4 通配符选择器 5. CSS 基础属性6. 谷歌浏览器调试工具 正文开始。 1. div 和 span 在学习 CSS 之前,…