SGP Summer School Presentations

2021

Graduate School

For several years now, SGP offers a colocated Graduate School on Geometry Processing that features several lectures in various topics in the field, held by world-class experts and lead researchers in the respective discipline.

The school is typically addressed to PhD students and other postgraduate students, with an interest in Geometry Processing, but offers introductory lectures suitable for many other practitioners and researchers. All participants to SGP 2021 have access to the SGP Graduate School. Videos for lectures from previous years are available here.

Shape approximation and applications

Shape approximation methods aim at generating a light weight proxy from high resolution surfaces, such as 3D scans. The proxy can then be used a convenient substitute to the actual shape for various compute-intensive tasks such as retrieval, physics simulation, freeform modeling, level-of-detail rendering, performance capture reverse engineering and more. Depending on the application, the nature and desired properties of the proxy may vary. Often, its efficient yet controllable generation remains an open problem. In this course, we will discuss a variety of approaches to shape approximation, including mesh simplification, shape recognition, mathematical morphology and probabilistic models. We will also review mechanisms to link a proxy to the original shape, establishing ways to propagate information from one to the other. Last, we'll discuss applications and some research directions in this space that could be fruitful for computer graphics and beyond.

Course materials:
[Video (Archive)]

Tamy Boubekeur (Adobe Research)

Projective Dynamics/Simulation

Physically-based simulations have been used more and more in recent interactive applications. In this talk, we will cover the key ideas we have been using to accelerate our simulations, utilizing the geometric information of the simulated objects. We will start from Projective Dynamics, an acceleration method to simulate mass-spring systems, and some simple finite element models such as the as-rigid-as-possible model. We show that Projective Dynamics can be seen as a quasi-Newton method that approximates the Hessian matrix of the elastic potential with a topological-aware Laplacian matrix. Other than assembling the Laplacian matrices, we can also use the mesh topology to propagate information throughout the entire simulated mesh. We will then show an efficient unstructured Galerkin multigrid algorithm using this idea. We summarize these strategies we used as localizing the nonlinearity and grouping the similars. During this course, we use these strategies as an example of how we use geometric information to accelerate simulations. And we look forward to seeing more geometric-based ideas in accelerated physically-based simulations.

Course materials:
[Video (Archive)]

Tiantian Liu (Microsoft Research Asia )

Geometric Computing with Python

In this course, we present an easy-to-use Python-based workflow for applications in geometric computing and visualization. Our libraries have a shallow learning curve while also enable programmers to accomplish a wide variety of complex tasks. Furthermore, we adopt NumPy arrays as a common interface, which greatly simplifies serialization and interoperability with existing scientific computing packages. Finally, our libraries are performant, with most computations in C++ and a minimal overhead interface to Python. In addition, we present a demo on using the libraries to implement a geometry processing algorithm with ease. By the end of the course, attendees will have exposure to a set of simple, composable, and high-performance tools for geometric computing.

Course materials:
[Video (Archive)]

Daniele Panozzo (NYU)
Zhongshi Jiang (NYU)

Maps Between Surfaces

Maps between the surfaces of two or more 3D models are a core building block in many geometry processing tasks. They allow transferring data (e.g. textures, labels, annotations, animations) from one object to another, they are used to establish correspondence within a data set (e.g. for machine learning purposes), and they are required when algorithms process multiple shapes at once (e.g. in co-analysis contexts or in co-processing scenarios like compatible remeshing). In this course we dive into theoretical as well as practical aspects of such maps from a computational point of view. Our main focus will be on homeomorphisms: maps that satisfy strict continuity and bijectivity criteria. These avoid any kind of undesirable tears or folds and thus provide a well-defined foundation for reliable algorithms. In three blocks, we will learn (1) how to computationally represent maps, (2) how to initially construct valid maps, in particular homeomorphisms, and (3) how to improve their quality via continuous optimization. In each chapter, we will work our way up from the well-studied case of maps in the plane to the more challenging case of maps between discrete curved surfaces.

Course materials:
[Video (Archive)]

