랭킹으로 돌아가기

buaacyw/MeshAnything

Pythonbuaacyw.github.io/mesh-anything/

[ICLR 2025] From anything to mesh like human artists. Official impl. of "MeshAnything: Artist-Created Mesh Generation with Autoregressive Transformers"

3dgenerative-aigenerative-modelmeshmesh-generationauto-regressive-modellarge-language-modelstransformerspoint-cloudiclr2025
스타 성장
스타
2.3k
포크
106
주간 성장
이슈
22
1.5k2k
2024년 6월2025년 2월2025년 11월2026년 7월
아티팩트PyPIpip install meshanything
README

MeshAnything:
Artist-Created Mesh Generation
with Autoregressive Transformers

Yiwen Chen1,2*, Tong He2†, Di Huang2, Weicai Ye2, Sijin Chen3, Jiaxiang Tang4
Xin Chen5, Zhongang Cai6, Lei Yang6, Gang Yu7, Guosheng Lin1†, Chi Zhang8†
*Work done during a research internship at Shanghai AI Lab.
Corresponding authors.
1S-Lab, Nanyang Technological University, 2Shanghai AI Lab,
3Fudan University, 4Peking University, 5University of Chinese Academy of Sciences,
6SenseTime Research, 7Stepfun, 8Westlake University

                   

Demo GIF

Release

  • [6/17] 🔥🔥 Try our newly released MeshAnything V2. Maximum face number is increased to 1600 in V2 with better performance.
  • [6/17] We released the 350m version of MeshAnything.

Contents

Installation

Our environment has been tested on Ubuntu 22, CUDA 11.8 with A100, A800 and A6000.

  1. Clone our repo and create conda environment
git clone https://github.com/buaacyw/MeshAnything.git && cd MeshAnything
conda create -n MeshAnything python==3.10.13 -y
conda activate MeshAnything
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
pip install flash-attn --no-build-isolation

or

pip install git+https://github.com/buaacyw/MeshAnything.git

And directly use in your code as

import MeshAnything

Usage

Local Gradio Demo

python app.py

Mesh Command line inference

# folder input
python main.py --input_dir examples --out_dir mesh_output --input_type mesh

# single file input
python main.py --input_path examples/wand.obj --out_dir mesh_output --input_type mesh

# Preprocess with Marching Cubes first
python main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc

Point Cloud Command line inference

# Note: if you want to use your own point cloud, please make sure the normal is included.
# The file format should be a .npy file with shape (N, 6), where N is the number of points. The first 3 columns are the coordinates, and the last 3 columns are the normal.

# inference for folder
python main.py --input_dir pc_examples --out_dir pc_output --input_type pc_normal

# inference for single file
python main.py --input_path pc_examples/mouse.npy --out_dir pc_output --input_type pc_normal

Important Notes

  • It takes about 7GB and 30s to generate a mesh on an A6000 GPU.
  • The input mesh will be normalized to a unit bounding box. The up vector of the input mesh should be +Y for better results.
  • Limited by computational resources, MeshAnything is trained on meshes with fewer than 800 faces and cannot generate meshes with more than 800 faces. The shape of the input mesh should be sharp enough; otherwise, it will be challenging to represent it with only 800 faces. Thus, feed-forward 3D generation methods may often produce bad results due to insufficient shape quality. We suggest using results from 3D reconstruction, scanning and SDS-based method (like DreamCraft3D) as the input of MeshAnything.
  • Please refer to https://huggingface.co/spaces/Yiwen-ntu/MeshAnything/tree/main/examples for more examples.

Training

Please refer to the training code of MeshAnythingV2 at https://github.com/buaacyw/MeshAnythingV2.

Acknowledgement

Our code is based on these wonderful repos:

Star History

Star History Chart

BibTeX

@misc{chen2024meshanything,
  title={MeshAnything: Artist-Created Mesh Generation with Autoregressive Transformers},
  author={Yiwen Chen and Tong He and Di Huang and Weicai Ye and Sijin Chen and Jiaxiang Tang and Xin Chen and Zhongang Cai and Lei Yang and Gang Yu and Guosheng Lin and Chi Zhang},
  year={2024},
  eprint={2406.10163},
  archivePrefix={arXiv},
  primaryClass={cs.CV}
}
관련 저장소
mrdoob/three.js

JavaScript 3D Library.

JavaScriptnpmMIT Licensejavascript3d
threejs.org
113.9k36.4k
DavidHDev/react-bits

An open source collection of animated, interactive & fully customizable React components for building memorable websites.

JavaScriptnpmOtheranimationscomponents
reactbits.dev
43.9k2.1k
FreeCAD/FreeCAD

Official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

C++GNU Lesser General Public License v2.1freecadengineering
freecad.org
32.3k5.8k
pmndrs/react-three-fiber

🇨🇭 A React renderer for Three.js

TypeScriptnpmMIT Licensereactthreejs
docs.pmnd.rs/react-three-fiber
31.5k1.9k
BabylonJS/Babylon.js

Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

TypeScriptnpmApache License 2.0webglwebgl2
babylonjs.com
25.8k3.7k
libgdx/libgdx

Desktop/Android/HTML5/iOS Java game development framework

JavaMavenApache License 2.0libgdxjava
libgdx.com
25.2k6.5k
4ian/GDevelop

🎮 Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.

JavaScriptnpmOthergamejavascript
gdevelop.io
25k1.5k
ssloy/tinyrenderer

A brief computer graphics / rendering course

C++Otheropenglc-plus-plus
haqr.eu/tinyrenderer/
23.9k2.3k
lettier/3d-game-shaders-for-beginners

🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

C++shaders3d
lettier.github.io/3d-game-shaders-for-beginners/index.html
19.8k1.5k
blender/blender

Official mirror of Blender

C++Otherb3danimation
developer.blender.org/docs/handbook/contributing/using_git/
19.3k3.1k
aframevr/aframe

:a: Web framework for building virtual reality experiences.

JavaScriptnpmMIT Licensevrwebvr
aframe.io
17.6k4.4k
CesiumGS/cesium

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:

JavaScriptnpmApache License 2.03dgeospatial
cesium.com/cesiumjs/
15.5k3.9k