ANNUNCI

Faithful Contouring: No SDF, No Watertight, 1024³ Voxelization

Faithful Contouring codifica le mesh in token voxel sparsi — niente SDF, niente watertighting, niente Marching Cubes. 1024³ in ~1s su una singola GPU. CVPR 2026 Oral.

Robin
Inserito: 1 giugno 2026

TL;DR Faithful Contouring sostituisce la pipeline SDF + Marching Cubes, vecchia di decenni, con Faithful Contour Tokens — codificando le mesh triangolari direttamente in token voxel sparsi a 18 dimensioni, senza chiusura stagna, senza campi di distanza. Solo CUDA, 1024³ in ~1,4 s, 2048³ in meno di 5 s su un singolo H100.

L'ultimo anno ha visto un aumento del lavoro sulla generazione 3D — metodi come Trellis e Hunyuan3D che superano i benchmark quasi ogni mese. Ma ecco cosa è facile trascurare: mentre le architetture di rete si sono evolute in DiT, Flow Matching e Sparse Voxel Transformer, la rappresentazione 3D sottostante si basa ancora sull'era 1987 di SDF + Marching Cubes. Faithful Contouring offre un approccio fondamentalmente diverso alla voxelizzazione 3D.

Faithful Contouring (FC), accettato come CVPR 2026 Oral, salta la chiusura stagna, salta la costruzione del campo SDF e salta completamente Marching Cubes. Invece, FC codifica le mesh triangolari direttamente in token voxel sparsi — una nuova rappresentazione 3D che preserva la topologia, i bordi netti e le strutture interne. L'intera pipeline da mesh a voxel è implementata come kernel CUDA puri, completando la voxelizzazione 1024³ in circa 1 secondo e 2048³ in meno di 5 secondi su un singolo NVIDIA H100.

Perché SDF + Marching Cubes è il Collo di Bottiglia nella Voxelizzazione 3D

Per anni, praticamente ogni metodo di ricostruzione e generazione 3D feedforward — DeepSDF, Occupancy Networks, e più recentemente Trellis, Hunyuan3D, Sparc3D, TripoSF — ha seguito la stessa pipeline:

Mesh grezza → Conversione stagna → SDF / UDF → Marching Cubes → Nuova mesh

Questa pipeline sembra generica, ma ogni fase introduce una perdita di informazione non banale:

  • Preprocessamento stagna utilizza tipicamente la dilatazione con ε-ball per sigillare i buchi. Questo riscrive la topologia e trasforma gusci sottili in gusci spessi.

  • Calcolo del segno si basa su algoritmi globali come flood-fill o numeri di avvolgimento per la classificazione dentro/fuori. Questi sono instabili su geometrie non manifolde, superfici aperte e cavità interne — e resistono al parallelismo GPU.

  • Estrazione della superficie iso tramite Marching Cubes liscia i bordi netti, distrugge la struttura interna e lascia dietro di sé artefatti a gradini.

Il collo di bottiglia più pratico è la risoluzione: i metodi basati su SDF esistenti quasi tutti si fermano sotto 2048³ per la voxelizzazione 3D, proprio perché la propagazione globale del segno e i costi di preprocessamento stagna esplodono con la risoluzione. Faithful Contouring è stato progettato per bypassare l'intera pipeline.

Confronto con i baseline

Cosa Rende Faithful Contouring Unico

La maggior parte dei metodi di voxelizzazione 3D segue un percorso fisso: mesh a campo di distanza a superficie iso. Faithful Contouring pone una domanda diversa:

Possiamo saltare la deviazione da mesh → campo di distanza → superficie iso, ed estrarre invece punti di ancoraggio candidati direttamente all'interno di ciascun voxel, quindi riconnetterli in una superficie basata su relazioni topologiche?

Questo è esattamente ciò che Faithful Contouring fa. Codifica le mesh triangolari direttamente in un set di token voxel sparsi chiamati Faithful Contour Tokens (FCT). La pipeline ha tre proprietà chiave:

  • Senza campo di distanza — nessun calcolo SDF, nessuna determinazione del segno necessaria
  • Senza rendering — nessuna supervisione di rendering differenziabile richiesta
  • Completamente locale — ogni voxel interagisce solo con i pochi triangoli che lo attraversano, rendendolo naturalmente parallelo su GPU

Faithful Contouring vs SDF + Marching Cubes

