THÔNG BÁO

Faithful Contouring: Không SDF, Không Kín Nước, Voxel hóa 1024³

Faithful Contouring mã hóa các lưới thành các token voxel thưa thớt — không SDF, không watertighting, không Marching Cubes. 1024³ trong ~1 giây trên một GPU duy nhất. CVPR 2026 Oral.

Robin
Đã đăng: 1 tháng 6, 2026

TL;DR Faithful Contouring thay thế quy trình SDF + Marching Cubes đã tồn tại hàng thập kỷ bằng Faithful Contour Tokens — mã hóa lưới tam giác trực tiếp thành các voxel token thưa thớt 18 chiều, không cần làm kín nước, không cần trường khoảng cách. Chỉ sử dụng CUDA, 1024³ trong ~1.4 giây, 2048³ dưới 5 giây trên một H100 đơn lẻ.

Năm qua đã chứng kiến sự bùng nổ của công việc tạo hình 3D — các phương pháp như Trellis và Hunyuan3D liên tục đứng đầu các bảng xếp hạng gần như mỗi tháng. Nhưng đây là điều dễ bị bỏ qua: trong khi các kiến trúc mạng đã phát triển thành DiT, Flow Matching, và Sparse Voxel Transformer, thì biểu diễn 3D cơ bản vẫn dựa vào SDF + Marching Cubes từ năm 1987. Faithful Contouring cung cấp một cách tiếp cận hoàn toàn khác biệt đối với voxel hóa 3D.

Faithful Contouring (FC), được chấp nhận như một CVPR 2026 Oral, bỏ qua làm kín nước, bỏ qua xây dựng trường SDF, và bỏ qua Marching Cubes hoàn toàn. Thay vào đó, FC mã hóa lưới tam giác trực tiếp thành các voxel token thưa thớt — một biểu diễn 3D mới giữ nguyên cấu trúc hình học, các cạnh sắc nét và cấu trúc bên trong. Toàn bộ quy trình từ lưới đến voxel được triển khai dưới dạng các kernel CUDA thuần túy, hoàn thành voxel hóa 1024³ trong khoảng 1 giây2048³ dưới 5 giây trên một NVIDIA H100 đơn lẻ.

Tại Sao SDF + Marching Cubes Là Nút Thắt Cổ Chai Trong Voxel Hóa 3D

Trong nhiều năm, hầu như mọi phương pháp tái tạo và tạo hình 3D feedforward — DeepSDF, Occupancy Networks, và gần đây là Trellis, Hunyuan3D, Sparc3D, TripoSF — đều theo cùng một quy trình:

Lưới thô → Chuyển đổi làm kín nước → SDF / UDF → Marching Cubes → Lưới mới

Quy trình này trông có vẻ đa dụng, nhưng mỗi giai đoạn đều giới thiệu mất mát thông tin không tầm thường:

  • Tiền xử lý làm kín nước thường sử dụng giãn nở ε-ball để bịt kín lỗ hổng. Điều này viết lại cấu trúc hình học và biến các vỏ mỏng thành vỏ dày.

  • Tính toán dấu hiệu dựa vào các thuật toán toàn cục như flood-fill hoặc winding numbers để phân loại bên trong/bên ngoài. Những điều này không ổn định trên hình học không đa tạp, bề mặt mở và khoang bên trong — và chúng chống lại sự song song của GPU.

  • Trích xuất bề mặt đẳng trị qua Marching Cubes làm mịn các cạnh sắc, phá hủy cấu trúc bên trong và để lại các hiện tượng bậc thang.

Nút thắt cổ chai thực tế hơn là độ phân giải: các phương pháp dựa trên SDF hiện tại hầu như đều giới hạn dưới 2048³ cho voxel hóa 3D, chính vì chi phí lan truyền dấu hiệu toàn cục và tiền xử lý làm kín nước tăng vọt với độ phân giải. Faithful Contouring được thiết kế để bỏ qua toàn bộ quy trình này.

So sánh với các phương pháp cơ bản

Điều Gì Làm Faithful Contouring Nổi Bật

