in copyright - non-commercial use permitted rights ... · distortion in a least-squares sense. the...

42
Research Collection Master Thesis An augmented Lagrangian method for locally injective mapping Author(s): Savu, Victor-Nicolae Publication Date: 2014 Permanent Link: https://doi.org/10.3929/ethz-a-010255362 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection . For more information please consult the Terms of use . ETH Library

Upload: others

Post on 25-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

Research Collection

Master Thesis

An augmented Lagrangian method for locally injective mapping

Author(s): Savu, Victor-Nicolae

Publication Date: 2014

Permanent Link: https://doi.org/10.3929/ethz-a-010255362

Rights / License: In Copyright - Non-Commercial Use Permitted

This page was generated automatically upon download from the ETH Zurich Research Collection. For moreinformation please consult the Terms of use.

ETH Library

Page 2: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

An Augmented Lagrangian Method forLocally Injective Mapping

Victor-Nicolae Savu

Master ThesisSeptember 2014

Supervisors:Christian Schüller

Dr. Daniele PanozzoProf. Dr. Olga Sorkine-Hornung

Page 3: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they
Page 4: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

Abstract

The generation of piecewise linear maps has received a lot of attention from the scientific com-munity. In particular, locally injective maps are very important in many fields, from geometryprocessing and shape modelling to computer games and movies. We propose a mesh-basedmethod for computing positionally constrained piece-wise linear maps which are locally injec-tive and have low distortion. The main advantage of our approach is that it can recover bothfrom violations of positional constraints as well as from violations of the injectivity constraints.This flexibility makes it suitable for difficult problems where other state-of-the-art methods fail.Our method is very general and can be used to augment any existing mapping algorithm toenforce local injectivity.

i

Page 5: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

ii

Page 6: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they
Page 7: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

iv

Page 8: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

Contents

1 Introduction 3

2 Related Work 52.1 Energy Function Minimization . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Locally Injective and Bijective Maps . . . . . . . . . . . . . . . . . . . . . . . 6

3 Preliminary Formalism 93.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Deformation and Positional Constraint Energies . . . . . . . . . . . . . . . . . 113.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Methods 134.1 Augmented Lagrangian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.1.1 Primal Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1.2 Penalty update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Convex Sub-spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.1 Constructing the convex neighborhood . . . . . . . . . . . . . . . . . 194.2.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Results 235.1 Boundary matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 Convergence Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.1 Deformation Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2.2 Triangle Measure Constraints . . . . . . . . . . . . . . . . . . . . . . 27

5.3 Spiking Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

v

Page 9: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

Contents

6 Concluding remarks 31

Bibliography 33

1

Page 10: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

Contents

2

Page 11: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

1Introduction

Locally injective maps in two or three dimensions have wide applicability in shape deformation,animation, surface parametrization and re-meshing. As opposed to globally injective maps, theyonly enforce injectivity when restricted to small neighborhoods of each point in the domain.Intuitively, two distinct points which are “close together” must be mapped to distinct points,while two points which are “further apart“ may be mapped to the same point.

Inversion-free maps over vertices of orientable simplicial meshes (triangle meshes in 2D andtetrahedron meshes in 3D) ensure that the mapped elements have a positive orientation. Contin-uous locally injective maps can be created by extending these discrete maps through element-wise linear interpolation. An example can be seen in Figure 1.1, where point X is mapped byinterpolation using the same barycentric corrdinates (a, b) it had in the original triangle. Sinceelement-wise linear interpolation is bijective and two simplices with a common facet (edge fortriangles and face for tetrahedra) and the same orientation cannot overlap, two points which areeither in the same simplex or in neighboring simplices cannot be mapped to the same point.Intuitively, there is no way to deform the two positively (clockwise) oriented triangles A′B′C′

and C′B′D′ from Figure 1.1 such that their interiors overlap while at the same time presrvingtheir orientation.

Maps can be characterized using deformation energy functions, which usually quantify a typeof distortion that the mapping introduces. A map with minimal conformal distortion ([Lévyet al. 2002] [Desbrun et al. 2002]) locally preserves angles, but may affect the scale, while amap with minimal isometric distortion will optimally preserve local distances.

Planar triangle meshes or volumetric tetrahedron meshes can be deformed and even animatedusing mappings which are constrained at points called “deformation handles“. Deformationenergies, like the As-Rigid-As-Possible energy [Sorkine and Alexa 2007], are usually employedhere in order to control how the rest of the map ”follows along“. Some physically impossible

3

Page 12: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

1 Introduction

A

C

B

DA'

C'

B'

D'

x

y

z

u

v

X'(a,b)

X(a,b)

Figure 1.1: Example of a small triangle mesh mapped to texture space. Triangles A′B′C′ and C′B′D′

have a positive clockwise orientation. The mapping is extended to point X using its barycen-tric coordinates (a, b) inside the triangle CBD.

deformations can be prevented by restricting the mappings to be locally injective. For example,it is easy to turn an open zip-lock bag inside-out, but it is impossible to do so when it is sealed(without opening or tearing it).

Texture mapping is ubiquitous in many industries, from video games and films to architectureand industrial design. At the core of this process lies the computation of a globally injectivemapping between a three-dimensional polygon mesh, usually with a disc topology, and a flattwo-dimensional patch called the texture space. This way, color information can be mappedback unto the surface. It was shown in [Lipman 2012] that if the boundary of the mesh mapsbijectively unto the texture space and the mapping for the rest of the points is locally injective,then the entire mapping is globally injective. In adition to the injectivity requirement, limitingthe amount of distortion is one of the most desirable properties of a texture map. Textures areusually represented as pixel-images at different resolutions. This means that texture mapping is,in part, a discrete sampling problem. Local distortions like sheering and scaling create artifactswhich are further agravated by effects like aliasing.

We explore the problem of creating positionally constrained inversion-free maps of orientablemeshes, in any number of dimensions, with low distortion. The space of such maps is highlynon-convex and has non-linear boundaries, which makes optimization difficult. We propose aniterative method based on the Augmented Lagrangian optimization scheme ([Andreani et al.2007]). The algorithm is generic enough to accommodate a variety of deformation energyfunctions and produces intermediate results at interactive framerates even for meshes of over50K elements. Our examples focus on 2D and 3D meshes, but our method naturally extends tohigher dimensions.

4

Page 13: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

2Related Work

There is plenty of literature in the field about computing piecewise linear maps. We provide abrief overview of the two topics which constitute the objective of our work: energy minimiza-tion and locally injective maps.

