[读论文]meshGPT

21 篇文章 2 订阅
14 篇文章 2 订阅

概述

  • 任务:无条件生成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。

消融实验

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值