Learning from landmarks, curves, surfaces, and shapes in Geomstats
Luís F. Pereira, Alice Le Brigant, Adele Myers, Emmanuel Hartman, Amil Khan, Malik Tuerkoen, Trey Dold, Mengyang Gu, Pablo Suárez-Serrato, Nina Miolane
TL;DR
The paper presents the shape module of Geomstats, a Python library for intrinsic shape analysis that treats shapes as quotient spaces arising from group actions on object spaces (landmarks, curves, surfaces). It provides an object-oriented, back-end agnostic implementation of fiber bundles, quotient metrics, and alignment to enable geodesic interpolation, averaging, and statistics on shape data, including Kendall shape spaces, elastic geometry for curves, and discrete surface metrics. Key contributions include seamless integration with the existing manifold framework, support for multiple backends ($\mathbb{N}$uMPy, Autograd, PyTorch), and concrete use cases such as geodesic regression on landmark shapes and geodesics between cell curves and surfaces. The work enables practitioners to perform intrinsic statistical learning on shape data across biology, medicine, and vision, while highlighting ongoing challenges in curve and surface computations, reparametrization alignment, and parameter sensitivity of elastic metrics.
Abstract
We introduce the shape module of the Python package Geomstats to analyze shapes of objects represented as landmarks, curves and surfaces across fields of natural sciences and engineering. The shape module first implements widely used shape spaces, such as the Kendall shape space, as well as elastic spaces of discrete curves and surfaces. The shape module further implements the abstract mathematical structures of group actions, fiber bundles, quotient spaces and associated Riemannian metrics which allow users to build their own shape spaces. The Riemannian geometry tools enable users to compare, average, interpolate between shapes inside a given shape space. These essential operations can then be leveraged to perform statistics and machine learning on shape data. We present the object-oriented implementation of the shape module along with illustrative examples and show how it can be used to perform statistics and machine learning on shape spaces.