Hầu hết các phương pháp voxel hóa 3D đều theo một con đường cố định: lưới đến trường khoảng cách đến bề mặt đẳng trị. Faithful Contouring đặt ra một câu hỏi khác:

Chúng ta có thể bỏ qua đường vòng từ lưới → trường khoảng cách → bề mặt đẳng trị, và thay vào đó trích xuất các điểm neo ứng viên trực tiếp bên trong mỗi voxel, sau đó kết nối chúng thành một bề mặt dựa trên các mối quan hệ hình học không?

Đây chính xác là những gì Faithful Contouring thực hiện. Nó mã hóa lưới tam giác trực tiếp thành một tập hợp các voxel token thưa thớt được gọi là Faithful Contour Tokens (FCT). Quy trình này có ba đặc điểm chính:

  • Không cần trường khoảng cách — không cần tính toán SDF, không cần xác định dấu hiệu
  • Không cần kết xuất — không cần giám sát kết xuất có thể phân biệt
  • Hoàn toàn cục bộ — mỗi voxel chỉ tương tác với vài tam giác đi qua nó, khiến nó tự nhiên song song với GPU

Faithful Contouring vs SDF + Marching Cubes

Thuộc tínhQuy trình SDF + Marching CubesFaithful Contouring
Bề mặt mở / không đa tạpPhải làm kín nước trước (mất cấu trúc hình học)Hỗ trợ tự nhiên
Khoang bên trongBị xóa bởi flood-fillĐược bảo toàn hoàn toàn
Cạnh sắc / gócBị làm tròn bởi MCTự nhiên được nắm bắt qua QEF
Biểu diễn mỗi voxel1 giá trị SDFToken 18 chiều
Chỉnh sửa / lắp rápKhó khănHoạt động trực tiếp ở cấp độ token
Faithful Contouring hỗ trợ các bề mặt mở, hình học không đa tạp, và các khoang bên trong một cách tự nhiên — những đặc điểm mà các phương pháp voxel hóa dựa trên SDF mất đi trong quá trình xử lý kín nước.

Cách Faithful Contouring Hoạt Động: Quy Trình Mã Hóa và Giải Mã

Quy trình Faithful Contouring bao gồm một Mã Hóa và một Giải Mã, cả hai đều được xây dựng hoàn toàn trên các toán tử hình học cổ điển mà không có thành phần học máy nào.

Pipeline

Mã Hóa: Mesh → FCT

Đối với mỗi voxel vv trong lưới G\mathcal{G}, bốn bước được thực hiện theo thứ tự:

  • Phát Hiện Voxel Hoạt Động (SAT) — Sử dụng Định Lý Trục Tách Biệt trên 13 trục ứng viên, chúng tôi kiểm tra xem một tam giác ff có cắt một voxel vv nhất định hay không. Các voxel giao nhau được đánh dấu là các voxel nguyên hoạt động.

  • Trọng Tâm Giao Nhau — Thuật toán Sutherland–Hodgman cắt mỗi tam giác với sáu mặt của voxel để tạo ra một đa giác lồi Qv,f=vfQ_{v,f} = v \cap f, sau đó tính toán trọng tâm của nó:

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})

Do tính lồi, trọng tâm này được đảm bảo nằm bên trong voxel. Mỗi cv,f\mathbf{c}_{v,f}, kết hợp với vector pháp tuyến của tam giác gốc nf\mathbf{n}_f, tạo thành một mẫu hình học cục bộ.

  • Khớp Neo (QEF) — Đây là bước cốt lõi. Tất cả các mẫu {(ci,ni)}\{(\mathbf{c}_i,\mathbf{n}_i)\} được đưa vào một hàm lỗi bậc hai để tối thiểu hóa:
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

Thuật ngữ đầu tiên thực thi sự nhất quán của mặt phẳng tiếp tuyến, hướng neo về phía giao điểm chung của tất cả các mặt phẳng tiếp tuyến — đó là lý do tại sao các cạnh sắc và góc nhọn được nắm bắt tự nhiên. Thuật ngữ thứ hai cung cấp sự điều chỉnh trọng tâm để ngăn chặn sự trôi dạt dưới các đầu vào điều kiện kém. Giải pháp được đưa ra dưới dạng đóng bởi một phương trình bình thường 3×3:

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

