Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2018 Apr 6.
Published in final edited form as: IEEE Trans Pattern Anal Mach Intell. 2017 Jan 11;39(12):2496–2509. doi: 10.1109/TPAMI.2016.2646685

Transformations Based on Continuous Piecewise-Affine Velocity Fields

Oren Freifeld 1, Søren Hauberg 2, Kayhan Batmanghelich 3, Jonn W Fisher III 4
PMCID: PMC5889303  NIHMSID: NIHMS924120  PMID: 28092517

Abstract

We propose novel finite-dimensional spaces of well-behaved ℝn → ℝn transformations. The latter are obtained by (fast and highly-accurate) integration of continuous piecewise-affine velocity fields. The proposed method is simple yet highly expressive, effortlessly handles optional constraints (e.g., volume preservation and/or boundary conditions), and supports convenient modeling choices such as smoothing priors and coarse-to-fine analysis. Importantly, the proposed approach, partly due to its rapid likelihood evaluations and partly due to its other properties, facilitates tractable inference over rich transformation spaces, including using Markov-Chain Monte-Carlo methods. Its applications include, but are not limited to: monotonic regression (more generally, optimization over monotonic functions); modeling cumulative distribution functions or histograms; time-warping; image warping; image registration; real-time diffeomorphic image editing; data augmentation for image classifiers. Our GPU-based code is publicly available.

Index Terms: Spatial transformations, continuous piecewise-affine velocity fields, diffeomorphisms, tessellations, priors, MCMC

1 Introduction

Diffeomorphisms are important in many fields such as computer vision, medical imaging, graphics, and robotics. Unfortunately, current representations of highly-expressive diffeomorphism spaces are overly complicated. Thus, despite their potential and mathematical beauty, their applicability is limited, especially in large datasets or when computing time is restricted. Moreover, in such spaces, owing to their complexity, using powerful inference tools, e.g., Monte Carlo Markov Chain (MCMC), still presents challenges, although some encouraging recent progress has been made in this active field of research (e.g., [1], [2], [3]). Lastly, seemingly-formidable mathematical preliminaries render these spaces accessible to only a small group of geometry experts. This hinders the exchange of ideas between communities and unnecessarily limits the potential impact of diffeomorphism-based methods; e.g., while certain machine-learning areas can benefit from such methods, little work has been done in this direction, partly since practical computational tools have yet to become available.

Motivated by practicalities of probabilistic modeling and statistical inference as well as a desire to make diffeomorphisms broadly accessible, in this work, which expands [4], we propose a representation that (as we will show in Section 4) combines simplicity, expressiveness, and efficiency. Particularly, we propose new spaces of transformations that are based on (fast, highly-accurate) integration of Continuous Piecewise-Affine (CPA) velocity fields. Importantly, as we will show, their benefits go beyond speed and accuracy.

Possible applications of the proposed representation are numerous, as we demonstrate here with: image editing and shape manipulation; unconstrained optimization over monotonic functions; modeling of Cumulative Distribution Functions (CDFs) and histograms with order-preserving geometry; time warping; image registration; landmark-based image warping/animation; “prettifying” results of (non-diffeomorphic) dense-correspondence tools. Moreover, we recently used the proposed representation as a key component in a learned data-augmentation scheme [5], improving the results of image classifiers. Finally, our code is available at https://github.com/freifeld/cpabDiffeo.

2 Related Work

Pattern Theory and Differential Geometry

Representing objects via transformations acting on them is a Pattern-Theoretic cornerstone [6]. Our work is influenced by many impressive works in this field, primarily in the geometry-oriented areas of computer vision and medical imaging. Due to space limits, we can mention only a few: [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]. Most of these works are based on complicated, usually ∞-dimensional, spaces, and the associated representations and computations are, in practice, discretized and/or otherwise approximated. We take a more practical approach and start from a finite-dimensional space, in which discretizing the representation is unneeded, while computations require no approximations in the 1D case and almost no approximations in higher dimensions. The result is a simple, efficient, and practical machinery for working with a rich space of diffeomorphisms. The rapidness and high accuracy of Algorithm 1 (see Section 4), together with the fact that the machinery is easily implemented on GPU, let us evaluate transformations fast. This, in turn, together with the fact that the representation effortlessly supports coarse-to-fine analysis and the use of smoothness priors, allows the use of general-purpose powerful inference methods such as MCMC. See also other recent approaches for MCMC on diffeomorphisms, e.g., [1], [2], [3].

In applications involving landmark pairs, most methods above can deal with only a small number of landmarks as their inference complexity grows super-linearly with the number of landmarks. Consequently, they cannot leverage the success of popular tools for dense-correspondence extraction (e.g., [20], [21]), highlighting a disconnect with the larger computer-vision community. Our algorithms have linear complexity and are (embarrassingly) parallelizable, yielding sub-linear running times in practice.

Note that our representation, despite the fact it involves tessellations, is not not based on control points (such as, e.g., [2], [19]); e.g., in cases where we either impose volume preservation or use type-II tessellations (see Section 4), one cannot simply define arbitrary velocities at the tessellation vertices as there are too few degrees of freedom.

PA and CPA Affine Maps in Computer Vision

Cootes et al. [22] use PA transformations. The latter, while simple and efficient, are neither continuous nor invertible. Several other works use CPA transformations (e.g.,[23]; see also [24]), sometimes with additional constrains (e.g., [25]). Common to those works is the direct use of PA (or CPA) maps as transformations. Those are not differentiable (and are often not invertible), hence not diffeomorphisms. In contrast, by integrating CPA velocity fields, we obtain transformations–which themselves are not PA (hence not CPA)–that are (orientation-preserving) diffeomorphisms. Lin et al. [26] work with CPA velocity fields but, rather than integrating them, they use them to model motion pattens.

Closer to ours is the elegant log-Euclidean polyaffine method proposed by Arsigny et al. [27] (see also [28], [29]) that, similar to ours, uses finitely-many affine building blocks to build flexible velocity fields. They use a spatial averaging with smoothly-decaying weights of the blocks to ensure a smooth velocity field whose integration yields trajectories that define a diffeomorphism. However, as their integral has no closed form they must use an approximation throughout; i.e. they must numerically approximate the entire trajectory. This is computationally demanding and can cause substantial approximation errors. Their method is based on approximating the integral of a weighted sum of affine velocity fields via a weighted sum of the affine diffeomorphisms associated with these fields. To reduce errors, they divide the field by a large 2#steps as the approximation holds only for near-zero velocity. To keep the number of steps not too large, they smartly generalize the scaling-and-squaring method. The result is, however, still exact only if a single affine component is used. For expressiveness, however, a larger number is needed, and accuracy drops. It is thus unsurprising they focus on a small number of affine components, and that to achieve reasonable timings, they use their method only in the last stage of inference; till then they resort to a non-diffeomorphic fusion. In contrast, we use affine building blocks in a different way; i.e., we use them in a piecewise manner, but, using linear constraints, force them to yield everywhere-continuous velocity fields. This seemingly-subtle difference has profound implications. In 1D, it yields a closed-form integration; in higher dimensions it lets us integrate almost the entire trajectory in closed form using large (hence few) steps which are exact, and only in small portions of the trajectory do we resort to a numerical solver. This virtually eliminates numerical issues and allows construction of substantially more expressive transformations; e.g., Arsigny et al. [27] report using 7 affine blocks, while we routinely use tens or hundreds while neither accuracy nor computational cost becomes an issue. Though this indirect comparison of integration methods (as their method is inapplicable to our velocity fields and vice versa, a direct comparison is impossible) favors ours, it is just part of the story. Our representation has additional advantages over theirs, including simplicity, better suitability for a GPU implementation, trivial handling of boundary constraints and volume preservation, and simpler encoding of statistical priors and coarse-to-fine analysis.

Discrete Representations and Approximations

Allassonnière et al. [13] efficiently approximate diffeomorphisms. Unlike our transformations, their non-differentiable transformations are not diffeomorphisms. While we focus on a general-purpose representation, diffeomorphic demons [16] is a registration method, popular due to its speed, based on discretely-defined fields. As its authors note, these may be inconsistent with a diffeomorphic framework and may not preserve orientation. They also cannot easily impose volume preservation, though some success was reported [30]. Also, a computer representation of a discrete-field sequence needs plenty of memory. These issues can be obviated by adapting their method to use our compact and continuously-defined fields. More generally, approximations based on discretely-defined fields and/or discrete diffeomorphisms are widely used, e.g., in medical imaging [16], [31], robotics [32], [33], [34], geometric modeling [35] and fluid dynamics [36]. Unlike these works, both our fields and transformations are continuously-defined and more compact.

Statistics on Manifolds and Tangent Spaces

Like many authors (including of some aforementioned works), we handle the nonlinearity of a space via the linearity of the tangent space at the identity [11], [27], [29], [37], [38], [39], [40], [41]. Other tools (not explored here) for statistics on manifolds that either use other tangent spaces or work on the manifold itself [42], [43], [44], [45], [46], [47], [48] may also be applied to our spaces. Particularly, parallel-transport tools may be especially relevant here [49], [50], [51], [52], [53], [54], [55].

CDF/Histogram Modeling

In modeling distributions, it is better to work with cummulative distribution functions over densities since the latter might not exist and inter-density Lp (or sphere-based) distances can be arbitrarily large even if their probability measures are essentially the same. One approach to CDF representation uses p-Wasserstein spaces, usually p ∈ {1, 2}, the p = 1 case is tied to Earth Mover’s Distance [56]. A limitation of this approach is that it needs bounded pth-moments and hard computations. 1-Wasserstein methods also lack easy synthesis of new points that are valid histograms/CDFs. While it is less of an issue for spherical methods [57], they suffer from two issues. 1) They do not respect the ordering of the bins or of ℝ. While, for histograms, bin ordering is sometimes immaterial, the ordering of ℝ matters. 2) Large moves on the sphere lead to CDFs/histograms with negative values. The problems above do not exist in our representation.