2.1 Energy Function Minimization

[Haker et al. 2000] show a simple method for computing maps which minimize the conformaldistortion in a least-squares sense. The method reduces to solving a sparse, real, symmetriclinear system, for which they propose using the conjugate gradient method. [Lévy et al. 2002]formulate the Least-Squares Conformal (LSC) energy as a quadratic function of the vertextexture coordinates, which they call the “criterion” for minimizing “the conformality conditionin the least square sense”. Independently, in the same year, [Desbrun et al. 2002] classifies thesame energy as an “intrinsic measure” of the mesh, with properties like rotation and translationinvariance, continuity and additivity.

[Sorkine and Alexa 2007] introduce the “As-Rigid-As-Possible” (ARAP) energy which mea-sures the dissimilarity to a rigid transformation. They also present an iterative method forminimizing this energy, with each step reducing to finding the nearest rigid transformation tothe current mapping and then solving a sparse linear system. The system matrix is constantthroughout the algorithm, which enables pre-factorization for fast solving at every step. Thealgorithm is guaranteed to converge to a local minimum of the energy.

Energy minimization methods with positional constraints have been used for mesh editing.[Botsch and Sorkine 2008] show an example of mesh manipulation using the Laplacian editingenergy. They also compare two ways of enforcing positional constraints. One method explic-

5

Page 14: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

2 Related Work

itly maps the constrained vertices to their desired position and excludes them from the list ofvariables. The other method introduces an additional quadratic energy term which penalizesthe squared distance between the mapping of constrained vertices and their desired positions.A weight parameter controls the influence of the positional constraint energy. It is shown in[Botsch and Sorkine 2008] that for high values of the weight, the results for the two methodsbecome very similar, but the total energy has worse numerical conditioning.

2.2 Locally Injective and Bijective Maps

None of the energy functions presented above offer any guaranties regarding injectivity, eventhough some of them, like ARAP and LSC naturally resist inverted elements.

An easy method for computing bijective maps for triangle meshes with disk topology is pro-posed by [Tutte 1963]. By constraining the boundary to a convex polygon and then findingcoordinates such that each vertex is the average of its one-ring neighbors, the resulting tri-angulation is guaranteed to be inversion-free. The induced energy can be interpreted as thatof a spring system. Later on, [Floater 2003] generalized the method by relaxing the bound-ary condition to non-strictly convex polygons and the uniform-weighted average to any convexcombination (linear combination with positive unit-partitioning weights) of the vertices. Thesemethods only work for the 2D case and are restricted to fixed boundary problems (problemswhere the boundary is fully constrained).

Recently, [Weber and Zorin 2014] proposed an algorithm which is guaranteed to compute aninjective mapping of a triangle mesh with disk topology to an arbitrary fixed boundary, if oneexists. The idea is to compute two bijective mappings, one for the source mesh, the other for atriangulation of the target boundary, to the same convex domain using Tutte’s algorithm [Tutte1963]. Composing the former map with the inverse of the latter in the continuous case wouldyield a valid bijective map. However, for the discrete case, this may no longer apply, becausemapping the vertices of the original mesh unto the target domain can lead to flipped trianglesif the original connectivity is preserved. A minimal re-meshing step is used to ensure localinjectivity in the discrete case. An important contribution is the derivation of a criterion for theexistence of such maps for an arbitrary fixed boundary. The method does not seem to expand tohigher dimensions in a trivial manner and does not deal directly with distortion minimisation.Aside from the fixed topology, a limitation is the fact that that the necessary re-meshing stepcan include mesh refinement (addition of new vertices), which, depending on the applicationdomain, might not be desirable.

[Aigerman et al. 2014] compute locally injective maps in two and three dimensions by project-ing an input mapping unto the space of k-bounded-distortion maps, where k is a fixed bound onthe aspect ratio distortion of any element. The paper shows examples where maps minimizingthe ARAP energy, which contain inverted elements, are modified into locally injective maps.When positional constraints are used for the original map, the same positional constraints canbe enforced during the projection. However, the projection does not take into account the en-ergy which the initial map was minimizing, which means that the result is not a projection inthe least-energy sense, but rather in a least-squares sense. Moreover, each intermediate iterationof the algorithm is expensive (20 seconds) even for relatively small meshes (4K vertices and

6

Page 15: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

2.2 Locally Injective and Bijective Maps

20K tetrahedra), which makes it unsuitable for interactive use. Although it is not guaranteed toconverge, it is shown to perform well for reasonably distorted initial mappings.

[Schüller et al. 2013] propose the LIM (Locally Injective Mapping) method for computingguaranteed locally-injective maps by augmenting a deformation energy with barrier terms whichinfinitely penalize inverted mesh elements. The penalties decay rapidly when the elements arecorrectly oriented so as to avoid competing with the main deformation energy term. Moreover,the non-linear iterative solver they propose produces smooth intermediate results at interactiveframe rates. The method applies both to triangle meshes as well as to tetrahedron meshes. As faras we know, this is the first method which optimizes for both local injectivity and for minimalenergy while offering interactive feedback. One drawback of LIM is that it is constrained ateach iteration to explore only locally-injective states. Not only does the initial guess have tobe locally injective, but so must all the intermediate states. This can sometimes slow downor even cause the optimization to stall. [Jin et al. 2014] propose an improvement for LIMbased on adaptive re-meshing which successfully reduces the number of iterations requiredfor convergence by more than three times. However, the improvement has less impact on theexecution time (only 30 to 45 per cent speed-up) even on small and medium-sized meshes due tothe overhead introduced both by the re-meshing and its side-effects on the LIM method, whichare expected to become even more pronounced on larger meshes.

7

Page 16: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

2 Related Work

8

Page 17: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

3Preliminary Formalism

In order to simplify the discourse and to reduce ambiguity, we specify the notations and def-initions we will be using throughout the next chapters. This provides the basis for a formalproblem specification and for a rigorous exposition of our methods and derivations.

3.1 Notation

We begin with a list of common mathematical notations:

• Vectors are written with bold lower-case letters, optionally followed by a bold integersubscript (e.g. v, λ, b0, b1).

• Matrices are written in bold upright capital letters (e.g. M).

• The matrix transpose operator is denoted by a capital T superscript following a matrixexpression (e.g. AT , (A+B)T ).

• Diagonal matrices are represented by a capital upright D with a vector expression sub-script containing the diagonal elements. (e.g. Dµ, DMv+u).