Marcel Campen (Osnabrück University)
Patrick Schmidt (RWTH Aachen University)

Deep Learning on Meshes

The irrefutable success of deep learning on structured data (such as images and text) has sparked significant interest in its applicability to problems in geometry processing. In this talk, we will discuss the key challenges and current solutions for using mesh convolutional neural networks on the unstructured mesh representation for problems in geometry processing. We will outline the design choices and implications of (1) learning on different mesh elements (vertices, faces, edges); (2) invariance to rigid transformations; (3) invariance and equivariance to the order of mesh elements; (4) input features, among others. We discuss existing applications of mesh convolutional neural networks, as well as potential promising future directions.

Course materials:
[Video (Archive)]

Rana Hanocka (Tel Aviv University)

Directional Field Processing

Directional fields are core objects of geometry processing. They represent movement, flow, alignment, or geometric transformations. Their applications range from fluid simulation, through architectural design, to mesh generation. We will discuss the theoretical and empirical challenges in representing and discretizing directional fields on surfaces and in volumes, and some of their desired properties with relation to the applications; namely, smoothness, integrability, constrained size or symmetry, and more. We will further discuss how recent approaches optimized for these properties. Finally, we will demonstrate some of the common design paradigms for directional fields using the software library Directional.

Course materials:
[Video (Archive)]

Amir Vaxman (Utrecht University)

Digital Geometry

Digital Geometry is about the processing of topological and geometrical objects defined in regular lattices (e.g. collection of voxels in 3d). Whereas representing quantities on regular, hierarchical or adaptive grids is a classical approach to spatially discretize a domain, processing the geometry of such objects requires us to revisit classical results from continuous or discrete mathematics. In this course, we will review tools and results that have been designed specifically to the geometry processing in Z^d. More precisely, we will present how processing regularly spaced data with integer coordinate embeddings may impact computational geometry algorithms, and how stability results (multigrid convergence) of differential quantities estimators (curvature tensor, Laplace-Beltrami,..) on boundaries of digital objects can be designed. Finally, we will present some elements of discrete calculus on digital surfaces. Lastly, we will briefly give a demo of the DGtal library (dgtal.org) which contains a wide class of algorithms dedicated to the processing of such specific data.

Course materials:
[Video (Archive)]

David Coeurjolly (CNRS)
Jacques-Olivier Lachaud (University of Savoie)

An Introduction to Geometry Processing Programming in MATLAB with gptoolbox

It is easy and convenient to use MATLAB for research and teaching in geometry processing. In this tutorial we will teach you the very basics of geometry processing in MATLAB using the simple library gptoolbox, which implements a plethora of standard geometry processing algorithms. We will show you how to do basic linear algebra operations in MATLAB, how to manipulate geometric objects, how to display surfaces, and how to do some popular geometry processing operations in MATLAB's powerful interactive environment.

Course materials:
[Video (Archive)]

Hsueh-Ti Derek Liu (University of Toronto)
Silvia Sellán (University of Toronto)
Oded Stein (MIT)
Advised by Alec Jacobson (University of Toronto)

A Quick Introduction to the Laplacian and Bilaplacian Through the Theory of Partial Differential Equations

In this course we will learn about the Laplacian and Bilaplacian operator, and develop mathematical tools for discussing these two popular operators in geometry processing. We will approach Laplacian and Bilaplacian from the point of view of the mathematical theory of partial differential equations and numerical analysis of finite elements. We will start with a solid mathematical foundation for the definition of Laplacian and Bilaplacian, as well as their associated partial differential equations, and discuss their solvability. Then we will discretize these operators using the finite element and mixed finite element methods, and superficially investigate their convergence. Having implemented the discrete Bilaplacian for triangle meshes, we will explore the application of this discrete operator to a variety of geometry processing problems, from smoothing and surface animation to distance computation. After completing this course you will be able to define Laplacian and Bilaplacian as operators on Sobolev spaces, comment on their solvability, discretize them with the mixed finite element method, and know of some of the interesting applications for which the Bilaplacian can be used.

Course materials:
[Video (Archive)]

Oded Stein (MIT)