TL;DR Faithful Contouring reemplaza el antiguo pipeline de SDF + Marching Cubes con Faithful Contour Tokens — codificando mallas de triángulos directamente en tokens de vóxeles dispersos de 18 dimensiones, sin watertighting, sin campos de distancia. Puro CUDA, 1024³ en ~1.4 s, 2048³ en menos de 5 s en un solo H100.
El año pasado ha visto un aumento en el trabajo de generación 3D — métodos como Trellis y Hunyuan3D encabezando los benchmarks casi cada mes. Pero aquí está lo fácil de pasar por alto: mientras que las arquitecturas de red han evolucionado hacia DiT, Flow Matching, y Sparse Voxel Transformer, la representación 3D subyacente todavía depende de la era de 1987 SDF + Marching Cubes. Faithful Contouring ofrece un enfoque fundamentalmente diferente para la voxelización 3D.
Faithful Contouring (FC), aceptado como un CVPR 2026 Oral, omite el watertighting, omite la construcción del campo SDF, y omite por completo los Marching Cubes. En su lugar, FC codifica mallas de triángulos directamente en tokens de vóxeles dispersos — una nueva representación 3D que preserva la topología, bordes afilados y estructuras internas. Todo el pipeline de malla a vóxel está implementado como kernels de CUDA puros, completando voxelización 1024³ en aproximadamente 1 segundo y 2048³ en menos de 5 segundos en una sola NVIDIA H100.
Por qué SDF + Marching Cubes es el Cuello de Botella en la Voxelización 3D
Durante años, prácticamente todos los métodos de reconstrucción y generación 3D feedforward — DeepSDF, Occupancy Networks, y más recientemente Trellis, Hunyuan3D, Sparc3D, TripoSF — han seguido el mismo pipeline:
Malla cruda → Conversión watertight → SDF / UDF → Marching Cubes → Nueva malla
Este pipeline parece de propósito general, pero cada etapa introduce una pérdida de información no trivial:
-
El preprocesamiento watertight típicamente usa dilatación ε-ball para sellar agujeros. Esto reescribe la topología y convierte conchas delgadas en conchas gruesas.
-
El cálculo de signo se basa en algoritmos globales como flood-fill o números de enrollamiento para la clasificación dentro/fuera. Estos son inestables en geometría no manifold, superficies abiertas y cavidades internas — y resisten el paralelismo en GPU.
-
La extracción de iso-superficie a través de Marching Cubes suaviza los bordes afilados, destruye la estructura interna y deja atrás artefactos de escalera.
El cuello de botella más práctico es la resolución: los métodos existentes basados en SDF casi todos se limitan por debajo de 2048³ para la voxelización 3D, precisamente porque la propagación de signo global y los costos de preprocesamiento watertight explotan con la resolución. Faithful Contouring fue diseñado para evitar todo este pipeline.
![]()
Qué Hace que Faithful Contouring se Destaque
La mayoría de los métodos de voxelización 3D siguen un camino fijo: malla a campo de distancia a iso-superficie. Faithful Contouring plantea una pregunta diferente:
¿Podemos saltarnos el desvío de malla → campo de distancia → iso-superficie, y en su lugar extraer puntos de anclaje candidatos directamente dentro de cada vóxel, para luego reconectarlos en una superficie basada en relaciones topológicas?
Esto es exactamente lo que hace Faithful Contouring. Codifica mallas de triángulos directamente en un conjunto de tokens de vóxeles dispersos llamados Faithful Contour Tokens (FCT). El pipeline tiene tres propiedades clave:
- Sin campo de distancia — no se necesita cálculo de SDF, no se necesita determinación de signo
- Sin renderizado — no se requiere supervisión de renderizado diferenciable
- Totalmente local — cada vóxel interactúa solo con los pocos triángulos que lo atraviesan, haciéndolo naturalmente paralelo en GPU
Faithful Contouring vs SDF + Marching Cubes
| Propiedad | Pipeline de SDF + Marching Cubes | Faithful Contouring |
|---|---|---|
| Superficies abiertas / no manifold | Debe watertight primero (pierde topología) | Soportado nativamente |
| Cavidades internas | Borradas por flood-fill | Totalmente preservadas |
| Bordes afilados / esquinas | Redondeados por MC | Capturados naturalmente vía QEF |
| Representación por vóxel | 1 valor SDF | Token de 18 dimensiones |
| Edición / ensamblaje | Difícil | Operaciones directas a nivel de token |
| Faithful Contouring admite superficies abiertas, geometría no manifold y cavidades internas de forma nativa, características que los métodos de voxelización basados en SDF pierden durante el preprocesamiento hermético. |
Cómo Funciona Faithful Contouring: Pipeline de Codificador y Decodificador
El pipeline de Faithful Contouring consta de un Codificador y un Decodificador, ambos construidos completamente sobre operadores de geometría clásica sin componentes aprendidos.
![]()
Codificador: Malla → FCT
Para cada voxel en la cuadrícula , se ejecutan cuatro pasos en secuencia:
-
Detección de Vóxel Activo (SAT) — Usando el Teorema del Eje Separador a través de 13 ejes candidatos, probamos si un triángulo intersecta un voxel dado . Los vóxeles que se intersectan se marcan como vóxeles primarios activos.
-
Centroides de Intersección — El algoritmo de Sutherland–Hodgman recorta cada triángulo contra las seis caras del voxel para producir un polígono convexo , luego calcula su centroide:
Por convexidad, este centroide está garantizado para estar dentro del voxel. Cada , emparejado con la normal del triángulo de origen , forma una muestra de geometría local.
- Ajuste de Anclaje (QEF) — Este es el paso central. Todas las muestras se introducen en una minimización de la Función de Error Cuádrico:
El primer término impone consistencia de plano tangente, llevando el anclaje hacia la intersección común de todos los planos tangentes, por lo que los bordes y esquinas afiladas se capturan naturalmente. El segundo término proporciona regularización del centroide para suprimir el desplazamiento bajo entradas mal condicionadas. La solución se da en forma cerrada por una ecuación normal 3×3:
Las normales se resuelven mediante regularización de Tikhonov. Toda la solución es completamente independiente por voxel, la razón fundamental por la que FC escala a 2048³.
En resoluciones de vóxel más bajas, los anclajes resueltos por QEF aún se ajustan de manera confiable a características afiladas.
- Intersecciones de Semi-eje — Se realiza la intersección de rayo-triángulo de Möller–Trumbore a lo largo de seis direcciones de semi-eje, produciendo una codificación binaria utilizada durante la decodificación para determinar la orientación de la cara.
Toda la información se empaqueta por voxel en una sola fila:
Cada voxel activo ocupa 18 dimensiones.
Decodificador: FCT → Malla
La decodificación consta de dos pasos:
Recolección global — Los vóxeles primarios vecinos que comparten un voxel dual promedian sus puntos de anclaje para producir un conjunto de vértices unificado .
Cuad → Tri — Los cuatro anclajes duales en cada cara primaria forman un cuadrilátero. La orientación se determina mediante el código de semi-eje, y el cuadrilátero se divide en dos triángulos a lo largo de la diagonal que minimiza la desviación normal.
Toda la decodificación también es completamente local, sin búsqueda global involucrada.
Ingeniería: Voxelización en Sub-Segundos con Paralelismo CUDA
El diseño del algoritmo de FC se alinea estrechamente con el paralelismo de GPU: cada voxel depende solo de los pocos triángulos que lo intersectan, la solución QEF es una ecuación normal 3×3 de forma cerrada, y todo el pipeline no contiene operadores globales. Por eso escala a 2048³.
Específicamente, FC evita los siguientes procesos globales: propagación de componentes conectados por llenado de inundación, integración completa de malla de número de enrollamiento, dilatación de bola ε para hermetización, y post-procesamiento de Marching Cubes. El cálculo de cada voxel es completamente independiente y se asigna directamente a un hilo CUDA. Implementamos todos los operadores principales como núcleos CUDA puros: intersección SAT, recorte de Sutherland–Hodgman, QEF en forma cerrada e intersección de medio eje de Möller–Trumbore, eliminando bucles a nivel de Python. Benchmarks en una sola NVIDIA H100:
| Resolución | Vóxeles Activos | Codificar | Decodificar | Total |
|---|---|---|---|---|
| 128³ | 71K | 0.27 s | 0.02 s | 0.29 s |
| 256³ | 287K | 0.45 s | 0.06 s | 0.51 s |
| 512³ | 1.1M | 0.52 s | 0.17 s | 0.70 s |
| 1024³ | 4.6M | 0.82 s | 0.61 s | 1.42 s |
| 2048³ | 18.4M | 2.16 s | 2.51 s | 4.68 s |
Números clave: 512³ de extremo a extremo en 0.7 s, 1024³ en aproximadamente 1.4 s, 2048³ en menos de 5 s. La latencia total escala aproximadamente de manera lineal con el conteo de vóxeles activos.
Para comparación, las tuberías tradicionales de reconstrucción SDF basadas en flood-fill o números de enrollamiento típicamente requieren minutos a decenas de minutos en 1024³, y no pueden escalar prácticamente a 2048³ debido a la sobrecarga de memoria y cómputo de la propagación de signo global. FC no solo funciona directamente en 2048³, sino que mantiene la latencia de extremo a extremo en la escala de segundos.
Resultados Experimentales
Precisión de Representación
En subconjuntos desafiantes de ABO y Objaverse:
| Método | Resolución | HD ↓ | CD (G→P) ↓ | F-score (0.01) ↑ |
|---|---|---|---|---|
| UDF | 1024 | Alta (artefactos de doble capa) | Alta | Baja |
| Flood-fill SDF | 1024 | Alta (superficies infladas) | Alta | Media |
| FlexiCubes | 1024 | Media | Media | Media |
| FC | 1024 | 0.11 × 10⁻² | 0.01 × 10⁻⁴ | 99.71 |
| FC | 2048 | 0.11 × 10⁻² | < 0.01 × 10⁻⁴ | 99.99 |
FC es actualmente la única representación de vóxeles que funciona directamente en 2048³, con errores de distancia estables en la escala de 10⁻⁵.
![]()
Reconstrucción VAE
Para validar FCT como una representación de aprendizaje profundo, construimos un VAE de modo dual usando convoluciones 3D dispersas más atención ligera, soportando dos modos de entrada: (a) auto-compresión FCT → FCT, y (b) nube de puntos → FCT.
Comparado con Trellis, SparseFlex y Sparc3D en el benchmark Dora y Toys4k:
- Distancia de Chamfer reducida aproximadamente en 93%
- F-score mejorado aproximadamente en 35%
Notablemente, FC-VAE a resolución 512³ ya supera las reconstrucciones de SparseFlex / Sparc3D en 1024³, demostrando que una representación sin pérdidas puede reducir significativamente la carga de aprendizaje en redes posteriores.
![]()
Edición y Composición con Tokens de Contorno Fiel
FCT es una representación de vóxeles dispersos basada en tokens, lo que significa que todas las operaciones a nivel de vóxel se transfieren directamente a tokens. FCT soporta cuatro categorías de operaciones directas a nivel de token:
![]()
- Filtrado — El trazado de rayos calcula la visibilidad; los vóxeles internos ocultos y sus tokens son eliminados por umbral.
- Textura — Se añaden canales adicionales al token de 18D, vinculando atributos de textura a anclas.
- Manipulación — La rotación y la deformación no lineal actúan directamente sobre las anclas, seguidas por el recálculo de la conectividad.
- Partición y Ensamblaje — La fusión utiliza agregación media en posiciones de ancla y agregación máxima para orientación; la división copia y separa grupos de tokens mediante máscaras geométricas o semánticas.
Esto hace que FCT no sea solo una representación de entrada, sino un contenedor de tokens de geometría que soporta composición, edición, texturización y transferencia de estilo, bien alineado con la próxima fase de generación 3D: a nivel de partes, editable y multimodal.
Código Abierto y Reproducibilidad
El código es completamente de código abierto. A partir de la versión v1.5, la base de código fue refactorizada a Python puro + Atom3d, con núcleos CUDA distribuidos como ruedas precompiladas — no se requiere una cadena de herramientas C++ local. Proporcionamos tanto un entorno de un clic Pixi como una instalación tradicional con pip, cubriendo todo, desde la reproducción de investigaciones hasta la integración en producción.
El repositorio incluye:
- Codec FCT completo (FCTEncoder / FCTDecoder), compatible con resoluciones arbitrarias desde 128³ hasta 2048³
- Backend de intersección de malla acelerado por BVH Atom3d
- Scripts de demostración y mallas de muestra (icosfera, barco pirata, etc.) — listos para ejecutar y comparar salidas GLB directamente
- Código de entrenamiento FCT-VAE y pesos del modelo de difusión (próximamente)
Repositorio: github.com/Luo-Yihao/FaithC
Resumen
Lo que hace Faithful Contouring se puede resumir en una frase:
Migra la capa de representación 3D del paradigma de campo de distancia al paradigma de token de contorno.
Los campos de distancia y Marching Cubes se remontan a la década de 1980. Sus contemporáneos en 2D han sido reemplazados desde hace tiempo por splines, rasterizadores de fuentes SDF y renderizado neuronal a lo largo de múltiples ciclos de iteración. En el lado 3D, el acoplamiento profundo entre la tubería y los conjuntos de datos y marcos de evaluación establecidos ha impedido durante mucho tiempo un replanteamiento sistemático de la capa de representación en sí. FC ofrece una nueva base: resoluble en forma cerrada, amigable con GPU y escalable a 2048³ — manejando nativamente superficies abiertas y geometría no manifold, preservando completamente estructuras internas y bordes afilados, todo dentro de 18 dimensiones por vóxel.
Una corroboración notable: poco después de que este trabajo se hiciera público, Microsoft lanzó TRELLIS.2 en enero de 2026, introduciendo O-Voxel — una representación de vóxel disperso sin campo que también evita los campos SDF / de ocupación y codifica topologías arbitrarias (incluyendo superficies no manifold y abiertas) directamente a través de mallas duales. Dos caminos independientes que convergen en conclusiones similares dentro de un estrecho margen de tiempo sugiere que las iso-superficies ya no son la única opción para la representación 3D.
Limitaciones
La versión actual de FC tiene varias limitaciones claras:
- Auto-intersección severa y estructuras estrechamente estratificadas — Cuando múltiples superficies delgadas se entrelazan o presionan juntas a escala sub-vóxel, las muestras dentro de un solo vóxel provienen de diferentes láminas. El ancla resuelta por QEF se vuelve ambigua y exhibe un desplazamiento local.
- Capacidad VAE infrautilizada — El FCT-VAE actual adopta la columna vertebral de convolución dispersa + atención local de Sparc3D / SparseFlex. Su capacidad de modelado para ramas extremadamente finas, decoraciones densas y otras estructuras altamente irregulares aún tiene margen de mejora.
- Degradación de nitidez a través de la decodificación — FCT decodificado a través del VAE muestra una ligera pérdida de nitidez y suavidad en comparación con el ajuste directo, inherente a la compresión latente. Esto también señala la necesidad de una alineación más fina entre las representaciones de tokens y las dimensiones latentes.
Qué sigue: Vista previa de Vision 2
En el próximo Faithful Contouring 2.0, extendemos FCT a una forma de múltiples anclas — un solo vóxel ya no está limitado a un ancla, sino que puede albergar múltiples anclas para representar estructuras complejas que se cruzan. Esto mejorará sistemáticamente el rendimiento de FC en auto-intersecciones, geometrías estrechamente estratificadas y conchas delgadas anidadas, al tiempo que proporciona a las redes posteriores información geométrica local más detallada. Mantente atento.
Citación
@inproceedings{luo2026faithfulcontouring,
title = {Faithful Contouring: Near-Lossless 3D Voxel Representation Free from Iso-surface},
author = {Luo, Yihao and He, Xianglong and Pan, Chuanyu and Chen, Yiwen and Wu, Jiaqi
and Li, Yangguang and Ouyang, Wanli and Hu, Yuanming and Yang, Guang y Yap, ChoonHwai},
booktitle = {CVPR},
year = {2026}
}¿Suficiente con SDF + Marching Cubes? Es hora de devolver la geometría — fielmente.
CVPR 2026 Oral · arXiv 2511.04029 · GitHub: Luo-Yihao/FaithC
Yihao Luo, Imperial College London — y.luo23@imperial.ac.uk


