TL;DR O Faithful Contouring substitui o pipeline SDF + Marching Cubes, que existe há décadas, por Faithful Contour Tokens — codificando malhas de triângulos diretamente em tokens de voxel esparsos de 18 dimensões, sem vedação, sem campos de distância. Puro CUDA, 1024³ em ~1,4 s, 2048³ em menos de 5 s num único H100.
O último ano assistiu a um aumento no trabalho de geração 3D — métodos como Trellis e Hunyuan3D liderando benchmarks quase todos os meses. Mas aqui está o que é fácil de ignorar: enquanto as arquiteturas de rede evoluíram para DiT, Flow Matching e Sparse Voxel Transformer, a representação 3D subjacente ainda depende do SDF + Marching Cubes de 1987. O Faithful Contouring oferece uma abordagem fundamentalmente diferente para a voxelização 3D.
Faithful Contouring (FC), aceito como uma Oral no CVPR 2026, evita a vedação, evita a construção do campo SDF e evita completamente o Marching Cubes. Em vez disso, o FC codifica malhas de triângulos diretamente em tokens de voxel esparsos — uma nova representação 3D que preserva a topologia, arestas afiadas e estruturas internas. Todo o pipeline de malha para voxel é implementado como kernels puros de CUDA, completando a voxelização 1024³ em aproximadamente 1 segundo e 2048³ em menos de 5 segundos num único NVIDIA H100.
Por Que o SDF + Marching Cubes é o Gargalo na Voxelização 3D
Durante anos, praticamente todos os métodos de reconstrução e geração 3D feedforward — DeepSDF, Occupancy Networks, e mais recentemente Trellis, Hunyuan3D, Sparc3D, TripoSF — seguiram o mesmo pipeline:
Malha bruta → Conversão vedada → SDF / UDF → Marching Cubes → Nova malha
Este pipeline parece de propósito geral, mas cada etapa introduz uma perda de informação não trivial:
-
Pré-processamento vedado tipicamente usa dilatação de ε-bola para selar buracos. Isto reescreve a topologia e transforma conchas finas em conchas grossas.
-
Cálculo de sinal depende de algoritmos globais como preenchimento por inundação ou números de enrolamento para classificação dentro/fora. Estes são instáveis em geometria não-manifold, superfícies abertas e cavidades internas — e resistem ao paralelismo de GPU.
-
Extração de iso-superfície via Marching Cubes suaviza arestas afiadas, destrói a estrutura interna e deixa para trás artefatos de escada.
O gargalo mais prático é a resolução: os métodos baseados em SDF existentes quase todos limitam-se abaixo de 2048³ para voxelização 3D, precisamente porque os custos de propagação de sinal global e pré-processamento vedado explodem com a resolução. O Faithful Contouring foi projetado para contornar todo este pipeline.
![]()
O Que Faz o Faithful Contouring Destacar-se
A maioria dos métodos de voxelização 3D segue um caminho fixo: malha para campo de distância para iso-superfície. O Faithful Contouring faz uma pergunta diferente:
Podemos evitar o desvio de malha → campo de distância → iso-superfície e, em vez disso, extrair pontos de ancoragem candidatos diretamente dentro de cada voxel, depois reconectá-los numa superfície com base em relações topológicas?
É exatamente isso que o Faithful Contouring faz. Ele codifica malhas de triângulos diretamente num conjunto de tokens de voxel esparsos chamados Faithful Contour Tokens (FCT). O pipeline tem três propriedades-chave:
- Sem campo de distância — sem cálculo de SDF, sem necessidade de determinação de sinal
- Sem renderização — sem necessidade de supervisão de renderização diferenciável
- Totalmente local — cada voxel interage apenas com os poucos triângulos que o atravessam, tornando-o naturalmente paralelo em GPU
Faithful Contouring vs SDF + Marching Cubes
| Propriedade | Pipeline SDF + Marching Cubes | Faithful Contouring |
|---|---|---|
| Superfícies abertas / não-manifold | Deve vedar primeiro (perde topologia) | Suportado nativamente |
| Cavidades internas | Apagadas por preenchimento por inundação | Totalmente preservadas |
| Arestas afiadas / cantos | Arredondados por MC | Capturados naturalmente via QEF |
| Representação por voxel | 1 valor SDF | Token de 18 dimensões |
| Edição / montagem | Difícil | Operações diretas ao nível do token |
| O Faithful Contouring suporta superfícies abertas, geometria não-manifold e cavidades internas de forma nativa — características que os métodos de voxelização baseados em SDF perdem durante o pré-processamento à prova de água. |
Como Funciona o Faithful Contouring: Pipeline de Codificador e Decodificador
O pipeline do Faithful Contouring consiste num Codificador e num Decodificador, ambos construídos inteiramente com operadores de geometria clássica, sem componentes aprendidos.
![]()
Codificador: Malha → FCT
Para cada voxel na grelha , quatro passos são executados em sequência:
-
Deteção de Voxel Ativo (SAT) — Usando o Teorema do Eixo Separador em 13 eixos candidatos, testamos se um triângulo intersecta um dado voxel . Voxels que intersectam são marcados como voxels primários ativos.
-
Centroides de Interseção — O algoritmo de Sutherland–Hodgman recorta cada triângulo contra as seis faces do voxel para produzir um polígono convexo , e depois calcula o seu centroide:
Por convexidade, este centroide está garantido a estar dentro do voxel. Cada , emparelhado com a normal do triângulo de origem , forma uma amostra de geometria local.
- Ajuste de Âncora (QEF) — Este é o passo central. Todas as amostras são alimentadas numa minimização da Função de Erro Quadrático:
O primeiro termo impõe consistência do plano tangente, direcionando a âncora para a interseção comum de todos os planos tangentes — razão pela qual arestas e cantos afiados são naturalmente capturados. O segundo termo fornece regularização do centroide para suprimir desvios em entradas mal condicionadas. A solução é dada em forma fechada por uma equação normal 3×3:
As normais são resolvidas via regularização de Tikhonov. Toda a resolução é completamente independente por voxel — a razão fundamental pela qual o FC escala para 2048³.
Em resoluções de voxel mais baixas, as âncoras resolvidas por QEF ainda se ajustam de forma confiável a características afiadas.
- Interseções Semi-eixo — A interseção raio–triângulo de Möller–Trumbore é realizada ao longo de seis direções de meio-eixo, produzindo uma codificação binária usada durante a decodificação para determinar a orientação da face.
Toda a informação é compactada por voxel numa única linha:
Cada voxel ativo ocupa 18 dimensões.
Decodificador: FCT → Malha
A decodificação consiste em dois passos:
Recolha global — Voxels primários vizinhos que partilham um voxel duplo medem as suas âncoras para produzir um conjunto de vértices unificado .
Quad → Tri — As quatro âncoras duplas em cada face primária formam um quadrilátero. A orientação é determinada pelo código semi-eixo, e o quadrilátero é dividido em dois triângulos ao longo da diagonal que minimiza a desvio normal.
Toda a decodificação é também completamente local — sem pesquisa global envolvida.
Engenharia: Voxelização em Sub-Segundos com Paralelismo CUDA
O design do algoritmo do FC alinha-se estreitamente com o paralelismo GPU: cada voxel depende apenas dos poucos triângulos que o intersectam, a resolução QEF é uma equação normal 3×3 em forma fechada, e todo o pipeline não contém operadores globais. É por isso que escala para 2048³.
Especificamente, o FC evita os seguintes processos globais: propagação de componente conectada por preenchimento de inundação, integração de malha completa de número de enrolamento, dilatação de bola ε para impermeabilização, e pós-processamento de Marching Cubes. O cálculo de cada voxel é completamente independente e mapeia diretamente para um thread CUDA. Implementámos todos os operadores principais como kernels CUDA puros — interseção SAT, recorte Sutherland–Hodgman, QEF de forma fechada e interseção de meio-eixo de Möller–Trumbore — eliminando ciclos a nível de Python. Benchmarks numa única NVIDIA H100:
| Resolução | Voxels Ativos | 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 chave: 512³ de ponta a ponta em 0.7 s, 1024³ em aproximadamente 1.4 s, 2048³ em menos de 5 s. A latência total escala aproximadamente de forma linear com o número de voxels ativos.
Para comparação, pipelines tradicionais de reconstrução SDF baseados em flood-fill ou números de enrolamento tipicamente requerem minutos a dezenas de minutos a 1024³, e não podem escalar praticamente para 2048³ devido ao overhead de memória e computação da propagação de sinal global. O FC não só corre diretamente a 2048³, mas mantém a latência de ponta a ponta na escala de segundos.
Resultados Experimentais
Precisão da Representação
Em subconjuntos desafiantes de ABO e Objaverse:
| Método | Resolução | HD ↓ | CD (G→P) ↓ | F-score (0.01) ↑ |
|---|---|---|---|---|
| UDF | 1024 | Alta (artefatos de dupla camada) | Alta | Baixa |
| Flood-fill SDF | 1024 | Alta (superfícies infladas) | Alta | Média |
| FlexiCubes | 1024 | Média | Média | Média |
| FC | 1024 | 0.11 × 10⁻² | 0.01 × 10⁻⁴ | 99.71 |
| FC | 2048 | 0.11 × 10⁻² | < 0.01 × 10⁻⁴ | 99.99 |
O FC é atualmente a única representação voxel que corre diretamente a 2048³, com erros de distância estáveis na escala de 10⁻⁵.
![]()
Reconstrução VAE
Para validar o FCT como uma representação de aprendizagem profunda, construímos um VAE de modo duplo usando convoluções 3D esparsas mais atenção leve, suportando dois modos de entrada: (a) auto-compressão FCT → FCT, e (b) nuvem de pontos → FCT.
Comparado com Trellis, SparseFlex e Sparc3D no benchmark Dora e Toys4k:
- Distância de Chamfer reduzida em aproximadamente 93%
- F-score melhorado em aproximadamente 35%
Notavelmente, o FC-VAE a 512³ de resolução já supera as reconstruções SparseFlex / Sparc3D a 1024³, demonstrando que uma representação sem perdas pode reduzir significativamente a carga de aprendizagem em redes downstream.
![]()
Edição e Composição Com Tokens de Contorno Fiel
O FCT é uma representação voxel esparsa baseada em tokens, o que significa que todas as operações a nível de voxel são transferidas diretamente para tokens. O FCT suporta quatro categorias de operações diretas a nível de token:
![]()
- Filtragem — O ray-casting calcula a visibilidade; voxels internos ocultos e seus tokens são removidos por limiar.
- Textura — Canais adicionais são anexados ao token 18D, ligando atributos de textura a âncoras.
- Manipulação — A rotação e a deformação não linear atuam diretamente nas âncoras, seguidas pela recomputação de conectividade.
- Partição e Montagem — A fusão utiliza agregação média nas posições das âncoras e agregação máxima para orientação; a divisão copia e separa grupos de tokens via máscaras geométricas ou semânticas.
Isto faz do FCT não apenas uma representação de entrada, mas um contentor de tokens de geometria que suporta composição, edição, texturização e transferência de estilo — bem alinhado com a próxima fase da geração 3D: a nível de partes, editável e multimodal.
Código Aberto e Reprodutibilidade
O código é totalmente de código aberto. A partir da versão v1.5, a base de código foi refatorada para Python puro + Atom3d, com kernels CUDA distribuídos como pacotes pré-compilados — não é necessária uma cadeia de ferramentas C++ local. Fornecemos tanto um ambiente Pixi de um clique como uma instalação tradicional via pip, cobrindo tudo desde a reprodução de pesquisa até a integração em produção.
O repositório inclui:
- Codec FCT completo (FCTEncoder / FCTDecoder), suportando resoluções arbitrárias de 128³ a 2048³
- Backend de interseção de malha acelerado por BVH Atom3d
- Scripts de demonstração e malhas de exemplo (icosfera, navio pirata, etc.) — prontos para executar e comparar saídas GLB imediatamente
- Código de treino FCT-VAE e pesos do modelo de difusão (em breve)
Repositório: github.com/Luo-Yihao/FaithC
Resumo
O que o Faithful Contouring faz pode ser resumido numa frase:
Ele migra a camada de representação 3D do paradigma de campo de distância para o paradigma de token de contorno.
Campos de distância e Marching Cubes remontam à década de 1980. Seus contemporâneos 2D há muito foram superados por splines, rasterizadores de fontes SDF e renderização neural através de múltiplos ciclos de iteração. No lado 3D, o acoplamento profundo entre o pipeline e os conjuntos de dados estabelecidos e as estruturas de avaliação há muito impede uma reavaliação sistemática da própria camada de representação. O FC oferece uma nova base: solução em forma fechada, amigável ao GPU e escalável para 2048³ — lidando nativamente com superfícies abertas e geometria não-manifold, preservando totalmente estruturas internas e arestas afiadas, tudo dentro de 18 dimensões por voxel.
Uma corroboração notável: pouco depois deste trabalho ser tornado público, a Microsoft lançou o TRELLIS.2 em janeiro de 2026, introduzindo o O-Voxel — uma representação de voxel esparsa sem campo que também ignora campos SDF / de ocupação e codifica topologia arbitrária (incluindo superfícies não-manifold e abertas) diretamente através de malhas duplas. Dois caminhos independentes convergindo em conclusões semelhantes dentro de um curto espaço de tempo sugere que iso-superfícies já não são a única opção para representação 3D.
Limitações
A versão atual do FC tem várias limitações claras:
- Auto-interseção severa e estruturas fortemente camadas — Quando múltiplas superfícies finas se intercalam ou pressionam juntas em escala sub-voxel, amostras dentro de um único voxel vêm de diferentes camadas. O âncora resolvido por QEF torna-se ambíguo e exibe desvio local.
- Capacidade VAE subutilizada — O atual FCT-VAE adota a espinha dorsal de convolução esparsa + atenção local do Sparc3D / SparseFlex. Sua capacidade de modelagem para ramos extremamente finos, decorações densas e outras estruturas altamente irregulares ainda tem espaço para melhorias.
- Degradação de nitidez através da decodificação — O FCT decodificado através do VAE mostra uma ligeira perda de nitidez e suavidade em comparação com o ajuste direto, inerente à compressão latente. Isso também aponta para a necessidade de um alinhamento mais fino entre representações de tokens e dimensões latentes.
O Que Vem a Seguir: Prévia da Visão 2
Na próxima Faithful Contouring 2.0, estendemos o FCT para uma forma multi-âncora — um único voxel não está mais limitado a um âncora, mas pode hospedar múltiplos âncoras para representar estruturas complexas de interseção. Isso melhorará sistematicamente o desempenho do FC em auto-interseções, geometria fortemente camadas e conchas finas aninhadas, enquanto fornece às redes downstream informações geométricas locais mais detalhadas. Fique atento.
Citação
@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 e Yap, ChoonHwai},
booktitle = {CVPR},
year = {2026}
}Chega de SDF + Marching Cubes? Hora de trazer a geometria de volta — fielmente.
CVPR 2026 Apresentação Oral · arXiv 2511.04029 · GitHub: Luo-Yihao/FaithC
Yihao Luo, Imperial College London — y.luo23@imperial.ac.uk


