>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Python

Cómo Microsoft enseñó a las redes neuronales a ensamblar modelos 3D en segundos

Piensa en cuánto tiempo suele llevar crear un activo 3D de calidad. Incluso si no modelas a mano sino que usas redes neuronales de primera generación, el proceso a menudo se siente como una lotería: las texturas "derivan", la geometría se convierte en un desastre, o la GPU se ahoga con la memoria. Microsoft lanzó TRELLIS.2, y esta es probablemente una de las tentativas más sensatas para hacer que la generación de objetos 3D a partir de una sola imagen sea verdaderamente rápida y de alta calidad.

Qué es y por qué lo necesitamos

TRELLIS.2 es un modelo generativo grande con 4 mil millones de parámetros. En términos simples, toma una imagen 2D regular y la convierte en un objeto 3D completo. Pero a diferencia de muchos proyectos académicos que generan una "nube de puntos" o una malla rota, aquí obtienes un activo listo para renderizado con materiales PBR (color, metálico, rugosidad).

Lo interesante es que los desarrolladores abandonaron los campos de distancia firmados convencionales (SDF) en favor de una estructura que llamaron O-Voxel. Esto permitió que el modelo "comprendiera" topologías complejas: ropa, hojas de árboles u objetos con cavidades internas en los que los algoritmos anteriores se ahogaban.

Teaser

Qué distingue a TRELLIS.2 del resto

Con frecuencia veo proyectos que prometen "fotorrealismo", pero en realidad requieren una H100 y media hora para una sola silla. La situación aquí es diferente.

Velocidad y resolución

El modelo funciona con un VAE 3D disperso con compresión espacial de 16x. Esto permite generar objetos a resolución 512³ en solo 3 segundos. Si necesitas algo más serio, como 1024³, tendrás que esperar unos 17 segundos. Como comparación: muchas alternativas tardan minutos en esto, y el resultado a menudo se ve peor.

Trabajo con materiales

No es solo una figurita coloreada. El modelo genera atributos completos de superficie:

  • Color base
  • Rugosidad
  • Metálico
  • Opacidad

El último punto es especialmente agradable. Ahora puedes generar objetos de vidrio o telas semitransparentes, y se verán decentes cuando se rendericen.

Versatilidad de topología

Gracias a O-Voxel, el modelo no intenta "parchar" todos los agujeros en un objeto. Maneja fácilmente superficies abiertas (como una hoja de papel delgada o el dobladillo de un vestido) sin corromper la geometría donde las superficies no se tocan.

El lado técnico de las cosas

Debajo del capó, TRELLIS.2 funciona con un DiT (Diffusion Transformer). Para que todo esto vuele, el equipo de Microsoft escribió varias bibliotecas auxiliares que vienen incluidas:

  1. FlexGEMM — implementación de convolución dispersa en Triton.
  2. CuMesh — utilidades CUDA para procesamiento rápido de mallas, unwrap UV y decimación.
  3. O-Voxel — el núcleo en sí para trabajar con su nueva representación de datos.

Curiosamente, el proceso de conversión de malla a vóxeles y viceversa toma apenas milisegundos en GPU. Esto es crítico si planeas integrar esta solución en un pipeline de desarrollo de juegos.

Cómo ejecutar esto tú mismo

Diré de antemano: el proyecto es exigente. Necesitarás Linux y una GPU NVIDIA con al menos 24 GB de VRAM (RTX 3090/4090 o servidor A100/H100). En Windows, probablemente solo podrás ejecutarlo a través de WSL2, pero los desarrolladores probaron estrictamente en Linux.

La instalación parece estándar para proyectos como este, pero requiere compilar extensiones CUDA:

git clone -b main https://github.com/microsoft/TRELLIS.2.git --recursive
cd TRELLIS.2
# Скрипт создаст окружение и поставит все зависимости, включая специфичные либы
. ./setup.sh --new-env --basic --flash-attn --nvdiffrast --nvdiffrec --cumesh --o-voxel --flexgemm

Si todo salió bien, puedes ejecutar la generación en solo unas pocas líneas de código:

from trellis2.pipelines import Trellis2ImageTo3DPipeline
from PIL import Image

# Загружаем модель (веса подтянутся с Hugging Face)
pipeline = Trellis2ImageTo3DPipeline.from_pretrained("microsoft/TRELLIS.2-4B")
pipeline.cuda()

# Берем картинку и запускаем магию
image = Image.open("your_image.png")
mesh = pipeline.run(image)[0]

# Экспортируем в GLB с текстурами
# (в коде репозитория есть подробный пример в example.py)

¿Vale la pena probar?

El proyecto parece una herramienta sólida para cualquiera que necesite poblar rápidamente escenas con objetos únicos. Sí, los requisitos del sistema son estrictos, pero 4 mil millones de parámetros y PBR real lo valen.

Lo que especialmente me gusta es que Microsoft lanzó no solo pesos e inferencia, sino también el código de entrenamiento completo. Esto significa que pronto veremos modelos ajustados para estilos específicos o categorías de objetos. Si trabajas con generación 3D o simplemente te gusta explorar modelos SOTA frescos, TRELLIS.2 definitivamente merece una noche de tu tiempo para estudiarlo. Solo asegúrate de tener CUDA 12.4 instalado, de lo contrario el proceso de configuración se convertirá en una búsqueda emocionante para corregir errores de compilación.

Proyectos relacionados