[读论文]meshGPT

概述

  • 任务:无条件生成mesh (无颜色)
  • 数据集:shapenet v2
  • 方法:先trian一个auto encoder,用来获得code book;然后trian一个自回归的transformer
  • mesh表达:face序列。face按规定的顺序;每个face用三个顶点的坐标表示

Learning Quantized Triangle Embeddings (一个auto encoder)

在这里插入图片描述

  • mesh表示为triangle face的序列。
    • triangle的顺序?作者直接按照Polygen来的:
    • 先排列vertex,再按vertex来排triangle
    • vertex是按zyx的顺序,从低到高排
    • triangle是从最low的vertex,次low的,最后到最high的vertex来排列。
  • face怎么表示呢?直接用3 vertices的9 coordinates 来表达一个face不太好;因此作者就这样:
    • 图卷积或的face feature vector
      • 用图来表达,图的节点是face,边是face的邻接关系
      • node features初始化为9个顶点的位置,face normal,edge between angles,area
      • 经过若干SAGEConv 层(也就是encoder E),得到每个face的feature vector Z
    • quantization: residual vector quantization (RQ)
      • 作者发现每个face只搞一个code效果不好。于是作者用stack of D codes per face。
      • 另外发现最好是按vertex来quantize
      • T = RQ (Z; C, D) , Z是刚才的face features,C是codebook, D是depth。 T就是得到的tokens。每个t就是一个codebook C里面的index,指向C里面的一个embedding e。(后面的transformer要用的就是这个e和codebook)
    • Decoder把face embeddings给decode成triangles
      • 先把D个features合成一个,方法是summation和concatenation
      • 用的是一个1D ResNet34 decoding head G,把刚才的这个code给decode成triangle序列,顺序就是刚才讲得顺序。每个face表示为9 coordinates。
        • 发现coordiantes预测为某些固定点的概率,会比直接回归坐标更准(图4)

在这里插入图片描述

mesh generation with transformers

在这里插入图片描述
像文字接龙的语言模型一样,自回归地训练transformer:

  • transformer训练时的输入,是刚才得到的e,(加上learned position encoding等);
  • 经过一个类似GPT的transformer,预测下一个token e在codebook中的index
  • 用交叉熵loss来train

得到mesh:

  • 接龙完成后(得到stop signal后),用刚才的resnet decoder G来得到mesh。
  • 用meshlab搞了一个后处理,来合并距离很近的点

训练时间

训练时间:
AutoEncoder用了2 A100, 2 days
transformer用了4 A100, 5 days

数据集:
ShapeNetV2, 所有55个categories来train GPT; 但在chair,table,bench和lamp这四个类别上finetune。

消融实验

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言:求十个数中的平均数

分析: 程序中定义了一个average函数,用于计算分数的平均值。该函数接受一个包含10个分数的数组作为参数,并返回平均值。在主函数main中,首先提示输入10个分数,然后使用循环读取输入的分数,并将它们存储在名…

VisualDL:开源AI可视化工具的引领者

在人工智能领域,可视化工具的重要性逐渐被认识到,它们能够帮助人们更好地理解和分析深度学习模型的性能、参数和训练过程。VisualDL是百度开源的一款强大的可视化工具,旨在提供直观、灵活和高效的AI模型可视化支持。本文将重点介绍和解释Visu…

【Element-ui】Link 文字链接 与 Radio 单选框

文章目录 前言一、Link 文字链接1.1 基础用法1.2 禁用状态1.3 下划线1.4 图标 二、Radio 单选框2.1 基础用法2.2 禁用状态2.3 单选框组2.4 按钮样式2.5 带有边框2.6 Radio Eventsinput事件 2.7 Radio-group Attributes 总结 前言 在前端开发中,用户界面的元素设计和…

并行和并发的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、并发2、并行3、异同点 1、并发 当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若…

leetCode 47. 全排列 II + 回溯算法 + 图解 + 笔记

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]] 示例 2: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2…

springboot虚拟请求——测试