Các pháp tuyến n\mathbf{n}^\ast được giải quyết thông qua điều chỉnh Tikhonov. Toàn bộ giải pháp hoàn toàn độc lập trên mỗi voxel — lý do cơ bản khiến FC mở rộng đến 2048³.

Low-poly preservation Tại độ phân giải voxel thấp hơn, các neo được giải quyết bằng QEF vẫn bám chắc vào các đặc điểm sắc nét.

  • Giao Nhau Bán Trục — Giao nhau tia–tam giác Möller–Trumbore được thực hiện dọc theo sáu hướng bán trục, tạo ra một mã nhị phân {1,0,+1}6\{-1,0,+1\}^6 được sử dụng trong quá trình giải mã để xác định hướng mặt.

Tất cả thông tin được đóng gói trên mỗi voxel thành một hàng duy nhất:

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

Mỗi voxel hoạt động chiếm 18 chiều.

Giải Mã: FCT → Mesh

Giải mã bao gồm hai bước:

Tập Hợp Toàn Cục — Các voxel nguyên lân cận chia sẻ một voxel kép trung bình các điểm neo của chúng để tạo ra một tập hợp đỉnh thống nhất VV'.

Quad → Tri — Bốn neo kép trên mỗi mặt nguyên tạo thành một tứ giác. Hướng được xác định bởi mã bán trục, và tứ giác được chia thành hai tam giác dọc theo đường chéo tối thiểu hóa độ lệch pháp tuyến.

Toàn bộ giải mã cũng hoàn toàn cục bộ — không có tìm kiếm toàn cục nào liên quan.

Kỹ Thuật: Voxelization Dưới Một Giây Với CUDA Parallelism

Thiết kế thuật toán của FC phù hợp chặt chẽ với sự song song của GPU: mỗi voxel chỉ phụ thuộc vào một vài tam giác cắt nó, giải pháp QEF là một phương trình bình thường 3×3 dạng đóng, và toàn bộ quy trình không chứa các toán tử toàn cục. Đây là lý do tại sao nó mở rộng đến 2048³.

Cụ thể, FC tránh các quy trình toàn cục sau: lan truyền thành phần kết nối bằng cách điền lũ, tích hợp toàn bộ lưới O(NF)O(N \cdot F) số vòng, giãn nở ε-ball để làm kín nước, và xử lý hậu Marching Cubes. Tính toán của mỗi voxel hoàn toàn độc lập và ánh xạ trực tiếp đến một luồng CUDA. Chúng tôi đã triển khai tất cả các toán tử cốt lõi dưới dạng các kernel CUDA thuần túy — giao cắt SAT, cắt Sutherland–Hodgman, QEF dạng đóng, và giao cắt nửa trục Möller–Trumbore — loại bỏ các vòng lặp ở cấp độ Python. Các bài kiểm tra trên một NVIDIA H100 đơn lẻ:

Độ phân giảiVoxel Hoạt độngMã hóaGiải mãTổng cộng
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

Các con số chính: 512³ từ đầu đến cuối trong 0.7 s, 1024³ trong khoảng 1.4 s, 2048³ dưới 5 s. Độ trễ tổng thể tăng tỷ lệ thuận với số lượng voxel hoạt động.

Để so sánh, các quy trình tái tạo SDF truyền thống dựa trên flood-fill hoặc số winding thường yêu cầu từ vài phút đến hàng chục phút ở 1024³, và không thể mở rộng thực tế lên 2048³ do chi phí bộ nhớ và tính toán của việc truyền dấu hiệu toàn cầu. FC không chỉ chạy trực tiếp ở 2048³ mà còn giữ độ trễ từ đầu đến cuối ở mức giây.

Kết quả Thực nghiệm

Độ chính xác của Đại diện

Trên các tập con thách thức từ ABO và Objaverse:

