Краткое содержание Faithful Contouring заменяет устаревший конвейер SDF + Marching Cubes на Faithful Contour Tokens — кодируя треугольные сетки непосредственно в 18-мерные разреженные воксельные токены, без герметизации, без полей расстояний. Чистый CUDA, 1024³ за ~1.4 с, 2048³ менее чем за 5 с на одном H100.
Прошлый год ознаменовался всплеском работы по генерации 3D — методы, такие как Trellis и Hunyuan3D, почти каждый месяц занимают верхние строчки в бенчмарках. Но вот что легко упустить из виду: хотя архитектуры сетей эволюционировали в DiT, Flow Matching и Sparse Voxel Transformer, основное 3D-представление все еще опирается на SDF + Marching Cubes 1987 года. Faithful Contouring предлагает принципиально иной подход к 3D-вокселизации.
Faithful Contouring (FC), принятый как CVPR 2026 Oral, пропускает герметизацию, пропускает построение SDF-поля и полностью пропускает Marching Cubes. Вместо этого FC кодирует треугольные сетки непосредственно в разреженные воксельные токены — новое 3D-представление, которое сохраняет топологию, острые края и внутренние структуры. Весь конвейер от сетки до вокселя реализован как чистые CUDA-ядра, завершая вокселизацию 1024³ примерно за 1 секунду и 2048³ менее чем за 5 секунд на одном NVIDIA H100.
Почему SDF + Marching Cubes является узким местом в 3D-вокселизации
На протяжении многих лет практически каждый метод прямой реконструкции и генерации 3D — DeepSDF, Occupancy Networks, а недавно Trellis, Hunyuan3D, Sparc3D, TripoSF — следовал одному и тому же конвейеру:
Сырая сетка → Герметизация → SDF / UDF → Marching Cubes → Новая сетка
Этот конвейер выглядит универсальным, но каждый этап вносит нетривиальные потери информации:
-
Предварительная обработка для герметизации обычно использует дилатацию ε-шаром для заделки отверстий. Это изменяет топологию и превращает тонкие оболочки в толстые.
-
Вычисление знака опирается на глобальные алгоритмы, такие как заливка или числа обмотки для классификации внутри/снаружи. Эти алгоритмы нестабильны на неманифольдной геометрии, открытых поверхностях и внутренних полостях — и они сопротивляются параллелизму на GPU.
-
Извлечение изоповерхности через Marching Cubes сглаживает острые края, разрушает внутреннюю структуру и оставляет после себя артефакты в виде лестницы.
Более практическим узким местом является разрешение: существующие методы на основе SDF почти все ограничены ниже 2048³ для 3D-вокселизации, именно потому, что глобальное распространение знака и затраты на предварительную обработку для герметизации взрываются с увеличением разрешения. Faithful Contouring был разработан, чтобы обойти весь этот конвейер.
![]()
Что делает Faithful Contouring выдающимся
Большинство методов 3D-вокселизации следуют фиксированному пути: сетка к полю расстояний к изоповерхности. Faithful Contouring задает другой вопрос:
Можем ли мы пропустить обходной путь от сетки → поле расстояний → изоповерхность и вместо этого извлечь кандидаты на якорные точки непосредственно внутри каждого вокселя, а затем соединить их в поверхность на основе топологических отношений?
Это именно то, что делает Faithful Contouring. Он кодирует треугольные сетки непосредственно в набор разреженных воксельных токенов, называемых Faithful Contour Tokens (FCT). Конвейер имеет три ключевых свойства:
- Без поля расстояний — не требуется вычисление SDF, не требуется определение знака
- Без рендеринга — не требуется дифференцируемое рендеринговое управление
- Полностью локальный — каждый воксель взаимодействует только с несколькими треугольниками, которые проходят через него, что делает его естественно параллельным на GPU
Faithful Contouring против SDF + Marching Cubes
| Свойство | Конвейер SDF + Marching Cubes | Faithful Contouring |
|---|---|---|
| Открытые поверхности / неманифольд | Необходимо сначала герметизировать (теряется топология) | Поддерживается нативно |
| Внутренние полости | Удаляются заливкой | Полностью сохраняются |
| Острые края / углы | Сглаживаются MC | Естественно захватываются через QEF |
| Представление на воксель | 1 значение SDF | 18-мерный токен |
| Редактирование / сборка | Сложно | Прямые операции на уровне токенов |
| Faithful Contouring поддерживает открытые поверхности, неманифольдную геометрию и внутренние полости изначально — особенности, которые методы вокселизации, основанные на SDF, теряют во время предварительной обработки для обеспечения водонепроницаемости. |
Как работает Faithful Contouring: конвейер кодировщика и декодировщика
Конвейер Faithful Contouring состоит из Кодировщика и Декодировщика, оба из которых полностью построены на классических геометрических операторах без обучаемых компонентов.
![]()
Кодировщик: Mesh → FCT
Для каждого вокселя в сетке выполняются четыре шага последовательно:
-
Обнаружение активных вокселей (SAT) — Используя Теорему о разделяющей оси по 13 кандидатным осям, мы проверяем, пересекает ли треугольник данный воксель . Пересекающиеся воксели помечаются как активные примальные воксели.
-
Центроиды пересечений — Алгоритм Сазерленда–Ходжмана обрезает каждый треугольник по шести граням вокселя, чтобы создать выпуклый многоугольник , затем вычисляет его центроид:
Благодаря выпуклости, этот центроид гарантированно находится внутри вокселя. Каждый , в паре с нормалью исходного треугольника , образует локальный образец геометрии.
- Подгонка якоря (QEF) — Это основной шаг. Все образцы подаются на минимизацию функции квадратичной ошибки:
Первый член обеспечивает согласованность касательных плоскостей, направляя якорь к общему пересечению всех касательных плоскостей — именно поэтому острые края и углы естественно захватываются. Второй член обеспечивает регуляризацию центроида для подавления дрейфа при плохо обусловленных входных данных. Решение дается в закрытой форме через нормальное уравнение 3×3:
Нормали решаются с помощью регуляризации Тихонова. Все решение полностью независимо для каждого вокселя — это фундаментальная причина, по которой FC масштабируется до 2048³.
При более низких разрешениях вокселей якоря, решенные с помощью QEF, все еще надежно привязываются к острым особенностям.
- Пересечения полуосей — Пересечение луча и треугольника по Мёллеру–Трумборе выполняется вдоль шести направлений полуосей, создавая двоичный код , используемый при декодировании для определения ориентации грани.
Вся информация упаковывается для каждого вокселя в одну строку:
Каждый активный воксель занимает 18 измерений.
Декодировщик: FCT → Mesh
Декодирование состоит из двух шагов:
Глобальный сбор — Соседние примальные воксели, разделяющие двойной воксель, усредняют свои якорные точки, чтобы создать единый набор вершин .
Quad → Tri — Четыре двойных якоря на каждой примальной грани образуют четырехугольник. Ориентация определяется кодом полуоси, и четырехугольник разделяется на два треугольника по диагонали, минимизирующей отклонение нормалей.
Все декодирование также полностью локально — глобальный поиск не требуется.
Инженерия: вокселизация за доли секунды с параллелизмом CUDA
Дизайн алгоритма FC тесно согласуется с параллелизмом GPU: каждый воксель зависит только от нескольких треугольников, пересекающих его, решение QEF является закрытой формой нормального уравнения 3×3, и весь конвейер не содержит глобальных операторов. Именно поэтому он масштабируется до 2048³.
В частности, FC избегает следующих глобальных процессов: распространение связанных компонентов заливкой, интеграция полной сетки с использованием числа витков, дилатация ε-шара для обеспечения водонепроницаемости и постобработка с помощью Marching Cubes. Вычисление каждого вокселя полностью независимо и напрямую сопоставляется с потоком CUDA. Мы реализовали все основные операторы в виде чистых CUDA-ядер — пересечение SAT, отсечение по алгоритму Сазерленда–Ходжмана, аналитическое QEF и пересечение по полуоси Мёллера–Трумбора — устранив циклы на уровне Python. Результаты тестов на одном NVIDIA H100:
| Разрешение | Активные воксели | Кодирование | Декодирование | Всего |
|---|---|---|---|---|
| 128³ | 71K | 0.27 с | 0.02 с | 0.29 с |
| 256³ | 287K | 0.45 с | 0.06 с | 0.51 с |
| 512³ | 1.1M | 0.52 с | 0.17 с | 0.70 с |
| 1024³ | 4.6M | 0.82 с | 0.61 с | 1.42 с |
| 2048³ | 18.4M | 2.16 с | 2.51 с | 4.68 с |
Ключевые показатели: 512³ от начала до конца за 0.7 с, 1024³ примерно за 1.4 с, 2048³ менее чем за 5 с. Общая задержка масштабируется примерно линейно с количеством активных вокселей.
Для сравнения, традиционные конвейеры реконструкции SDF, основанные на заливке или числах обмотки, обычно требуют минут до десятков минут при 1024³ и не могут практически масштабироваться до 2048³ из-за памяти и вычислительной нагрузки глобального распространения знака. FC не только работает напрямую при 2048³, но и сохраняет задержку от начала до конца на уровне секунд.
Экспериментальные результаты
Точность представления
На сложных подмножествах из ABO и Objaverse:
| Метод | Разрешение | HD ↓ | CD (G→P) ↓ | F-score (0.01) ↑ |
|---|---|---|---|---|
| UDF | 1024 | Высокая (артефакты двойного слоя) | Высокая | Низкая |
| Заливка SDF | 1024 | Высокая (раздутые поверхности) | Высокая | Средняя |
| FlexiCubes | 1024 | Средняя | Средняя | Средняя |
| FC | 1024 | 0.11 × 10⁻² | 0.01 × 10⁻⁴ | 99.71 |
| FC | 2048 | 0.11 × 10⁻² | < 0.01 × 10⁻⁴ | 99.99 |
FC в настоящее время является единственным воксельным представлением, которое работает напрямую при 2048³, с ошибками расстояния, стабильными на уровне 10⁻⁵.
![]()
Реконструкция VAE
Для проверки FCT как представления для глубокого обучения мы построили VAE с двумя режимами, используя разреженные 3D-свертки плюс легкое внимание, поддерживающее два режима ввода: (a) самосжатие FCT → FCT и (b) облако точек → FCT.
По сравнению с Trellis, SparseFlex и Sparc3D на тестах Dora и Toys4k:
- Расстояние Чамфера уменьшено примерно на 93%
- F-score улучшен примерно на 35%
Примечательно, что FC-VAE при разрешении 512³ уже превосходит реконструкции SparseFlex / Sparc3D при 1024³, демонстрируя, что без потерь представление может значительно снизить нагрузку на обучение для последующих сетей.
![]()
Редактирование и Композиция с Токенами Faithful Contour
FCT — это основанное на токенах разреженное воксельное представление, что означает, что все операции на уровне вокселей напрямую переносятся на токены. FCT поддерживает четыре категории прямых операций на уровне токенов:
![]()
- Фильтрация — Рендеринг лучей вычисляет видимость; внутренние скрытые воксели и их токены удаляются по порогу.
- Текстура — Дополнительные каналы добавляются к 18D токену, связывая текстурные атрибуты с якорями.
- Манипуляция — Поворот и нелинейная деформация действуют непосредственно на якорях, за которыми следует пересчет связности.
- Разделение и Сборка — Объединение использует среднюю агрегацию в позициях якорей и максимальную агрегацию для ориентации; разделение копирует и разделяет группы токенов через геометрические или семантические маски.
Это делает FCT не просто входным представлением, но контейнером геометрических токенов, поддерживающим композицию, редактирование, текстурирование и перенос стиля — хорошо согласованным с следующей фазой 3D-генерации: на уровне частей, редактируемым и мультимодальным.
Открытый исходный код и Воспроизводимость
Код полностью с открытым исходным кодом. Начиная с версии v1.5, кодовая база была переработана в чистый Python + Atom3d, с CUDA-ядрами, распространяемыми в виде предварительно скомпилированных колёс — локальная C++-цепочка инструментов не требуется. Мы предоставляем как среду Pixi с одним кликом, так и традиционную установку через pip, охватывая всё от воспроизведения исследований до интеграции в производство.
Репозиторий включает:
- Полный кодек FCT (FCTEncoder / FCTDecoder), поддерживающий произвольные разрешения от 128³ до 2048³
- Ускоренный BVH бэкенд пересечения сеток Atom3d
- Демо-скрипты и образцы сеток (икосфера, пиратский корабль и т.д.) — готовы к запуску и сравнению GLB-выходов из коробки
- Код обучения FCT-VAE и веса модели диффузии (скоро)
Репозиторий: github.com/Luo-Yihao/FaithC
Резюме
То, что делает Faithful Contouring, можно резюмировать в одном предложении:
Он переносит слой 3D-представления от парадигмы поля расстояний к парадигме контур-токенов.
Поля расстояний и Marching Cubes восходят к 1980-м годам. Их 2D-современники давно были заменены сплайнами, растеризаторами шрифтов SDF и нейронным рендерингом через несколько циклов итераций. В 3D-сфере глубокая связь между конвейером и установленными наборами данных и оценочными рамками долгое время препятствовала систематическому переосмыслению самого слоя представления. FC предлагает новую основу: решаемую в закрытой форме, дружественную к GPU и масштабируемую до 2048³ — нативно обрабатывающую открытые поверхности и неманифольдную геометрию, полностью сохраняя внутренние структуры и острые края, всё в пределах 18 измерений на воксель.
Значительное подтверждение: вскоре после того, как эта работа была обнародована, Microsoft выпустила TRELLIS.2 в январе 2026 года, представив O-Voxel — свободное от полей разреженное воксельное представление, которое также обходит SDF / поля занятости и кодирует произвольную топологию (включая неманифольдные и открытые поверхности) напрямую через двойные сетки. Два независимых пути, сходящихся к схожим выводам в узком временном окне, предполагают, что изо-поверхности больше не являются единственным вариантом для 3D-представления.
Ограничения
Текущая версия FC имеет несколько явных ограничений:
- Серьезные самопересечения и плотно расположенные структуры — Когда несколько тонких поверхностей переплетаются или прижимаются друг к другу на субвоксельном уровне, образцы в пределах одного вокселя поступают с разных листов. Решённый QEF якорь становится неоднозначным и демонстрирует локальное смещение.
- Недоиспользование ёмкости VAE — Текущий FCT-VAE использует разреженную свёртку + локальную внимательность от Sparc3D / SparseFlex. Его моделирующая способность для чрезвычайно тонких ветвей, плотных украшений и других высоко нерегулярных структур всё ещё имеет потенциал для улучшения.
- Ухудшение резкости при декодировании — FCT, декодированный через VAE, показывает небольшую потерю резкости и гладкости по сравнению с прямой подгонкой, что является следствием латентного сжатия. Это также указывает на необходимость более точного согласования между токеновыми представлениями и латентными измерениями.
Что дальше: Предварительный просмотр Vision 2
В предстоящем Faithful Contouring 2.0 мы расширяем FCT до многоякорной формы — один воксель больше не ограничивается одним якорем, но может содержать несколько якорей для представления сложных пересекающихся структур. Это систематически улучшит производительность FC на самопересечениях, плотно расположенных геометриях и вложенных тонких оболочках, предоставляя нисходящим сетям более детализированную локальную геометрическую информацию. Следите за обновлениями.
Цитирование
@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}
}Хватит с SDF + Marching Cubes? Пора вернуть геометрию — верно.
CVPR 2026 Устный доклад · arXiv 2511.04029 · GitHub: Luo-Yihao/FaithC
Ихао Ло, Имперский колледж Лондона — y.luo23@imperial.ac.uk


