Гибкое извлечение изоповерхностей для градиентной оптимизации сеток
Flexible Isosurface Extraction for Gradient-Based Mesh Optimization
August 10, 2023
Авторы: Tianchang Shen, Jacob Munkberg, Jon Hasselgren, Kangxue Yin, Zian Wang, Wenzheng Chen, Zan Gojcic, Sanja Fidler, Nicholas Sharp, Jun Gao
cs.AI
Аннотация
В данной работе рассматривается градиентная оптимизация сеток, при которой мы итеративно оптимизируем трехмерную поверхностную сетку, представляя её как изоповерхность скалярного поля — подход, который становится всё более распространённым в таких областях, как фотограмметрия, генеративное моделирование и обратная физика. Существующие реализации адаптируют классические алгоритмы извлечения изоповерхностей, такие как Marching Cubes или Dual Contouring; однако эти методы были разработаны для извлечения сеток из фиксированных, известных полей, и в контексте оптимизации они либо не обладают достаточной степенью свободы для представления высококачественных сеток с сохранением деталей, либо страдают от численной неустойчивости. Мы представляем FlexiCubes — представление изоповерхности, специально разработанное для оптимизации неизвестной сетки с учётом геометрических, визуальных или даже физических критериев. Основная идея заключается во введении дополнительных тщательно подобранных параметров в представление, которые позволяют локально гибко корректировать геометрию и топологию извлекаемой сетки. Эти параметры обновляются вместе с базовым скалярным полем с помощью автоматического дифференцирования при оптимизации для решения последующих задач. Наша схема извлечения основана на Dual Marching Cubes для улучшения топологических свойств, а также представлены расширения для генерации тетраэдральных и иерархически-адаптивных сеток. Многочисленные эксперименты подтверждают эффективность FlexiCubes как на синтетических тестах, так и в реальных приложениях, демонстрируя значительное улучшение качества сеток и геометрической точности.
English
This work considers gradient-based mesh optimization, where we iteratively
optimize for a 3D surface mesh by representing it as the isosurface of a scalar
field, an increasingly common paradigm in applications including
photogrammetry, generative modeling, and inverse physics. Existing
implementations adapt classic isosurface extraction algorithms like Marching
Cubes or Dual Contouring; these techniques were designed to extract meshes from
fixed, known fields, and in the optimization setting they lack the degrees of
freedom to represent high-quality feature-preserving meshes, or suffer from
numerical instabilities. We introduce FlexiCubes, an isosurface representation
specifically designed for optimizing an unknown mesh with respect to geometric,
visual, or even physical objectives. Our main insight is to introduce
additional carefully-chosen parameters into the representation, which allow
local flexible adjustments to the extracted mesh geometry and connectivity.
These parameters are updated along with the underlying scalar field via
automatic differentiation when optimizing for a downstream task. We base our
extraction scheme on Dual Marching Cubes for improved topological properties,
and present extensions to optionally generate tetrahedral and
hierarchically-adaptive meshes. Extensive experiments validate FlexiCubes on
both synthetic benchmarks and real-world applications, showing that it offers
significant improvements in mesh quality and geometric fidelity.