Phương phápĐộ phân giảiHD ↓CD (G→P) ↓F-score (0.01) ↑
UDF1024Cao (hiện tượng hai lớp)CaoThấp
Flood-fill SDF1024Cao (bề mặt phồng)CaoTrung bình
FlexiCubes1024Trung bìnhTrung bìnhTrung bình
FC10240.11 × 10⁻²0.01 × 10⁻⁴99.71
FC20480.11 × 10⁻²< 0.01 × 10⁻⁴99.99

FC hiện là đại diện voxel duy nhất chạy trực tiếp ở 2048³, với lỗi khoảng cách ổn định ở mức 10⁻⁵.

So sánh Fitting

Tái tạo VAE

Để xác nhận FCT như một đại diện học sâu, chúng tôi đã xây dựng một VAE hai chế độ sử dụng các tích chập 3D thưa thớt cộng với sự chú ý nhẹ, hỗ trợ hai chế độ đầu vào: (a) tự nén FCT → FCT, và (b) đám mây điểm → FCT.

So sánh với Trellis, SparseFlex, và Sparc3D trên tiêu chuẩn Dora và Toys4k:

  • Khoảng cách Chamfer giảm khoảng 93%
  • F-score cải thiện khoảng 35%

Đáng chú ý, FC-VAE ở độ phân giải 512³ đã vượt qua tái tạo SparseFlex / Sparc3D ở 1024³, cho thấy rằng một đại diện không mất dữ liệu có thể giảm đáng kể gánh nặng học tập trên các mạng lưới hạ nguồn.

So sánh VAE

Chỉnh sửa và Thành phần Với Faithful Contour Tokens

FCT là một đại diện voxel thưa thớt dựa trên token, có nghĩa là tất cả các thao tác ở cấp độ voxel đều chuyển trực tiếp thành token. FCT hỗ trợ bốn loại thao tác trực tiếp ở cấp độ token:

Chỉnh sửa

  • Lọc — Ray-casting tính toán khả năng nhìn thấy; các voxel ẩn bên trong và token của chúng bị loại bỏ theo ngưỡng.
  • Kết cấu — Các kênh bổ sung được thêm vào token 18D, liên kết các thuộc tính kết cấu với các điểm neo.
  • Thao tác — Xoay và biến dạng phi tuyến tác động trực tiếp lên các điểm neo, sau đó tính toán lại kết nối.
  • Phân chia & Lắp ráp — Hợp nhất sử dụng tổng hợp trung bình tại các vị trí neo và tổng hợp tối đa cho hướng; phân chia sao chép và tách các nhóm token thông qua mặt nạ hình học hoặc ngữ nghĩa.

Điều này làm cho FCT không chỉ là một đại diện đầu vào mà còn là một container token hình học hỗ trợ thành phần, chỉnh sửa, tạo kết cấu, và chuyển đổi phong cách — phù hợp tốt với giai đoạn tiếp theo của thế hệ 3D: cấp độ phần, có thể chỉnh sửa, và đa phương thức.

Mã nguồn mở và Khả năng tái tạo

Mã nguồn được mở hoàn toàn. Bắt đầu từ phiên bản v1.5, mã nguồn đã được tái cấu trúc thành Python thuần túy + Atom3d, với các nhân CUDA được phân phối dưới dạng các bánh xe đã biên dịch sẵn — không cần công cụ C++ địa phương. Chúng tôi cung cấp cả môi trường Pixi một cú nhấp chuột và cài đặt pip truyền thống, bao gồm mọi thứ từ tái tạo nghiên cứu đến tích hợp sản xuất.

Kho lưu trữ bao gồm:

  • Bộ mã hóa FCT hoàn chỉnh (FCTEncoder / FCTDecoder), hỗ trợ độ phân giải tùy ý từ 128³ đến 2048³
  • Backend giao điểm lưới tăng tốc BVH Atom3d
  • Các kịch bản demo và lưới mẫu (icosphere, pirateship, v.v.) — sẵn sàng chạy và so sánh các đầu ra GLB ngay lập tức
  • Mã huấn luyện FCT-VAE và trọng số mô hình khuếch tán (sắp ra mắt)

Kho lưu trữ: github.com/Luo-Yihao/FaithC

Tóm tắt

