计算机视觉: 三维物体生成

news2024/12/23 10:11:42

三维物体生成与编辑

论文地址: Controllable Mesh Generation Through Sparse Latent Point Diffusion Models



背景

数据是目前数字化和AI领域最宝贵的财富之一,但是对于目前的开发者来说,收集数据都意味着极大的成本。所以建立一个高效的生成模型能极大的提高开发者的效率降低生产成本。

生成模型简单来说就是一个概率模型,其学习真实世界的数据分布从而去生成新的数据样本。其中目前主流的图像的生成模型包括stable difussion模型, 其原理主要可以分成两个过程

  1. 扩散过程: 将原本清晰的数据(可以是声音/图片/点云等)逐步添加高斯噪声,直至其最终成为一个完全的高斯噪声
  2. 逆扩散: 也就是步骤一的反向过程,也就是将步骤一得到的高斯噪声逐步重新回溯成清晰的数据

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=image%2F%E4%B8%89%E7%BB%B4%E7%89%A9%E4%BD%93%E7%94%9F%E6%88%90%E4%B8%8E%E7%BC%96%E8%BE%91%2F1695453734003.png&pos_id=img-1q7KRqmt-1695459349198

而根据stable diffusion的思想的三维物体生成模型主要也分成了两个流派:

  • 建立一个2D的扩散生模型,然后融合成3D模型。eg: Dreamfusion, Magic3D 以及ProlificDreamer等
    • 优点: 无需昂贵的3D数据
    • 缺点: 因为是由2D -> 3D 数据,中间涉及的优化过程十分耗时。初始结构一般是球体所以对一些复杂不规则的3D结构不是十分鲁棒
  • 直接建立一个3D生成模型。 eg: Point-E , LION, Mesh Diffusion, 3DGen等
    • 优点: 生成速度快,对复杂几何结构更加鲁棒
    • 缺点: 需要3D数据做训练

上述这些3D生成模型根据是否需要输入条件分成有条件生成模型& 无条件生成模型, 这些生成条件可以是文本 或者图片等。但是这些都不能提供使用者对生成的3D模型进行细粒度的微调。



可控三维生成模型

根据前人的工作,以及目前的业务需求,提出了Controllable Mesh Generation Through Sparse Latent Point Diffusion Models , 其主要目的是可控的细粒度的生成3D模型。其主要的贡献在于:

  1. 提供了一个细粒度的可控的3D mesh生成模型
  2. 提供了一个可供用户交互细粒度改变局部或者全局结构的思想
  3. 更加快速的生成速度


其整体思路是首先将Mesh下采样选择用稀疏的点云去表达整个Mesh,从而提高处理速度。再将采样后的点云通过Encoder的结构, 将点云处理成数量一致的sprase latent points再经过Decoder结构后上采样,从而实现整个3D生成模型。这样的好处在于这些sprase latent points 更适合与用户交互,从而实现细粒度的微调或者说是控制生成的形状

在这里插入图片描述

而整个生成的结构是由两个扩散模型构成,其中第一个扩散模型是根据经过encoder的sparse latent points去学习其点云的位置,第二个是根据第一个扩散模型生成的位置从而去学习其位置上的特征。从而实现整个生成模型结构。可以把整个生成的过程分为以下3步:

  1. 利用位置扩散模型去生成sparse latent points的点的位置
  2. 利用特征扩散模型去生成给定位置下的sparse latent points的特征
  3. 利用autoencoder去将这些特征和位置decoder后重构一个mesh 结构

在这里插入图片描述



最终用户可以根据自己的需要去改变sprase latent points的点的位置或者进行一些形状上的插值,从而可以改变整个最终生成结构或者对应的只改变更变点的局部结构。除此之外,作者提供了一种融合形状的思维,就是将生成的不同物体的sprase latent points的部分点的特征进行融合,从而实现整体3D拼接生成结构,例如A物体的轮子和B物体的车身拼接成一个整车。

在这里插入图片描述




未来方向

  • 提供可变的latent point的点的数量,更加灵活更精确的去控制生成结构
  • 从生成不同的物体geomertry 到texture生成
  • 从单个物体级别的生成到整个场景的生成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



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

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

相关文章

Fair原理篇之Fair逻辑动态化通信实现

Fair 逻辑动态化,是对一期布局动态化的增强。为了实现逻辑动态化,我们当时考虑了多种方案,方案主要集中在这三个方面,一种是对google提供的JIT进行裁切,第二种是自定义解析引擎,第三种借助js的能力。 下面主要讲一下几方面: 架构的标准化通信协议的实现js文件的加载与释…

MongoDB 是什么和使用场景概述(技术选型)