Image Warping and Shape Manipulation

Related to ours are works on image warping ([58], [59], [60], [61], [62]) and shape manipulation (e.g., [63]). Unlike most methods, ours is fast, invertible and handles constraints effortlessly.

Benefits of the Proposed Representation

To summarize, existing spaces of diffeomorphisms offer only subsets of the following list: 1) high expressiveness; 2) ease of implementation; 3) modest mathematical preliminaries (basic linear algebra and ODE); 4) ease of handling optional constraints (e.g., volume preservation); 5) convenient modeling choices (coarse to fine, easy-to-use smoothness priors); 6) finite dimensionality; 7) fast and highly-accurate computations. These benefits, especially the last three, render more tractable the use of inference tools that are usually too expensive in the context of rich diffeomorphisms.

3 High-Level Summary

The section provides a summary of the proposed representation, laying the ground for the formal treatment (Section 4). Let Ω be either ℝn or a certain type, to be defined later, of a proper subset of ℝn (i.e., Ω⊊ℝn). A popular way to obtain a diffeomorphism, T : Ω → Ω, is via the integration of velocity fields; see Fig. 1a. The choice of velocity-field family affects the dimensionality, structure, and expressiveness of the space of the resulting diffeomorphisms, as well as the accuracy and computational complexity of the integration. Thus, this choice crucially affects which probabilistic models can be used and the tractability of the statistical inference.

Fig. 1.

Fig. 1

(a) Integration of sufficiently-nice velocity fields is widely used to generate well-behaved nonlinear transformations. The choice of using CPA velocity fields, among other benefits, reduces computational costs, increases integration accuracy, and simplifies modeling and inference. A CPAB transformation, xϕθ(x, t), is one that is based (via integration) on a CPA velocity field, vθ. (b) A 1D example. (c–d) Two 2D examples, where in (d) there are also additional constraints. Top row: a continuously-defined vθ in select locations. Middle: Visualizing the horizontal ( vhθ, left) and vertical ( vvθ, right) components as heat maps highlights the CPA property; blue = −λ, green=0, and red=λ where λ=maxxΩmax(|vhθ(x)|,|vvθ(x)|). Bottom: Isrcϕθ(,1).

CPA Velocity Fields

We base our representation on spaces of Ω → ℝn CPA velocity fields (Fig. 1). The term ‘piecewise’ is w.r.t. a certain tessellation (Section 4.1), denoted by P. Let VΩ,P be such a space. While VΩ,P depends on Ω and P, we will usually notationally suppress these dependencies, and will just write V. One appeal of these spaces is that they are finite-dimensional and linear (although their elements, i.e., the velocity fields, are usually nonlinear). Let d=dim(V). The spaces ℝd and V are identified with each other (as we will explain in Section 4.2, Eq. (11)), where every θ ∈ ℝd is identified with exactly one element of V, denoted by vθ, and vise versa. Symbolically, we write

θvθwherevθV,θd. (1)

Likewise, θ+θvθ+vθvθ+θ and αθαvθvαθ where θ; θ′ ∈ ℝd and α ∈ ℝ. Note that d depends on P (and typically grows with n). A finer P implies a higher d and richer velocity fields and vice versa (Figs. 4, 2, and 3).

Fig. 4.

Fig. 4

Samples from the prior (Section 4). (a–h) The top 3 rows echo those in Fig. 1c and Fig. 1d. The 4th row shows a deformed grid overlaid on the image. The 5th row shows select trajectories. Note that the trajectories and transformations are differentiable (hence continuous) but not piecewise affine. The tessellation in (e–h) is a refinement of the one in (a–d). (a) & (e): TθM. (b) & (f): TθMvp. (c) & (g): TθM. (d) & (h): TθM∂,vp. See Section 4 for details.

Fig. 2.

Fig. 2

Several type-I tessellations of a 2D region.

Fig. 3.

Fig. 3

Several type-II tessellations of a 2D region.

Remark 1

There are many finite-dimensional linear spaces of continuous velocity fields (e.g., [27] or other spaces based on splines). We will show that CPA spaces, however, have additional useful properties in our context.

From CPA Velocity Fields to Trajectories

Modulo a detail (to be explained in Section 4.4) related to the case Ω⊊ℝn, any continuous Ω → ℝn velocity field, whether Piecewise-Affine (PA) or not, defines differentiable ℝ → Ω trajectories. If x ∈ Ω then vθV defines a trajectory, tϕθ(x, t), such that ϕθ(x, 0) = x and ϕθ(x, t) solves the integral equation

ϕθ(x,t)=x+0tvθ(ϕθ(x,τ))dτwherevθV. (2)

The equivalent ODE (with an initial condition x) is

dϕθ(x,t)/dt=vθ(ϕθ(x,t)). (3)

Remark 2

Eq. (2), whose unknown ϕθ(x, ·) is both inside and outside the integral, should not be confused with the piecewise-quadratic Ω → ℝn map, y0n×1yvθ(x)dx. The latter, a popular tool in computer-vision [24] and numerical analysis, is unrelated to our work. Particularly, both xϕθ(x, t) and tϕθ(x, t) are not piecewise quadratic.

CPA-Based (CPAB) Transformations

Modulo that detail, any continuous Ω → ℝn velocity field, whether PA or not, defines a transformation; i.e., a map whose input and output are viewed as points, not vectors. Letting x vary and fixing t, xϕθ(x, t) is an Ω → Ω transformation. Without loss of generality (Section 4), we may set t = 1 and define

Tθ()ϕθ(,1),θd. (4)

Since we integrate CPA velocity fields, we coin our transformations CPA-Based.

Remark 3

CPAB transformations are not CPA (unless the CPA field is affine): while Tθ is continuous, it is not PA.

The notation Tθ = exp(vθ) indicates that Tθ is defined by integrating vθθ for t = 1 (see Section 4.9). We let

Mexp(V){exp(vθ):vθV} (5)

denote the space of CPAB transformations, where we notationally suppressed that both M and V depend on both Ω and P (i.e., more formally we should write MΩ,P). Note that M is nonlinear: i.e., both Tθ + Tθ′ and αTθ are usually not in M. The linearity of V, together with exp:MV, however, provides a convenient way to handle this nonlinearity.

CPAB Transformations are Well Behaved

E.g., they are diffeomorphisms; moreover, (Tθ)−1M and the inversion is simple. Appealingly, useful subsets of M (e.g., volume-preserving CPAB transformations) are easily obtained via linear subspaces of V (we will return to this point in Section 4).

Remark 4

xϕθ(x, t = 1) should not be confused with (the non-diffeomorphism, parametric optical-flow-like representation) xx + vθ(x), the latter being only a Taylor approximation of the former. Thus, the way we utilize flexible parametrized vector fields is different from, e.g., [64], [65].

Integration of CPA Velocity Fields

Integral equations usually lack analytic solutions. Since CPA velocity fields are Lipschitz continuous and almost-everywhere smooth, generic integration solvers are quite effective for them. However, we can do even better. One of our contributions is showing that integration of such fields is given in either closed form (n = 1) or almost closed form (n > 1). Besides its obvious pluses (accuracy, computing time), this analytic solution makes it easier to interpret the resulting trajectories/transformation and is key to the theorems in Section 4.

A Specialized Numerical Solver

There is a shortcoming to that solution: as we will explain after Theorem 2, it requires tedious bookkeeping (if n > 1) and invoking certain routines (easy if n = 1 but hard if n > 1). This is especially a hurdle with GPU. We thus propose a practical alternative, a specialized solver for integrating CPA velocity fields, which is faster and more accurate than non-specialized solvers.

Convenient Modeling, Tractable Inference

Smoothness priors on M are easy to build and use. As is common with nonlinear spaces of nonlinear transformations, the nonlinearity of (θ, x) ↦ Tθ(x) prohibits closed forms for the posterior or Maximum Likelihood (ML) estimation. However, since our transformations are evaluated fast, we rapidly evaluate θp(data|Tθ). This, together with the relatively-modest dimensionality and ease of using priors, facilitates the use of inference methods that require multiple likelihood evaluations (e.g., MCMC). Lastly, spaces of CPA velocity fields support coarse-to-fine approaches.

4 The Mathematical Representation

Let Ω be a Cartesian product of n compact intervals; i.e., Ω is a closed n-orthotope, also called a (closed) hyperrectangle. The lemmas/theorems below are proved in our supplemental material, which can be found on the Computer Society Digital Library at http://doi.ieeecomputersociety.org/10.1109/TPAMI.2016.2646685, henceforth referred to as Sup. Mat., available online.

4.1 Tessellations

A (finite) tessellation, denoted by P={Uc}c=1NP (where NP is a positive integer), is a set of NP closed subsets of Ω, also called cells, such that their union is Ω and the intersection of any pair of adjacent cells is their shared border (see Figs. 2 and 3). Henceforth we will always assume the cells are convex n-polytopes (namely, a subset of ℝn whose sides are flat). We define 3 cell types. Type-I cells have n + 1 vertices; i.e., intervals (if n = 1), triangles (n = 2), tetrahedral (n = 3), etc. Type-II cells are n-orthotopes (i.e., hyperrectangles). Note intervals fit both these types. Type-III includes all other convex n-polytopes. We say that P is of type I (respectively, II, III) if all its cells are of type I (II, III). A type-II tessellation is called regular if its cells are evenly spaced along each of the n dimensions. As we will show, type-I tessellations are special, having benefits possessed by neither type II nor III. Mathematically, there is no difference (for our purposes) between types II and III; all theoretical results below that apply to type-II cells also apply to type-III cells. Type-II cells, however, lead to faster computations and simpler implementations than both other types, especially when compared with type III. Thus, unless stated otherwise, we restrict our attention to types I and II. Let