Những gì Faithful Contouring thực hiện có thể được tóm tắt trong một câu:

Nó di chuyển lớp biểu diễn 3D từ mô hình trường khoảng cách sang mô hình contour-token.

Trường khoảng cách và Marching Cubes có từ những năm 1980. Các đối tác 2D của chúng đã lâu bị thay thế bởi các splines, bộ raster hóa phông chữ SDF, và kết xuất thần kinh qua nhiều chu kỳ lặp lại. Về phía 3D, sự kết hợp sâu giữa quy trình và các tập dữ liệu đã được thiết lập cùng với các khung đánh giá đã lâu ngăn cản việc suy nghĩ lại có hệ thống về chính lớp biểu diễn. FC cung cấp một nền tảng mới: có thể giải quyết dưới dạng đóng, thân thiện với GPU, và có thể mở rộng lên 2048³ — xử lý tự nhiên các bề mặt mở và hình học không đa tạp, hoàn toàn bảo tồn các cấu trúc bên trong và các cạnh sắc nét, tất cả trong 18 chiều mỗi voxel.

Một sự xác nhận đáng chú ý: không lâu sau khi công trình này được công khai, Microsoft đã phát hành TRELLIS.2 vào tháng 1 năm 2026, giới thiệu O-Voxel — một biểu diễn voxel thưa thớt không trường, cũng bỏ qua các trường SDF / chiếm dụng và mã hóa hình học tùy ý (bao gồm cả bề mặt không đa tạp và mở) trực tiếp thông qua các lưới kép. Hai con đường độc lập hội tụ vào những kết luận tương tự trong một khoảng thời gian hẹp cho thấy rằng các bề mặt đẳng hướng không còn là lựa chọn duy nhất cho biểu diễn 3D.

Hạn chế

Phiên bản hiện tại của FC có một số hạn chế rõ ràng:

  • Tự giao cắt nghiêm trọng và các cấu trúc xếp lớp chặt chẽ — Khi nhiều bề mặt mỏng xen kẽ hoặc ép lại với nhau ở quy mô dưới voxel, các mẫu trong một voxel đơn lẻ đến từ các tấm khác nhau. Điểm neo được giải quyết bằng QEF trở nên mơ hồ và thể hiện sự trôi dạt cục bộ.
  • Khả năng VAE chưa được tận dụng đầy đủ — FCT-VAE hiện tại áp dụng xương sống tích chập thưa thớt + chú ý cục bộ từ Sparc3D / SparseFlex. Khả năng mô hình hóa của nó cho các nhánh cực kỳ tinh tế, trang trí dày đặc và các cấu trúc rất không đều khác vẫn còn chỗ để cải thiện.
  • Suy giảm độ sắc nét qua giải mã — FCT được giải mã qua VAE cho thấy sự mất mát nhẹ về độ sắc nét và mượt mà so với việc khớp trực tiếp, vốn có trong nén tiềm ẩn. Điều này cũng chỉ ra sự cần thiết phải căn chỉnh tốt hơn giữa các biểu diễn token và các chiều tiềm ẩn.

Tiếp theo là gì: Xem trước Vision 2

Trong Faithful Contouring 2.0 sắp tới, chúng tôi mở rộng FCT thành dạng đa neo — một voxel đơn lẻ không còn bị giới hạn ở một neo mà có thể chứa nhiều neo để đại diện cho các cấu trúc giao cắt phức tạp. Điều này sẽ cải thiện hệ thống hiệu suất của FC trên các giao cắt tự thân, các hình học xếp lớp chặt chẽ, và các vỏ mỏng lồng nhau, đồng thời cung cấp cho các mạng hạ nguồn thông tin hình học cục bộ chi tiết hơn. Hãy theo dõi.

Trích dẫn

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}
}

Đủ với SDF + Marching Cubes? Đã đến lúc đưa hình học trở lại — một cách trung thực. CVPR 2026 Oral · arXiv 2511.04029 · GitHub: Luo-Yihao/FaithC

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

Bài đăng này có hữu ích không?

3D, Theo Yêu Cầu

Liên hệ Bán hàng