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

三维物体生成与编辑

论文地址: 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.xdnf.cn/news/140053.html

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

相关文章

Java多线程篇(5)——cas和atomic原子类

文章目录 CASAtomic 原子类一般原子类针对aba问题 —— AtomicStampedReference针对大量自旋问题 —— LongAdder CAS 原理大致如下: 在java的 Unsafe 类里封装了一些 cas 的api。以 compareAndSetInt 为例,来看看其底层实现。 可以发现,最…

GPT,GPT-2,GPT-3,InstructGPT的进化之路

ChatGPT 火遍圈内外,突然之间,好多人开始想要了解 NLP 这个领域,想知道 ChatGPT 到底是个什么?作为在这个行业奋斗5年的从业者,真的很开心让人们知道有一群人在干着这么样的一件事情。这也是我结合各位大佬的文章&…

【AIGC】Stable Diffusion Prompt 每日一练0916

一、前言 1.1 写在前面 本文是一个系列,有点类似随笔,每天一次更新,重点就Stable Diffusion Prompt进行专项训练,本文是第022篇《Stable Diffusion Prompt 每日一练0916》。上一篇《Stable Diffusion Prompt 每日一练0915》 1.…

Android Jetpack Compose之UI的重组和自动刷新

1.概述 我们都知道,在传统的View中,若要改变UI,需要我们修改View的私有属性,比如要修改一个TextView的文字,我们需要通过它的setText(“xxx”)方法去修改。而Compose 则是通过重组来刷新UI。在之前的状态管理的文章中…

基于SSM的田径运动会成绩管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

MySQL详解六:备份与恢复

文章目录 1. 数据库备份的分类1.1 从物理和逻辑上分类1.1.1 物理备份1.1.2 逻辑备份 1.2 从数据库的备份策略角度上分类1.2.1 完全备份1.2.2 差异备份1.2.3 增量备份 1.3 常见的备份方法 2. MySQL完全备份2.1 完全备份简介2.2 优点与缺点2.3 实现物理冷备份与恢复2.3.1 实现流程…

MongoDB(一) windows 和 linux 之 Ubuntu 安装

数据库分类 一、关系型数据库(RDBMS) mysql 、Oracle、DB2、SQL Server 关系数据库中全都是表 二、非关系型数据库(NO SQL) MongoDB、Redis 键值对数据库 文档数据库MongoDB 下载 mongoDB https://www.mongodb.com/try/downloa…

渗透中 POC、EXP、Payload、Shellcode 的区别

渗透中 PoC、Exp、Payload、Shellcode 的区别 不同含义: POC Proof of Concept中文意思是“观点证明”。这个短语并非仅仅在漏洞报告中使用,甲方在项目招标过程中也常常要求乙方提供POC,即证明你的方案或者产品能达到声称的功能或性能&…

Tomcat部署、优化、以及操作练习

一.Tomcat的基本介绍 1.1.Tomcat是什么? Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,T…

详细解释HiveSQL执行计划

一、前言 Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其…

内存函数 memcpy 和 memmove 的讲解和模拟实现

目录 一.什么是 memcpy 函数 模拟思路 代码实现 二.什么是 memmove 函数 模拟思路 代码实现 一.什么是 memcpy 函数 我们打开 cplusplus 官网查看: memcpy - C Reference (cplusplus.com) 官方文本显示: 内存复制块 将 num 字节的值从源指向的位置…

去耦电路设计应用指南(一)MCU去耦设计介绍

(一)MCU去耦设计介绍 1. 概述2. MCU需要去耦的原因2.1 去耦电路简介2.2 电源噪声产生的原因2.3 插入损耗2.4 去耦电路简介 参考资料来自网上: 1. 概述 我们经常看到单片机或者IC电路管脚常常会放置一个或者多个陶瓷电容,他们主要…

安防监控视频云存储平台EasyNVR对接EasyNVS时,一直不上线该如何解决?

视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入,并能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。 近期有用户在使用安防视频平台EasyNVR对接上级平台EasyNVS时,出现了一直不上线…

mysql事务测试

mysql的事务处理主要有两种方法1、用begin,rollback,commit来实现 begin; -- 开始一个事务 rollback; -- 事务回滚 commit; -- 事务提交 2、直接用set来改变mysql的自动提交模式 mysql默认是自动提交的,也就是你提交一个sql,它就直接执行!我…

Windows 基于Visual Studio 开发Qt 6 注意事项

前提条件: 1、Visual Studio 2022 社区版(免费版) 2、Qt-6.5.1版本 Qt Vistual Studio Tools下载 先打开Visual Studio 2022 社区版 : 点击扩展-》管理拓展按钮后,在搜索框中输入Qt,点击这里第一个扩展安装。 Qt Visual Stud…

计算机毕设 图像识别-人脸识别与疲劳检测 - python opencv

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 这两年开始毕业设计和毕业…

云计算战略:选择适合你业务的云平台

文章目录 云计算的概述选择云平台的关键因素1. 业务需求2. 预算3. 性能要求4. 数据隐私和合规性 示例:选择适合的云平台业务需求预算性能要求数据隐私和合规性 代码示例:使用云平台服务结论 🎉欢迎来到云计算技术应用专栏~云计算战略&#xf…

Linux下ThinkPHP5实现定时器任务 - 结合crontab

实例一&#xff1a; 1.在/application/command创建要配置的PHP类文件&#xff0c;需要继承Command类&#xff0c;并重写configure和execute两个方法&#xff0c;例如: <?php namespace app\command; use think\console\Command; use think\console\Input; use think\cons…

uvm源码解读-sequence,sequencer,driver三者之间的握手关系1

1.start item 1.start_item();sequencer.wait_for_grant(prior);this.pre_do(1);需要指出&#xff0c;这里明确说明了wait_for_grant和send_request之间不能有任何延迟&#xff0c;所以在mid_do这个任务里千万不能有任何延迟。 task uvm_sequencer_base::wait_for_grant(uvm…

OpenCV实现图像边缘检测(sobel算子、laplacian算子、Canny边缘检测)

边缘检测原理 1&#xff0c;Sobel算子 1.1代码实现 import cv2 as cv import numpy as np import matplotlib.pyplot as plt from pylab import mplmpl.rcParams[font.sans-serif] [SimHei]img cv.imread("lena.png",0)#计算sobel卷积结果 x cv.Sobel(img,cv.CV_…