Pvert={ξ:ξisavertexofsomeUcP} (6)

and let Nv denote its cardinality; e.g., see Fig. 2 and Table 1. Henceforth we will view Pvert as an ordered Nv-tuple; the ordering is arbitrary, but assumed fixed. Let NP>NP. An NP-cell tessellation, P={Uc}c=1NP, is a refinement of P, a relation denoted PP, if each UcP is a (possibly-improper) subset of some UcP.

TABLE 1.

Values of NP, Nv, D=dim(VΩ,P), and d=dim(VΩ,P) for the P’s shown in Fig. 2. See also Section 4.

P
NP
Nv
D=6NP
d = 2Nv
P1
4 5 24 10
P2
16 13 96 26
P3
64 41 384 82
P4
256 145 1536 290
P5
1024 1025 6144 1090

Algorithm 1.

Integrating vθV. See Text for Details:

Input: P={Cc}c=1NP, (A1,θ,,ANP,θ); U = a sequence of Npts points in Ω; t > 0; Nsteps, nsteps+
Output:
ϕθ(U,t){ϕθ(x,t)}xUΩ
  1: Δtt/Nsteps; δt ← Δt/nsteps
  2: for
c{1,,NP}
do in parallel
  3: TAc,θ,Δtexp(ΔtAc,θ)
  4: for xU do in parallel
  5: x0x
  6: for i ∈ {1, …, Nsteps} do
  7:    xtemp=[xtempT1]TTAγ(xi1),θ,Δtxi1
  8:   if γ(xi−1) == γ(xtemp) then
  9:    xixtemp // analytic update
10:   else
   // inter-cell bdry crossed
11:    xi ← genericODEsolver(ini.con.=xi−1, step size=δt, nsteps, v():xAγ(x),θx)
12:  (ϕ)θ(x, t) ← xi

4.2 CPA Velocity Fields

Fix P, let x ∈ Ω, and define the membership function γ:Ω{1,,NP}, γ : x↦min{c : xUc}. i.e, if x is not on an inter-cell border, then γ(x) = cxUc, while a border point is (arbitrarily) assigned to the cell of the lower index.

Definition 1

A map, f : Ω → ℝn, is called PA(w.r.t.P) if {f|Uc}c=1NP are affine; i.e., f(x)=Aγ(x)x where

x[x1]n+1,Acn×(n+1)c{1,,NP}. (7)

Definition 2

f is called CPA if it is continuous and PA.

Fact 1

If f is CPA w.r.t. P it is CPA w.r.t. any PP.

A vector field v (on Ω) is an Ω → ℝn map viewed as the mapping of points to vectors; i.e., if x ∈ Ω then v(x) is viewed as an n-dimensional “arrow”. The terms velocity field and vector field will be used interchangeably.

Definition 3

A vector-field space is a linear space whose elements are vector fields.

Let VΩ,P and VΩ,P be the spaces of PA and CPA velocity fields on Ω w.r.t. P. Note VΩ,PVΩ,P. We will often write V and V, suppressing the dependencies on Ω and P.

Lemma 1

V and V are linear spaces, Ddim(V)=(n2+n)×NP, ddim(V)nNv with equality if and only if P is of type I, and dD with equality if and only if NP=1.

The values of D and d for the tessellations in Fig. 2 appear in Table 1. A generic element of V is denoted by vA where A(A1,,ANP) consists of its associated matrices (see Eq. (7)). If A ∈ ℝn×(n+1), then vec(A)n2+n is its row-by-row flattening to a column vector. Likewise, vec(A)[(vec(A1))T(vec(ANP))T]TD. Both vec(·) and vec(·) are linear bijections. An inner product on V is defined by vA1,vA2=vec(A1)Tvec(A2).

We now explain how to build an orthonormal basis for V, how its elements are parametrized by θ ∈ ℝd, and how PA velocity fields are projected onto V.

Lemma 2

An element of V is any vAV such that vec(A) satisfies a linear system of constraints, denoted by L vec(A) = 0.

Proof

For concreteness, we prove it for n = 2 and type-I tessellations, the other cases being similar. Let vAV. While vA is continuous on every cell, it is (usually) discontinuous on cell boundaries. Consider two adjacent cells, Ui and Uj. Let xa and xb be their 2 shared vertices and let Ai and Aj denote the corresponding 2 × 3 matrices. Continuity of vA at xa implies 2 (more generally, n) linear constraints on Ai and Aj. Similarly, continuity at xb implies another constraint pair. Thus, the continuity at both xa and xb implies the following 4 linear constraints:

[xaT01×3xaT01×301×3xaT01×3xaTxbT01×3xbT01×301×3xbT01×3xbT]4×12[vec(Ai)vec(Aj)]12×1=04×1. (8)

Continuity at xa and xb implies continuity throughout their join, i.e., Aixa=Ajxa and Aixb=Ajxb imply (∀λ ∈ [0, 1])

Ai(λxa+(1λ)xb)=Aj(λxa+(1λ)xb). (9)

Any vA whose Ai and Aj satisfy Eq. (9) is thus continuous on UiUj. Similar constraints for other pairs of adjacent cells can be stacked together in an analogous equation:

L4Ne×6NPvec(A)6NP×1=04Ne×1 (10)

where Ne is the number of shared line segments in P and L is the constraint matrix. Any vA whose A satisfies Eq. (10) is thus everywhere continuous. We conclude that the null space of L, denoted by null(L), coincides with V. □

Let the columns of B = [B1Bd] ∈ ℝD×d denote the particular orthonormal basis of null(L) which is obtained via SVD of L. Let θ = [θ1θd]T ∈ ℝd. If vec(A) = then vA : Ω → ℝn is CPA. Particularly, for every j ∈ {1, …, d}, vvec1(Bj):Ωn is CPA and {vvec1(Bj)}j=1d is a basis for V. For a visualization of this basis, see Sup. Mat., available online Regardless of whether vAV is CPA or not, vvec1(BBTvec(A)), its projection on V, is CPA. When earlier we denoted a generic element of V by vθ we meant that θ stands for the coefficients w.r.t. {vvec1(Bj)}j=1d:

vθ(x)=Aγ(x),θx=j=1dθjvvec1(Bj)x (11)

where Aθ(A1,θ,,ANP,θ)vec1(j=1dθjBj). This basis is orthonormal w.r.t. the inner product

,B:V×V,(vθ1,vθ2)θ1Tθ2. (12)

We refer to it as a global basis since each vvec1(Bj) impacts vθ on the entirety of Ω. We will soon describe another orthonormal basis which is more local in nature.

Let vvertθ{vθ(ξ)}ξPvert denote the (ordered) Nv-tuple of n-dimensional values vθ takes at the Nv points in Pvert.

Lemma 3

Let Lθvvertθ denote the map that sends θ to vvertθ. Lθvvertθ is a linear injection and its associated d × (nNv) matrix is given in closed form. If P is of type I, the map is invertible. In which case, we denote its inverse by Lvvertθθ.

Let ∂Ω be the border of Ω and n : ∂Ω → Sn−1 be the unit normal to it. We now discuss linear subspaces of V.

Lemma 4

Optional constraints such as 〈vθ(x), n(x)〉 = 0 on ∂Ω and/or {tr(Ac)=0}c=1NP, are linear and can thus extend L (from Lemma 2) to have more rows. The null space of the extended L is a linear subspace (whose dimension is denoted by d′ < d) of the null space of the original L. Reusing the symbol B=[B1Bd]D×d to denote the particular orthonormal basis of this new null space which is obtained via SVD of the extended L, we get a d′-dimensional basis of CPA velocity fields, {vvec1(Bj)}j=1d, whose elements satisfy the new constraint(s).

The corresponding linear subspaces of V are denoted V and Vtr. We also define their intersection, V,trVVtr. We reuse the symbol vθ to denote an element of any of these subsets, with the understanding that then θ ∈ ℝd′ for some d′ < d. We now define, similarly to Eq. (5), subsets of M:

M{exp(vθ):vθV}M; (13)
Mvp{exp(vθ):vθVtr}M; (14)
M,vp{exp(vθ):vθV,tr}M. (15)

If P is of type I (so d = nNv) then, by viewing vvertθ as a point in ℝd, the standard basis for ℝd defines another basis for V (there is a linear bijection between the (n + 1)-tuple of the n-dimensional velocities at the vertices of a type-I Uc and the n × (n + 1) matrix Ac). Naturally, we refer to this vertex-based basis as a localized basis of V. It is orthonormal w.r.t. the following inner product, obtained by summing the dot products between pairs of velocities at the vertices:

,vert:(vθ1,vθ2)ξ:ξPvertvθ1(ξ)vθ2(ξ). (16)

For V, we can build a similar (d′-dimensional) localized basis; however, for Vtr (and V,tr) this is not possible. We conclude Section 4.2 with the following fact.

Algorithm 2.

A Greedy Algorithm for (Landmark-based) Inference over a Transformation Obtained by Integrating a Non-Stationary Field where the Field is Piecewise-Constant w.r.t. Time. See Text for Details:

