Project Icon

meshgpt-pytorch

基于注意力机制的先进3D网格生成框架

MeshGPT-Pytorch是一个开源项目,专注于利用注意力机制实现3D网格生成。它基于PyTorch开发,支持可变长度面处理,并提供自动编码器和转换器模型。该项目计划引入文本条件控制功能,实现从文本到3D模型的转换。通过文本条件生成和分层转换器等高级特性,MeshGPT-Pytorch为3D内容创作和研究领域提供了先进的技术支持。

MeshGPT - Pytorch

在Pytorch中实现MeshGPT,使用注意力机制的最先进网格生成技术

还将添加文本条件,以实现最终的文本到3D资产转换

如果您有兴趣与他人合作复现这项工作,请加入加入我们的Discord

更新:Marcus已经训练并上传了一个可用模型到🤗 Huggingface!

致谢

安装

$ pip install meshgpt-pytorch

使用方法

import torch

from meshgpt_pytorch import (
    MeshAutoencoder,
    MeshTransformer
)

# 自动编码器

autoencoder = MeshAutoencoder(
    num_discrete_coors = 128
)

# 模拟输入

vertices = torch.randn((2, 121, 3))            # (批次, 顶点数, 坐标 (3))
faces = torch.randint(0, 121, (2, 64, 3))      # (批次, 面数, 顶点 (3))

# 确保对于可变长度的网格,faces用"-1"填充

# 前向传播faces

loss = autoencoder(
    vertices = vertices,
    faces = faces
)

loss.backward()

# 经过大量训练后...
# 您可以将上面的原始face数据传入transformer,以建模这个面顶点序列

transformer = MeshTransformer(
    autoencoder,
    dim = 512,
    max_seq_len = 768
)

loss = transformer(
    vertices = vertices,
    faces = faces
)

loss.backward()

# 在transformer经过大量训练后,您现在可以采样生成新的3D资产

faces_coordinates, face_mask = transformer.generate()

# (批次, 面数, 顶点 (3), 坐标 (3)), (批次, 面数)
# 现在对生成的3D资产进行后处理

对于基于文本条件的3D形状合成,只需在您的MeshTransformer上设置condition_on_text = True,然后将您的描述列表作为texts关键字参数传入

例如:

transformer = MeshTransformer(
    autoencoder,
    dim = 512,
    max_seq_len = 768,
    condition_on_text = True
)


loss = transformer(
    vertices = vertices,
    faces = faces,
    texts = ['一把高脚椅', '一个小茶壶'],
)

loss.backward()

# 在transformer经过大量训练后,您现在可以基于文本条件采样生成新的3D资产

faces_coordinates, face_mask = transformer.generate(
    texts = ['一张长桌'],
    cond_scale = 3.  # cond_scale > 1. 将启用无分类器引导 - 可以设置在3. - 10.之间的任何值
)

如果您想对网格进行标记化,以便在多模态transformer中使用,只需在自动编码器上调用.tokenize方法(或在自动编码器训练器实例上使用相同的方法来获取指数平滑模型)


mesh_token_ids = autoencoder.tokenize(
    vertices = vertices,
    faces = faces
)

# (批次, 面顶点数, 残差量化层)

类型检查

在项目根目录下运行

$ cp .env.sample .env

待办事项

  • 自动编码器

    • 使用torch geometric的encoder sageconv
    • 正确处理填充的scatter mean,用于平均顶点并在解码器回收之前对顶点进行RVQ
    • 完成解码器和重建损失 + 承诺损失
    • 处理可变长度的面
    • 添加使用残差LFQ的选项,这是最新的量化开发,可扩展代码利用率
    • 在编码器和解码器中使用xcit线性注意力
    • 找出如何直接从面和顶点自动推导face_edges
    • 在sage卷积之前嵌入从顶点派生的任何值(面积、角度等)
    • 在编码器中添加一个额外的图卷积阶段,其中顶点在聚合到面之前用其连接的顶点邻居进行丰富。设为可选
    • 允许编码器对顶点进行噪声处理,使自动编码器具有一定的去噪能力。考虑在噪声级别变化时对解码器进行条件处理
  • transformer

    • 在生成过程中正确屏蔽eos logit
    • 确保它能训练
      • 自动处理sos标记
      • 如果传入序列长度或掩码,自动处理eos标记
    • 处理可变长度的面
      • 在前向传播中
      • 在生成时,处理所有eos逻辑 + 将eos之后的所有内容替换为pad id
    • 生成 + 缓存kv
  • 使用hf accelerate的训练器包装器

    • 自动编码器 - 处理ema
    • transformer
  • 使用自己的 CFG 库进行文本调节

  • 完成初步文本调节

  • 确保 CFG 库能够支持在条件缩放时向两个独立调用传递参数(以及聚合它们的输出)

  • 完善神奇的数据集装饰器,看看能否将其移至 CFG 库

  • 分层变换器(使用 RQ 变换器)

  • 修复其他仓库中简单门控循环层的缓存

  • 局部注意力

  • 修复两阶段分层变换器的 kv 缓存 - 现在速度提升 7 倍,比原始非分层变换器更快

  • 修复门控循环层的缓存

  • 允许自定义细粒度和粗粒度注意力网络的模型维度

  • 弄清楚自动编码器是否真的必要 - 确实必要,消融实验在论文中

    • 当传入网格离散器时,可以注入带相对距离的界面间注意力
    • 额外的嵌入(角度、面积、法线)也可以在粗粒度变换器注意力之前附加
  • 提高变换器效率

    • 可逆网络
  • 推测解码选项

  • 花一天时间完善文档

引用

[引用内容保持不变]

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号