TL;DR Faithful Contouring ersätter den decenniegamla SDF + Marching Cubes-pipelinen med Faithful Contour Tokens — som kodar triangelmesh direkt till 18-dimensionella glesa voxeltokens, utan vattentätning, utan avståndsfält. Ren CUDA, 1024³ på ~1,4 s, 2048³ under 5 s på en enda H100.
Det senaste året har sett en ökning av arbete med 3D-generering — metoder som Trellis och Hunyuan3D toppar benchmarks nästan varje månad. Men här är vad som är lätt att förbise: medan nätverksarkitekturer har utvecklats till DiT, Flow Matching, och Sparse Voxel Transformer, förlitar sig den underliggande 3D-representationen fortfarande på 1987-epokens SDF + Marching Cubes. Faithful Contouring erbjuder ett fundamentalt annorlunda tillvägagångssätt för 3D-voxelisering.
Faithful Contouring (FC), accepterad som en CVPR 2026 Oral, hoppar över vattentätning, hoppar över SDF-fältkonstruktion, och hoppar över Marching Cubes helt och hållet. Istället kodar FC triangelmesh direkt till glesa voxeltokens — en ny 3D-representation som bevarar topologi, skarpa kanter och interna strukturer. Hela mesh-till-voxel-pipelinen är implementerad som rena CUDA-kärnor, och fullbordar 1024³ voxelisering på ungefär 1 sekund och 2048³ på under 5 sekunder på en enda NVIDIA H100.
Varför är SDF + Marching Cubes flaskhalsen i 3D-voxelisering
I åratal har praktiskt taget varje feedforward 3D-rekonstruktion och genereringsmetod — DeepSDF, Occupancy Networks, och mer nyligen Trellis, Hunyuan3D, Sparc3D, TripoSF — följt samma pipeline:
Rå mesh → Vattentät konvertering → SDF / UDF → Marching Cubes → Ny mesh
Denna pipeline ser allmän ut, men varje steg introducerar icke-trivial informationsförlust:
-
Vattentät förbehandling använder typiskt ε-boll-dilation för att täta hål. Detta omskriver topologi och förvandlar tunna skal till tjocka skal.
-
Signaturberäkning förlitar sig på globala algoritmer som flood-fill eller winding numbers för inre/yttre klassificering. Dessa är instabila på icke-manifold geometri, öppna ytor och interna håligheter — och de motstår GPU-parallellism.
-
Iso-ytextraktion via Marching Cubes jämnar ut skarpa kanter, förstör intern struktur och lämnar efter sig trappstegsartefakter.
Den mer praktiska flaskhalsen är upplösning: befintliga SDF-baserade metoder når nästan alla en gräns under 2048³ för 3D-voxelisering, just för att globala signaturpropagerings- och vattentätningskostnader exploderar med upplösning. Faithful Contouring designades för att kringgå hela denna pipeline.
![]()
Vad gör Faithful Contouring unikt
De flesta 3D-voxeliseringsmetoder följer en fast väg: mesh till avståndsfält till iso-yta. Faithful Contouring ställer en annan fråga:
Kan vi hoppa över omvägen från mesh → avståndsfält → iso-yta, och istället extrahera kandidatankarpunkter direkt inuti varje voxel, för att sedan återkoppla dem till en yta baserat på topologiska relationer?
Det är exakt vad Faithful Contouring gör. Den kodar triangelmesh direkt till en uppsättning glesa voxeltokens kallade Faithful Contour Tokens (FCT). Pipelinen har tre nyckelegenskaper:
- Avståndsfältsfri — ingen SDF-beräkning, ingen signaturbestämning behövs
- Renderingsfri — ingen differentiell renderingstillsyn krävs
- Fullt lokal — varje voxel interagerar endast med de få trianglar som passerar genom den, vilket gör den naturligt GPU-parallell
Faithful Contouring vs SDF + Marching Cubes
| Egenskap | SDF + Marching Cubes Pipeline | Faithful Contouring |
|---|---|---|
| Öppna ytor / icke-manifold | Måste vattentätas först (förlorar topologi) | Inbyggt stöd |
| Interna håligheter | Raderas av flood-fill | Fullt bevarade |
| Skarpa kanter / hörn | Rundas av MC | Naturligt fångade via QEF |
| Per-voxel representation | 1 SDF-värde | 18-dimensionell token |
| Redigering / montering | Svårt | Direkta token-nivåoperationer |
| Faithful Contouring stöder öppna ytor, icke-manifold geometri och interna håligheter naturligt — funktioner som SDF-baserade voxeliseringsmetoder förlorar under vattentät förbearbetning. |
Hur Faithful Contouring Fungerar: Encoder och Decoder Pipeline
Faithful Contouring-pipelinen består av en Encoder och en Decoder, båda byggda helt på klassiska geometrioperatörer utan några inlärda komponenter.
![]()
Encoder: Mesh → FCT
För varje voxel i rutnätet utförs fyra steg i följd:
-
Aktiv Voxel Detektion (SAT) — Med hjälp av Separating Axis Theorem över 13 kandidat-axlar testar vi om en triangel skär en given voxel . Skärande voxlar markeras som aktiva primära voxlar.
-
Skärningscentroid — Sutherland–Hodgman-algoritmen klipper varje triangel mot voxelns sex ytor för att producera en konvex polygon , och beräknar sedan dess centroid:
Genom konvexitet är denna centroid garanterad att ligga inuti voxeln. Varje , ihopkopplad med den ursprungliga triangelns normal , bildar ett lokalt geometri-prov.
- Ankare Anpassning (QEF) — Detta är kärnsteget. Alla prover matas in i en Quadric Error Function-minimering:
Den första termen upprätthåller tangentplan-konsistens, vilket driver ankaret mot den gemensamma skärningen av alla tangentplan — vilket är varför skarpa kanter och hörn fångas naturligt. Den andra termen ger centroidreglering för att undertrycka drift under dåligt konditionerade indata. Lösningen ges i sluten form av en 3×3 normalekvation:
Normaler löses via Tikhonov-reglering. Hela lösningen är helt oberoende per voxel — den grundläggande anledningen till att FC skalar till 2048³.
Vid lägre voxelupplösningar snäpper de QEF-lösta ankaren fortfarande pålitligt till skarpa funktioner.
- Semi-axel Skärningar — Möller–Trumbore stråle–triangel skärning utförs längs sex halv-axelriktningar, vilket producerar en binär kodning som används under dekodning för att bestämma ytans orientering.
All information packas per voxel i en enda rad:
Varje aktiv voxel upptar 18 dimensioner.
Decoder: FCT → Mesh
Dekodning består av två steg:
Global samling — Närliggande primära voxlar som delar en dubbelvoxel genomsnittar sina ankarpunkter för att producera en enhetlig vertexuppsättning .
Quad → Tri — De fyra dubbla ankaren på varje primär yta bildar en fyrhörning. Orienteringen bestäms av semi-axelkoden, och fyrhörningen delas upp i två trianglar längs diagonalen som minimerar normalavvikelsen.
Hela dekodningen är också helt lokal — ingen global sökning är involverad.
Teknik: Sub-Sekund Voxelisering Med CUDA Parallellism
FC:s algoritmdesign är tätt anpassad till GPU-parallellism: varje voxel beror endast på de få trianglar som skär den, QEF-lösningen är en sluten form 3×3 normalekvation, och hela pipelinen innehåller inga globala operatörer. Det är därför det skalar till 2048³.
Specifikt undviker FC följande globala processer: flood-fill anslutningskomponentpropagering, winding-number full-mesh integration, ε-boll utvidgning för vattentätning, och Marching Cubes efterbearbetning. Varje voxels beräkning är helt oberoende och mappas direkt till en CUDA-tråd. Vi implementerade alla kärnoperatörer som rena CUDA-kärnor — SAT-intersektion, Sutherland–Hodgman-klippning, slutform QEF och Möller–Trumbore halvaxel-intersektion — och eliminerade Python-nivå-loopar. Prestandatester på en enda NVIDIA H100:
| Upplösning | Aktiva Voxel | Kodning | Avkodning | Totalt |
|---|---|---|---|---|
| 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 |
Viktiga siffror: 512³ från början till slut på 0,7 s, 1024³ på ungefär 1,4 s, 2048³ under 5 s. Den totala latensen skalar ungefär linjärt med antalet aktiva voxel.
För jämförelse kräver traditionella SDF-rekonstruktionspipelines baserade på flood-fill eller winding numbers vanligtvis minuter till tiotals minuter vid 1024³, och kan inte praktiskt skalas till 2048³ på grund av minnes- och beräkningsöverbelastningen av global teckenpropagering. FC körs inte bara direkt vid 2048³ utan håller även latensen från början till slut på sekundskalan.
Experimentella Resultat
Representationsnoggrannhet
På utmanande delmängder från ABO och Objaverse:
| Metod | Upplösning | HD ↓ | CD (G→P) ↓ | F-score (0,01) ↑ |
|---|---|---|---|---|
| UDF | 1024 | Hög (dubbellagerartefakter) | Hög | Låg |
| Flood-fill SDF | 1024 | Hög (uppblåsta ytor) | Hög | Medium |
| FlexiCubes | 1024 | Medium | Medium | Medium |
| FC | 1024 | 0,11 × 10⁻² | 0,01 × 10⁻⁴ | 99,71 |
| FC | 2048 | 0,11 × 10⁻² | < 0,01 × 10⁻⁴ | 99,99 |
FC är för närvarande den enda voxelrepresentationen som körs direkt vid 2048³, med avståndsfel stabila på 10⁻⁵-skalan.
![]()
VAE-rekonstruktion
För att validera FCT som en djupinlärningsrepresentation byggde vi en dubbel-läge VAE med hjälp av glesa 3D-konvolutioner plus lättviktig uppmärksamhet, som stöder två inmatningslägen: (a) självkompression FCT → FCT, och (b) punktmoln → FCT.
Jämfört med Trellis, SparseFlex och Sparc3D på Dora-benchmarken och Toys4k:
- Chamfer Distance minskade med ungefär 93%
- F-score förbättrades med ungefär 35%
Noterbart är att FC-VAE vid 512³ upplösning redan överträffar SparseFlex / Sparc3D-rekonstruktioner vid 1024³, vilket visar att en förlustfri representation kan avsevärt minska inlärningsbördan på nedströmsnätverk.
![]()
Redigering och Komposition Med Faithful Contour Tokens
FCT är en token-baserad gles voxelrepresentation, vilket innebär att alla voxel-nivåoperationer överförs direkt till tokens. FCT stöder fyra kategorier av direkta token-nivåoperationer:
![]()
- Filtrering — Strålspårning beräknar synlighet; interna dolda voxel och deras tokens tas bort med tröskelvärde.
- Textur — Ytterligare kanaler läggs till 18D-token, binder texturattribut till ankare.
- Manipulation — Rotation och icke-linjär deformation verkar direkt på ankare, följt av omberäkning av anslutning.
- Partition & Sammanställning — Sammanfogning använder medelaggregation vid ankarpositioner och maxaggregation för orientering; delning kopierar och separerar tokengrupper via geometriska eller semantiska masker.
Detta gör FCT inte bara till en inmatningsrepresentation utan också till en geometritokenbehållare som stöder komposition, redigering, texturering och stilöverföring — väl anpassad till nästa fas av 3D-generering: delnivå, redigerbar och multimodal.
Öppen Källkod och Reproducerbarhet
Koden är helt öppen källkod. Från och med v1.5 refaktorerades kodbasen till ren Python + Atom3d, med CUDA-kärnor distribuerade som förkompilerade hjul — ingen lokal C++-verktygskedja krävs. Vi erbjuder både en Pixi-enkelklicksmiljö och traditionell pip-installation, som täcker allt från forskningsreproduktion till produktionsintegration.
Förrådet inkluderar:
- Komplett FCT-kodek (FCTEncoder / FCTDecoder), som stödjer godtyckliga upplösningar från 128³ till 2048³
- BVH-accelererad mesh-intersektionsbackend Atom3d
- Demonskript och exempelmesh (icosphere, pirateship, etc.) — redo att köra och jämföra GLB-utdata direkt
- FCT-VAE träningskod och diffusionsmodellvikter (kommer snart)
Repository: github.com/Luo-Yihao/FaithC
Sammanfattning
Vad Faithful Contouring gör kan sammanfattas i en mening:
Det migrerar 3D-representationslagret från distansfältparadigmet till kontur-tokenparadigmet.
Distansfält och Marching Cubes går tillbaka till 1980-talet. Deras 2D-samtida har länge ersatts av splines, SDF-teckensnittsrasteriserare och neuralt rendering över flera iterationscykler. På 3D-sidan har djup koppling mellan pipeline och etablerade dataset och utvärderingsramverk länge förhindrat systematisk omprövning av representationslagret självt. FC erbjuder en ny grund: slutformlösbar, GPU-vänlig och skalbar till 2048³ — hanterar inbyggt öppna ytor och icke-manifold geometri, bevarar fullt interna strukturer och skarpa kanter, allt inom 18 dimensioner per voxel.
En anmärkningsvärd bekräftelse: kort efter att detta arbete offentliggjordes släppte Microsoft TRELLIS.2 i januari 2026, och introducerade O-Voxel — en fältfri gles voxelrepresentation som också kringgår SDF / ockupansfält och kodar godtycklig topologi (inklusive icke-manifold och öppna ytor) direkt via dubbla mesh. Två oberoende vägar som konvergerar på liknande slutsatser inom ett smalt tidsfönster tyder på att iso-yta inte längre är det enda alternativet för 3D-representation.
Begränsningar
Den nuvarande versionen av FC har flera tydliga begränsningar:
- Allvarlig självintersektion och tätt lagerstrukturer — När flera tunna ytor sammanflätas eller trycks ihop på sub-voxel skala, kommer prover inom en enda voxel från olika skikt. Den QEF-lösta ankaret blir tvetydig och uppvisar lokal drift.
- Underutnyttjad VAE-kapacitet — Den nuvarande FCT-VAE antar den glesa konvolutionen + lokal uppmärksamhetsryggrad från Sparc3D / SparseFlex. Dess modelleringskapacitet för extremt fina grenar, täta dekorationer och andra mycket oregelbundna strukturer har fortfarande utrymme för förbättring.
- Skärpeförsämring genom avkodning — FCT avkodad genom VAE visar en liten förlust i skärpa och jämnhet jämfört med direkt passform, vilket är inneboende i latent kompression. Detta pekar också på behovet av finare justering mellan tokenrepresentationer och latenta dimensioner.
Vad är Nästa: Vision 2 Förhandsvisning
I den kommande Faithful Contouring 2.0 utökar vi FCT till en multi-ankare form — en enda voxel är inte längre begränsad till ett ankare utan kan hysa flera ankare för att representera komplexa korsande strukturer. Detta kommer systematiskt att förbättra FC:s prestanda på självintersektioner, tätt lagergeometrier och inbäddade tunna skal, samtidigt som det ger nedströmsnätverk finare lokal geometrisk information. Håll utkik.
Citat
@inproceedings{luo2026faithfulcontouring,
title = {Faithful Contouring: Near-Lossless 3D Voxel Representation Free from Iso-surface},
author = {Luo, Yihao och He, Xianglong och Pan, Chuanyu och Chen, Yiwen och Wu, Jiaqi
och Li, Yangguang och Ouyang, Wanli och Hu, Yuanming och Yang, Guang och Yap, ChoonHwai},
booktitle = {CVPR},
year = {2026}
}Nog med SDF + Marching Cubes? Dags att återföra geometri — troget.
CVPR 2026 Oral · arXiv 2511.04029 · GitHub: Luo-Yihao/FaithC
Yihao Luo, Imperial College London — y.luo23@imperial.ac.uk


