GET3D:从图像中学习的高质量3D纹理形状的生成模型
【摘要】
本文提出了GET3D,这是一种新的生成模型,能够生成具有任意拓扑结构的高质量3D纹理网格,可以直接被3D渲染引擎使用并在下游应用中立即使用。现有的3D生成模型要么缺乏几何细节,要么生成的网格拓扑受限,通常不支持纹理,或者在生成过程中使用神经渲染器,使得它们在常见的3D软件中难以使用。GET3D能够生成高质量的3D纹理网格,涵盖汽车、椅子、动物、摩托车和人类角色到建筑物等类别,显著优于以往方法。与现有方法相比,GET3D可以直接生成具有复杂拓扑结构的明确定义的3D网格,具有丰富的几何细节和高保真的纹理。
主要贡献:
- 生成高质量3D网格:GET3D能够生成具有复杂拓扑结构、丰富几何细节和高保真纹理的3D网格。
- 端到端可训练:模型使用2D图像进行训练,利用不同的渲染技术,实现高效的端到端训练。
- 灵活适应下游任务:GET3D可以轻松改编以执行其他任务,如基于文本生成3D形状。
方法概述:
- 几何生成器:使用不同的可微分表面提取方法和可微分渲染技术,直接优化和输出具有任意拓扑的3D网格。
- 纹理生成器:将纹理表示为纹理场,使用三平面表示法,可以查询表面点以生成颜色。
- 不同的渲染和损失函数:利用不同的渲染器进行2D图像渲染,通过对抗损失进行训练,同时引入几何正则化项。
实验结果:
- 性能评估:在ShapeNet、Turbosquid和Renderpeople数据集上进行评估,GET3D在几何细节和纹理质量方面显著优于现有方法。
- 应用示例:
- 材料生成:通过调整生成模型中的参数,可以生成表面材料,包括反照率、粗糙度和金属度等。
- 文本引导的3D合成:使用CLIP进行文本引导的3D形状生成,生成的结果能够反映不同光照条件下的复杂反光效果。
总之,GET3D通过创新的生成模型架构,实现了高质量3D纹理网格的生成,为3D内容创建工具的发展提供了新的解决方案。
【数据来源】
论文数据来源总结:
论文标题: GET3D: A Generative Model of High Quality 3D Textured Shapes Learned from Images
主要贡献:
- 引入了一种新的生成模型GET3D,能够直接生成具有复杂拓扑结构、丰富几何细节和高保真纹理的3D网格。
- 采用不同可微表面提取方法和可微渲染技术,通过2D图像集合训练模型。
- 实现了无监督的材料生成,用于模拟视依赖照明效果。
数据集:
- ShapeNet: 包含超过51000个来自55个不同类别的3D模型,用于基准测试3D生成模型。
- Turbosquid: 大型3D模型集合,具有高质量的几何和纹理。
- RenderPeople: 包含现实世界的3D人体模型的数据集。
- 其他: 包括椅子、汽车、摩托车、动物和房屋等类别的多种3D模型。
数据处理:
- 对每个形状进行缩放,使其最长边等于特定值(如汽车、摩托车和人的0.9,房子的0.8,椅子和动物的0.7)。
- 从每个对象的上半球随机采样相机姿态,生成RGB图像和轮廓。
- 使用不同方法采集3D监督数据,如点云生成和深度帧渲染。
模型训练:
- 使用官方PyTorch实现的StyleGAN2作为基础。
- 训练配置包括使用判别器的 minibatch 标准偏差、生成器的指数移动平均、非饱和逻辑损失、R1正则化等。
- 使用两种不同的鉴别器(一个用于RGB图像,一个用于轮廓)进行训练。
- 使用Adam优化器进行训练,学习率设定为0.002,批量大小为32,使用8个A100 GPU进行训练。
评价指标:
- 使用Chamfer距离(dCD)、Light Field距离(dLFD)、覆盖度(COV)、最小匹配距离(MMD)等几何评价指标。
- 使用Fréchet Inception Distance (FID) 评估纹理和几何质量。
- 通过比较生成的模型与训练集中的模型,评估生成的模型的多样性。
实验结果:
- GET3D在多个类别的三维形状生成上显著优于现有方法。
- 通过添加体积细分,模型能够生成更精细的几何细节。
- 无监督的材料生成能够生成合理的表面材料属性,支持现实世界的物理渲染。
总结来说,该研究主要使用了ShapeNet、Turbosquid和RenderPeople等3D模型数据集进行训练和验证,通过不同的数据预处理和模型训练技术,实现高质量的3D纹理形状生成。
【模型架构】
GET3D 模型架构总结
GET3D (Generative Textured 3D Shapes from Images) 是一种用于生成高保真 3D 纹理网格的生成模型,这些网格可以直接被 3D 渲染引擎消费。GET3D 的主要创新点包括:
-
模型架构:
- GET3D 直接生成具有复杂拓扑结构和丰富几何细节的显式纹理 3D 网格。
- 几何生成器:使用可微分的显式曲面提取方法(DMTet)和可微分渲染技术来生成具有任意拓扑结构的3D网格。
- 纹理生成器:将纹理表示为纹理场,并使用三平面表示法(Tri-plane Representation)来表示纹理场,从而能够查询表面点的颜色。
-
训练过程:
- 生成过程:两部分组成:几何生成器和纹理生成器。几何生成器输出任意拓扑结构的表面网格,纹理生成器生成可以查询的纹理场。
- 损失函数:使用2D图像和二元判别器的对抗损失进行训练。
- 不同分辨率的数据集:通过图像分辨率对模型性能进行评估,发现高分辨率图像训练可以改善性能。
- 体积细分:在需要高分辨率细节时使用体积细分来生成更细腻的几何结构。
-
应用场景:
- 材料生成:通过生成表面材料来实现视依赖光照效果。
- 文本引导合成:通过 CLIP 模型实现文本引导的 3D 合成。
关键技术点
-
DMTet:
- 使用可微分的显式曲面提取方法,能够生成具有任意拓扑结构和丰富几何细节的3D网格。
-
三平面表示法(Tri-plane Representation):
- 用于纹理场的表示,可以方便地查询表面点的颜色。
-
可微分渲染:
- 使用高效的可微分渲染方法从2D图像生成3D几何体,支持对抗训练。
-
对抗损失:
- 使用判别器和生成器之间的对抗训练来提高生成质量。
-
体积细分:
- 在需要高分辨率细节时使用体积细分方法,以生成更细腻的几何结构。
结论
GET3D 是一种能够生成具有任意拓扑结构的高质量 3D 纹理网格的生成模型,使用仅基于2D图像的监督进行训练。通过实验,证明了在多个类别上比现有方法有显著改进。该工作旨在通过AI促进3D内容创作的普及,但仍存在一些局限性,如仍依赖于2D轮廓和相机分布的已知知识。
【创新点】
论文创新点总结
论文《GET3D: A Generative Model of High Quality 3D Textured Shapes Learned from Images》提出了一种新的三维生成模型GET3D,该模型能够从2D图像中生成高质量的3D纹理网格。以下是该论文的主要创新点:
-
直接生成复杂拓扑结构的3D纹理网格:
- GET3D能够直接生成具有复杂拓扑结构、丰富几何细节和高保真度纹理的3D网格。与之前的模型相比,它能够在不依赖于特定几何结构的情况下生成具有任意拓扑的形状。
-
融合不同领域的技术:
- GET3D结合了可微分表面建模、可微分渲染以及2D生成对抗网络(GAN)等领域的最新技术,从而实现从2D图像集合中训练生成模型。
- 该模型利用了一种可微分的显式表面提取方法和可微分渲染技术,使模型能够直接优化和输出带有任意拓扑结构的3D网格。
-
端到端可训练性:
相关文章:
GET3D:从图像中学习的高质量3D纹理形状的生成模型
【摘要】 本文提出了GET3D,这是一种新的生成模型,能够生成具有任意拓扑结构的高质量3D纹理网格,可以直接被3D渲染引擎使用并在下游应用中立即使用。现有的3D生成模型要么缺乏几何细节,要么生成的网格拓扑受限,通常不支持纹理,或者在生成过程中使用神经渲染器,使得它们在…...
TypeError: Cannot convert object to primitive value
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
【uniapp】图片添加canvas水印
目录 需求&背景实现地理位置添加水印 ios补充 需求&背景 需求:拍照后给图片添加水印, 水印包含经纬度、用户信息、公司logo等信息。 效果图: 方案:使用canvas添加水印。 具体实现:上传图片组件是项目里现有的ÿ…...
Flutter——最详细原生交互(MethodChannel、EventChannel、BasicMessageChannel)使用教程
MethodChannel(方法通道) 用途:实现 双向通信,用于调用原生平台提供的 API 并获取返回结果。 场景:适合一次性操作,如调用相机、获取设备信息等。 使用步骤: Flutter 端:通过 Meth…...
如何在PHP爬虫中处理异常情况的详细指南
一、常见的异常类型 在爬虫开发中,可能会遇到以下几种常见的异常情况: 网络请求失败:目标服务器不可用或网络连接问题。 页面结构变化:目标网站更新了HTML结构,导致选择器无法正确匹配。 反爬机制触发:请…...
贪吃蛇身匀速运动模型
通用运动模型 我们已知斜线为移动的距离 d d d, x x x轴总偏移量为 d x dx dx, y y y轴总偏移量为 d y dy dy,在一帧当中,我们也知道能走的距离为 m d md md。那么作为一般的运动模型,该如何确定我们进行移动的方向呢&…...
npm 执行安装报错
Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution. 原因 主要的原因是 npm7 以上的版本,新增了一个对等依赖的特性,在以…...
SPA单页面应用优化SEO
1.SSR服务端渲染 将组件或页面通过服务器生成html,再返回给浏览器,如nuxt.js或vue-server-renderer const Vue require(vue); const server require(express)(); const renderer require(vue-server-renderer).createRenderer();const vueApp new …...
笔记五:C语言编译链接
Faye:孤独让我们与我们所爱的人相处的每个瞬间都无比珍贵,让我们的回忆价值千金。它还驱使你去寻找那些你在我身边找不到的东西。 ---------《寻找天堂》 目录 一、编译和链接的介绍 1.1 程序的翻译环境和执行环境 1.1.1 翻译环境 1.1.2 运行环境 …...
【c语言概述、数据类型、运算符与表达式精选题】
c语言概述、数据类型、运算符与表达式精选题 一、易错题1.1🎄 c程序的执行1.2🎄 c程序的基本组成单元1.3🎄 c程序的组成1.4🎄 5种基本类型数据类型长度1.5🎄 C语言关键字1.6🎄 整型常量1.7🎄 合…...
200个前卫街头氛围涂鸦艺术水墨颜料手绘笔迹飞溅PNG免扣迭加纹理素材 VANTABLACK TEXTURES
探索 Vantablack 200 纹理包:您获得前卫、高分辨率纹理的首选资源。非常适合旨在为其作品添加原始都市氛围的设计师。这些透明迭加层使用简单,但非常有效,只需单击几下,即可将您的设计从普通变为非凡。准备好用既酷又百搭的质地来…...
机试准备第11天
第一题是浮点数加法,目前写过最长的代码。 #include <stdio.h> #include <string> #include <iostream> #include <vector> using namespace std; int main() {string str1;string str2;while (getline(cin, str1) && getline(cin…...
OpenIndiana Hipster系统安装配置
gcc安装 直接pkt install gcc会报错 需要 先pkt update,然后重启(不重启还是报错)用pkg search compiler找到可用的gcc包再pkt install xx安装这个包 TCP配置 参考这个网站:https://community.spiceworks.com/t/setting-tcp-p…...
深度学习模型Transformer核心组件—自注意力机制
第一章:人工智能之不同数据类型及其特点梳理 第二章:自然语言处理(NLP):文本向量化从文字到数字的原理 第三章:循环神经网络RNN:理解 RNN的工作机制与应用场景(附代码) 第四章:循环神经网络RNN、LSTM以及GR…...
Java核心语法:从变量到控制流
一、变量与数据类型(对比Python/C特性) 1. 变量声明三要素 // Java(强类型语言,需显式声明类型) int age 25; String name "CSDN"; // Python(动态类型) age 25 name …...
nature genetics | SCENT:单细胞多模态数据揭示组织特异性增强子基因图谱,并可识别致病等位基因
–https://doi.org/10.1038/s41588-024-01682-1 Tissue-specific enhancer–gene maps from multimodal single-cell data identify causal disease alleles 研究团队和单位 Alkes L. Price–Broad Institute of MIT and Harvard Soumya Raychaudhuri–Harvard Medical S…...
大白话如何使用 CSS 实现响应式布局?请列举一些常见的方法。
大白话如何使用 CSS 实现响应式布局?请列举一些常见的方法。 答题思路 首先要解释什么是响应式布局,让读者明白其概念和重要性。然后依次介绍常见的实现响应式布局的CSS方法,包括媒体查询、弹性布局(Flexbox)、网格布…...
基于数据挖掘的疾病数据可视化分析与预测系统
【大数据】基于数据挖掘的疾病数据可视化分析与预测系统(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 📌 技术核爆点:✔️ Python全栈开发Flask高能框架 ✔️ 爬虫技术…...
《AI大模型专家之路》No.2:用三个模型洞察大模型NLP的基础能力
用三个模型洞察大模型NLP的基础能力 一、项目概述 在这个基于AI构建AI的思维探索项目中,我们实现了一个基于BERT的中文AI助手系统。该系统集成了文本分类、命名实体识别和知识库管理等功能,深入了解本项目可以让读者充分了解AI大模型训练和推理的基本原…...
Spring Boot集成Minio笔记
一、首先配置MinIO 1、MinIO新建Bucket,访问控制台如图 创建访问密钥(就是账号和密码) 二、集成mino添加Minio客户端依赖 1.maven构建方式在pom.xml引入jar <dependency><groupId>io.minio</groupId><artifactId>minio</artifactI…...
本地运行Manus的替代方案:OpenManus的技术解析与实践指南
无需邀请码,三小时构建的开源智能体革命 一、背景:从Manus到OpenManus的技术突围 近期,AI智能体领域因Manus的发布引发热议。这款号称“全球首个通用型AI智能体”的产品,通过整合浏览器操作(Browser Use)…...
Spring Boot整合Resilience4j教程
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 以下是将Spring Boot与Resilience4j整合的详细教程,包含基础配置和核心功能示例: Spring Boot整合Resilience4j教程 Resilience4j提…...
HCIA-路由重分布
一、路由重分布是指在同一个网络中,将一种路由协议所学习到的路由信息导入到另一种路由协议中的技术,实现通信。 二、实验 1、配置 AR1AR2AR3sy sy AR1 int g 0/0/1 ip add 192.168.1.254 24 int g 0/0/0 ip add 10.1.1.1 24 rip version 2 net 192.16…...
低轨卫星引爆高频PCB市场:猎板PCB的技术革新与产业机遇
一、低轨卫星产业的爆发与高频PCB需求 低轨卫星(LEO Satellite)因其低延迟、广覆盖的特性,成为全球通信网络补盲的关键技术。根据行业预测,到2030年,全球低轨卫星数量将突破5万颗,市场规模超千亿美元12。这…...
事件系统之如何处理用户输入和其他事件
概述 在Qt中,事件系统是核心机制之一,它允许开发者以一种灵活且高效的方式处理各种类型的事件,包括用户输入、窗口系统事件、定时器事件等 基本概念 事件(Event):事件是描述应用程序状态变化的对象&…...
【项目】nnUnetv2复现
作者提出一种nnUNet(no-new-Net)框架,基于原始的UNet(很小的修改),不去采用哪些新的结构,如相残差连接、dense连接、注意力机制等花里胡哨的东西。相反的,把重心放在:预处理(resampling和normalization)、训练(loss,optimizer设置、数据增广)、推理(patch-based…...
【大学生体质】智能 AI 旅游推荐平台(Vue+SpringBoot3)-完整部署教程
智能 AI 旅游推荐平台开源文档 项目前端地址 ☀️项目介绍 智能 AI 旅游推荐平台(Intelligent AI Travel Recommendation Platform)是一个利用 AI 模型和数据分析为用户提供个性化旅游路线推荐、景点评分、旅游攻略分享等功能的综合性系统。该系统融合…...
TCP7680端口是什么服务
WAF上看到有好多tcp7680端口的访问信息 于是上网搜索了一下,确认TCP7680端口是Windows系统更新“传递优化”功能的服务端口,个人理解应该是Windows利用这个TCP7680端口,直接从内网已经具备更新包的主机上共享下载该升级包,无需从微…...
恭喜!《哪吒2》明天将荣登世界影坛第六!目前仅差1.81亿元
全球总票房为为20.27亿美元!3月8日将荣登世界影坛第六宝座! 中国票房 内地票房 中国电影票房、灯塔、猫眼三大数据源加权平均得出《哪吒2》中国内地总票房为144.26亿元人民币。 港澳票房 目前港澳地区没有新的数据显示,按3月6日1905电影网…...
e2studio开发RA4M2(15)----配置RTC时钟及显示时间
e2studio开发RA4M2.15--配置RTC时钟及显示时间 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置SWD调试口设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user…...