ProprietàPipeline SDF + Marching CubesFaithful Contouring
Superfici aperte / non manifoldeDeve essere stagna prima (perde topologia)Supportato nativamente
Cavità interneCancellate da flood-fillCompletamente preservate
Bordi netti / angoliArrotondati da MCCatturati naturalmente tramite QEF
Rappresentazione per voxel1 valore SDFToken a 18 dimensioni
Modifica / assemblaggioDifficileOperazioni dirette a livello di token
Faithful Contouring supporta superfici aperte, geometrie non-manifold e cavità interne in modo nativo — caratteristiche che i metodi di voxelizzazione basati su SDF perdono durante il preprocessing a tenuta stagna.

Come Funziona Faithful Contouring: Pipeline di Encoder e Decoder

La pipeline di Faithful Contouring consiste in un Encoder e un Decoder, entrambi costruiti interamente su operatori di geometria classica senza componenti apprese.

Pipeline

Encoder: Mesh → FCT

Per ogni voxel vv nella griglia G\mathcal{G}, vengono eseguiti in sequenza quattro passaggi:

  • Rilevamento di Voxel Attivi (SAT) — Utilizzando il Teorema dell'Asse Separatore su 13 assi candidati, si verifica se un triangolo ff interseca un dato voxel vv. I voxel intersecati sono contrassegnati come voxel primari attivi.

  • Centroidi di Intersezione — L'algoritmo di Sutherland–Hodgman ritaglia ogni triangolo contro le sei facce del voxel per produrre un poligono convesso Qv,f=vfQ_{v,f} = v \cap f, quindi calcola il suo centroide:

cv,f=13Ak=2m1Ak(q1+qk+qk+1)\mathbf{c}_{v,f} = \frac{1}{3A}\sum_{k=2}^{m-1} A_k (\mathbf{q}_1+\mathbf{q}_k+\mathbf{q}_{k+1})

Per convessità, questo centroide è garantito di trovarsi all'interno del voxel. Ogni cv,f\mathbf{c}_{v,f}, abbinato alla normale del triangolo di origine nf\mathbf{n}_f, forma un campione di geometria locale.

  • Adattamento dell'Ancora (QEF) — Questo è il passaggio centrale. Tutti i campioni {(ci,ni)}\{(\mathbf{c}_i,\mathbf{n}_i)\} vengono inseriti in una minimizzazione della Funzione di Errore Quadrico:
x=argminx  i(ni(xci))2+λxcˉ2\mathbf{x}^\ast = \arg\min_{\mathbf{x}}\;\sum_i (\mathbf{n}_i^\top(\mathbf{x}-\mathbf{c}_i))^2 + \lambda \|\mathbf{x}-\bar{\mathbf{c}}\|^2

Il primo termine impone la coerenza del piano tangente, spingendo l'ancora verso l'intersezione comune di tutti i piani tangenti — motivo per cui bordi e angoli acuti vengono catturati naturalmente. Il secondo termine fornisce una regolarizzazione del centroide per sopprimere la deriva in caso di input mal condizionati. La soluzione è data in forma chiusa da un'equazione normale 3×3:

(MM+λI)x=Md+λcˉ(M^\top M + \lambda I)\,\mathbf{x}^\ast = M^\top\mathbf{d} + \lambda\bar{\mathbf{c}}

Le normali n\mathbf{n}^\ast sono risolte tramite regolarizzazione di Tikhonov. L'intera soluzione è completamente indipendente per voxel — la ragione fondamentale per cui FC scala a 2048³.

Preservazione a bassa risoluzione Alle risoluzioni voxel più basse, le ancore risolte QEF si allineano ancora in modo affidabile alle caratteristiche nitide.

  • Intersezioni Semi-Asse — L'intersezione raggio-triangolo di Möller–Trumbore viene eseguita lungo sei direzioni semi-asse, producendo una codifica binaria {1,0,+1}6\{-1,0,+1\}^6 utilizzata durante la decodifica per determinare l'orientamento della faccia.

Tutte le informazioni sono confezionate per voxel in una singola riga:

FCT=[indice del voxel,  (x,n),  {md,(xd,nd)}d=18,  {oriente}]\mathrm{FCT} = \big[\,\text{indice del voxel},\;(\mathbf{x}^\ast, \mathbf{n}^\ast),\;\{\mathbf{m}_d, (\mathbf{x}_d, \mathbf{n}_d)\}_{d=1}^{8},\;\{\mathrm{orient}_e\}\,\big]

Ogni voxel attivo occupa 18 dimensioni.

Decoder: FCT → Mesh

La decodifica consiste in due passaggi:

Raccolta globale — I voxel primari adiacenti che condividono un voxel duale mediano i loro punti di ancoraggio per produrre un set di vertici unificato VV'.

Quad → Tri — Le quattro ancore duali su ciascuna faccia primale formano un quadrilatero. L'orientamento è determinato dal codice semi-asse, e il quad viene diviso in due triangoli lungo la diagonale che minimizza la deviazione normale.