springboot虚拟请求 表现层测试 web环境模拟测试 虚拟请求状态匹配——执行状态的匹配 Testvoid testStatus(Autowired MockMvc mvc) throws Exception { // //http://localhost:8080/books// 创建一个虚拟请求,当前访问的是booksMockHttpServletRequestBui…

【SparkSQL】SparkSQL的运行流程 Spark On Hive 分布式SQL执行引擎

【大家好,我是爱干饭的猿,本文重点介绍、SparkSQL的运行流程、 SparkSQL的自动优化、Catalyst优化器、SparkSQL的执行流程、Spark On Hive原理配置、分布式SQL执行引擎概念、代码JDBC连接。 后续会继续分享其他重要知识点总结,如果喜欢这篇文…

大气多功能工作室个人引导页源码

源码简介 大气多功能工作室个人引导页源码,支持三端自适应,带赞助功能,采用设计配色网站点赞量最高的一个配色方案,一个二次元风格的引导页就此诞生,经过长传美国服务器测试,结果也是很理想,测速…

《堆》的模拟实现

目录 前言: 模拟实现《堆》: 1.自定义数据类型 2.初始化“堆” 3.销毁“堆” 4.进“堆” 关于AdjustUp() 5.删除堆顶元素 关于AdjustDown() 6.判断“堆”是否为空 7.求“堆”中的数据个数 8.求“堆”顶元素 总结: 前言&#xf…

中国人工智能

随着科技的飞速发展,人工智能(AI)作为一项前沿技术在各个领域展现出了强大的潜力。本文将探讨中国人工智能的历史、现状,并展望其未来发展。 人工智能的起源与历史 人工智能的概念最早诞生于1956年的美国达特茅斯学院的夏季研讨会…

2022年4月12日 Go生态洞察:何时使用泛型 ️

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

目标检测——Fast R-CNN算法解读

论文:Fast R-CNN 作者:Ross Girshick 链接:https://arxiv.org/abs/1504.08083 代码:https://github.com/rbgirshick/fast-rcnn 目录 1、算法概述2、Fast R-CNN细节2.1The RoI pooling layer2.2 Fine-tuning for detection2.3 Fast…

火星探索:技术挑战与前沿进展

火星探索:技术挑战与前沿进展 一、引言 火星,这颗红色的星球,长久以来一直吸引着人类的目光。随着科技的飞速发展,火星探索已经从纯粹的科幻梦想逐渐转变为现实的研究课题。然而,火星探索仍然面临着诸多技术挑战。本文将深入探讨火星探索的关键技术、现有技术瓶颈以及前沿…

【FPGA图像处理实战】- 图像基础知识

视频图像处理是FPGA主要应用方向之一,很多FPGA从事或准备进入这一领域,我们现在开始发布新的FPGA实战专栏——FPGA图像处理。 FPGA处理视频图像处理的主要优势是流水线和并行处理运算,特别是现在视频分辨率越来越大,从720p到1080…

文字、图片免费生成视频和专属数字人,你不来试试吗?

查看生成的效果:AI产生的视频(关注公众号,获取精彩内容) 您是否想要制作一些令人惊叹的视频,但又没有视频编辑的技能或经验?您是否想要利用人工智能的力量,让您的图片和声音变成动态的视频&…

二叉树链式结构的实现——C语言

目录 一、提前说明 二、二叉树的遍历 2.1前序遍历 2.2中序遍历 2.3后序遍历 2.4代码 三、二叉树结点个数 3.1整体思路 3.2代码 四、二叉树叶子结点个数 4.1整体思路 4.2代码 五、二叉树的高度(深度) 5.1整体思路 5.2代码 六、二叉树第k层节点个数 6.1整体…

selenium三猛士

selenium包括三个项目,分别是:Selenium WebDriver,Selenium IDE,Selenium Grid。 Selenium WebDriver Selenium WebDriver是客户端API接口,测试人员通过调用这些接口,来访问浏览器驱动,浏览器再访问浏览器…

数学建模 | MATLAB数据建模方法--机器学习方法

近年来,全国赛的题目中,多多少少都有些数据,而且数据量总体来说呈不断增加的趋势, 这是由于在科研界和工业界已积累了比较丰富的数据,伴随大数据概念的兴起及机器学习技术的发展, 这些数据需要转化成更有意…

Linux的基本指令(4)

目录 20.tar指令(重要):打包/解包,不打开它,直接看内容 21.bc指令 22.uname –r指令: 23.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d 20.tar指令(重要):打包/解包&#…

Kubernetes(K8s)Pod控制器详解-06

Pod控制器详解 Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建 控制器创建…