/ Модель

Характеристики

Контекст
10 340 токенов
Параметры
403 млн
Лицензия
MIT
Архитектура
shape_opt · dense
Опубликована
5 авг 2024

MeshAnythingV2

Генерация текстаТекст → текст3 профессии

MeshAnythingV2 преобразует входные 3D-сетки в художественные низкополигональные сетки с ограничением до 1600 граней.

1 435скачиваний за 30 дней26лайковвеса обновлены11 авг 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

MeshAnythingV2 — модель проекта MeshAnything для преобразования входной 3D-сетки в малополигональную художественную сетку. В репозитории указана архитектура OPTForCausalLM семейства Shape-OPT; модель содержит около 402,8 млн параметров и распространяется в формате safetensors. Хотя авторский pipeline_tag обозначает задачу image-to-3d, README описывает обработку уже созданной плотной 3D-сетки, а не непосредственную генерацию сетки по изображению.

Модель предназначена для упрощения и художественного представления 3D-объектов с ограниченным числом граней, в том числе для последующей работы с результатами реконструкции или генерации 3D. README сообщает, что на входную сетку рекомендуется подавать нормализованный объект с направлением вверх по оси +Y; для сеток, не созданных Marching Cubes, предлагается предварительная обработка этим методом. Для обработки на A6000 требуется около 8 ГБ видеопамяти, генерация занимает примерно 45 секунд.

Обучение ограничено сетками менее чем с 1600 гранями, и модель не генерирует сетки более чем с 1600 гранями. Слишком мягкие или недостаточно детализированные формы трудно представить при таком лимите. Лицензия — MIT.

Сценарии применения

  • упрощение плотной 3D-сетки до малополигональной модели
  • создание художественной сетки по результату 3D-реконструкции
  • подготовка отсканированного 3D-объекта к использованию в графике
  • полигональная оптимизация сетки, созданной генератором 3D-объектов

Ограничения

Модель обучена на сетках менее чем с 1600 гранями и не может создавать сетки с большим числом граней; сложные или сглаженные формы могут быть представлены недостаточно точно. Для оптимальных результатов входную сетку рекомендуется нормализовать, ориентировать вверх по оси +Y и при необходимости предварительно обработать Marching Cubes.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

MeshAnythingV2

Library: https://github.com/buaacyw/MeshAnythingV2

Contents

Installation

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

  1. Clone our repo and create conda environment
git clone https://github.com/buaacyw/MeshAnythingV2.git && cd MeshAnythingV2
conda create -n MeshAnythingV2 python==3.10.13 -y
conda activate MeshAnythingV2
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
pip install -U gradio

Usage

For text/image to Artist-Create Mesh. We suggest using Rodin to first achieve text or image to dense mesh. And then input the dense mesh to us.

# Put the output obj file of Rodin to rodin_result and using the following command to generate the Artist-Created Mesh.
# We suggest using the --mc flag to preprocess the input mesh with Marching Cubes first. This helps us to align the inference point cloud to our training domain.
python main.py --input_dir rodin_result --out_dir mesh_output --input_type mesh --mc

Local Gradio Demo

python app.py

Mesh Command line inference

Important Notes: If your mesh input is not produced by Marching Cubes, We suggest you to preprocess the mesh with Marching Cubes first (simply by adding --mc).

# 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

# The mc resolution is default to be 128. For some delicate mesh, this resolution is not sufficient. Raise this resolution takes more time to preprocess but should achieve a better result.
# Change it by : --mc_level 7 -> 128 (2^7), --mc_level 8 -> 256 (2^8).
# 256 resolution Marching Cube example.
python main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc --mc_level 8

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 8GB and 45s to generate a mesh on an A6000 GPU (depending on the face number of the generated mesh).
  • 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 1600 faces and cannot generate meshes with more than 1600 faces. The shape of the input mesh should be sharp enough; otherwise, it will be challenging to represent it with only 1600 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, SDS-based method (like DreamCraft3D) or Rodin as the input of MeshAnything.
  • Please refer to https://huggingface.co/spaces/Yiwen-ntu/MeshAnything/tree/main/examples for more examples.

Acknowledgement

Our code is based on these wonderful repos:

BibTeX

@misc{chen2024meshanythingv2artistcreatedmesh,
      title={MeshAnything V2: Artist-Created Mesh Generation With Adjacent Mesh Tokenization}, 
      author={Yiwen Chen and Yikai Wang and Yihao Luo and Zhengyi Wang and Zilong Chen and Jun Zhu and Chi Zhang and Guosheng Lin},
      year={2024},
      eprint={2408.02555},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2408.02555}, 
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Архитектура shape_opt неизвестна transformers в образе рантайма.

Класс архитектуры
OPTForCausalLM
Ревизия весов
eaa7704

0 моделей