一、从NOSQL(Not Only SQL)说起 常见的数据库可以分为下面的两种类型: RDBMS(关系型数据库):常见的关系型数据库有 Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL;NoSQL(非关系型数据库&a…

计算机视觉与深度学习-循环神经网络与注意力机制-RNN(Recurrent Neural Network)、LSTM-【北邮鲁鹏】

目录 举例应用槽填充(Slot Filling)解决思路方案使用前馈神经网络输入1-of-N encoding(One-hot)(独热编码) 输出 问题 循环神经网络(Recurrent Neural Network,RNN)定义如何工作深度Elman Netwo…

DAB-DETR

DAB-DETR(2022ICLR) DAB:Dynamic Anchor Boxes 贡献: 明确了不是由于learnable queries导致的收敛缓慢 4D anchor Anchor Update Width & Height Modulated Temperature Tuning 前半部分:Why a positional …

每日一题~将有序数组转换为二叉搜索树

原题链接:108. 将有序数组转换为二叉搜索树 - 力扣(LeetCode) 题目描述: 思路分析: 今天这道题比较简单,我们看一下数组和树之间的联系很容易就能发现规律。 通过简单观察我们发现,位于数组中…

CSDN博客去水印方法

直接在 创作中心->博客 设置这里关了好像就行了,之前方法是找图片链接?后面的一大串字符给去掉。

Java由浅入深理解线程池设计和原理

目录 1 线程1.1 什么是线程?什么是进程?1.2 java中线程的实现方式有几种?1.3 线程的生命周期是什么? 2 线程存在的问题2.1 一个线程只能执行一个任务2.2 线程执行完后销毁,无法复用2.3 线程过多,导致JVM宕机 3 初识线程池3.1 了解J.U.C3.2 线…

计网第五章(运输层)(六)(TCP可靠传输的实现)

目录 一、基本概述 二、具体实现 1.前后沿: 2.利用指针描述发送窗口的状态 3.有差错情况 之前在数据链路层时已经讨论过可靠传输(计网第三章(数据链路层)(二)(可靠传输)&#x…

电表智能管理系统-实现智能化、数字化的电力管理

随着信息技术的发展,智能电表已经成为了现代电力管理的重要组成部分。智能电表能够实时监测和记录用电量,自动控制用电,从而实现更加智能、高效的电力管理。 智能电表是一种能够自动监测和记录用电量,并能够自动控制用电的设备…

IDEA中取消双击shift全局搜索

设置如图步骤: 取消双击shift之后,如果想再次使用全局搜索,可以通过: ctrlshifA

Vue与relation-graph:高效打造关系图的秘诀

产品提需求啦,有一个需求就是实现一个功能:展现各个文件之间的调用关系,通过关系图的形式进行展示出来。 之前考虑使用antv x6实现此功能,但是考虑到只是展示的功能,也不需要进行交互,所以放弃使用antv x6&…

【操作系统笔记十二】Linux常用基础命令

Linux 常用快捷键 Tab 命令或路径等的补全键,特别常用的快捷键Ctrl insert 复制命令行内容(常用可提高效率)Shift insert 粘贴命令行内容(常用可提高效率)Ctrl C 中断当前任务(退出)Ctrl Z…

Java笔记:看清类加载过程

1 类加载的过程 1.1 加载 “加载”是“类加载”(Class Loading)过程的第一步。这个加载过程主要就是靠类器实现的,包括用户自定义类加载器。 加载的过程 在加载的过程中,JVM主要做3件事情 1)通过一个类的全限定名来获取定义此类的二进制字节…

【Linux网络编程】日志与守护进程

日志是网络服务器程序在后台以守护进程的形式运行时,处理情况的描述被打印到了日志文件里面,方便维护人员查看。 1.前台进程与后台进程 左边会话输入命令 sleep 10000 & 代表进程后台运行,右边会话输入命令 sleep 20000可以看到命令行解…

珠海建筑模板厂家-能强优品木业:为您提供优质建筑模板解决方案

在珠海这座美丽的沿海城市,建筑行业蓬勃发展,对于高质量的建筑模板需求也日益增加。在这里,有一家备受赞誉的建筑模板厂家,那就是能强优品木业。作为一家专业的建筑模板供应商,他们以优质的产品和卓越的服务在业界享有…

联合查询

1.条件 2.步骤 1.判断列数 2.判断回显 3.重要 在回显位置写 查看字段名字 使用工具 hackbar

C语言while循环嵌套-动态字母

1、题目 使用C语言实现对字母动态移动(根据用户输入的字符将字符从屏幕的坐标移动屏幕的右边)。 2、分析 字符的移动核心是在显示的字母前面补上对应的空格字符内容,配合上延时就可以实现字符从屏幕左边移动到屏幕右侧的效果,实现…

【全网最全】2023华为杯研究生数学建模B题完整思路+python代码+20页超详细启发式算法+FFT(后续会更新)

目录 点击资料获取入口 DFT在通信等领域的重要应用,以及目前采用FFT计算DFT的硬件开销大的问题。提出了将DFT矩阵分解为整数矩阵乘积逼近的方法来降低硬件复杂度。 建模目标是对给定的DFT矩阵F_N,找到一组K个矩阵A,使F_N和A的乘积在Frobenius范数意义下尽可能接近,即最小化目标…

开源负载测试神器K6

简介:K6是一个强大的开源负载和性能测试工具,用于测试软件系统的性能和可靠性。K6的使用主要是编写测试脚本并运行,这些脚本主要用JavaScript编写,可以使用HTTP,WebSocket等多种协议进行测试。并且易于安装和运行&…

Java Web框架,如Spring MVC,是一种用于构建Web应用程序的软件框架:学生考试Web应用程序

文章目录 什么是Java Web框架?MVC模式在Spring MVC中的应用简单的学生考试Web应用程序设置Spring MVC项目创建实体类创建考试实体类创建控制器创建服务层创建数据库创建视图配置Spring MVC实现功能运行应用程序运行应用程序 🎈个人主页:程序员…