Input : Npts pairs of Ω-valued points: {(xi,yi)}i=1Npts, ε; kmax
1: for i ∈ {1, …, Npts} do in parallel
2: xi[0]xi
3: for k ∈ {1, …, kmax} do
4: obsk{(xik1,yi)}i=1Npts // observations
5: θkarg maxθp(θk)Lv(vθ; obsk) where Lv(vθk;obsk)e1σ2i=1Nptsxik1+vθ(xik1)yi2
// closed-form optimization; see text
6: αkargmaxαp(αθk)LT(Tαθk;obsk) where LT(Tαθk;obsk)e1σ2i=1NptsTαθk(xik1)yi2
/* the 1D optimization can be done by, e.g., a line search; {Tαθk(xik1)}i=1Npts is computed by Algorithm 1
7: ifθkαk‖ < ε then break
Output T^(TαkθkTα1θ[1])
// T^ is a concatenation of points in M

Fact 2

〈·,·〉B and Bvary with translations of Ω while 〈·,·〉vert and the localized basis are invariant to them.

4.3 Smoothness Priors on CPA Velocity Fields

Adopting a Bayesian approach, we now present two complementary methods to construct priors on CPA fields.

I: Project a prior from V onto V

On V, it is easy to build a smoothness prior that also penalizes large values; e.g., we use a zero-mean Gaussian with a D × D covariance, ΣPA, whose correlations decay with inter-cell distances, and write vec(A)~N(0D×1,PA). Next, we use the VV projection, Aθ = BTvec(A), to induce a prior on V:

p(θ)=N(0d×1,CPA) (17)

where ΣCPA = BTΣPAB. See Fig. 4 for samples from p(θ). By Fact 2, p(θ) depends on the origin of Ω.

II: Let a prior on vvertθ induce a prior on vθV

If the prior on vvertθ is invariant to the origin of Ω then so is the resulting p(θ=Lvvertθθvvertθ); e.g., such is the case for either a zero-mean Gaussian whose covariance is fully determined by inter-vertex distances, or for an MRF of the form i,j:ξinbrs~ξψ(vθ(ξi),vθ(ξj)) where ψ is some pairwise potential. Method II does not require the computation of B. Unlike method I, however, it is applicable only if P is of type Iand volume preservation is not imposed. Another advantage of method I over method II (or, for that matters, over most regularizers/priors people often place on velocity fields in the context of diffeomorphisms) is that by defining the prior in terms of the Ac’s (as opposed to the vvertθ values they generate), we avoid introducing fictitious variance. For example, if vθ is purely affine then the Ac’s are all the same. Thus, w.r.t. the prior defined using the global basis (i.e., method I), vθ is considered very smooth (in the machine-learning sense, not calculus one). However, w.r.t. the localized basis (i.e., method II), vθ is less smooth since the values of vvertθ vary with the vertex location.

4.4 CPA-Based Transformations

Recall from Section 3 that, via Eq. (2), vθV implies TθM, a relation denoted Tθ = exp(vθ) (see Eq. (5)). The detail alluded to in Section 3 is that for Eq. (2) to be well defined, ϕθ(x, τ) must always be in Ω, the domain of vθ. This trivially holds if Ω = ℝn. It also holds if Ω⊊ℝn and vθV. If Ω⊊ℝn and vθV\V, it might not. Also, some of the results below require both the continuity and PA properties of vθ. This brings us to the following lemma.

Lemma 5

If ⊊ℝn, we can extend P and constrain the velocity fields such that we will obtain a linear subspace of V whose elements extend to CPA fields on the entirety of ℝn. In which case, we also redefine to be equal to (the whole of) ℝn.

Henceforth, if Ω⊊ℝn and we use V (or Vtr) and not V (or V,tr), we will assume the procedure from Lemma 5 has been applied. Thus, Eq. (2) is well defined, Tθ is always an Ω → Ω map and vθ is indeed CPA. Either way, ϕθ(x, 0) = x for every x ∈ Ω while {x : vθ(x) = 0} are fixed points of Tθ.

Fact 3

If A ∈ ℝn (n+1), let A=[A01×(n+1)](n+1)×(n+1). The last row of expm(A) (where expm is the matrix exponential) is [0n 1]. Also, det expm(A)>0.

If n = 1 (so A is 2-by-2) or if A has a special structure (e.g., if A1:n,1:n+1 is either diagonalizable, idempotent, or a 3-by-3 skew-symmetric matrix), then expm(A) has a closed form. Otherwise, since n is usually small and due to the structure of A, a generic expm routine typically approximates it well. Let t ∈ ℝ and let ψθ,ct:Ωn be the solution to an ODE with an ℝn → ℝn affine velocity field, ξAc,θξ, and an initial condition, x:

[ψθ,ct(x)1]TAc,θ,tx,TAc,θ,texpm(tAc,θ). (18)

We note that the solution to Eq. (2) is the composition of a finite number, denoted by m, of such solutions:

ϕθ(x,t)=(ψθ,cmtmψθ,c2t2ψθ,c1t1)(x). (19)

As mentioned earlier, Tθ is defined via Tθ(xϕθ(x, 1). The compact form of Eq. (19) hides a difficulty: the number of the trajectory segments, m, their durations, {ti}i=1m, and the indices of the cells involved, {ci}i=1m (where a cell may appear more than once), all depend on x. Except the index of the first cell, c1 = γ(x), they also depend on θ and t. Thus, a more precise and cumbersome notation would be:

(ψθ,cmx,θ,t(x,θ,t)tmx,θ,t(x,θ,t)ψθ,c2(x,θ,t)t2(x,θ,t)ψθ,c1(x)t1(x,θ,t))(x).

Remark 5

While invertible affine matrices form a group, ϕθ(·, t) : Ω → Ω is not affine, exactly because of the x-dependencies mentioned above. In fact, since the above quantities vary with x even within a cell, the continuous xϕθ(x, t) is not PA, hence not CPA. the term CPA-based.

A map, T : Ω → Ω, is a called a (C1) diffeomorphism (on Ω) if T−1 exists and both T and T−1 are differentiable. Let G be the space of (orientation-preserving) diffeomorphisms on Ω. Let HG be its restriction to those diffeomorphisms that can be obtained, via integration, from uniformly-continuous stationary velocity fields; i.e., T(·) = ϕ(·,t) where ϕ(x,t)=x+0tv(ϕ(x,τ))dτ for a uniformly-continuous v : Ω → ℝn. Both G and H are ∞–dimensional nonlinear spaces.

Theorem 1

(i) If α ∈ ℝ then vθ = vαθ and ϕθ(·, t) = ϕαθ(·, t/α). (ii) (Tθ)−1 exists, is in M, and equals to T−θ. (iii) MG. (iv) If TθMvp then Tθ is volume-preserving (hence the superscripted vp). (v) M is a d-dimensional nonlinear space; similar statements hold for M, Mvp and M∂,vp, with their respective values of d′. (vi) If P1P2 is a tessellation sequence such that eventually all the cells become arbitrarily small, then MΩ,PkkH.

Remark 6.3

Since M is nonlinear, it is easier to work in the linear V and then, via exp, move from V to M. This (tangent-space-based) approach is popular in the context of nonlinear differentiable manifolds and, particularly, is used extensively in various spaces of diffeomorphisms (e.g., [27]).

Corollary 1

If n = 1, Tθ is increasing. Let J ⊂ ℝ be an interval. If F0 : J → Ω is either non-decreasing, increasing, right-continuous, continuous, differentiable, a diffeomorphism, or a step function (7 non-mutually-exclusive cases), then so is FθTθF0 : J → Ω. If, in addition, Ω = [0, 1], vθV and F0 is a CDF, then Fθ is a CDF. The (trivial) proof is omitted.

This gives an unconstrained parametrization of large classes of increasing functions and CDFs/histograms via a finite-dimensional linear space (Figs. 5 and 6). In the CDF case, F0 need have neither a density nor finite moments.

Fig. 5.

Fig. 5

Monotonic regression on synthetic data (top) by inferring CPA fields (bottom), defined over 100 equal-length cells. We used a squared loss in the 4 leftmost columns and a robust one (Geman-McClure) in the 2 others. Col. 1, 3, and 5 show ML solutions. Col. 2, 4 and 6 show MAP solutions with a smoothness prior. In all cases, the function is increasing, as obtained effortlessly from the representation.

Fig. 6.

Fig. 6

CDF/histogram representation. 1st row: NP=10. 2nd row: NP=100. F0, not shown, is a CDF of a uniform distribution on J = [−3, 3]. (a) vθV([0,1],P). (b) F = TθF0. (c) ddxF. Note it is not piecewise constant. H0, not shown, is a cumsum of a 20-bin uniform histogram. (e) H = TθH0, a cumsum of a new histogram h (f) h.

4.5 Integration Details

Equation (19) justifies and simplifies the proof of Theorem 1, provides an insight into the structure of tϕθ(x, t), and, for n = 1, yields a closed-form solution for xTθ(x). If n > 1, it suggests a practical, essentially-exact solution.

Theorem 2

If n = 1 then mx,θ,t, {ti(x;θ,t)}i=1mx,θ,t, and {ci(x;θ,t)}i=2mx,θ,t have closed forms. Thus, so does Tθ(x).

Proof

The notation below drops the θ-dependencies. Without loss of generality, let t > 0. For c{ci(x;t)}i=2mx,t, let Ac = [ac, bc] and let Uc=[xcmin,xcmax]. It can be shown that

ψct(x)={etacx+bc(etac1)acifac0x+tbcifac=0. (20)

Note c1 = γ(x) and suppose v(x) > 0. Let t1(x) be the hitting time of the right boundary of Uc1:

t1min{t:ψc1t(x)=xc1max} (21)

where, by convention, the minimum of an empty set is ∞. If v(xc1max)0 then t1 = ∞. Otherwise,

t1={1ac1log(xc1+bc1ac1x+bc1ac1)ifac10xc1xbc1ifac1=0. (22)

If t1 > t, we are done: ϕθ(x,t)=ψc1t(x). Otherwise, we entered the next interval to the right, Uc1+1 (so c2 = c1 + 1), and the process (i.e., solving for t2, but this time with xc1max as the new starting point instead of x, with tt1 instead of t, and c2 instead of c1) is redone iteratively till convergence (the number of such steps, mx,t, is finite since t is finite). A loose upper bound on mx,t is NPc1+1. The case where v(x) < 0 is handled similarly. Taken together,

ϕ(x;t)=(ψcmtmψc2t2ψc1t1)(x) (23)

where for 2 ≤ imx,t, ci = ci−1 + sign(v(x)), while mx,t and {ti}i=1mx,t are found as describe above. □

If n > 1 then Tθ(x) is given essentially in closed from in the sense that Eq. (19) still holds, but there is the mild issue that a generic expm is needed (see also the matrix decomposition suggested in [27]) and, much more importantly, to find the quantities from Theorem 2 one needs, for every x, to sequentially solve, an x-dependent number of problems of the form argmint>0γ([expm(tA)]1:n,1:n+1ξ)γ(ξ) where the pair (ξ, A) ∈ Ω×ℝn×(n+1) is (in general) different in each problem. Doing this for n = 1 is easy, fast, and accurate. But for n ≥ 2, partly since ϕθ(x, ·) may reenter a cell (prohibiting, e.g., a binary-search method), this requires tedious bookkeeping, multiple expm calls, and multiple invocations of a numerical solver. This yields slow approximated solutions that are also hard to implement in GPU.

Inference over diffeomorphisms (CPAB included) often requires evaluating Tθ for multiple values of θ (e.g., 10,000), and a high Npts, where Npts is number of points to be transformed (e.g., the number of image pixels). Preferring a more practical alternative, we propose a specialized solver for integrating CPA fields. This solver, summarized in Algorithm 1, alternates between the analytic solution (with neither bookkeeping nor need to solve explicitly for mx,θ,1, {ci(x;θ,1)}i=2mx,θ and {ti(x;θ,1)}i=1mx,θ) and a generic solver. Thus, the proposed specialized solver is both faster and more accurate than a generic solver since most of the trajectory is solved exactly, while only in small portions of the trajectory does our solver resort to the generic one. Importantly, in Algorithm 1, the required number of expm calls is constant, NP, and grows with neither Npts nor t. In fact, since Algorithm 1 is highly accurate, fast, and simple, and since usually NPNpts, we prefer to use it even when n = 1. Lower/upper bounds on the algorithm’s complexity are O(C1) + O(C2 × Nsteps) and O(C1) + O(C2 × Nsteps × nsteps) where C2 = Npts/#cores and C1=expmscost×NP/#cores. Usually, the O(C1) term is negligible. NP and θ affect inter-cell moves hence which bound is tighter; usually it is the lower one.

Remark 7

Consecutive analytic updates (for the same ΔtAc) amount to taking powers of expm ( ΔtAc). While (expm(ΔtAc))k=expm(kΔtAc), on a computer numerical errors accrue and the equality may not hold [66], [67]. This issue is most noticeable when the matrices are large (and dense) and when k is large. Here, however, this issue does not arise in practice since both the matrices (which also have zeros in the last row) and k are small.

In Algorithm 1, γ is called often (though far less often than when using a generic solver throughout). In our implementation, we decided against a lookup-table approach since, once the trajectories start evolving, the argument to γ takes values in the continuum. Besides their simplicity, a key advantage of type-II cells, most notably when compared with type-III cells, is that evaluating γ is easy and fast, especially when P is also regular (since we can then use rounding and modulo operations). Thus, e.g., we construct our type-I tessellations as a refinement of regular type-II tessellation. If n = 2, we split each rectangle into 4 triangles while if n = 3 we split each box into 5 tetrahedra. When evaluating γ, we first find the “parent” hyperrectangle and then pick the correct type-II cell among those within that hyper-rectangle. For n > 3, we avoided implementing type-I cells; rather, in such cases we use only type-II tessellations.

4.6 Adaptive Tessellations

It is possible to use CPAB transformations with a data-adaptive P; e.g., placing more cells in certain regions. The potential expressiveness gain, however, needs to be compared against: 1) the slowdown in evaluating γ and thus in evaluating xTθ(x); 2) the need to recompute B (unless one is content with a localized basis and priors obtained via method II). In any case, while for high values of n (say, n > 3) this may be a reasonable approach to mitigate the curse of dimensionality, we prefer, to keep computing time low and implementation simple, to use fixed tessellations and handle scarce-data regions via the smoothness prior.

4.7 Computing Derivatives of Tθ(x) w.r.t. θ

One of our main motivations was facilitating tractable MCMC inference over latent diffeomorphisms. While we empirically found MCMC methods to be easier to tune and to produce better results than gradient-based optimization, for completeness we provide the details for computing dTθ(x)/dθ. While one can also use finite differences, the derivation below leads to better accuracy and some computational savings (e.g., no additional expm calls are needed). Let θj denote the jth component of θ. Define y(x,t)ddθjϕθ(x,t). It can be shown that y(x, t) satisfies

y(x,t)n×1=0tBc,jn×(n+1)ϕθ(x,τ)(n+1)×1+Ac,θn×(n+1)y(x,τ)(n+1)×ndτ (24)

where c = γ(ϕθ(x, τ)) and Bc,j is the cth matrix in vec1(Bj)=(B1,j,,BNP,j). Setting t = 1, the solution of these d equations (for j ∈ {1, …; d}) yields dTθ(x)dθ. Any generic numerical solver for integral equations can be used to solve these equations, where the required values of ϕθ(x, τ) can be computed using Algorithm 1. We omit the details, but our implementation includes this derivative.

4.8 Time-Dependent Fields and Their Inference

This paper focuses on stationary CPA fields but, more generally, θ may vary with t. In which case, however, Algorithm 1 and Eq. (19) no longer apply (but note that most of the other advantages of the proposed approach will still apply; e.g., relatively-low dimensionality, compact representation, etc.). While we are unaware of a way to exploit the structure of general non-stationary CPA fields for better integration, we can still apply any generic integration technique to them. That said, one useful case of non-stationary fields is special: if θ(t) is piecewise constant w.r.t. t, then we (trivially) apply Algorithm 1 consecutively, once within each time interval. Here is a usage example. Given Npts pairs of Ω-valued points, {(xi,yi)}i=1Npts, consider an optical-flow-like representation, xx + vθ(x), together with the following Gaussian likelihood model,

yi~I.I.D.N(xi+vθ(xi),σ2In×n) (25)

(σ > 0), and a Gaussian prior for θ as in, e.g., Eq. (17). The following Ω × ℝd → ℝn map,

(x,θ)x+vθ(x)=Eqn.(11)x+j=1dθjvvec1(Bj)x, (26)

is affine w.r.t. θ = [θ1, …, θd]T. It follows that there is a closed-form MAP solution for θ (obtained by applying the standard result of computing the conditional mean of one random variable given the other, when both are jointly Gaussian). Let θ^MAP denote this solution. Importantly, the Ω → ℝn map,

xx+vθ^MAP(x), (27)

is (usually) not a diffeomorphism; however, for any real scalar α, the Ω → Ω map,

xTαθ^MAP(x)=exp(vαθ^MAP)(x), (28)

is a (CPAB) diffeomorphism. This suggests a practical greedy approach for a quick-and-dirty inference over (a transformation obtained by the integral of) a CPA velocity field which is piecewise-constant w.r.t. time. This method, summarized in Algorithm 2, may be adjusted to the case of no-correspondences image registration setting.

4.9 Some Differential-Geometric Aspects

Readers less interested in differential geometry may safely skip this section. As many readers must have recognized, V is the tangent space at the identity to M; i.e., V=TIM. Like the transformation space from [27], M is not a Lie group (lack of closure under composition); equivalently, V is not a Lie algebra (lack of Lie-bracket closure). Note that V is a finite-dimensional linear subspace of the (∞-dimensional) Lie algebra, TIG (the Lie group G was defined before Theorem 1), and that exp : VM is the restriction of the Lie-group exponential map, exp : TIGG, to VTIG. This approach, of restricting a Lie group exponential map to a linear subspace (of the Lie algebra) lacking a Lie-bracket closure, was found useful, e.g., in the context of Symmetric Positive-Definite (SPD) matrices (SPD is not closed under the standard binary operation of matrix Lie groups; likewise, TISPD is not closed under the Lie Bracket.) [39]. The inner product (on V=TIM) in Eq. (16) is close in spirit to the oft-used inner product (on TIG):

v1,v2=Ωv1(ξ)v2(ξ)dξv1,v2TIG. (29)

As we pointed out, one of the advantages of Eq. (12) over Eq. (16), is related to eliminating fictitious noise. We are unaware of works (including those using Sobelev spaces) suggesting an inner product on TIG with a similar property. While here we adopt an approach exploiting (the restriction of) the Lie group exponential of GM, future work should explore Riemannian geometries of M (with their Riemannian exponential maps) and their relations to those of G. While one can define M-specific Riemannian metrics, note that M may also inherit a Riemannian metric from G.

5 Experiments

Sections 5.1, 5.2 and 5.3 focus on synthesis, Section 5.4 pertains to analysis by synthesis, Section 5.5 addresses large numbers of landmarks, Section 5.6 is related to Algorithm 2, and Section 5.7 illustrates representation of CDFs.

5.1 Integration Accuracy and Timings

The two parameters in Algorithm 1, Nsteps and nsteps, imply two step sizes, one large, Δt = t/Nsteps, used for exact updates, and one small, δt = Δt=nsteps, used for the generic-solver subroutine. The reason we can make large (hence few) steps is that we use an exact analytic update when possible. In our experiments, the generic solver was the modified Euler Method, which requires (i) the ability to evaluate a velocity field at a given location and (ii) specifying the step size and number of steps. By construction, Algorithm 1 is more accurate (due to the analytic updates) and faster (due to the smaller number of steps) than any generic solver used as its subroutine. We also verified this empirically, comparing the algorithm against simply running the generic solver step size δt and Nsteps × nsteps steps. For accuracy, in 1D, we compared the integration error (that we can compute this error at all, is by the virtue of our closed-form solution; see Theorem 2) averaged over random CPA velocity fields; i.e., for each value of NP, we drew 100 CPA fields form the prior, {vθi}i=1100, sampled (uniformly) 1000 points in Ω, {xj}j=11000 and then computed the error:

ε=1100i=110011000i=j1000|Texactθ(xj)Tsolverθ(xj)|. (30)

Table 2 shows the relative improvements, εgenericεalgorithmεgeneric, for different values of NP (the number of intervals). For higher dimensions, where closed form is unavailable, such error analysis is impossible. The results of our timing experiments appear in the Sup. Mat., available online. Note that our implementation can be further optimized. e.g., use a C+ + wrapper instead of a Python one. Moreover, most of the computing time is spent on evaluating γ (γ is continuously-defined, so discretely-defined lookup tables will not do); with some tricks, the number of such calls can be drastically reduced.

TABLE 2.

Accuracy: Improvement, in %, of Algorithm 1 (Nsteps = 10, nsteps = 10) Over the Generic Solver (100 Steps). Ω = [0, 1] Was Tessellated into NP Equal-Length Intervals

NP
5 25 45 65 85 105
improvement [%] 2.99 12.56 11.26 9.98 3.29 3.73

5.2 Real-Time Diffeomorphic Image Editing

To highlight the speed at which CPAB transformations are computed, our code includes a GUI where a user chooses velocities at some/all vertices of P4. Using Lemma 3, the Gaussian priors on vθ, and the fast integration, we compute, in real time, the conditional warp, exp(E(vθ|user’s choice)). For a demo, please see the video in the Sup. Mat., available online.

5.3 Expressiveness

While simple, CPAB transformations capture a wide range of diffeomorphisms (obviously, like any other work on diffeomorphisms, we make no claims about capturing non-diffeomorphisms such as occlusions). One way to see this is by inspecting samples from p(θ) (Fig. 4). M also contains what is sometimes called large deformations (an overloaded term: used in some texts for elements of G outside its identity component). One way to show a nominal space captures these is a rectangle-to-horseshoe morphing, achieved easily here (see Sup. Mat., available online). Expressiveness is also exemplified by the experiments below (Figs. 7 and 8) and the demo (Section 5.2). As another example, Fig. 9 shows a volume-preserving transformation sampled from the prior applied to a 3D shape. Here, TθM∂,vp, where P consists of NP=320 cells (a layout of 4×4×4 cubes, each divided into 5 tetrahedra) and Nv = 125. The dimension, dim(M∂,vp), is 20 (and not 375 = 3Nv) due to the additional constraints.

Fig. 7.

Fig. 7

Landmark-based warping. One example in each row. (a) Isrc (and src landmarks). (b) Isrc (and src/dst landmarks). (c) The inferred vθ. (d) A new image is synthesized by warping Isrc using Tθ (and dst & Tθ(src) landmarks). (d) Animation.

Fig. 8.

Fig. 8

Nonlinear time warping in real MoCap Data. Left: a reference signal, s0, 5 other signals, {si}i=15, and their mean, s¯=15i=15si. The mean is smeared since {si}i=15 are misaligned. Center: having inferred the warps, {Tθi}i=15, we unwarp the signals, setting ui=siTθi. Note {ui}i=15 are better aligned, as is evident by the details preserved in their mean, u¯=15i=15ui. Right: warping u¯ by Tθ+jσ1ξ1 where θ=15i=15θi, j ∈ {−6, −4, −2, 0, 2, 4, 6}, ξ1 is the first principal component of {θiθ¯}i=15, and σ1 is the corresponding standard deviation.

Fig. 9.

Fig. 9

A 3D example. Left: Source shape (taken from the Tosca Dateset: http://tosca.cs.technion.ac.il). Right: Result of applying a volume-preserving transformation, sampled from the prior, to the source.

5.4 Inference: Analysis-by-Synthesis

Real-world signal analysis requires 3 oft-confounded parts: a representation; a probabilistic/deterministic model (e.g., a likelihood); inference. While the first affects the second which in turn affects the third, when judging a new choice for any of these, it is crucial to distinguish between them. For example, as noted in [68], Horn and Schunk’s representation+model of optical flow had been regarded highly inaccurate, till modern inference rendered it almost state-of-the-art. Since the present work is focused on representations, we avoid advocating a particular likelihood model or inference method, and instead use, in a coarse-to-fine manner (recall that if vθ is CPA w.r.t. P it is CPA w.r.t. PP), simple choices such as Gaussian likelihood and either conjugate-gradient optimization or the MCMC Metropolis algorithm (where, in the proposal step, we use either global or local moves, utilizing Lemma 3). Without claiming these choices are optimal, these turned out to be effective.

Latent transformations arise in two typical settings: with and without known correspondences. In the first, also called (exact/inexact) diffeomorphic point matching [10], [14], one has a set of landmark pairs, {(xi,yi)}i=1Npts and seeks T : Ω → Ω such that {T(xi)yi}i=1Npts. We observe that for n = 1, by Corollary 1, our ability to easily solve this problem using CPAB transformations lets us solve a monotonic regression problem, as Fig. 5 demonstrates. Particularly, by adding boundary constraints and simulated annealing, we can well fit a CPAB transformation to any reasonable CDF. More generally, but still for n = 1, our method can be used to solve statistical/optimization problems over monotonic functions, CDFs and (cumulative sums of) histograms/filters while respecting bin ordering. The case of n > 1 appears, e.g., in landmark-based image warping. As shown in Fig. 7, using real images and landmarks from an online hands dataset (http://www.imm.dtu.dk/pubdb/p.php?403), we infer a transformation between different hands in different poses. We then apply it to the whole source image, creating new hands, whose appearance belongs to the source hands, with geometry akin to the destination hands. We also animate the source image by evaluating ϕθ for different t’s (including outside of [0, 1]); e.g., Fig. 7e shows animated frames for the example in the second row of Fig. 7a7d.

In the no-known-correspondences case, there are two subsets of Ω, denoted Usrc and Udst, and two feature maps, Isrc:UsrcF and Idst:UdstF, where F is some feature space (e.g., color), and one seeks T : Ω → Ω such that IdstT−1Isrc (or such that IsrcTIdst). This is, e.g., the case for time warping (when n = 1) and landmark-free image registration (n > 1). Fig. 8 (left and middle) shows inferred time warps for motion-capture data from [69]. A similar procedure can be applied to 2D images, in which case it is known as image registration. Fig. 10 shows some results for registrations of images of digits using a pixelwise Gaussian likelihood model and MCMC inference over CPAB transformations. We used 10K iterations for each single registration which took 10 [sec] (i.e., ~ 0.001 [sec] per each MCMC iteration).

Fig. 10.

Fig. 10

Example registrations of images from the MNIST dataset.

As an example for statistics on the inferred transformations, Fig. 8 (right) shows a 1D warping of u¯ (defined in the figure’s caption) along the 1st eigen warp (computed using PCA on inferred velocity fields); i.e., we use euclidean statistics in the linear V and map the results to the nonlinear M. For a 2D example in the same spirit, we first performed thousands of within-class pairwise registrations of images of digits as described above. Overall we estimated ~ 30, 000 transformations i.e., ~ 3, 000 per class (class of 1’s, class of 2’s, etc.). Next, we computed PCA on the inferred CPA velocity fields; Fig. 11 shows the first eigen wrap of each class. The Sup. Mat., available online includes a video showing the result of applying the first 3 eigen warps (per class) applied to 100 random images from the training set.

Fig. 11.

Fig. 11

The 1st eigen wrap of class. Center row: the mean (identity) transform. Top row: the mean plus 3 standard devidations. Bottom row: the mean minus 3 standard deviations.

5.5 Handling a Large Number of Landmarks

In the hand experiment we showed inference for landmark-based warping using a relatively small set of landmarks on real data. The inference technique used there was MAP estimation using the Metropolis algorithm. Here we show, using synthetic data, that the framework can easily utilize a large set of landmark for inference over the latent transformation between the landmark sets; see Fig. 12. The technique used here is ML estimation using the Metropolis algorithm. It is not surprising that with more data the results improve, suggesting empirical evidence that the estimation procedure is consistent. However, our point here is that most other methods cannot easily utilize a large set of landmarks.

Fig. 12.

Fig. 12

Landmark-based Maximum Likelihood (ML) estimates of latent transformations. The dimension of the transformation space in this example is d = 38. Rows differ in the number of landmarks, Npts. Top row: Npts = 30. Middle: Npts = 100. Bottom: Npts = 10, 000. Colors: green=src, blue=dst, red=Tθ(src), where Tθ is the ML transformation, found by Metropolis’ algorithm. (a) original grid lines + src landmarks; (b) grid lines deformed by the Ground-Truth (GT) transformation + dst landmarks. (c) grid lines deformed by the GT transformation. (d) grid lines deformed by the ML transformation. (e) grid lines deformed by the GT transformation (blue) and grid lines deformed by the ML transformation (red). (f) dst landmarks (blue) and the src landmarks transformed by the ML transformation (red).

5.6 Inference over a CPA Field Piecewise w.r.t. t

As a proof-of-concept for the utility of Algorithm 2, we used it to “prettify” the output of a dense-correspondence tool. We extracted dense correspondences, {(xi,yi)}i=1Npts, between two images using SIFT-Flow [20]. Then, we discarded the images and treated the correspondences as noisy observations fed as input to Algorithm 2. Finally, for visualization purposes, we used the output of Algorithm 2 to warp the source image. Fig. 14 shows a typical result.

Fig. 14.

Fig. 14

“Prettifying” the result of a dense-correspondence tool. From left to right: Isrc; Idst; warping Isrc according to SIFT-Flow [20]; warping Isrc using the output of Algorithm 2 where the SIFT-Flow was the input.

5.7 Representing a CDF Using a CPAB Transformation

Fig. 13 shows results (using Metropolis’ algorithm) for fitting FθTθF0, where F0 is the CDF of the uniform distribution on J = [−7, 7], to a 3-component Gaussian mixture. Note Fθ well approximates the target CDF.

Fig. 13.

Fig. 13

CDF Representation. The source is the CDF of the uniform distribution. The target is the CDF of a 3-component Gaussian mixture. The setting and the inference procedure, where we used a Maximum Likelihood (ML) solution obtained using MCMC, are virtually the same as in the monotonic-regression experiment, except here we also used simulated annealing, gradually reducing the standard deviation of the “noise” to zero. Typical to an ML solution, the inferred vθ is non-smooth. MAP estimation (not shown) leads to a smoother field, analogously to the results in Fig. 5.

6 CONCLUSION

We proposed new classes of diffeomorphisms that are simple, expressive, efficient, and have many applications. We showed these objects are evaluated fast and with high accuracy (exact in 1D) and that they are highly expressive. While we required Ω to be a hyperrectangle it is not hard to see that, more generally, Ω may be any finite intersection of closed half spaces of ℝn. Like the space in [27], our spaces lack closure under composition; but since Tθ2Tθ1G, our representation can still be used within frameworks that apply consecutive transformations [16]. In fact, Algorithm 2 deals exactly with such scenarios. While this work focused on representation it was primarily motivated by modeling-and-inference considerations: e.g., the ability to quickly run MCMC inference over diffeomorphisms is a hallmark of the method, showing that simplicity pays off.

Supplementary Material

Supplemental Materials

Acknowledgments

O.F. and J.W.F. are partially supported by U.S. Office of Naval Research MURI program, award N000141110688, and VITALITE, which receives support from U.S. ARO MURI, award W911NF-11-1-0391. S.H. was funded by the Danish Council for Independent Research, Natural Sciences.

Biographies

graphic file with name nihms924120b1.gif

Oren Freifeld received the BSc and MSc degrees in biomedical engineering from Tel-Aviv University, in 2005 and 2007, respectively. He received the ScM and PhD degrees in applied mathematics from Brown University, in 2009 and 2013, respectively. Later, he was a postdoc with MIT Computer Science & Artificial Intelligence Laboratory. He is currently an assistant professor in the Department of Computer Science, Ben-Gurion University. His main fields of research are computer vision, statistical inference, and machine learning.

graphic file with name nihms924120b2.gif

Søren Hauberg received the PhD degree in computer science from the University of Copenhagen, in 2011. He has been a visiting scholar with UC Berkeley (2010), and a post doc in the Perceiving Systems Department, Max Planck Institute for Intelligent Systems (2012–2014). He is currently a post doc in the Section for Cognitive Systems, Technical University of Denmark. He works in the span of geometry and statistics.

graphic file with name nihms924120b3.gif

Kayhan Batmanghelich received the PhD degree in electrical and system engineering from the University of Pennsylvania, in 2012. He is currently a postdoctoral associate with MIT Computer Science & Artificial Intelligence Laboratory. He works in the span of machine learning, medical imaging, and computational biology.

graphic file with name nihms924120b4.gif

John W. Fisher III received a PhD degree in electrical and computer engineering from the University of Florida, Gainesville, Florida in 1997. He is a Senior Research Scientist in the Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology. Prior to joining the Massachusetts Institute of Technology he was a member of the research staff with the Electronic Communications Laboratory at the University of Florida from 1987 to 1997, during which time he conducted research in the areas of ultra-wideband radar for ground and foliage penetration applications, radar signal processing, and automatic target recognition algorithms. His current area of research focus includes information theoretic approaches to signal processing, multi-modal data fusion, machine learning and computer vision.

Footnotes

For information on obtaining reprints of this article, please send reprints@ieee.org, and reference the Digital Object Identifier below.

⊳ For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.

Contributor Information

Oren Freifeld, Department of Computer Science, Ben-Gurion University Be’er Sheva 84105, Israel.

Søren Hauberg, Section for Cognitive Systems, DTU Compute, Kongens Lyngby 2800, Denmark.

Kayhan Batmanghelich, Computer Science and Artificial Intelligence Lab, Massachusetts Institute of Technology, Cambridge, MA 02319.

Jonn W. Fisher, III, Computer Science and Artificial Intelligence Lab, Massachusetts Institute of Technology, Cambridge, MA 02319.

References

  • 1.Allassonnière S, Kuhn E, Trouvé A. Construction of Bayesian deformable models via a stochastic approximation algorithm: A convergence study. Bernoulli. 2010;16:641–678. [Google Scholar]
  • 2.Allassonniere S, Durrleman S, Kuhn E. Bayesian mixed effect atlas estimation with a diffeomorphic deformation model. SIAM J Imag Sci. 2015;8:1367–1395. [Google Scholar]
  • 3.Zhang M, Fletcher PT. Algorithmic Advances in Riemannian Geometry and Applications. Berlin, Germany: Springer; 2016. Bayesian statistical shape analysis on the manifold of diffeomorphisms. [Google Scholar]
  • 4.Freifeld O, Hauberg S, Kayhan B, Fisher JW., III Highly-expressive spaces of well-behaved transformations: Keeping it simple. Proc IEEE Int Conf Comput Vis. 2015:2911–2919. [Google Scholar]
  • 5.Hauberg S, Freifeld O, Larsen A, Fisher J, Hansen L. presented at the 19th Int Conf Artif Intell Statist. Cadiz, Spain: 2016. Dreaming more data: Class-dependent distributions over diffeomorphisms for learned data augmentation. [Google Scholar]
  • 6.Grenander U. General Pattern Theory: A Mathematical Study of Regular Structures. Oxford, U.K.: Clarendon; 1993. [Google Scholar]
  • 7.Grenander U, Miller M. Representations of knowledge in complex systems. J Roy Statistical Soc Series B: Methodological. 1994;56:549–603. [Google Scholar]
  • 8.Dupuis P, Grenander U, Miller MI. Variational problems on flows of diffeomorphisms for image matching. Quart Appl Math. 1998;56:587–600. [Google Scholar]
  • 9.Trouvé A. Diffeomorphisms groups and pattern matching in image analysis. Int J Comput Vis. 1998;28:213–221. [Google Scholar]
  • 10.Joshi SC, Miller MI. Landmark matching via large deformation diffeomorphisms. IEEE Trans Image Process. 2000 Aug;9(8):1357–1370. doi: 10.1109/83.855431. [DOI] [PubMed] [Google Scholar]
  • 11.Vaillant M, Miller MI, Younes L, Trouvé A. Statistics on diffeomorphisms via tangent space representations. NeuroImage. 2004;23:S161–S169. doi: 10.1016/j.neuroimage.2004.07.023. [DOI] [PubMed] [Google Scholar]
  • 12.Beg MF, Miller MI, Trouvé A, Younes L. Computing large deformation metric mappings via geodesic flows of diffeomorphisms. Int J Comput Vis. 2005;61:139–157. [Google Scholar]
  • 13.Allassonnière S, Trouvé A, Younes L. Geodesic shooting and diffeomorphic matching via textured meshes. Proc 5th Int Conf Energy Minimization Methods Comput Vis Pattern Recognit. 2005:365–381. [Google Scholar]
  • 14.Guo H, Rangarajan A, Joshi S. Handbook of Mathematical Models in Computer Vision. Berlin, Germany: Springer; 2006. Diffeomorphic point matching. [Google Scholar]
  • 15.Grenander U, Miller M. Pattern Theory: From Representation to Inference. London, U.K.: Oxford Univ. Press; 2007. [Google Scholar]
  • 16.Vercauteren T, Pennec X, Perchant A, Ayache N. Diffeomorphic demons: Efficient non-parametric image registration. NeuroImage. 2009;45:S61–S72. doi: 10.1016/j.neuroimage.2008.10.040. [DOI] [PubMed] [Google Scholar]
  • 17.Mumford D, Desolneux A. Pattern Theory: The Stochastic Analysis of Real-World Signals. Natick, MA, USA: AK Peters; 2010. [Google Scholar]
  • 18.Younes L. Spaces and manifolds of shapes in computer vision: An overview. Image Vis Comput. 2012;30:389–397. [Google Scholar]
  • 19.Durrleman S, Allassonnière S, Joshi S. Sparse adaptive parameterization of variability in image ensembles. Int J Comput Vis. 2013;101:161–183. [Google Scholar]
  • 20.Liu C, Yuen J, Torralba A. SIFT flow: Dense correspondence across scenes and its applications. IEEE Trans Pattern Anal Mach Intell. 2011 May;33(5):978–994. doi: 10.1109/TPAMI.2010.147. [DOI] [PubMed] [Google Scholar]
  • 21.Kim J, Liu C, Sha F, Grauman K. Deformable spatial pyramid matching for fast dense correspondences. Proc IEEE Conf Comput Vis Pattern Recognit. 2013:2307–2314. [Google Scholar]
  • 22.Cootes TF, Twining CJ, Petrovic V, Schestowitz R, Taylor CJ. Groupwise construction of appearance models using piecewise affine deformations. Proc Brit Mach Vis Conf. 2005:879–888. [Google Scholar]
  • 23.Fawzi A, Frossard P. Measuring the effect of nuisance variables on classifiers. Proc Brit Mach Vis Conf. 2016 [Google Scholar]
  • 24.Szeliski R. Computer Vision: Algorithms and Applications. Berlin, Germany: Springer; 2010. [Google Scholar]
  • 25.Galun M, Amir T, Hassner T, Basri R, Lipman Y. Wide baseline stereo matching with convex bounded distortion constraints. Proc IEEE Int Conf Comput Vis. 2015:2228–2236. [Google Scholar]
  • 26.Lin D, Grimson E, Fisher J. Modeling and estimating persistent motion with geometric flows. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2010:1–8. [Google Scholar]
  • 27.Arsigny V, Commowick O, Pennec X, Ayache N. Biomedical Image Registration. Berlin, Germany: Springer; 2006. A log-Euclidean polyaffine framework for locally rigid or affine registration. [Google Scholar]
  • 28.Arsigny V, Pennec X, Ayache N. Polyrigid and polyaffine transformations: A novel geometrical tool to deal with non-rigid deformations–application to the registration of histological slices. Med Image Anal. 2005;9:507–523. doi: 10.1016/j.media.2005.04.001. [DOI] [PubMed] [Google Scholar]
  • 29.Arsigny V, Commowick O, Pennec X, Ayache N. A log-Euclidean framework for statistics on diffeomorphisms. Med Image Comput Comput Assisted Intervention. 2006;9:924–931. doi: 10.1007/11866565_113. [DOI] [PubMed] [Google Scholar]
  • 30.Mansi T, Pennec X, Sermesant M, Delingette H, Ayache N. iLogDemons: A demons-based registration algorithm for tracking incompressible elastic biological tissues. Int J Comput Vis. 2011;92:92–111. [Google Scholar]
  • 31.Zhang M, Fletcher PT. Finite-dimensional Lie algebras for fast diffeomorphic image registration. Inf Process Med Imag. 2015;24:249–259. doi: 10.1007/978-3-319-19992-4_19. [DOI] [PubMed] [Google Scholar]
  • 32.Censi A, Murray RM. Learning diffeomorphism models of robotic sensorimotor cascades. Proc IEEE Int Conf Robot Autom. 2012:3657–3664. [Google Scholar]
  • 33.Censi A, Nilsson A, Murray RM. Motion planning in observations space with learned diffeomorphism models. Proc IEEE Int Conf Robot Autom. 2013:2860–2867. [Google Scholar]
  • 34.Nilsson A, Censi A. Accurate recursive learning of uncertain diffeomorphism dynamics. Proc IEEE/RSJ Int Conf Intell Robots Syst. 2013:1208–1215. [Google Scholar]
  • 35.Kilian M, Mitra N, Pottmann H. Geometric modeling in shape space. ACM Trans Graph. 2007;26 Art. no. 64. [Google Scholar]
  • 36.Gawlik ES, Mullen P, Pavlov D, Marsden JE, Desbrun M. Geometric, variational discretization of continuum theories. Physica D: Nonlinear Phenomena. 2011;240:1724–1760. [Google Scholar]
  • 37.Fletcher P, Lu C, Joshi S. Statistics of shape via principal geodesic analysis on Lie groups. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2003:I-95–I-101. [Google Scholar]
  • 38.Miller EG, Chefd’hotel C. Practical non-parametric density estimation on a transformation group for vision. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2003:II-114–II-121. [Google Scholar]
  • 39.Porikli F, Tuzel O, Meer P. Covariance tracking using model update based on Lie algebra. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2006:728–735. [Google Scholar]
  • 40.Lin D, Grimson E, Fisher J. Learning visual flows: A Lie algebraic approach. Proc IEEE Conf Comput Vis Pattern Recognit. 2009:747–754. [Google Scholar]
  • 41.Freifeld O, Black M. Lie bodies: A manifold representation of 3D human shape. Proc 12th Eur Conf Comput Vis. 2012 [Google Scholar]
  • 42.Pennec X. Probabilities and statistics on Riemannian manifolds: Basic tools for geometric measurements. Proc Nonlinear Signal Image Process. 1999:194–198. [Google Scholar]
  • 43.Fletcher P, Lu C, Pizer S, Joshi S. Principal geodesic analysis for the study of nonlinear statistics of shape. IEEE Trans Med Imag. 2004 Aug;23(8):995–1005. doi: 10.1109/TMI.2004.831793. [DOI] [PubMed] [Google Scholar]
  • 44.Sommer S, Lauze F, Hauberg S, Nielsen M. Manifold valued statistics, exact principal geodesic analysis and the effect of linear approximation. Proc 11th Eur Conf Comput Vis. 2010:43–56. [Google Scholar]
  • 45.Subbarao R, Meer P. Nonlinear mean shift over riemannian manifolds. Int J Comput Vis. 2009;84:1–20. [Google Scholar]
  • 46.Srivastava A, Joshi SH, Mio W, Liu X. Statistical shape analysis: Clustering, learning, and testing. IEEE Trans Pattern Anal Mach Intell. 2005 Apr;27(4):590–602. doi: 10.1109/TPAMI.2005.86. [DOI] [PubMed] [Google Scholar]
  • 47.Hinkle J, Fletcher PT, Joshi S. Intrinsic polynomials for regression on Riemannian manifolds. J Math Imag Vis. 2014;50:32–52. [Google Scholar]
  • 48.Harandi MT, Salzmann M, Hartley R. From manifold to manifold: Geometry-aware dimensionality reduction for SPD matrices. Proc 13th Eur Conf Comput Vis. 2014:17–32. [Google Scholar]
  • 49.Lorenzi M, Ayache N, Pennec X. Information Processing in Medical Imaging. Berlin, Germany: Springer; 2011. Schild’s ladder for the parallel transport of deformations in time series of images. [DOI] [PubMed] [Google Scholar]
  • 50.Taheri S, Turaga P, Chellappa R. Towards view-invariant expression analysis using analytic shape manifolds. Proc IEEE Int Conf Autom Face Gesture Recognit Workshops. 2011:306–313. [Google Scholar]
  • 51.Lorenzi M, Pennec X. Geodesics, parallel transport & one-parameter subgroups for diffeomorphic image registration. Int J Comput Vis. 2013;105:111–127. [Google Scholar]
  • 52.Xie Q, Kurtek S, Le H, Srivastava A. Parallel transport of deformations in shape space of elastic surfaces. Proc IEEE Int Conf Comput Vis. 2013:865–872. [Google Scholar]
  • 53.Fletcher P. Geodesic regression and the theory of least squares on Riemannian manifolds. Int J Comput Vis. 2012;105:171–185. [Google Scholar]
  • 54.Jayasumana S, Hartley R, Salzmann M, Li H, Harandi M. Kernel methods on the Riemannian manifold of symmetric positive definite matrices. Proc IEEE Conf Comput Vis Pattern Recognit. 2013:73–80. [Google Scholar]
  • 55.Freifeld O, Hauberg S, Black MJ. Model transport: Towards scalable transfer learning on manifolds. Proc IEEE Conf Comput Vis Pattern Recognit. 2014:1378–1385. [Google Scholar]
  • 56.Rubner Y, Tomasi C, Guibas L. Metric for distributions with applications to image databases. Proc 6th Int Conf Comput Vis. 1998:59–66. [Google Scholar]
  • 57.Srivastava A, Jermyn I, Joshi S. Riemannian analysis of probability density functions with applications in vision. Proc IEEE Conf Comput Vis Pattern Recognit. 2007:1–8. doi: 10.1109/CVPR.2007.383185. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 58.Bookstein FL. Principal warps: Thin-plate splines and the decomposition of deformations. IEEE Trans Pattern Anal Mach Intell. 1989 Jun;11(6):567–585. [Google Scholar]
  • 59.Arad N, Dyn N, Reisfeld D, Yeshurun Y. Image warping by radial basis functions: Application to facial expressions. CVGIP: Graph Models Image Process. 1994;56:161–172. [Google Scholar]
  • 60.Liu C, Shum H-Y, Zhang C-S. A two-step approach to hallucinating faces: Global parametric model and local nonparametric model. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2001:I-192–I-198. [Google Scholar]
  • 61.Chen T-L, Geman S. Image warping using radial basis functions. J Appl Statist. 2014;41:242–258. [Google Scholar]
  • 62.Nielsen M, Johansen P, Jackson A, Lautrup B, Hauberg S. Brownian warps for non-rigid registration. J Math Imag Vis. 2008;31 Art. no. 221. [Google Scholar]
  • 63.Weber O, Poranne R, Gotsman C. Biharmonic coordinates. Comput Graph Forum. 2012;31:2409–2422. [Google Scholar]
  • 64.Nir T, Bruckstein AM, Kimmel R. Over-parameterized variational optical flow. Int J Comput Vis. 2008;76:205–2016. [Google Scholar]
  • 65.Wulff J, Black M. Efficient sparse-to-dense optical flow estimation using a learned basis and layers. Proc IEEE Conf Comput Vis Pattern Recognit. 2015:120–130. [Google Scholar]
  • 66.Moler C, Loan C Van. Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later. SIAM Rev. 2003;43:3–49. [Google Scholar]
  • 67.Al-Mohy AH, Higham NJ. Computing the action of the matrix exponential, with an application to exponential integrators. SIAM J Sci Comput. 2011;33:488–211. [Google Scholar]
  • 68.Sun D, Roth S, Black MJ. Secrets of optical flow estimation and their principles. Proc IEEE Comput Soc Conf Comput Vis Pattern Recognit. 2010:2432–2439. [Google Scholar]
  • 69.Ionescu C, Papava D, Olaru V, Sminchisescu C. Human3.6M: Large scale datasets and predictive methods for 3D human sensing in natural environments. IEEE Trans Pattern Anal Mach Intell. 2014 Jul;39(7):1325–1339. doi: 10.1109/TPAMI.2013.248. [DOI] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

Supplemental Materials

RESOURCES