Manifolds.jl: An Extensible Julia Framework for Data Analysis on Manifolds

For data given on a nonlinear space, like angles, symmetric positive matrices, the sphere, or the hyperbolic space, there is often enough structure to form a Riemannian manifold. We present the Julia package Manifolds.jl, providing a fast and easy to use library of Riemannian manifolds and Lie groups. We introduce a common interface, available in ManifoldsBase.jl, with which new manifolds, applications, and algorithms can be implemented. We demonstrate the utility of Manifolds.jl using Bézier splines, an optimization task on manifolds, and a principal component analysis on nonlinear data. In a benchmark, Manifolds.jl outperforms existing packages in Matlab or Python by several orders of magnitude and is about twice as fast as a comparable package implemented in C++.

[1]  Bamdev Mishra,et al.  Manopt, a matlab toolbox for optimization on manifolds , 2013, J. Mach. Learn. Res..

[2]  Rasul Karimov,et al.  Geoopt: Riemannian Optimization in PyTorch , 2020, ArXiv.

[3]  Xavier Pennec,et al.  Riemannian Geometric Statistics in Medical Image Analysis , 2020 .

[4]  P. Thomas Fletcher,et al.  Principal geodesic analysis for the study of nonlinear statistics of shape , 2004, IEEE Transactions on Medical Imaging.

[5]  Miroslav Bacák,et al.  Computing Medians and Means in Hadamard Spaces , 2012, SIAM J. Optim..

[6]  Gabriele Steidl,et al.  A Parallel Douglas-Rachford Algorithm for Minimizing ROF-like Functionals on Images with Values in Symmetric Hadamard Manifolds , 2015, SIAM J. Imaging Sci..

[7]  Ewald R. Weibel,et al.  Stereological Analysis of Anisotropic Structures using Directional Statistics , 1985 .

[8]  M. Miller Computational anatomy: shape, growth, and atrophy comparison via diffeomorphisms , 2004, NeuroImage.

[9]  Mateusz Baran,et al.  Closest Paths in Graph Drawings under an Elastic Metric , 2018, Int. J. Appl. Math. Comput. Sci..

[10]  Robert B. McGhee,et al.  An extended Kalman filter for quaternion-based orientation estimation using MARG sensors , 2001, Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No.01CH37180).

[11]  Alan Edelman,et al.  Julia: A Fresh Approach to Numerical Computing , 2014, SIAM Rev..

[12]  Rachid Deriche,et al.  Riemannian Framework for Estimating Symmetric Positive Definite 4th Order Diffusion Tensors , 2008, MICCAI.

[13]  H. Karcher Riemannian center of mass and mollifier smoothing , 1977 .

[14]  Lu Chen,et al.  A new method for identification of flood seasons using directional statistics , 2013 .

[15]  I. Dryden,et al.  Non-Euclidean statistics for covariance matrices, with applications to diffusion tensor imaging , 2009, 0910.1656.

[16]  U. Grenander,et al.  Computational anatomy: an emerging discipline , 1998 .

[17]  Gabriele Steidl,et al.  A Second Order Nonsmooth Variational Model for Restoring Manifold-Valued Images , 2015, SIAM J. Sci. Comput..

[18]  Mateusz Baran,et al.  Use of statistical approaches to improve the quality control of the dose delivery in radiotherapy , 2019, Physics in medicine and biology.

[19]  Mateusz Baran,et al.  Application of Elastic Shape Analysis to User Authentication and Identification , 2022, IEEE Transactions on Emerging Topics in Computing.

[20]  Gabriele Steidl,et al.  Priors with Coupled First and Second Order Differences for Manifold-Valued Image Processing , 2017, Journal of Mathematical Imaging and Vision.

[21]  Niklas Koep,et al.  Pymanopt: A Python Toolbox for Optimization on Manifolds using Automatic Differentiation , 2016, J. Mach. Learn. Res..

[22]  Stefan Sommer,et al.  Computational Anatomy in Theano , 2017, GRAIL/MFCA/MICGen@MICCAI.

[23]  Hiroyuki Kasai,et al.  McTorch, a manifold optimization library for deep learning , 2018, ArXiv.

[24]  Ronny Bergmann,et al.  MVIRT, a toolbox for manifold-valued image restoration , 2017, 2017 IEEE International Conference on Image Processing (ICIP).

[25]  Rama Chellappa,et al.  Statistical Computations on Grassmann and Stiefel Manifolds for Image and Video-Based Recognition , 2011, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[26]  Baba C. Vemuri,et al.  Recursive Karcher Expectation Estimators And Geometric Law of Large Numbers , 2013, AISTATS.

[27]  Xavier Pennec,et al.  geomstats: a Python Package for Riemannian Geometry in Machine Learning , 2018, ArXiv.

[28]  H. Karcher,et al.  How to conjugateC1-close group actions , 1973 .

[29]  Pierre-Yves Gousenbourger,et al.  Differentiable Piecewise-Bézier Surfaces on Riemannian Manifolds , 2016, SIAM J. Imaging Sci..

[30]  Levent Tunçel,et al.  Optimization algorithms on matrix manifolds , 2009, Math. Comput..

[31]  Anuj Srivastava,et al.  Shape Analysis of Elastic Curves in Euclidean Spaces , 2011, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[32]  Pierre-Yves Gousenbourger,et al.  A Variational Model for Data Fitting on Manifolds by Minimizing the Acceleration of a Bézier Curve , 2018, Front. Appl. Math. Stat..

[33]  Pierre-Yves Gousenbourger,et al.  Data Fitting on Manifolds with Composite Bézier-Like Curves and Blended Cubic Splines , 2018, Journal of Mathematical Imaging and Vision.