• The size of a vector and the cardinality of a set are represented by the prefix operator #.

• ⊗ is the Kronecker product.

• Id is the d× d identity matrix.

• Bold-face numerical constants, like 0 or 1, are vectors in which all of the entries have thevalue of that constant. Their dimensions are deduced from the context.

9

Page 18: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

3 Preliminary Formalism

• ‖ · ‖∞ is the L-∞ vector norm

When talking about d-simplicial meshes, we will use the following representation: a d-simplicialmesh is a pair 〈V , E〉, where V is a tuple of vertices and E is a tuple of elements. While verticesare simply abstract mathematical objects, elements are tuples of indices into V , each describingan oriented simplex.

When associating vector values to a mesh, as we do when specifying positions for its vertices,we use one of two representations. The one we call the per-vertex (or vertex-wise) represen-tation, in which the associated vector consists of #V equally-sized blocks, each respectivelyassociated with the vertices in V . The other we call per-corner (or corner-wise) representa-tion, in which the associated vector consists of # E super-blocks (one for each element in # E ,respectively) and each super-block consists of d blocks, each respectively associated to the ver-tices indexed by the corresponding element. All of the d# E blocks are equally-sized. Notethat this latter representation is suitable for describing non-integrable domains, since each ver-tex gets associated as many different blocks as there are elements incident to it. Here are acouple of examples:

1. We can represent the vertex positions of an integrable 3-simplicial (tetrahedron) mesh inR3 using a vector v in per-vertex representation, where each block is a 3D vector 〈x, y, z〉representing the Cartesian coordinates of the associated vertex.

2. We can represent texture coordinates for the elements of a triangle mesh using the corner-wise representation vector t, where each block contains the 〈u, v〉 texture coordinatesassociated with its particular triangle corner. This can represent the discontinuities oftexture mapping across triangle borders.