L'intera decodifica è anche completamente locale — non è coinvolta alcuna ricerca globale.

Ingegneria: Voxelizzazione in Sotto-Secondi con Parallelismo CUDA

Il design dell'algoritmo di FC si allinea strettamente con il parallelismo GPU: ogni voxel dipende solo dai pochi triangoli che lo intersecano, la soluzione QEF è un'equazione normale 3×3 in forma chiusa, e l'intera pipeline non contiene operatori globali. Questo è il motivo per cui scala a 2048³.

In particolare, FC evita i seguenti processi globali: propagazione di componenti connesse tramite riempimento a inondazione, integrazione completa della mesh O(NF)O(N \cdot F) tramite numero di avvolgimento, dilatazione con ε-ball per tenuta stagna, e post-elaborazione Marching Cubes. Il calcolo di ciascun voxel è completamente indipendente e si mappa direttamente a un thread CUDA. Abbiamo implementato tutti gli operatori principali come kernel CUDA puri — intersezione SAT, clipping di Sutherland–Hodgman, QEF in forma chiusa e intersezione dell'asse metà di Möller–Trumbore — eliminando i cicli a livello di Python. Benchmark su un singolo NVIDIA H100:

RisoluzioneVoxel AttiviCodificaDecodificaTotale
128³71K0.27 s0.02 s0.29 s
256³287K0.45 s0.06 s0.51 s
512³1.1M0.52 s0.17 s0.70 s
1024³4.6M0.82 s0.61 s1.42 s
2048³18.4M2.16 s2.51 s4.68 s

Numeri chiave: 512³ end-to-end in 0.7 s, 1024³ in circa 1.4 s, 2048³ sotto i 5 s. La latenza complessiva scala approssimativamente in modo lineare con il conteggio dei voxel attivi.

Per confronto, le pipeline tradizionali di ricostruzione SDF basate su flood-fill o numeri di avvolgimento richiedono tipicamente minuti o decine di minuti a 1024³ e non possono scalare praticamente a 2048³ a causa del sovraccarico di memoria e calcolo della propagazione del segno globale. FC non solo funziona direttamente a 2048³ ma mantiene la latenza end-to-end a livello di secondi.

Risultati Sperimentali

Accuratezza della Rappresentazione

Su sottoinsiemi impegnativi da ABO e Objaverse:

MetodoRisoluzioneHD ↓CD (G→P) ↓F-score (0.01) ↑
UDF1024Alta (artefatti a doppio strato)AltaBassa
Flood-fill SDF1024Alta (superfici gonfiate)AltaMedia
FlexiCubes1024MediaMediaMedia
FC10240.11 × 10⁻²0.01 × 10⁻⁴99.71
FC20480.11 × 10⁻²< 0.01 × 10⁻⁴99.99

FC è attualmente l'unica rappresentazione voxel che funziona direttamente a 2048³, con errori di distanza stabili alla scala di 10⁻⁵.

Confronto di Adattamento

Ricostruzione VAE

Per convalidare FCT come rappresentazione di deep learning, abbiamo costruito un VAE a doppia modalità utilizzando convoluzioni 3D sparse più attenzione leggera, supportando due modalità di input: (a) auto-compressione FCT → FCT, e (b) nuvola di punti → FCT.

Confrontato con Trellis, SparseFlex e Sparc3D sul benchmark Dora e Toys4k:

  • Distanza di Chamfer ridotta di circa 93%
  • F-score migliorato di circa 35%

Notoriamente, FC-VAE a risoluzione 512³ supera già le ricostruzioni SparseFlex / Sparc3D a 1024³, dimostrando che una rappresentazione senza perdita può ridurre significativamente il carico di apprendimento sui network a valle.

Confronto VAE

Modifica e Composizione con Token di Contorno Fedeli

FCT è una rappresentazione voxel sparsa basata su token, il che significa che tutte le operazioni a livello di voxel si trasferiscono direttamente ai token. FCT supporta quattro categorie di operazioni dirette a livello di token:

Modifica

  • Filtraggio — Il ray-casting calcola la visibilità; i voxel interni nascosti e i loro token vengono rimossi tramite soglia.
  • Texture — Canali aggiuntivi vengono aggiunti al token 18D, legando gli attributi di texture agli ancoraggi.
  • Manipolazione — Rotazione e deformazione non lineare agiscono direttamente sugli ancoraggi, seguite dalla ricalcolo della connettività.
  • Partizione e Assemblaggio — La fusione utilizza l'aggregazione media nelle posizioni degli ancoraggi e l'aggregazione massima per l'orientamento; la divisione copia e separa i gruppi di token tramite maschere geometriche o semantiche.

