Iskra: A System for Inverse Geometry Processing
Ana Dodik, Ahmed H. Mahmoud, Justin Solomon
TL;DR
Iskra presents an imperative, tensor-based system that enables differentiating through a broad class of geometry processing solvers via implicit differentiation and the adjoint method. By coupling a geometry module with an implicit-function module, it supports sparse linear systems, eigenproblems, local-global iterations, and ADMM, while maintaining tight integration with PyTorch and ML workflows. Its fixed-point and structured implicit layers, along with gather-scatter mesh representations, yield robust performance and memory efficiency across inverse geometry tasks such as mean curvature flow, spectral parameterization, ARAP, and geodesic distances. The work demonstrates practical viability, interoperability with learning pipelines, and significant speedups over declarative baselines, offering a flexible tool for embedding geometric solvers in differentiable programs.
Abstract
We propose a system for differentiating through solutions to geometry processing problems. Our system differentiates a broad class of geometric algorithms, exploiting existing fast problem-specific schemes common to geometry processing, including local-global and ADMM solvers. It is compatible with machine learning frameworks, opening doors to new classes of inverse geometry processing applications. We marry the scatter-gather approach to mesh processing with tensor-based workflows and rely on the adjoint method applied to user-specified imperative code to generate an efficient backward pass behind the scenes. We demonstrate our approach by differentiating through mean curvature flow, spectral conformal parameterization, geodesic distance computation, and as-rigid-as-possible deformation, examining usability and performance on these applications. Our system allows practitioners to differentiate through existing geometry processing algorithms without needing to reformulate them, resulting in low implementation effort, fast runtimes, and lower memory requirements than differentiable optimization tools not tailored to geometry processing.