We use T〈V,E〉 = (ti,j)i∈{0...#V−1},j∈{0...(d+1)# E−1} to denote the vertex-to-corner incidencematrix of a d-simplicial mesh 〈V , T 〉, where:

ti,j =

{1 if i is the 0-indexed entry j − bj/(d+ 1)c of element bj/(d+ 1)c0 otherwise

We can convert a per-vertex representation of a vector v with 1-dimensional blocks into anequivalent per-corner representation by left-multiplying by the transpose of the vertex-to-cornerincidence matrix: TT

〈V,E〉v. If the blocks are d-dimensional, we can block-expand T〈V,E〉 usingthe Kronecker product with a d× d identity matrix: (T⊗ Id)

Tv.

Indexing into vectors is done in two different ways. One is by subscripting any vector with aninteger-valued expression between square brackets. For example, u[i], where i ∈ {0 . . .#u−1}is the scalar on position i in u. Note that indexing starts from 0. The other one is subscriptinga vector associated to a mesh with a mesh element between square brackets, which producesa subsequence of the vector. If the vector has a per-corner representation, indexing with anelement returns the corresponding super-block. Otherwise, if it has a per-vertex representation,indexing produces the concatenation of blocks associated with the element vertices, in order.For example, suppose we have a vector v which associates per-vertex 3D Cartesian coordinatesto the vertices of a triangle mesh and a vector u which does the same, only using a per-cornerrepresentation. If e is a mesh element, then v[e] and u[e] have the same number of elements (9),the same number of blocks (3), which also respectively correspond to the same vertices, and

10

Page 19: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

3.2 Deformation and Positional Constraint Energies

represent (possibly different) vertex configurations of the same triangle.

Let v be a per-vertex (or per-corner) associated vector describing the d-dimensional vertexpositions of a d-simplex mesh and let e be an element of that mesh. v[e] consists of d+1 blocks(which we denote b0, . . . ,bd), each representing the d coordinates of a vertex. The measure ofthe element e in that configuration is:

σ(v[e]) =1

d!det (b1 − b0,b2 − b0, . . . ,bd − b0) (3.1)

The orientation is of an element under a particular vertex configuration is given by the sign ofits measure.

Based on orientation and associated vertex positions, we can qualify meshes:

• We call a mesh “orientable” if there exists an associated per-vertex position configurationsuch that all of its elements have the same orientation. Note that the orientation of anelement from a d-simplicial mesh only makes sense when the associated vertex positionsare d-dimensional.

• We call a mesh with an associated per-vertex or per corner position configuration “inver-sion free” if all the elements have a positive orientation.

• We call a mesh “integrable” either if it has a per-vertex associated vertex position config-uration or if it has a per-corner associated vertex position configuration for which thereexists an equivalent per-vertex representation (i.e. the blocks corresponding to the samevertex contain identical values).

3.2 Deformation and Positional Constraint Energies

Energy functions are positive scalar functions which quantify properties of the mapping. Well-known deformation energies like ARAP and LSC measure the distortion of a mesh occurring asa result of mapping its associated per-vertex positions from a fixed initial configuration v0 to agiven configuration v.

However, positional constraints such as the ones for handle-based mesh deformation and fixed-boundary parametrization can also be expressed as global minima of quadratic energy functionswhich measure the squared euclidean distance between the constrained vertices and their targetpositions.

Energy functions can be linearly combined (with positive weights) to achieve trade-offs be-tween their various properties. For example, a deformation energy like ARAP can be combinedwith a positional constraint energy to quantify the similarity to a mapping which is rigid andpositionally constrained.

11

Page 20: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

3 Preliminary Formalism

3.3 Problem Statement

LetM = 〈V , E〉 be an orientable mesh of d-simplices. Let Ed be an energy function over the setof possible vertex configurations (positions) ofM, which we will refer to as the “deformationenergy”. We apply soft positional constraints using the quadratic energy function Ep defined inequation 3.2, which we will call the positional constraint energy.

Ep(v) =1

2‖Cv − d‖2 (3.2)

A positive weight ω can be used to specify the trade-off between the positional constraints andthe deformation energy, leading to the total energy function E (v) = Ed(v) + ωEp(v). A moredetailed overview of this method and its properties is provided by [Botsch and Sorkine 2008].

We are specifically interested in mappings which place vertices on a d-dimensional hyperplanein such a way that every mapped element has a strictly positive orientation. For our optimizationproblem to be well defined, we choose a small ε > 0 to be the lower bound on the measure ofthe mapped elements (usually ∼ 10−6). Formally, we write our problem statement as:

Given a mesh 〈V , E〉, an associated deformation energy Ed and an associated positional con-straint energy Ep defined as in 3.2, a positive weighting scalar ω and a small positive scalar ε,find a solution to the following constrained minimization problem:

argminv∈Rd#V

Ed(v) + ωEp(v)

subject to σ(v[e]) ≥ ε,∀e ∈ E(3.3)

12

Page 21: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4Methods

Equation 3.3 can be seen as a projection of the (unconstrained) global minimizer of the objectiveunto the space of integrable inversion-free d-simplicial meshes. The difficulty lies in satisfyingthe positive orientation constraints. Since elements share vertices with their neighbours, theconstraints are coupled: moving one vertex has the potential of flipping any of the adjacentelements. This leads to a difficult optimization problem with a highly non-convex feasibleregion.

The main part of our work focuses on two observations:

1. Finding a per-vertex position configuration which is an unconstrained minimizer of an en-ergy function is significantly easier than finding its projection unto the highly non-convexfeasible space. This is mainly due to the fact that the space of integrable d-simplicialmeshes is convex, which is a very useful property especially for iterative optimizationmethods.

2. Projecting a per-corner position configuration unto the space of inversion-free d-simplicialmeshes (which are not necessarily integrable) has, under certain reasonable criteria, aclosed-form solution which can be computed independently for each element.

The feasible space of 3.3 is the intersection of the convex space S1 of integrable meshes with thenon-convex space S2 of inversion-free meshes, both of which are subspaces of S, the convexspace of meshes with arbitrary per-corner positions. [Andreani et al. 2007] argues that theAugmented Lagrangian is a good method for solving this class of problems. We base oursolution on the general Augmented Lagrangian method presented in [Andreani et al. 2007],which [Deng et al. 2013], [Deng et al. 2014] also use for similar energy minimization problems,but with much more well-behaved constraints. The solution we propose is essentially a series ofalternating projections from S to S1 and S2 interleaved with corrective dislpacements. For moreinformation on alternating projection methods, we direct the interested reader to [Escalante and

13

Page 22: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4 Methods

Raydan 2011] and [Lewis and Malick 2008].

In the end, we briefly present a more conservative approach which only explores a series ofoverlapping convex sub-sets of the space of inversion-free meshes. We show how to computea convex feasible sub-space around any feasible point and we touch upon the advantages anddrawbacks of optimizing in this space.

4.1 Augmented Lagrangian

Our method interprets the problem as a minimization over the intersection of two spaces. Oneis the space of vertex positions of integrable d-simplicial meshes. Vectors in this space can berepresented with a per-vertex associated position vector, as is the vector v in the original prob-lem formulation 3.3. The other space is that of vertex positions of an inversion-free d-simplicialmesh. In order to represent vectors in this space, we introduce the per-corner associated po-sition vector u together with the constraints σ(u[e]) ≥ ε for every mesh element e ∈ E . Theintersection of the two spaces can be written as the equivalence of the two associated vectorsMTv = u, where, for convenience, we denoted the expansion of the vertex-to-corner incidencematrix by M = T〈V,E〉 ⊗ Id.

The positional constraint energy term can also be expanded to apply to the per-corner vertexpositions using the same matrix M:

This leads to a problem formulation which is equivalent to the original 3.3:

argminv

Ed(v) +ω

2‖Cv − d‖22

subject to σ(u[e]) ≥ ε,∀e ∈ EMTv = u

(4.1)

We define the following Augmented Lagrangian objective function in the same manner as itappears in [Deng et al. 2013]:

Λ(v,u,λ,µ) = Ed(v)+ω

2‖Cv−d‖22+λT (MTv−u)+ 1

2(MTv−u)TDµ(M

Tv−u) (4.2)

The dual variables λ and the penalty variables (coefficients) µ are both used to ensure that everycritical point of Λ satisfy the equality constraints of 4.1:

0 =∂Λ

∂λ= MTv − u (4.3)

0 =∂Λ

∂µi

= (MTv − u)2i (4.4)

If the penalty variables are non-negative, then all but the deformation energy term in Λ areconvex both in v and in u.

14

Page 23: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4.1 Augmented Lagrangian

The new optimization problem is:

argminv,u,λ,µ

Λ(v,u,λ,µ)

subject to σ(u[e]) ≥ ε,∀e ∈ E‖λ‖∞ ≤ λmax

µ >= 1

(4.5)

[Deng et al. 2013], [Deng et al. 2014] introduce an additional penalty term into the objective4.2, which is 0 when all the non-flipping constraints are satisfied and ∞ when any of themare violated. This way, they artificially eliminate the non-flipping constraints from 4.5 at theexpense of making the objective function discontinuous. We prefer our formulation, 4.5, whichkeeps the objective differentiable and explicitly lists the constraints.

We apply a nested descent approach to find a local minimum of the Lagrangian function. Weinitialize it with λ = 0, µ = 1. The initial state for v is allowed to contain flips, so it isconvenient to set it to the minimizer of the energy and positional constraint penalty as an initialguess for the solution. This has the added benefit that if the minimizer is inversion-free to beginwith, the optimization finishes very early. Each iteration consists of the following steps:

1. Primal update: Repeat until convergence:

• u = argminu Λ(v,u,λ,µ) subject to σ(u[e]) ≥ ε,∀e ∈ E

• v = argminv Λ(v,u,λ,µ).

2. Dual update: λ = λ+Dµ(MTv − u).

3. Penalty update: choose a new µ which is element-wise at least as large as the current one.

This scheme is a combination of the algorithm proposed in [Deng et al. 2013], [Deng et al. 2014]with an idea for the penalty update from [Andreani et al. 2007]. We added the first conditionalstep in order to allow for interactive updates of the positional constraints in a manner which ismore fluent than restarting the algorithm.

4.1.1 Primal Update

In the Primal Update step, we search for a local minimum of Λ restricted to a fixed λ and a fixedµ. We perform an inner descent, where we alternate between fixing v and optimizing for u andfixing u and optimizing for v. Convergence is reached when the dual residual ‖DµM

Tdv‖2∞becomes less than a fixed small threshold εd (usually∼ 10−2 for normalized meshes), where dvis the amount by which v changed during the previous iteration. Since reaching convergenceis not a strong requirement for the outer descent, we also limit the maximum number of inneriterations to lmax.

15

Page 24: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4 Methods

u-update

Considering only the terms of Λ which do not depend on u, the minimization is:

u∗ = argminu

1

2uTDµu− uT (DµM

Tv + λ)

subject to σ(u[e]) ≥ ε,∀e ∈ E(4.6)

The global (unconstrained) minimizer of the objective function is u ≡ D−1µ λ+MTv. If it liesin the feasible region of 4.6, then it is also the solution, so u∗ = u. Otherwise, we can re-writethe solution as u∗ = u+ u, where:

u = argminu

1

2(u+ u)TDµ(u+ u)− (u+ u)T (DµM

Tv + λ)

subject to σ((u+ u)[e]

)≥ ε,∀e ∈ E

(4.7)

After eliminating the constant term, substituting Dµu = DµMTv + λ and reducing the re-

maining terms, the equation becomes:

u = argminu

1

2uTDµu

subject to σ((u+ u)[e]

)≥ ε,∀e ∈ E

(4.8)

Moreover, the groups of variables u[e] and u[e′], where e 6= e′, are decoupled and can be opti-mized for independently:

u[e] = argminu

1

2uTDµ[e]

u

subject to σ(u[e] + u

)≥ ε

(4.9)

From a geometrical perspective, since the elements of µ are strictly positive, the solution u∗

is a projection of u unto the feasible set. For the elements e ∈ E for which σ(u[e]) >= 0,the solution is simply u[e] = 0. For each of the others, the solution is an element obtained bydisplacing u[e] by an optimal u[e]. Since the required projection unto the optimal set is a difficultproblem, which requires solving a system of d(d+1) polynomial equations of degree d+1, wefocus on finding an acceptable surrogate.

Under reasonable conditions, the problem of finding the direction for an optimal projection tothe nearest degenerate triangle (σ(w) = 0) can easily be solved in closed-form. We use thatdirection to restrict our search for an approximation of the optimal solution.

If the coefficients in µ[e] are equal for the d components of each vertex, they can be inter-preted as per-vertex weights. The first part of the problem becomes the same as finding a linear

16

Page 25: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4.1 Augmented Lagrangian

weighted least-squares fit to the element vertices, which we solve by performing a weightedPrincipal Component Analysis using the method described in [Kriegel 2008]. We consider areference frame aligned with the d principal components centered at the weighted mean of thevertex positions. By scaling the smallest principal component by s = ε/σ(u[e]), we obtain ourapproximation for u∗. Under this affine transformation, the element, which used to have themeasure σ(u[e]), now has measure ε. In practice, for numerical reasons, we add 10% to thescaling factor s to cause a small “overshoot”.

We did not formally analyze the accuracy of our approximation, but we observed that it performswell in practice.

v-update

For fixed u, λ and µ, the optimization 4.5 becomes equivalent to finding the minimizer for thefollowing function of v:

Ed(v) +1

2vT(ωCTC+MDµM

T)v +

(Mλ− ωCTd−MDµu

)Tv (4.10)

This is the same as optimizing for the deformation energy Ed under a set of soft positionalconstraints. Algorithms for solving this type of problems are usually proposed in conjunctionwith the deformation energy. We will provide examples for two representative cases.

Quadratic Energies An interesting class of energy terms is that of quadratic functionals ofthe vertex mapping. In general they can be written as:

E (v) =1

2vTAv − bTv + c, (4.11)

where A is a symmetric matrix and b and c are constant vectors. Such is the case of theDirichlet energy, the Biharmonic Laplace Energy ([Sorkine et al. 2004]) and the Least SquaresConformal Energy ([Lévy et al. 2002], [Desbrun et al. 2002]). The optimum v is the solutionto the linear system:

(A+ ωCTC+MDµM

T)v = ωCTd+MDµu−Mλ+ b (4.12)

Unfortunately, the system matrix changes with every iteration update to µ, which preventsdirect solvers from operating efficiently even on medium-sized meshes (∼ 5k elements). Wefound that the conjugate gradient method with diagonal preconditioning achieves interactiveperformance even for meshes with as many as 100k vertices.

ARAP The As-Rigid-As-Possible (ARAP) energy [Sorkine and Alexa 2007] can be writtenas:

E (v) =1

2vTLv − bT (v)v, (4.13)

17

Page 26: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4 Methods

where L is the matrix form of the Laplace-Beltrami operator, and b is a vector function. Inthe same spirit as the solution from the original ARAP paper [Sorkine-ARAP], we propose aniterative method which, starting from an initial guess, evaluates b(v) every step and then treatsthe energy as if it were a quadratic function. We can then find an intermediate solution usingthe method for Quadratic Energies described above. This leads to the following update rule:

v =(L+ ωCTC+MDµM

T)−1

(ωCTd+MDµu−Mλ+ b(v)) (4.14)

The inverse matrix multiplication can be interpreted as a linear system solve. The system ma-trix

(L+ ωCTC+MDµM

T)

remains constant only during this inner minimization, but itsdiagonal entries change with every v-update, which makes it unsuitable for pre-factorization.However, in our experiments, the same Conjugate Gradient method used for the Quadratic En-ergies offered good results for this scenario.

4.1.2 Penalty update

Literature on the Augmented Lagrangian method ([Andreani et al. 2007], [Deng et al. 2013])offers various penalty update strategies, all of which advocate monotonous, usually exponential,increases. [Andreani et al. 2007] explain that the convergence of the algorithm is conditionedon the convergence of the penalty term, which, however, is not guarantied to occur in all cases.In practice, the penalty is artificially constrained by an upper bound.

The magnitude of the penalty variables µ is used to couple the map injectivity, the mesh integra-bility and the energy minimization. Larger values tend to favor integrability and injectivity atthe expense of making the energy minimization more badly conditioned. In order to decide ona trade-off, we analyze the convergence of two series from the primal update: the dual residualr(v) = DµM

Tdv and the equality constraint h(v,u) = MTv − u. The former measures theconvergence rate of v, as dv represents the change of v during the last inner iteration of theprimal update. The latter measures how much the equality constraints are violated. Both seriesare expected to converge to 0. Both r and h are vector valued series with the same numberof components as µ. For some index i, the component µ[i] only depends on the correspond-ing components from the two series. There are three criteria we take into consideration whenupdating the penalty coefficients:

• If h(v,u)[i] ≤ εh, then µ[i] remains unchanged. Otherwise:

• If r(v)[i] ≤ εr, then µ[i] = γµ[i]. Otherwise:

• If r(v)[i] converges much faster than h(v,u), then µ[i] = γµ[i], otherwise µ[i] remainsunchanged.

The penalty variable µ is a per-corner associated vector with blocks of dimension d. In thediscussion about the primal update, we pointed out that it is desirable that all the componentsof a block be equal in order to enable a closed-form solution for the update of u. We satisfythis criterion by replacing each block of the updated µ by one where its maximum value isreplicated d times. Then, we apply a cut-off to an upper bound µmax.

18

Page 27: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4.2 Convex Sub-spaces

v0

v2v1

P0

P1

P2

Figure 4.1: The convex regions defined by the lines P0, P1, P2 and by the vertices v0, v1, v2

4.2 Convex Sub-spaces

We have also investigated a more conservative iterative method, in which we enforce feasibilityat each step. Since the feasible set of our problem is non-convex, even the minimization of aconvex energy function is difficult. The idea is to compute a convex feasible subset around eachintermediate solution and to search for a local minimizer in that restricted set. This requiresan initial vertex configuration which is both integrable and inversion-free. Since it is a greedyapproach, it suffers greatly from local minima which arise not necessarily as a result of a non-convex objective, but from feasible regions in which the minimizer is on the boundary of thefeasible set.

4.2.1 Constructing the convex neighborhood

Let us consider a d-dimensional simplex. We label the vertices 0 through d. A sufficient con-dition for a mapping of the vertex positions to be inversion-free is that the initial simplex has apositive orientation and vertex 0 remains on the same side of the oriented facet formed by theother vertices. This condition is equivalent regardless of the chosen labeling. However, check-ing it involves computing the determinant of a (d+ 1)× (d+ 1) matrix, which is a polynomialof degree d+ 1 in the vertex coordinates, and is only convex for d = 1.

We propose a set of stronger conditions which are sufficient for ensuring an inversion-free mapand which define a convex set. Let P0 . . . Pd be (d− 1)-dimensional oriented hyperplanes suchthat Pi intersects all the segments connecting vertex i to each of the other d vertices. Everyvertex i will be on the opposite side of the hyperplane Pi with respect to all the other vertices. A

19

Page 28: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4 Methods

mapping of the vertex positions is inversion-free if the original element has a positive orientationand if the mapping preserves the side of all the vertices with respect to all the hyperplanes.More formally, if vi is the original position of vertex i, which gets mapped to vi

′, then noneof the hyperplanes intersect the segment connecting vi and vi

′. This means that vi′ lies in the

intersection of d + 1 half-spaces defined by the hyperplanes and by the point vi. These can beexpressed as d+ 1 linear inequalities for each vertex, making the feasible space convex. Figure4.1 shows a two-dimensional example.

In order to prevent degenerate elements, the linear inequalities enforce a minimum distance ofεl to each hyperplane. This introduces a lower bound of 2εl on the distance between a vertexand its opposite facet, which implicitly bounds the element measure σ. For example, in the 2Dcase, the minimum permissible element measure is the area of an equilateral triangle of height2εl.

This approach naturally extends to a homogeneous simplicial complex (a mesh) by simply ap-plying the above conditions on each element. This way, the image of every vertex under themapping is constrained by d+1 linear inequalities from each of the elements it is a part of. Theconstraints only depend on the original vertex positions and, consequently, they are not cou-pled across vertices. [Bommes et al. 2013] propose a similar convexification with a geometricinterpretation, which, as opposed to ours, couples linear per-vertex constraints with linear per-triangle constraints. As opposed to the convexification scheme proposed by [Aigerman et al.2014], each convex subspace we generate is a proper subset of the feasible space of 3.3.

4.2.2 Discussion

Although it is trivial to prove that the convex sub-spaces created by our method are non-empty(the identity mapping is always an element of the sub-space), they can become degenerate orcan cause numerical instabilities.

Optimizing in this restricted space is difficult because future constraints are only visible once anew state is selected. This offers only local information to search algorithms attempting to findthe global minimum. Figure 4.2 shows a typical problem with using a greedy algorithm for thispurpose in the 2D case. When all the vertices of a triangle are at distance εl from their commonconstraint line, the same constraint will have to appear in the next iteration as well. Unlessthe algorithm decides to move one of the vertices away from the constraint, the vertices remain“stuck” and this configuration will propagate throughout the algorithm. When sufficiently manysuch triangles occur, the optimization stalls.

20

Page 29: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4.2 Convex Sub-spaces

Figure 4.2: Example of optimizing in the convexified space. The image on top shows a mesh in aninitial pose with three positional handles. The lower handle is deformed as shown by thegreen bar. A greedy algorithm only optimizes for the positional constraints energy. Themiddle section contains an intermediate state on the left and the final state where the convexsub-space degenerates on the right. On the last row there are two magnified details of theabove images.

21

Page 30: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

4 Methods

22

Page 31: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5Results

In order to validate our Augmented Lagrangian based method for the two-dimensional case, weuse it to compute mappings with fixed boundary constraints between two flat domains with disctopology. We present data collected during run time which illustrates important characteristicsof our algorithm. In the end, we present a major limitation of our method when used for handle-based shape deformation.

Our experiments were performed on a 64-bit Linux system with an Intel R© CoreTM i5-3317UCPU @ 1.70GHz processor and 8GB DDR3 @ 1600 MHz. The algorithm was written in C++and compiled with GCC 4.8.2. We used the Eigen [Guennebaud et al. 2010] library for linearalgebra operations and for the Conjugate Gradient algorithm. For visualization and mesh fileI/O we used the libigl [Jacobson et al. 2013] library.

5.1 Boundary matching

A bijective correspondence between two planar meshes with disc topology can be achieved bycomputing a locally injective mapping in which the vertices on the border of one mesh are con-strained to points on the border of the other. We perform an experiment in which we constrainthe border of a disc to a dinosaur shape. We use our algorithm with the ARAP deformationenergy ([Sorkine and Alexa 2007]), which is rotation and translation invariant. Even though thetarget boundary contains very sharp and elongated features, our algorithm manages to find lo-cally injective maps for three increasingly finer triangulations of the source disc. The mappingscan be seen in Figure 5.2.

Once the correspondence is computed, information can be transfered between the two shapesusing element-wise linear interpolation. Figure 5.3 shows how a checkerboard pattern is trans-

23

Page 32: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5 Results

Figure 5.1: A comparison of our Augmented Lagrangian algorithm with LIM [Schüller et al. 2013] inthe boundary matching experiment. The LIM algorithm (left) stalls after 320 seconds. Ouralgorithm (right) converges after 23.7 seconds.

fered from the original disc domain to the dinosaur domain. The results are very similar forall three of the triangulations, which indicates that the computed mappings are smooth acrosstriangle edges.

This experiment is a known limitation of previous algorithms for computing locally injectivemaps, such as [Schüller et al. 2013] and [Jin et al. 2014]. In such highly constrained scenar-ios, the rigidity introduced by enforcing local injectivity for every intermediate stage of theminimization can slow down convergence to the point of stalling. Figure 5.1 shows a compar-ison with the LIM algorithm ([Schüller et al. 2013]) for the case when the input mesh has 542triangles.

5.2 Convergence Characteristics

The boundary matching experiment offered a good opportunity to record data related to the evo-lution of our algorithm, and in particular to its convergence. Measurements of the deformationenergy (Ed), the positional constraints energy (Ep) and the number of triangles violating theminimum measure bound were taken after each intermediate result was produced, together withthe cumulated time spent on the optimization.

We used a large weight ω = 108 for the positional constraints energy in order to make sure thepositional constraints are satisfied. As a result, our data shows values of the order of 10−15 forthe positional constraints energy.

Computation time measurements are summarised in table 5.1.

5.2.1 Deformation Energy

Our Augmented Lagrangian algorithm begins with minimizing the deformation energy underthe soft positional constraints, without taking the minimum element measure constraint intoaccount. It then proceeds to progressively constrain the problem until the latter constraints are

24

Page 33: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5.2 Convergence Characteristics

Figure 5.2: Our algorithm can compute solutions to the boundary constrained locally injective mappingproblem with low ARAP energy ([Sorkine and Alexa 2007]). Each row corresponds to adifferent resolution of the source mesh: coarse (542 triangles and 322 vertices), medium(4844 triangles and 2483 vertices) and fine (48881 triangles and 24639 vertices). From leftto right are depicted the source mesh, the boundary it was constrained to and the convergedmapping.

25

Page 34: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5 Results

Figure 5.3: Using the boundary constrained injective mappings computed by our algorithm (shown inFigure ??), we transfer a checkerboard pattern to the dinosaur shape in order to visuallyassess distortion. The upper-left image shows the pattern on the original disc. The otherimages are the results for the three triangulations: coarse (upper-right, 542 triangles and 322vertices), medium (lower-left, 4844 triangles and 2483 vertices) and fine (48881 trianglesand 2439 vertices).

Input mesh size Time per iteration (in ms) Time until convergence (in s)

542 triangles, 322 vertices 2.7± 1.48 23.7

4844 triangles, 2483 vertices 14.3± 4.38 114.28

48881 triangles, 2439 vertices 126.7± 25.24 3726.65

Table 5.1: Running time measurements for the boundary matching experiment.

26

Page 35: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5.3 Spiking Artifacts

0 5 10 15 20 25computation time (s)

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2.0

2.1

defo

rmat

ion

ener

gy

0 20 40 60 80 100 120computation time (s)

1.2

1.3

1.4

1.5

1.6

1.7

1.8

defo

rmat

ion

ener

gy

0 500 1000 1500 2000 2500 3000 3500 4000computation time (s)

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2.0

defo

rmat

ion

ener

gy

Figure 5.4: The ARAP deformation energy ([Sorkine and Alexa 2007]) evolution during the boundarymatching experiment seen in Figure 5.2. From left to right, the triangulations increase inresolution.

0 5 10 15 20 25computation time (s)

0

10

20

30

40

50

60

70

80

elem

ents

e w

ith σ

(v[e

])<ε

0 20 40 60 80 100 120computation time (s)

0

100

200

300

400

500

600

elem

ents

e w

ith σ

(v[e

])<ε

0 500 1000 1500 2000 2500 3000 3500 4000computation time (s)

0

1000

2000

3000

4000

5000

6000

elem

ents

e w

ith σ

(v[e

])<ε

Figure 5.5: The evolution over time of the number of triangles violating the minimum measure con-straint during the boundary matching experiment seen in Figure 5.2. From left to right, thetriangulations increase in resolution.

satisfied. This leads to an increase of the deformation energy from its initial minimum state tothe constrained minimum of the converged state. This behaviour is observed in Figure 5.4.

5.2.2 Triangle Measure Constraints

Figure 5.5 shows the number of elements with measure smaller than the ε bound as it evolvesduring the execution. Because it is designed to recover from violations of the minimum measureconstraints, our algorithm allows elements to degenerate and become inverted while exploringthe optimization space. This flexibility makes our method suitable for problems in which moreconservative algorithms fail.

5.3 Spiking Artifacts

Spiking artifacts caused by the ARAP [Sorkine and Alexa 2007] energy were discussed in[Schüller et al. 2013]. For simple cases, where the deformation is not very large, our algorithmcan recover from such artifacts, as can be observed in Figure 5.6. However, as opposed to theLIM algorithm of [Schüller et al. 2013], our method can get stuck if the spiking becomes tooextreme. An example of such a case appears in Figure 5.7.

27

Page 36: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5 Results

Figure 5.6: Typical spiking artifact of the ARAP [Sorkine and Alexa 2007] deformation energy observedduring intermediate stages of our Augmented Lagrangian-based algorithm. The originalpose seen on the left is stretched approximately 2x horizontally using handle-based defor-mation. An intermediate state is shown in the middle, where the displaced single-vertex redhandle creates a “spike”, with inverted triangles marked yellow. After only a few iterations,the artifact is removed and mapping injectivity is re-established, as can be seen on the right.

The main reason for this limitation comes from the fact that the u-update in our algorithm,which is responsible for driving the solution towards the feasible space, has very little impactwhen elements are very elongated and is even numerically ill-defined for degenerate ones.

28

Page 37: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5.3 Spiking Artifacts

Figure 5.7: An example in which the Augmented Lagrangian based method cannot recover from a spik-ing artifact. The top row shows the rest pose pose and the result of running ARAP [Sorkineand Alexa 2007] after the central handle is moved. Note the spiking artifact with invertedtriangles colored yellow. The bottom-left image shows a baseline result obtained with theLIM [Schüller et al. 2013] algorithm. On the bottom-right is the image of a state in our algo-rithm with the inverted triangles almost degenerated, while the neighboring triangles showvery little displacement compared to the baseline.

29

Page 38: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

5 Results

30

Page 39: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

6Concluding remarks

We presented a method for computing inversion-free piecewise linear maps, with positionalconstraints and which have low distortion. We showed that it is very generic and that it canbe used with any deformation energy which can be minimized under soft positional constraints([Botsch and Sorkine 2008]). Moreover, we provided examples in which the algorithm wasapplied to compute maps in two and three dimensions. We expect that extensions to higherdimensions are possible, and represent interesting venues for future work. Compared to ex-isting algorithms, our method is considerably easier to implement and the simple and efficientiterations provide real-time feedback to the user.

We used our method to produce locally injective maps for cases in which the deformation ener-gies alone could not enforce this property.

The main disadvantage of our Augmented Lagrangian based method is that it is very difficultto characterize its convergence. A more detailed analysis is necessary to improve robustness incases where it currently fails to converge, or to detect failure cases and terminate its execution.

To determine suitable parameters for our method, such as the maximum number of iterations forthe primal update step, we used a trial-and-error approach. Even though most of our results wereproduced with the same set of parameters, it is unclear if the algorithm would have performedbetter with different parameters. Experimenting with a broader range of configurations couldprovide insights into the impact of the parameters on the convergence and on the accuracy ofour method.

The drawbacks of using soft positional constraints were previously discussed in literature ([Botschand Sorkine 2008]). It may be possible to adapt our method to enforce hard positional con-straints in the same way as we currently handle the equality constraints in Equation 4.1. Thishas the potential to make the v-update step in the primal update numerically better conditioned,such that Krylov space methods, such as the Conjugate Gradient algorithm which we used ex-

31

Page 40: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

6 Concluding remarks

tensively, would converge faster.

We have seen our algorithm produce solutions to the boundary-matching problem, which was aknown limitation for the algorithms presented in [Schüller et al. 2013] and [Jin et al. 2014]. Itwould be interesting to explore how it compares to other state-of-the-art techniques, such as theone from [Aigerman et al. 2014].

32

Page 41: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

BIBLIOGRAPHY

Bibliography

AIGERMAN, N., PORANNE, R., AND LIPMAN, Y. 2014. Lifted bijections for low distortionsurface mappings. ACM Trans. Graph. 33, 4 (July), 69:1–69:12.

ANDREANI, R., BIRGIN, E. G., MARTÍNEZ, J. M., AND SCHUVERDT, M. L. 2007. Onaugmented lagrangian methods with general lower-level constraints. SIAM Journal on Opti-mization 18, 4, 1286–1309.

BOMMES, D., CAMPEN, M., EBKE, H.-C., ALLIEZ, P., AND KOBBELT, L. 2013. Integer-grid maps for reliable quad meshing. ACM Transactions on Graphics (TOG) 32, 4, 98.

BOTSCH, M., AND SORKINE, O. 2008. On linear variational surface deformation methods.Visualization and Computer Graphics, IEEE Transactions on 14, 1 (Jan), 213–230.

DENG, B., BOUAZIZ, S., DEUSS, M., ZHANG, J., SCHWARTZBURG, Y., AND PAULY, M.2013. Exploring local modifications for constrained meshes. In Computer Graphics Forum,vol. 32, Wiley Online Library, 11–20.

DENG, B., BOUAZIZ, S., DEUSS, M., KASPAR, A., SCHWARTZBURG, Y., AND PAULY, M.2014. Interactive design exploration for constrained meshes. Computer-Aided Design, 0, –.

DESBRUN, M., MEYER, M., AND ALLIEZ, P. 2002. Intrinsic parameterizations of surfacemeshes. Comput. Graph. Forum 21, 3, 209–218.

ESCALANTE, R., AND RAYDAN, M. 2011. Alternating Projection Methods. Fundamentals ofAlgorithms. Society for Industrial and Applied Mathematics.

FLOATER, M. S. 2003. One-to-one piecewise linear mappings over triangulations. Mathemat-ics of Computation 72, 685–696.

GUENNEBAUD, G., JACOB, B., ET AL., 2010. Eigen v3. http://eigen.tuxfamily.org.

HAKER, S., ANGENENT, S., TANNENBAUM, A., KIKINIS, R., SAPIRO, G., AND HALLE,M. 2000. Conformal surface parameterization for texture mapping. IEEE Transactions onVisualization and Computer Graphics 6, 2 (Apr.), 181–189.

JACOBSON, A., PANOZZO, D., ET AL., 2013. libigl: A simple C++ geometry processinglibrary. http://igl.ethz.ch/projects/libigl/.

JIN, Y., HUANG, J., AND TONG, R. 2014. Remeshing-assisted optimization for locally injec-tive mappings. Computer Graphics Forum 33, 5, 269–279.

LÉVY, B., PETITJEAN, S., RAY, N., AND MAILLOT, J. 2002. Least squares conformal mapsfor automatic texture atlas generation. ACM Trans. Graph. 21, 3 (July), 362–371.

LEWIS, A. S., AND MALICK, J. 2008. Alternating projections on manifolds. Mathematics ofOperations Research 33, 1, 216–234.

LIPMAN, Y. 2012. Bounded distortion mapping spaces for triangular meshes. ACM Trans.Graph. 31, 4 (July), 108:1–108:13.

SCHÜLLER, C., KAVAN, L., PANOZZO, D., AND SORKINE-HORNUNG, O. 2013. Locally in-jective mappings. In Proceedings of the Eleventh Eurographics/ACMSIGGRAPH Symposium

33

Page 42: In Copyright - Non-Commercial Use Permitted Rights ... · distortion in a least-squares sense. The method reduces to solving a sparse, real, symmetric linear system, for which they

BIBLIOGRAPHY

on Geometry Processing, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland,SGP ’13, 125–135.

SORKINE, O., AND ALEXA, M. 2007. As-rigid-as-possible surface modeling. In Proceedingsof the Fifth Eurographics Symposium on Geometry Processing, Eurographics Association,Aire-la-Ville, Switzerland, Switzerland, SGP ’07, 109–116.

SORKINE, O., COHEN-OR, D., LIPMAN, Y., ALEXA, M., RÖSSL, C., AND SEIDEL, H.-P.2004. Laplacian surface editing. In Proceedings of the 2004 Eurographics/ACM SIGGRAPHSymposium on Geometry Processing, ACM, New York, NY, USA, SGP ’04, 175–184.

TUTTE, W. T. 1963. How to draw a graph. Proceedings of the London Mathematical Societys3-13, 1, 743–767.

WEBER, O., AND ZORIN, D. 2014. Locally injective parametrization with arbitrary fixedboundaries. ACM Trans. Graph. 33, 4 (July), 75:1–75:12.

34