Questo rende FCT non solo una rappresentazione di input ma un contenitore di token di geometria che supporta composizione, modifica, texturizzazione e trasferimento di stile — ben allineato con la prossima fase della generazione 3D: a livello di parti, modificabile e multimodale.

Open Source e Riproducibilità

Il codice è completamente open-source. A partire dalla versione v1.5, il codice è stato rifattorizzato in puro Python + Atom3d, con kernel CUDA distribuiti come wheel precompilati — non è richiesto alcun toolchain C++ locale. Forniamo sia un ambiente Pixi con un click che l'installazione tradizionale tramite pip, coprendo tutto, dalla riproduzione della ricerca all'integrazione in produzione.

Il repository include:

  • Codec FCT completo (FCTEncoder / FCTDecoder), supportando risoluzioni arbitrarie da 128³ a 2048³
  • Backend di intersezione mesh accelerato BVH Atom3d
  • Script demo e mesh di esempio (icosfera, nave pirata, ecc.) — pronti per essere eseguiti e confrontare gli output GLB direttamente
  • Codice di addestramento FCT-VAE e pesi del modello di diffusione (in arrivo)

Repository: github.com/Luo-Yihao/FaithC

Sommario

Ciò che Faithful Contouring fa può essere riassunto in una frase:

Migra lo strato di rappresentazione 3D dal paradigma del campo di distanza al paradigma del token di contorno.

I campi di distanza e i Marching Cubes risalgono agli anni '80. I loro contemporanei 2D sono stati a lungo superati da spline, rasterizzatori di font SDF e rendering neurale attraverso cicli di iterazione multipli. Sul lato 3D, il profondo accoppiamento tra la pipeline e i dataset e i framework di valutazione consolidati ha a lungo impedito una ripensamento sistematico dello strato di rappresentazione stesso. FC offre una nuova base: risolvibile in forma chiusa, compatibile con GPU e scalabile fino a 2048³ — gestendo nativamente superfici aperte e geometrie non-manifold, preservando completamente le strutture interne e i bordi netti, tutto entro 18 dimensioni per voxel.

Una corroborazione degna di nota: poco dopo che questo lavoro è stato reso pubblico, Microsoft ha rilasciato TRELLIS.2 nel gennaio 2026, introducendo O-Voxel — una rappresentazione voxel sparsa senza campo che allo stesso modo bypassa i campi SDF / di occupazione e codifica la topologia arbitraria (incluse superfici non-manifold e aperte) direttamente tramite mesh duali. Due percorsi indipendenti che convergono su conclusioni simili in un breve lasso di tempo suggeriscono che le iso-superfici non sono più l'unica opzione per la rappresentazione 3D.

Limitazioni

La versione attuale di FC presenta diverse limitazioni evidenti:

  • Auto-intersezione grave e strutture strettamente stratificate — Quando più superfici sottili si intersecano o si comprimono a scala sub-voxel, i campioni all'interno di un singolo voxel provengono da fogli diversi. L'ancora risolta da QEF diventa ambigua e mostra una deriva locale.
  • Capacità VAE sottoutilizzata — L'attuale FCT-VAE adotta la backbone di convoluzione sparsa + attenzione locale da Sparc3D / SparseFlex. La sua capacità di modellazione per rami estremamente fini, decorazioni dense e altre strutture altamente irregolari ha ancora margine di miglioramento.
  • Degradazione della nitidezza attraverso la decodifica — FCT decodificato tramite il VAE mostra una leggera perdita di nitidezza e levigatezza rispetto all'adattamento diretto, intrinseca alla compressione latente. Questo indica anche la necessità di un allineamento più fine tra le rappresentazioni dei token e le dimensioni latenti.

Cosa c'è dopo: Anteprima Vision 2

Nella prossima Faithful Contouring 2.0, estendiamo FCT a una forma multi-ancora — un singolo voxel non è più limitato a un'ancora ma può ospitare più ancore per rappresentare strutture complesse intersecanti. Questo migliorerà sistematicamente le prestazioni di FC su auto-intersezioni, geometrie strettamente stratificate e gusci sottili annidati, fornendo alle reti a valle informazioni geometriche locali più dettagliate. Restate sintonizzati.

Citazione

bibtex
@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 and Yap, ChoonHwai},
booktitle = {CVPR},
year      = {2026}
}

Abbastanza con SDF + Marching Cubes? È ora di riportare la geometria — fedelmente.

CVPR 2026 Oral · arXiv 2511.04029 · GitHub: Luo-Yihao/FaithC

Yihao Luo, Imperial College London — y.luo23@imperial.ac.uk

Questo post è stato utile?

3D, Su Richiesta

Contatta le vendite