+ All Categories
Home > Documents > An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf ·...

An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf ·...

Date post: 23-Jul-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
14
1 An Efficient Globally Optimal Algorithm for Asymmetric Point Matching Wei Lian, Lei Zhang, and Ming-Hsuan Yang Abstract—Although the robust point matching algorithm has been demonstrated to be effective for non-rigid registration, there are several issues with the adopted deterministic annealing optimization technique. First, it is not globally optimal, and regularization on the spatial transformation is needed for good matching results. Second, it tends to align the mass centers of two point sets. To address these issues, we propose a globally optimal algorithm for the robust point matching problem where each model point has a counterpart in scene set. By eliminating the transformation variables, we show that the original matching problem is reduced to a concave quadratic assignment problem where the objective function has a low rank Hessian matrix. This facilitates the use of large scale global optimization techniques. We propose a branch-and-bound algorithm based on rectangular subdivision where in each iteration, multiple rectangles are used to increase the chances of subdividing the one containing the global optimal solution. In addition, we present an efficient lower bounding scheme, which has a linear assignment formulation and can be solved efficiently. Extensive experiments on synthetic and real datasets demonstrate the proposed algorithm performs favorably against state-of-the-art methods in terms of robustness to outliers, matching accuracy, and run-time. Index Terms—branch and bound, concave optimization, linear assignment, point correspondence, robust point matching 1 I NTRODUCTION T HE goal of point matching is to find correspondence between two point sets and recover the underly- ing transformation. It plays an indispensable role for numerous applications in computer vision and pattern recognition. Accurate point matching is challenging, as matching algorithms need to account for non-rigid de- formation, positional noise and outliers from images. Numerous methods have been proposed to address the point matching problem [5], [45], among which the robust point matching (RPM) method [9], [10] is widely used for non-rigid registration, and several variants [34], [39], [19] have subsequently been developed. The RPM method jointly estimates correspondence and transformation by formulating point matching as a mixed linear assignment least squares optimization problem. Based on this formulation, it relaxes the point correspondence variables to be continuously valued sub- ject to the one-to-one correspondence constraint (i.e., soft assignment) and employs a deterministic annealing tech- nique [42] to gradually estimate point correspondence. However, a deterministic annealing method involves heuristics and there is no global optimality guarantee. W. Lian is with the Department of Computer Science, Changzhi Uni- versity, Changzhi, Shanxi Province, China, 046011, and the Department of Computing, Hong Kong Polytechnic University, China. E-mail: lian- [email protected]. L. Zhang is with the Department of Computing, The Hong Kong Poly- technic University, China. E-mail: [email protected]. M.-H. Yang is with School of Engineering, University of California, Merced, CA 95344. E-mail: [email protected]. This work was partially supported by Hong Kong RGC GRF grant (PolyU 5313/13E), National Natural Science Foundation of China (61473227), Applied Basic Research Program of Shanxi Province (201601D011007), and USA National Science Foundation CAREER grant (1149783). Consequently, the spatial transformation variable needs to be regularized to avoid undesirable matching results. Furthermore, the deterministic annealing technique ini- tially matches points in two sets with equal chance, which causes the mass centers of the sets to be aligned. This trend may persist and result in aligning the centers of two point sets. To address the issues with the use of determinis- tic annealing for non-rigid registration, we propose an asymmetric point matching (APM) algorithm for the RPM problem, where each model point has a counterpart in scene set. The APM algorithm operates by eliminating the transformation variables of the RPM objective func- tion to reduce it to a function of point correspondence with the following properties. First, the function is concave. Taking into account the total unimodularity of the constraints on point corre- spondence [33], [18], we show that the optimal solution by the proposed algorithm is directly binary valued. Thus, there is no need for discretizing solutions, which can cause errors and inaccurate estimates [20], [22], [27]. Second, the function is quadratic with a Hessian ma- trix, whose rank equals the number of transformation parameters. For the case in which transformation has few parameters (e.g., 2D similarity or 2D/3D affine transformation), the rank is low, and thus large scale global optimization techniques can be applied [18]. Con- sequently, the proposed algorithm is globally optimal and scalable. To optimize the proposed objective function, we pro- pose a branch-and-bound (BnB) algorithm based on rectangular subdivision [18], where in each iteration, instead of only subdividing the rectangle yielding the lower bound for the feasible region, more rectangles
Transcript
Page 1: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

1

An Efficient Globally Optimal Algorithm forAsymmetric Point Matching

Wei Lian, Lei Zhang, and Ming-Hsuan Yang

Abstract—Although the robust point matching algorithm has been demonstrated to be effective for non-rigid registration, there areseveral issues with the adopted deterministic annealing optimization technique. First, it is not globally optimal, and regularizationon the spatial transformation is needed for good matching results. Second, it tends to align the mass centers of two point sets. Toaddress these issues, we propose a globally optimal algorithm for the robust point matching problem where each model point hasa counterpart in scene set. By eliminating the transformation variables, we show that the original matching problem is reduced to aconcave quadratic assignment problem where the objective function has a low rank Hessian matrix. This facilitates the use of largescale global optimization techniques. We propose a branch-and-bound algorithm based on rectangular subdivision where in eachiteration, multiple rectangles are used to increase the chances of subdividing the one containing the global optimal solution. In addition,we present an efficient lower bounding scheme, which has a linear assignment formulation and can be solved efficiently. Extensiveexperiments on synthetic and real datasets demonstrate the proposed algorithm performs favorably against state-of-the-art methods interms of robustness to outliers, matching accuracy, and run-time.

Index Terms—branch and bound, concave optimization, linear assignment, point correspondence, robust point matching

F

1 INTRODUCTION

THE goal of point matching is to find correspondencebetween two point sets and recover the underly-

ing transformation. It plays an indispensable role fornumerous applications in computer vision and patternrecognition. Accurate point matching is challenging, asmatching algorithms need to account for non-rigid de-formation, positional noise and outliers from images.Numerous methods have been proposed to address thepoint matching problem [5], [45], among which therobust point matching (RPM) method [9], [10] is widelyused for non-rigid registration, and several variants [34],[39], [19] have subsequently been developed.

The RPM method jointly estimates correspondenceand transformation by formulating point matching asa mixed linear assignment least squares optimizationproblem. Based on this formulation, it relaxes the pointcorrespondence variables to be continuously valued sub-ject to the one-to-one correspondence constraint (i.e., softassignment) and employs a deterministic annealing tech-nique [42] to gradually estimate point correspondence.However, a deterministic annealing method involvesheuristics and there is no global optimality guarantee.

• W. Lian is with the Department of Computer Science, Changzhi Uni-versity, Changzhi, Shanxi Province, China, 046011, and the Departmentof Computing, Hong Kong Polytechnic University, China. E-mail: [email protected].

• L. Zhang is with the Department of Computing, The Hong Kong Poly-technic University, China. E-mail: [email protected].

• M.-H. Yang is with School of Engineering, University of California,Merced, CA 95344. E-mail: [email protected].

This work was partially supported by Hong Kong RGC GRF grant (PolyU5313/13E), National Natural Science Foundation of China (61473227),Applied Basic Research Program of Shanxi Province (201601D011007), andUSA National Science Foundation CAREER grant (1149783).

Consequently, the spatial transformation variable needsto be regularized to avoid undesirable matching results.Furthermore, the deterministic annealing technique ini-tially matches points in two sets with equal chance,which causes the mass centers of the sets to be aligned.This trend may persist and result in aligning the centersof two point sets.

To address the issues with the use of determinis-tic annealing for non-rigid registration, we propose anasymmetric point matching (APM) algorithm for theRPM problem, where each model point has a counterpartin scene set. The APM algorithm operates by eliminatingthe transformation variables of the RPM objective func-tion to reduce it to a function of point correspondencewith the following properties.

First, the function is concave. Taking into account thetotal unimodularity of the constraints on point corre-spondence [33], [18], we show that the optimal solutionby the proposed algorithm is directly binary valued.Thus, there is no need for discretizing solutions, whichcan cause errors and inaccurate estimates [20], [22], [27].

Second, the function is quadratic with a Hessian ma-trix, whose rank equals the number of transformationparameters. For the case in which transformation hasfew parameters (e.g., 2D similarity or 2D/3D affinetransformation), the rank is low, and thus large scaleglobal optimization techniques can be applied [18]. Con-sequently, the proposed algorithm is globally optimaland scalable.

To optimize the proposed objective function, we pro-pose a branch-and-bound (BnB) algorithm based onrectangular subdivision [18], where in each iteration,instead of only subdividing the rectangle yielding thelower bound for the feasible region, more rectangles

Page 2: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

2

are used to increase the chances of subdividing the onecontaining the global optimal solution, thereby improv-ing convergence speed. Experimental results show theproposed algorithm achieves 10-fold speed-up for largesize problems.

In order to further improve the efficiency of the pro-posed BnB algorithm where computation of the lowerbound is the bottleneck, we propose a lower boundingscheme, which has a linear assignment formulation andcan be solved efficiently. Experimental results show that500-fold speed-up can be obtained by the proposedscheme. In addition, the proposed formulation yieldstight lower bounds.

The contributions of this work are summarized asfollows. First, the proposed algorithm can match pointsets when transformations are not regularized. In thesecases, the proposed algorithm is invariant to the corre-sponding transformations and matches two point setswith unknown poses. In contrast, it is necessary to useregularization techniques for existing RPM methods toavoid undesirable matching results. Second, as the pro-posed algorithm computes globally optimal solutions,it is more robust to outliers or extraneous structuresthan existing methods that find local solutions. Validatedby the experiments, the proposed algorithm is morerobust than state-of-the-art RPM methods. Third, theproposed algorithm performs robustly against the RPMmethod for non-rigid registration. Experimental resultsshow that the RPM method needs to use the thin platespline transformation to perform as well as the proposedalgorithm with affine transformation.

2 RELATED WORK AND PROBLEM CONTEXT

Thorough reviews on point matching and registrationcan be found in [5], [45]. In this section, we discuss themost relevant algorithms on non-rigid point matchingand put this work in proper context.

Point Matching: Numerous methods on modeling bothpoint correspondence and spatial transformation havebeen proposed. The iterative closest point (ICP) meth-ods [3], [43] determine the nearest neighbors for pointcorrespondence and from the spatial transformation.Due to the discrete nature of point correspondence, itis well known that ICP is prone to be trapped into localminimum. The RPM methods [9], [10] pose the task as amixed linear assignment least square problem, in whichsoft assignment and deterministic annealing techniquesare used for optimization. However, the RPM methodstend to align the mass centers of two point sets. As such,the covariance matrix of the alignment error is used forpoint matching in the presence of missing or extraneousstructures [39]. Since the size of the covariance matrix issquare times the number of transformation parameters,this method is efficient only when the transformationhas few parameters. In addition, the robust L2E es-timator [32] is proposed for point matching based onassumptions that the noise on the inliers is a Gaussian

with zero mean and uniform standard deviation. Asthe above methods are developed based on strongerassumptions (e.g., number of transformation parametersand noise model), they may not perform well for largedatasets with a significant number of outliers.

Another category of point matching methods modelonly spatial transformation. These methods are devel-oped mainly based on distribution models of point sets.The coherent point drift (CPD) method [34] formulatespoint matching as fitting a Gaussian Mixture Model(GMM) representing one point set to the other one.Without directly finding point correspondence, Glauneset al. [14] formulate point matching as aligning twoweighted sums of Dirac measures representing two pointsets. Instead of using Dirac measures, GMMs are usedto represent point sets [19], and the L2 distance betweenthem is minimized for matching. The kernel correlationpoint matching method [40] can be seen as a specialcase of the Gaussian mixture based approach [19] andits variant based on the log-exponential function [4].Instead of directly aligning two distributions represent-ing two point sets, Ho et al. [17] propose to match themoments of distributions. This results in a system ofpolynomial equations, which can be solved by algebraicgeometric techniques. However, this method is sensitiveto occlusions and outliers due to the use of moments. TheSchrodinger distance transformation is used to representpoint sets [11] and the point set registration problemis converted into the task of computing the geodesicdistance between two points on a unit Hilbert sphere.A common problem with the above methods is that theone-to-one correspondence constraint is not enforced.Hence, these methods tend to generate inaccurate match-ing results for complex point sets.

Numerous methods have been developed for mod-eling only point correspondence as a graph matchingproblem. Both integer programming [25] and randomwalk [7] methods have been developed for graph match-ing. In addition, max pooling [8] is used to deal withoutliers. As only pairwise affinities between correspon-dences, these method are less effective in coping withlarge non-rigid deformations, such as scaling and shear.To address this problem, tensor is used to encode affini-ties between tuples of correspondences for invariance totransformations such as similarity transformation [12].However, the tensor power method does not handleoutliers well. Consequently, the tensor block coordinateascend method [35] is extended to deal with outliersat the expense of large memory load. On the otherhand, Zheng et al. use relaxation labeling techniques topreserve local neighborhood structures of graphs [44],[24]. Nevertheless, these methods need to be initializedby using the shape context features [2].

Methods have been developed to model point corre-spondence as a Markov random field (MRF) problem.Graphs with special topology suitable for optimiza-tion by dynamic programming are designed to achieveinvariance to various types of transformations in [6].

Page 3: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

3

In [20], local lengths and orientations of shapes arepreserved via linear programming. This method is ex-tended to be invariant to similarity transformation [22],[21] by explicitly modeling rotation and scaling betweentwo point sets, and affine invariant [27] based on thelocal linear embedding algorithm [38]. To address theproblem of rotation invariance for shape matching incluttered scenes, fan-shaped graphs are introduced [28],[31] where the elongated edges are used to determinethe orientations of point sets.

Concave Optimization: For feature matching, Macieland Costeira [33] convert a correspondence problem toan equivalent concave optimization task. However, it isdifficult to solve the concave problem due to lack of goodstructures for optimization. In contrast, the proposedformulation enforces low rank properties, thereby ac-commodating large scale global optimization techniques.

Branch-and-bound: BnB methods have been widelyused in vision and learning problems for global opti-mization. While it has been used to recover 3D rigidtransformation [36], the point-to-point, point-to-line orpoint-to-plane correspondence needs to be known a pri-ori, which limits the application domain of this method.In [37], BnB technique is used to optimize the RPMobjective function, where branching over the correspon-dence variables and branching over the transformationvariables are both considered. However, this method isdeveloped for small 2D datasets, and the extension to 3Dor higher dimensional problems is not trivial due to thehigher dimensionality of the search space. Recently, BnBtechniques have been used to optimize the ICP objectivefunction [41] by exploiting the special structure of thegeometry of 3D rigid motions. However, this method canonly be used to recover rotation as well as translationfrom point sets (rather than scale).

For robust geometry estimation, a BnB algorithm [26]for consensus set maximization is developed to deter-mine the best transformation by maximizing the numberof inliers. In addition, this method has been applied tocorrespondence and grouping problems [1]. However,it is computationally expensive to solve the resultingbounding problems, due to lack of efficient optimiza-tion techniques. In contrast, the proposed algorithm isefficient partly due to the linear assignment formulationof the lower bounding problem, which can be solvedefficiently.

Problem Context: Early results of this work are reportedin [29] where a concave quadratic objective function forpoint correspondence is proposed and solved with a BnBmethod. In this work, we propose a branch-and-boundalgorithm and a fast lower bounding scheme, whichtogether significantly increase the efficiency of the previ-ous work, analyze the developed BnB algorithm, discussthe impact of the regularization term on convergence,and present extensive experimental results as well asdiscussions. An extension of [29] to deal with outliers

in both point sets is proposed in [30]. However, theobjective function of [30] is not separable and thus thesearch space is larger than that of the proposed algorithmin this work. In addition, the lower bounding functionof [30] can only be constructed for simplexes insteadof rectangles, which results in looser bound and slowerconvergence than those of this work.

3 ENERGY FUNCTION OF RPMSince our energy function originates from the en-ergy function of RPM [10], in this section we brieflyreview the formulation of RPM. Suppose there aretwo point sets in Rd to be matched, the modelset X =xi, i=1, . . . , nx with point xi=

[x1i , . . . , x

di

]>,and the scene set Y =yj , j = 1, . . . , ny with pointyj=

[y1j , . . . , y

dj

]>. To solve this problem, the RPM

method jointly estimates transformation parameters andpoint correspondence by formulating point matching asa mixed linear assignment least square problem [10]:

min E(P,θ) =∑i,j

pij‖yj − T (xi|θ)‖22 + g(θ) (1)

s.t. P1ny ≤ 1nx , 1>nxP ≤ 1>ny , P ≥ 0 (2)

Here ‖ · ‖2 denotes the l2-norm of a vector. P = pijdenotes a correspondence matrix with pij = 1 if thereis a match between xi and yj and 0 otherwise. Inaddition, 1nx denotes an nx-dimensional vector of allones, T (·|θ) describes a spatial transformation with aparameter vector θ, and g(θ) is a regularizer on θ. Tosolve problem (1), (2), the RPM method relaxes P tobe fuzzily valued and uses deterministic annealing foroptimization. However, the RPM method is less robustto outliers due to the adopted heuristic minimizationscheme. Based on (1), in the next section we present anew energy function that is more amenable to globaloptimization.

4 PROPOSED ENERGY FUNCTIONIn this section, we derive a new energy function basedon the energy function of RPM. To make this problemtractable, we assume that the spatial transformationT (xi|θ) is linear with respect to its parameters θ, i.e.,T (xi|θ) = J(xi)θ, where J(xi) is the Jacobian matrix.Examples of the Jacobian matrix include (19), (21) and(23) for 2D and 3D point matching described in Section6. We consider the following regularization form on θ:g(θ) = (θ− θ0)>H(θ− θ0)− θ>0 Hθ0 = θ>Hθ− 2θ>0 Hθ,i.e., θ is required to be close to a constant vector θ0.Here H is a positive semidefinite matrix, whose entriesrepresent the weights assigned to the elements of θ.

With the above assumptions, the energy function (1)takes the following form:

E(P,θ) =∑i,j

pij‖yj − J(xi)θ‖22 + θ>Hθ − 2θ>0 Hθ

=θ>[J>(diag(P1ny )⊗ Id)J +H]θ + 1>nxPz

− 2θ>[J>(P ⊗ Id)y +Hθ0] (3)

Page 4: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

4

where J ,[J>(x1), . . . , J>(xnx)

]>, y ,[y>1 , . . . ,y

>ny

]>and z ,

[‖y1‖22, . . . , ‖yny‖22

]>. In addition, the functiondiag(·) converts a vector into a diagonal matrix, Iddenotes the d-dimensional identity matrix, and ⊗ is theKronecker product.

It is difficult to optimize (3) as the first term is a cubicpolynomial in P and θ. However, adding the constraintP1ny = 1nx simplifies it to a quadratic polynomial in Pand θ, which is easier to optimize.

Therefore, we add the assumption P1ny = 1nx toour formulation. This constraint has a natural physicalmeaning: each model point should have a counterpartin the scene set, namely, the model shape should not beoccluded. This constraint is also widely adopted in theliterature, especially by methods for detecting objects ina scene [20], [31].

By enforcing the constraint P1ny = 1nx in (2), wehave:

P1ny = 1nx , 1>nxP ≤ 1>ny , P ≥ 0 (4)

The constraints in (4) satisfy the total unimodularityproperty [33], which means that the vertices of thepolytope (i.e., bounded polyhedron) determined by (4)have integer valued coordinates. By taking into account0 ≤ pij ≤ 1, the coordinates of the vertices are actuallybinary valued as 0 or 1.

With the constraint P1ny = 1nx , the energy functionE becomes quadratic:

E(P,θ) =θ>(J>J +H)θ − 2θ>[J>(P ⊗ Id)y +Hθ0]

+ 1>nxPz (5)

Given the correspondence matrix P , E is a convexquadratic function of θ. Therefore, the minimum solutionθ of E can be obtained in closed form by letting ∂E

∂θ = 0,i.e.,

θ = (J>J +H)−1[J>(P ⊗ Id)y +Hθ0

](6)

By substituting θ back into (5), the variable θ is elimi-nated and we arrive at an energy function with only onevariable P ,

E(P ) =− y>(P ⊗ Id)>J(J>J +H)−1J>(P ⊗ Id)y− 2θ>0 H(J>J +H)−1J>(P ⊗ Id)y + 1>nxPz (7)

The form of E is cluttered. To change it into a neatform, we compute the Cholesky factorization [15] of thepositive definite matrix (J>J +H)−1 as

U>U = (J>J +H)−1 (8)

where U is an upper triangular matrix. By substituting(8) into (7), we obtain

E(P ) =− ‖UJ>(P ⊗ Id)y‖22− 2θ>0 H(J>J +H)−1J>(P ⊗ Id)y + 1>nxPz (9)

Clearly E is a concave quadratic function of P and wehave the following proposition.

Proposition 1: There exists a binary solution for anylocal minimum (including the global minimum) of func-tion E(P ) under the constraints in (4).

Proof: We already show that E is concave. It is wellknown that any local minimum (including the globalminimum) of a concave function over a polytope can beattained at one of its vertices. The proposition followsby combining this result with the total unimodularity ofconstraints in (4) as stated previously.

This proposition implies that minimization of ourobjective function by simplex-like algorithms results ina binary valued solution. This is of great importance, asit avoids the need for discretizing solutions, which cancause errors and lead to inaccurate estimates [20], [22],[27].

For convenience of discussion in the following, thematrix P needs first to be vectorized. Contrary to con-vention, we define the vectorization of a matrix as theconcatenation of its rows instead of its columns:

vec(P ) = [p11, . . . , p1ny , . . . , pnx1, . . . , pnxny ]>

Let p = vec(P ). Based on the formula vec(B1B2B3) =(B1⊗B>3 )vec(B2) for any matrices B1, B2 and B3, E canbe expressed in terms of vector p as:

E(p) = −‖[(UJ>)⊗ y>

]Wp‖22

+1>nx ⊗ z> − 2

[(θ>0 H(J>J +H)−1J>

)⊗ y>

]Wp

(10)

Here the nxnyd2 × nxny matrix

W , Inx ⊗[Iny ⊗ (e1

d)>, . . . , Iny ⊗ (edd)

>]>satisfies vec(P ⊗ Id) = Wvec(P ), where the d-dimensional vector eid has a single unity element atcoordinate i. In addition, W is a large but sparse matrixand can be implemented using the function speye inMatlab.

Define the nθ×nxny matrix A=[(UJ>)⊗ y>

]W where

nθ denotes the dimension of θ, and the nxny-vector b =1>nx ⊗ z> − 2

[(θ>0 H(J>J +H)−1J>

)⊗ y>

]W>

,then the above energy function can be written in aconcise form as:

E(p) = −‖Ap‖22 + b>p (11)

A key feature with this function is that its Hessian matrix−2A>A has the same rank as that of A, which in turnhas a rank equal to nθ. For transformations such as 2Dsimilarity and 2D/3D affine transformations, the rank islow. This is the key feature for the proposed algorithmto be applicable to large scale problems. In the nextsection, we present an efficient and large scale globaloptimization algorithm to minimize this function.

5 OPTIMIZATION

It is well known that a quadratic function can be re-duced to a separable form by a linear transformation

Page 5: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

5

of its variables. In this work, the normal rectangularalgorithm [18], a BnB procedure specifically tailored toseparable functions, is used to minimize the energyfunction (11).

We first reduce (11) to a separable form via eigendecomposition, and derive the convex envelope (i.e., thetightest convex underestimator) of the resulting functiontaken over a rectangle (i.e., a set of type ti|ri ≤ ti ≤si, i = 1 . . . , l). We next present the bisection scheme todivide a rectangle and propose a variant of the normalrectangle algorithm [18] for minimizing our energy func-tion. To address the complexity issue associated with theabove algorithm, where computation of the lower boundis the bottleneck, we formulate a new lower boundingproblem that can be solved more efficiently. In addition,we discuss the choice of tolerance error and analyze theeffect of the regularization term on convergence.

5.1 Separable Form of the Energy Function

A quadratic function can be converted into a separableform by a linear transformation of its variables, andthe choice of the transformation is based on the eigendecomposition of the quadratic part of the function.The quadratic part of (11) is −p>A>Ap. Since the di-mensionality of A>A is nxny × nxny , which is high inreality, directly applying eigen decomposition to A>Ais impractical. Instead, we present an efficient way offinding the nonzero eigenvalues and eigenvectors ofA>A. Let the QR decomposition of A> be:

QR = A>

where R is an nθ × nθ upper triangular matrix and thecolumns of the nxny ×nθ matrix Q are orthogonal unityvectors, i.e., Q>Q = Inθ . Thus, we have

A>A = QRR>Q>

Denote the eigenvalues and eigenvectors of RR> as λiand uRi , i = 1, . . . , nθ, respectively. The nonzero eigen-values and eigenvectors of A>A are λi and ui = QuRi ,i = 1, · · · , nθ, respectively. Thus, we have the separableform of the quadratic part of (11) as:

− p>A>Ap = −nθ∑i=1

λi(u>i p)2 (12)

5.2 Convex Envelope of the Energy Function

With (12), the energy function E has the followingseparable form:

E(p) = −nθ∑i=1

λi(u>i p)2 + b>p (13)

For a separable function over a rectangle, its convexenvelope can be readily obtained based on the followingproposition [18].

−t2

−(r + s)t+ rs

sr

Fig. 1. The convex envelope −(r+s)t+rs of the function−t2 taken over an interval [r, s].

Proposition 2: The convex envelope of a separablefunction

∑li=1 fi(ti) taken over a rectangle M = ti|ri ≤

ti ≤ si, i = 1 . . . , l is equal to the sum of the convexenvelopes of its components fi(ti) taken over the corre-sponding intervals [ri, si], i = 1, . . . , l.

The convex envelope of f(t) = −t2 taken over aninterval [r, s] is an affine function that agrees with f atthe endpoints of this interval: fM (t) = −(r + s)t + rs,as illustrated in Fig. 1. Based on this fact and the aboveproposition, we have the convex envelope of function(13) taken over a rectangle M = p|ri ≤ u>i p ≤ si, i =1, . . . , nθ as

EM (p) =−nθ∑i=1

λi(ri + si)u>i p +

nθ∑i=1

λirisi + b>p (14)

This function is used for computing the lower boundsin the proposed BnB algorithm.

5.3 Bisection of a RectangleIn the branching phase of our BnB algorithm, a rectangleM = p|ri ≤ u>i p ≤ si, i = 1, . . . , nθ is dividedinto two subrectangles. Toward that, we need to decidethe dimension along which to divide the rectangle, andalong a chosen dimension where to divide the rectangle.In this work, we use the bisection scheme [18] to addressthese issues, due to its simplicity and effectiveness. Forbisection, the second issue is addressed by choosing themidpoint as the dividing location, and the first issue isaddressed based on the following proposition [18].

Proposition 3: For r ≤ t ≤ s, the difference betweenf(t) = −t2 and its convex envelope fM (t) = −(r+s)t+rssatisfies:

maxf(t)− fM (t), r ≤ t ≤ s =1

4(s− r)2

Proof: It follows that

f(t)− fM (t) = −t2 + (r + s)t− rs = (t− r)(s− t)

Since the sum of t− r and s− t is a constant, their prod-uct is maximum when they equal, and the maximumproduct is 1

4 (s− r)2.Based on this result, the dimension along which to

subdivide a rectangle is chosen as j ∈ arg maxi14λi(si −

ri)2 in order to guarantee the convergence of our BnB

algorithm [18]. Given the optimal splitting dimensionj, two subrectangles are generated from this bisectionscheme: M1 = p ∈ M |u>j p ≤ 1

2 (rj + sj) and M2 =p ∈M |u>j p ≥ 1

2 (rj + sj).

Page 6: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

6

5.4 Normal Rectangular Subdivision

We propose a branch-and-bound algorithm based onnormal rectangular subdivision [18] to find the globalε-minimum solution of E (i.e., a solution with functionvalue no larger than ε from the global minimum of E).During initialization, the bounding rectangle (i.e., thesmallest rectangle containing the feasible region Ω) iscomputed (step 3 in Algorithm 1). In each iteration ofthe algorithm, multiple rectangles yielding the lowestlower bounds among all the rectangles are subdividedto improve the lower bound of E for Ω (steps 9 to 10 inAlgorithm 1). Meanwhile, the upper bound is updatedby evaluating E with solutions of the linear programsused to compute the lower bounds (step 6 in Algorithm1). The main steps of the algorithm are summarized inAlgorithm 1.

Different from the standard normal rectangular algo-rithm, where in each iteration only the rectangle yieldingthe lower bound for Ω is subdivided, in this work morerectangles are subdivided (step 9 in Algorithm 1 wherewe choose n2 = 2n1 in this paper), since the globallyoptimal solution may not lie in the rectangle yieldingthe lower bound for Ω; and using more rectangles canincrease the chances of subdividing the rectangle con-taining the globally optimal solution, thereby improvingconvergence speed. Step 4 of Algorithm 1 ensures thereis a sufficient number of rectangles for subdivision instep 9. Note that problem (16) can be solved indepen-dently for rectangles in Nk, and thus it can be imple-mented to run in parallel. This can further speed upthe proposed algorithm. However, for fair comparisonswith other methods, we do not pursue this route in thepresent paper. Also note that the problems in (15) arelinear assignment problems that can be efficiently solvedby the Jonker-Volgenant algorithm [23].

We show that the lower bound of our algorithmis always improved in the iterations in the followingproposition.

Proposition 4: The lower bound of E for the feasibleregion Ω is monotonically non-decreasing with the in-crease of iterations.

Proof: The lower bound of E for Ω at iteration kis chosen as the lowest of all the lower bounds corre-sponding to the rectangles in Mk. Assume Mk is therectangle yielding this bound. At iteration k + 1, thereare three cases for the rectangle yielding the lower boundfor Ω: 1) one of the two rectangles Mki, i ∈ 1, 2 fromthe subdivision of Mk; 2) one of the two rectangles Mli,i ∈ 1, 2 from the subdivision of Ml, which does notyield the lower bound for Ω but is divided at iterationk; and 3) rectangle M ′l , which is not divided at iterationk.

If the first case holds, since Mki ⊂ Mk, we haveEMki

(p) ≥ EMk(p) for p ∈Mki because of the concavity

Algorithm 1: Normal rectangular algorithm for min-imizing E

1 Initialization2 Select tolerance error ε > 0.3 Solve the 2nθ linear programs

minp∈Ω

u>i p, maxp∈Ω

u>i p (15)

to obtain the basic optimal solutions p0i, p0i andthe optimal values ηi, ηi. Clearly,Ω ⊂M0 = p|ηi ≤ u>i p ≤ ηi, i = 1, . . . , nθ. Letp0 = arg minE(p0i), E(p0i), i = 1, . . . , nθ.

4 Recursively divide M0 into 2n1 subrectangles M0i,i = 1, . . . , 2n1 based on the bisection rule stated inSection 5.3. Let M1 = N1 = M0i, i = 1, . . . , 2n1,where Mk and Nk denote the collection of allrectangles and the collection of active rectangles atiteration k, respectively.

5 for k = 1, 2, . . . do6 For each rectangle M ∈ Nk, construct the convex

envelope EM (p) according to (14), and solvethe linear program

minEM (p) (16)s.t. p ∈ Ω ∩M

to obtain a basic optimal solution ω(M) andthe optimal value β(M). β(M) is the lowerbound for region Ω ∩M .

7 Let pk equal the best among all feasiblesolutions encountered so far: pk−1 and allω(M),M ∈ Nk. Delete all rectangles M ∈Mk

such that β(M) ≥ E(pk)− ε. Let Rk be theremaining collection of rectangles.

8 If Rk = ∅, terminate: pk is the global ε-minimumsolution.

9 Select n3 , min(|Rk|, n2) rectangles Mki ∈ Rk,i = 1, . . . , n3 yielding the lowest lower boundsand divide Mki into two subrectangles Mki1,Mki2 based on the bisection rule stated inSection 5.3. Here | · | denotes the cardinality ofa set.

10 Let Nk+1 = Mki1,Mki2, i = 1, . . . , n3 andMk+1 = (Rk\Mki, i = 1, . . . , n3) ∪Nk+1.

11 end

of E, as illustrated in Fig. 2. Consequently,

minp∈Ω∩Mki

EMki(p) ≥ min

p∈Ω∩Mki

EMk(p) ≥ min

p∈Ω∩Mk

EMk(p)

where the second inequality holds since Mki ⊂ Mk.Thus, we have β(Mki) ≥ β(Mk).

If the second case is true, we have β(Mli) ≥ β(Ml) ≥β(Mk), where the first inequality holds as β(Mki) ≥β(Mk) in case 1, and the second inequality holds sinceMk is the lower bound for Ω at iteration k according tothe assumption.

Page 7: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

7

E(p)

EMk(p)

EMki(p)

Mki

Mk

Fig. 2. If Mki ⊂ Mk, we have EMki(p) ≥ EMk

(p) forp ∈Mki because of the concavity of E.

If the third case holds, we have β(M ′l ) ≥ β(Mk) asβ(Ml) ≥ β(Mk) in case 2.

Thus, in each case, the lower bound for Ω at iterationk + 1 is not smaller than that at iteration k.

As an instance of the BnB approaches, the worst casetime complexity of the proposed algorithm is exponen-tial. Nevertheless, it is well known that the convergencespeed of a BnB algorithm mainly depends on the di-mension of the search space. That is, a BnB algorithmconverges faster when the search space is smaller. Forthe problems considered in this work, the search spacehas the dimension of nθ, which is low and independentof the sizes of two point sets. Thus, our algorithmconverges quickly and scales well with problem size, asopposed to existing methods [37].

5.5 Fast Lower Bounding Scheme

The proposed BnB algorithm contains three basic sub-routines: branching, and finding upper and lowerbounds. It is clear that the lower bounding subroutine(16) is computationally more expensive than the othertwo subroutines, since it is a generic linear program forwhich there are no efficient algorithms. To address thisissue, we propose a novel lower bounding scheme thatis computationally efficient and retains the tightness ofthe original bounding scheme.

A natural idea to find lower bounds efficiently is torelax the constraint p ∈ Ω ∩M to p ∈ Ω, such that wehave the following problem:

minEM (p) (17)s.t. p ∈ Ω

This is a linear assignment problem that can be efficientlysolved by the Jonker-Volgenant algorithm [23]. Thefollowing proposition shows the validity of (17) forcomputing the lower bound of E for Ω.

Proposition 5: The optimal function value of (17) is alower bound of E for region Ω ∩M .

Proof: Problem (17) is a relaxed problem of (16)by removing the constraint p ∈ M . Thus, the optimalfunction value of (17) is not greater than that of (16),whereas solving (16) yields a lower bound of E for theregion Ω ∩M .

In the following, we refer to the methods based on(17) or (16) as the fast bounding or original schemes,respectively.

p|EMk(p) = E(p)

Mk

EMk(p)

E(p)

Fig. 3. Ellipse p|EMk(p) = E(p) is the circumscribed

ellipse of rectangle Mk and their centers also coincides.

What remains is to show whether the lower boundby the fast bounding scheme is as tight as the originalscheme. At iteration k of our algorithm, let’s supposethat Mk = p|rki ≤ u>i p ≤ ski , i = 1, . . . , nθ ∈ Mk

is the rectangle yielding the lower bound for Ω whenusing the fast bounding scheme. Clearly, there are twopossibilities for the location of the optimal solutionp = arg minp∈ΩEMk

(p): either p ∈ p|EMk(p) ≤ E(p)

or p ∈ p|EMk(p) > E(p), as illustrated in Fig. 3. We

note that the latter case does not occur, since it meansEMk

(p) is strictly larger than the minimum of E overΩ, contradicting the assumption that EMk

(p) is a lowerbound of E for Ω.

Thus, the only possible case is p ∈ p|EMk(p) ≤

E(p). By substituting the formulas of EMkand E into

this inequality, we have:nθ∑i=1

λi(u>i p−

rki + ski2

)2 ≤ 1

4

nθ∑i=1

λi(ski − rki )2

Since λi > 0 for all i, we conclude that this region isan ellipsoid with a center coinciding with that of Mk.In addition, the vertices of Mk satisfy this formula withequality. Therefore, the ellipse p|EMk

(p) = E(p) isthe circumscribed ellipse of rectangle Mk, as illustratedin Fig. 3. The length of the j-th axis of the ellipsoid is12

√∑i λi(s

ki−rki )2

λj, which is determined by lengths |ski−rki |

of all edges of rectangle Mk. If the length of the longestedge of Mk decreases to 0, the lengths of all axes of theellipsoid also decrease to 0, and the lower bound forΩ by the fast bounding scheme and minp∈Ω∩Mk

EMk(p)

will be close to each other. This is the case with ouralgorithm since the rectangle yielding the lower boundfor Ω is chosen to be further subdivided in each iterationand thus shrinks with the increase of iterations.

Regarding the difference between the lower boundsfor Ω by the two bounding schemes, we have thefollowing proposition.

Proposition 6: At iteration k, assume the same set Mk

of rectangles is used by the two bounding schemes, thenthe lower bound for Ω by the original scheme is notsmaller than that by the fast scheme, and not larger thanminp∈Ω∩Mk

EMk(p).

Proof: Assume M∗k is the rectangle yielding the lowerbound for Ω when using the original bounding scheme,

Page 8: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

8

we have minp∈Ω∩M∗kEM∗

k(p) ≤ minp∈Ω∩Mk

EMk(p).

Thus, the second part of the proposition is proved.For the first part of the proposition, it is clear that

minp∈ΩEM∗k(p) ≤ minp∈Ω∩M∗

kEM∗

k(p) since Ω∩M∗k ⊂ Ω.

We also have minp∈ΩEMk(p) ≤ minp∈ΩEM∗

k(p) since

Mk is the rectangle yielding the lower bound for Ωwhen using the fast bounding scheme. It follows thatminp∈ΩEMk

(p) ≤ minp∈Ω∩M∗kEM∗

k(p). Thus, the first

part of the proposition is proved.Based on the above analysis, we show that the dif-

ference between the lower bounds by the two schemesdecreases with the increase of iterations. Therefore, thefast bounding scheme can serve as a good candidate forcomputing the lower bound in the proposed algorithm.Experimental results in Section 6.1.2 also show thatfor practical problems, the lower bounds by the twoschemes differ only slightly. We note that Proposition 4no longer holds for the fast bounding scheme. Neverthe-less, since the lower bound by the fast bounding schemeis a close approximation of that by the original scheme,the properties of the original scheme are all retained.

5.6 Tolerance ErrorThe tolerance error ε serves to determine when to termi-nate our algorithm. It is the maximum permitted errorbetween the upper and lower bounds of the energy func-tion. Here we analyze the form of the energy functionto determine its value.

When two point sets are matched, the energy function(3) can be interpreted as the sum of squared distancesbetween the model points and their matched scenepoints as well as the error contributed by regularizationof the spatial transformation. If the latter part can beignored (this is the case when there is no regularizationon transformation or when the actual transformation isclose to the expected transformation) and if we requirethat the average distance between each model point andits matched scene point should not exceed εd, then thetolerance error ε should be set as nxε2d.

5.7 Weight Matrix H and ConvergenceThe use of the weight matrix H in the energy functionE helps increase the convergence rate of the proposedalgorithm. From the formula of E in (8) and (9), withthe increase of the norm of H , the relative weight of thequadratic term over the linear terms in E decreases andE becomes less concave and more linear. Thus, the differ-ence between E and its lower bounding function (whichis linear) decreases, which leads to better convergence ofthe proposed algorithm. Experimental results in Section6.2.1 show that the run time of the proposed algorithmdecreases nearly logarithmically with the increase of thenorm of H .

6 EXPERIMENTS

We implement the proposed APM algorithm and state-of-the-art methods in Matlab on a computer with 3.3

GHz CPU and 16 GB RAM. For the evaluated methodsthat generate only point correspondence, the affine trans-formation is used to model non-rigid spatial mappingbetween two point sets. The matching error metric isthe average Euclidean distance between the transformedmodel points and their ground truth data. We set n1

to be 9 for the proposed algorithm (the reason for thischoice is given in Section 6.1.3). In the following, wedistinguish the cases that θ is not regularized (i.e., weset the weight matrix H = 0) and regularized. For theformer case, our method is invariant to the correspond-ing transformation. The source code and datasets usedin the experiments are available at http://www4.comp.polyu.edu.hk/∼cslzhang/APM.htm.

6.1 Case One: θ is not Regularized

Both 2D similarity and affine transformations are consid-ered for evaluation. A 2D similarity transformation hasthe form:

T (xi|θ) =

[θ1 −θ2

θ2 θ1

] [x1i

x2i

]+

[θ3

θ4

]= J(xi)θ (18)

where the parameters θ consist of[θ1, . . . , θ4

]> and[θ3, θ4]> describe translation and θ1 = s cos(φ), θ2 =s sin(φ). Here s denotes scale and φ denotes rotationangle. Therefore the Jacobian matrix is

J(xi) =

[x1i −x2

i 1 0x2i x1

i 0 1

](19)

A 2D affine transformation has the form:

T (xi|θ) =

[θ1 θ2

θ3 θ4

] [x1i

x2i

]+

[θ5

θ6

]= J(xi)θ (20)

where the parameter vector θ consists of[θ1, . . . , θ6

]>with [θ1, . . . , θ4]> and [θ5, θ6]> being linear transforma-tion and translation parts, respectively. Therefore theJacobian matrix is

J(xi) =

[x1i x2

i 0 0 1 00 0 x1

i x2i 0 1

](21)

6.1.1 Experiments on Synthetic DataWe compare APM with state-of-the-art methods in-cluding minimum spanning tree induced triangulation(MSTT) [31], integer projected fixed-point (IPFP) [25],reweighted random walk (RRWM) [7], max poolingmatching (MPM) [8] and tensor matching (TM) [12]schemes. Note these methods are rotation invariant andMSTT is globally optimal.

We first use the synthetic data set by Chui and Ran-garajan [10] to evaluate the robustness of these methodsto non-rigid deformation and positional noise. In eachtest, the model shape is subject to random rotationand one of the disturbances to generate a scene pointset (for the noise test, a moderate degree of non-rigiddeformation is also included). Fig. 4 shows the modelshapes (a tropical fish and a Chinese character) and

Page 9: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

9

Fig. 4. First 4 columns: model point sets (left column)and examples of scene point sets in the deformation,noise and outlier tests, respectively (column 2 to 4). Last 2columns: examples of model (column 5) and scene (rightcolumn) point sets in the clutter test.

examples of scene point sets in the two categories oftests.

We then evaluate the robustness of these methods tooutliers. Points drawn from a normal distribution withunit variance are added to randomly rotated and mod-erately non-rigidly deformed model shape to generatethe scene point set, as illustrated in the fourth columnof Fig. 4. Here the mean of the normal distribution isdrawn from another standard normal distribution.

We next evaluate the robustness of these methodsto clutter. We clip away a disc region of points fromthe prototype shape to generate the model point set(the clipped points correspond to clutter). The randomlyrotated and moderately non-rigidly deformed prototypeshape is used as the scene point set. The two shapes (thefish and the Chinese character) are used as the prototypeshape, respectively. Fig. 4 shows examples of model andscene point sets (last two columns).

Fig. 5 shows the average matching errors over 100random trials. The APM algorithm performs well, par-ticularly for the outlier test where the errors of APMusing affine transformation are close to zero. In contrast,the second order graph matching methods (i.e., RRWM,IPFP and MPM) are not robust to deformation, andthe tensor based graph matching method is not robustto outliers. For different transformation choices of theAPM algorithm, the one using an affine transformationperforms better than when using a similarity transforma-tion. This is because an affine transformation accountsfor non-rigid deformation well, and the proposed algo-rithm is globally ε-optimal, guaranteeing to find goodsolutions when εd is small.

Fig. 6 shows the results of APM with respect to differ-ent values of εd for the fish test. The APM algorithm witha similarity transformation is less sensitive to differentchoices of εd than that using affine transformation. Thiscan be explained by the fact that the proposed globallyε-optimal algorithm is not guaranteed to find good so-lutions when εd is large. In such situations, the transfor-mation function plays a more important role in shapingthe matching results. The transformation function withfewer parameters (e.g., similarity transformation) canmore effectively constrain matching results to be regularand desirable.

Table 1 lists the average run time of the evaluated

TABLE 1Average run time (in seconds).

Deformation Noise Outliers ClutterAPM (simi, 0.1) 0.4 0.3 11.6 0.4APM (simi, 0.2) 0.4 0.3 3.4 0.2APM (simi, 0.3) 0.5 0.4 1.6 0.2APM (aff, 0.1) 0.4 0.4 828.2 13.3APM (aff, 0.2) 0.5 0.4 114.0 1.2APM (aff, 0.3) 0.5 0.5 28.1 0.3

MSTT 11.9 12.8 29.3 3.4RRWM 40.5 37.7 119.9 6.5

IPFP 72.4 54.3 157.0 6.5MPM 13.0 10.9 52.2 24.7TM 5.7 5.9 43.5 2.4

methods. The APM algorithm with a similarity trans-formation is computationally efficient regardless of thechoices of εd in all of the tests. It is worth noticingthat for all but the outlier test, the APM algorithmwith a similarity transformation is at least one orderof magnitude faster than the other methods. Similarobservations can be made for the APM algorithm withan affine transformation on the deformation and noisetests. For the outlier test, the APM method with anaffine transformation is considerably slower than whenusing a similarity transformation, as more parametersare involved.

6.1.2 Effectiveness of the Fast Bounding SchemeTo evaluate the effectiveness of the fast bounding scheme(17) in comparison to the original scheme (16), we use theoutlier test as described in Section 6.1.1 for experiments,as it has a large number of points. The outlier to dataratio is set to be 0.5 and a similarity transformation isused by our algorithm. We set n1 to be 0 to eliminatethe influence of speed-up improvement brought by sub-dividing multiple rectangles in Algorithm 1.

Fig. 7 shows the results. The lower bounds by thetwo schemes are the same initially and become slightlydifferent with the increase of iterations. This demon-strates the effectiveness of the fast bounding scheme. Theaverage run time of the proposed algorithm through 500iterations using the original and fast bounding schemesare 5571.5 and 11.61 seconds, respectively. This 480-fold speed-up improvement demonstrates high compu-tational efficiency of the fast bounding scheme.

6.1.3 Choice of n1

To analyze the relationship between the choice of n1 andthe speed of APM, we use the outlier test as describedin Section 6.1.1 for experiments. Fig. 8 shows the resultswhere n1 = 0 corresponds to the case that only one rect-angle is subdivided in each iteration of our algorithm.When an affine transformation is used, the speed-upimprovement is significant. With the increase of n1, therun time of APM decreases quickly, particularly for largesize problems (e.g., 15-fold speed-up improvement canbe achieved when outlier to data ratio is 1.5), until n1

reaches a certain value (e.g., 6 when the outlier to data

Page 10: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

10

0.06 0.08 0.1

Degree of deformation

0.1

0.2

0.3

0.4E

rro

r

Fish

0.06 0.08 0.1

Noise level

0.1

0.15

0.2

0.25

0.3

0.35

Err

or

Fish

0 0.5 1 1.5 2

Outlier to data ratio

0.1

0.2

0.3

0.4

0.5

0.6

Err

or

Fish

0.4 0.6 0.8

Clutter to full shape ratio

0.1

0.2

0.3

0.4

Err

or

Fish APM (simi,0.1)

APM (aff,0.1)

MSTT

RRWM

IPFP

MPM

TM

0.06 0.08 0.1

Degree of deformation

0.2

0.3

0.4

0.5

Err

or

The Chinese character

0.06 0.08 0.1

Noise level

0.15

0.2

0.25

0.3

0.35

0.4

Err

or

The Chinese character

0 0.5 1 1.5 2

Outlier to data ratio

0.2

0.4

0.6

Err

or

The Chinese character

0.4 0.6 0.8

Clutter to full shape ratio

0.1

0.2

0.3

0.4

0.5

Err

or

The Chinese character

Fig. 5. Average matching errors by APM with εd = 0.1 and other methods in the tests of deformation, noise, outliersand clutter.

0.2

0.3

0.4

Err

or 0.4

0.1

Fish (similarity)

ǫd

Degree of

deformation

0.20.05

0.2

0.4

Err

or 0.3

0.1

Fish (similarity)

ǫd

Noise level

0.4

0.20.05

0.2

0.4

0.4 2

Err

or 0.6

Fish (similarity)

ǫd

0.8

Outlier to

data ratio

10.20

0.2

0.4 0.8

Err

or

Fish (similarity)

0.4

ǫd

Clutter to full

shape ratio

0.60.2 0.4

0.2

0.4

Err

or

0.1

Fish (affine)

0.4

ǫd

Degree of

deformation

0.20.05

0.2

0.4

Err

or

0.1

0.4

Fish (affine)

ǫd

Noise level

0.20.05

0.2

0.4

0.4

Err

or

0.1

0.6

Fish (affine)

ǫd

Outlier to

data ratio

0.20.05

0.2

0.4 0.8

Err

or

Fish (affine)

0.4

ǫd

Clutter to full

shape ratio

0.60.2 0.4

Fig. 6. Average matching error by APM with respect todifferent choices of εd in the tests of deformation, noise,outlier and clutter for the fish shape.

0 200 400

Iterations

-100

-80

-60

-40

-20

0

20

Upper

and low

er

bounds

Fish

lower bound (original sheme)

upper bound (original scheme)

lower bound (fast scheme)

upper bound (fast scheme)

0 100 200 300 400 500

Iterations

0

0.01

0.02

0.03

0.04

Diffe

rence o

f lo

wer

bounds

Fish

0 200 400

Iterations

-150

-100

-50

0

50

Upper

and low

er

bounds

The Chinese Character

lower bound (original sheme)

upper bound (original scheme)

lower bound (fast scheme)

upper bound (fast scheme)

0 100 200 300 400 500

Iterations

0

0.01

0.02

0.03

0.04

0.05

Diffe

rence o

f lo

wer

bounds

The Chinese Character

Fig. 7. Average upper and lower bounds for the feasibleregion by the two bounding schemes (left column) andaverage differences of the lower bounds (right column) ineach iteration of our algorithm.

ratio is 1.5). When a similarity transformation is used, theAPM algorithm achieves the fastest speed when n1 = 9.When n1 > 9, the run time of APM increases with theincrease of n1. This is because the search space of theproposed algorithm in the case of similarity transforma-tion is small and hence overly partitioning the search

30

50

Fish (similarity)

2Ru

n t

ime

(se

co

nd

)

100

10

Outlier to data ration1

150

1500

001.5

1 5

Outlier to data ration1

5000

Ru

n t

ime

(se

co

nd

)

Fish (affine)

0.5 10

0

10000

Fig. 8. Average run time of APM with respect to differentchoices of n1 in the outlier test for the fish shape.

space is not effective. Based on the above analysis, wechoose n1 = 9 for the proposed APM algorithm in thispaper.

6.1.4 Experiments on ImagesWe evaluate the state-of-the-art methods and the APMalgorithm on point sets manually extracted from fourcategories from the Caltech-256 [16] and VOC2007 imagedatabases [13], as illustrated in the left panel of Fig. 9.The middle and right panels of Fig. 9 show the match-ing accuracy (fraction of correct matches) and errorsby the methods. Overall, the APM algorithm performsfavorably against other methods in terms of matchingaccuracy. Some matching results by different methodsare shown in Fig. 10.

6.2 Case Two: θ is RegularizedWhen θ is regularized, the proposed APM algorithmbecomes transformation variant. However, the matchingaccuracy and robustness to disturbances can be im-proved, since the prior of θ can be utilized. Efficiencycan also be further improved, since the weight matrix Hcan be utilized for rapid convergence.

6.2.1 2D Point MatchingBoth 2D similarity and affine transformations are con-sidered for evaluation. For similarity transformation,unless otherwise stated, we set the weight matrix H =diag([1 1 0 0]), i.e., we only regularize the linear part. In

Page 11: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

11

motobike car eiffel revolver

0

0.2

0.4

0.6

0.8

1

Accu

racy

motobike car eiffel revolver

0

20

40

60

80

Err

or

APM (simi)

APM (aff)

MSTT

RRWM

IPFP

MPM

TM

Fig. 9. Left panel: images of motorbike, car, Eiffel Tower and revolver overlaid with manually extracted points. Thefirst image in each category is used to extract model points, and the remaining images are respectively used to extractscene points. Middle and right panels: matching accuracy and errors by APM with εd = 1 and other methods.

Fig. 10. Examples of matching results by (from left to right column) APM using similarity and affine transformation,MSTT, RRWM, IPFP, MPM and TM on images (from top to bottom) of motorbike, car, Eiffel Tower and revolver. Here,blue lines indicate correct matches, and red lines indicate incorrect matches.

addition, we set θ0 = [1 0 0 0]>, i.e., the linear part ofthe transformation should be close to the identity matrix.For affine transformation, unless otherwise stated, weset H = diag([1 1 1 1 0 0]), i.e., we only regularizethe linear part of the transformation. In addition, weset θ0 = [1 0 0 1 0 0]>, i.e., the linear part of thetransformation should be close to the identity matrix.

We compare the APM algorithm with the state-of-the-art RPM [10], CPD [34], Gaussian mixture modelbased registration (GMMREG) [19] and local neighbor-hood structure (LNS) preserving [44] methods usingthe original source codes. Affine transformation is usedfor CPD and GMMREG, while both affine and thinplate spline (TPS) transformations are considered forRPM. For fair comparison, we adapt the original RPMalgorithm to make it also satisfy the constraints in (4). Weevaluate these methods in terms of robustness to non-rigid deformation, positional noise, outliers and cluttersusing the same experimental setup as in Section 6.1.1except that there is no rotation between two point sets.We also evaluate these methods in terms of robustnessto rotation changes between two point sets.

Fig. 11 shows the average matching errors over 100random trials. The APM algorithm performs well par-ticularly for the clutter test where the errors are close tozero. We note that the RPM method using an affine trans-formation does not perform well for deformation andnoise tests. In addition, the RPM method needs to use amore complex transformation, TPS, to perform as well asthe APM algorithm using an affine transformation. The

APM algorithm using an affine transformation performsbetter than when using a similarity transformation in thedeformation test, since an affine transformation betteraccounts for non-rigid deformation.

Table 2 shows the average run time of the evaluatedmethods. For all but the outlier test, the APM algorithmusing either similarity or affine transformation is as effi-cient as the other methods. For the outlier test, the APMalgorithm with εd = 0.1 using an affine transformation isless efficient than the other methods, as more parametersare involved. Fig. 12 shows the average run time of theAPM algorithm versus the number of scene points forthe outlier test. The run time of the APM algorithmincreases almost linearly with the problem size. Fig. 13shows the average run time of the APM algorithm versusthe spectral norm ‖H‖2 of the weight matrix H for theoutlier test (the outlier to data ratio is set to 1.5). We set Hto be diag([ω ω 0 0]) for a similarity transformation andH to be diag([ω ω ω ω 0 0]) for an affine transformation,where the parameter ω > 0. The run time of the APMalgorithm decreases nearly logarithmically with the in-crease of ‖H‖2. The results show the regularization termhelps improve the convergence of the APM algorithm.

6.2.2 3D Point MatchingWe consider 3D affine transformation for evaluation. A3D affine transformation has the form:

T (xi|θ) =

θ1 θ2 θ3

θ4 θ5 θ6

θ7 θ8 θ9

x1i

x2i

x3i

+

θ10

θ11

θ12

= J(xi)θ (22)

Page 12: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

12

0.06 0.08 0.1

Degree of deformation

0.05

0.1

0.15

0.2

Err

or

Fish

0.06 0.08 0.1

Noise level

0.08

0.1

0.12

0.14

0.16

Err

or

Fish

0.5 1 1.5 2 2.5

Outlier to data ratio

0.2

0.4

0.6

0.8

Err

or

Fish

0.4 0.6 0.8

Clutter to full shape ratio

0.2

0.4

0.6

Err

or

Fish

50 100 150

Change in rotation (degree)

0.1

0.2

0.3

0.4

0.5

Err

or

Fish

ours (simi, 0.1)

ours (affine, 0.1)

RPM (affine)

RPM (TPS)

LNS

CPD

GMMREG

0.06 0.08 0.1

Degree of deformation

0.1

0.15

0.2

0.25

Err

or

The Chinese character

0.06 0.08 0.1

Noise level

0.08

0.1

0.12

0.14

0.16

Err

or

The Chinese character

0.5 1 1.5 2 2.5

Outlier to data ratio

0.1

0.2

0.3

0.4

0.5

0.6

Err

or

The Chinese character

0.4 0.6 0.8

Clutter to full shape ratio

0.1

0.2

0.3

0.4

0.5

0.6

Err

or

The Chinese character

50 100 150

Change in rotation (degree)

0.2

0.4

0.6

Err

or

The Chinese character

Fig. 11. Average matching errors by APM with εd = 0.1 and other methods in the tests of deformation, noise, outlier,clutter and rotation.

TABLE 2Average run time (in seconds).

Deformation Noise Outlier Clutter RotationAPM (simi, 0.1) 0.6 0.5 6.8 0.3 0.5APM (aff, 0.1) 0.5 0.4 119.1 0.6 0.5

RPM (aff) 1.2 0.8 1.4 0.3 0.3RPM (TPS) 1.8 1.4 1.8 0.3 1.5

LNS 3.9 4.4 19.0 1.4 5.4CPD 0.1 0.1 0.1 0.1 0.1

GMMREG 0.1 0.2 0.5 0.2 0.2

200 400 600 800 1000

Number of scene points

0

50

100

150

200

Run tim

e (

second)

Fish (similarity)

200 400 600 800 1000

Number of scene points

0

500

1000

1500

2000

2500

3000

Run tim

e (

second)

Fish (affine)

Fig. 12. Average run time of APM with εd = 0.1 usingsimilarity (left) or affine (right) transformation with respectto different number of scene points for the outlier test.

where the parameter vector θ consists of[θ1, . . . , θ12

]>with [θ1, . . . , θ9]> being the linear part of the transforma-tion and [θ10, . . . , θ12]> being the translation component.Therefore the Jacobian matrix is

J(xi)=

x1i x2

i x3i 0 0 0 0 0 0 1 0 0

0 0 0 x1i x2

i x3i 0 0 0 0 1 0

0 0 0 0 0 0 x1i x2

i x3i 0 0 1

(23)

For the APM algorithm, we set the weight matrix H =10 · diag([1, . . . , 1︸ ︷︷ ︸

9

, 0, 0, 0]), such that only the linear part

of the transformation is regularized. In addition, we setθ0 = [1 0 0 0 1 0 0 0 1 0 0 0]> such that the linear partof the transformation is close to the identity matrix.

We compare the APM algorithm with the state-of-the-art methods, except for LNS, since it employs the shapecontext feature descriptor [2], which is only applicable tothe 2D case. Affine transformation is used by the RPM,

10-1

100

101

||H|| 2

1

2

3

4

5

6

7

8

Run tim

e (

second)

Fish (similarity)

10-1

100

101

||H|| 2

0

50

100

150

200

250

Run tim

e (

second)

Fish (affine)

Fig. 13. Average run time of APM with εd = 0.1 usingsimilarity (left) or affine (right) transformation with respectto different spectral norm of H for the outlier test.

CPD and GMMREG methods. In addition, we compareAPM with the Go-ICP method [41], which is globallyoptimal and applicable to rigid registration problems.

We use the point sets (with cardinality ranging from353 to 462) subsampled from 10 different shapes fromthe Stanford 3D scanning repository (http://graphics.stanford.edu/data/3Dscanrep/) and the AIM@SHAPEshape repository (http://shapes.aimatshape.net/) asshown in Fig. 14 for experiments. The experimentalsetup for the deformation, noise and clutter tests is thesame as in Section 6.2.1. Fig. 15 shows examples of modeland scene point sets in these three tests. Fig. 16 shows theaverage matching errors over 100 random trials (where10 random trials are respectively conducted for each ofthe 10 different shapes). Overall, the APM algorithmperforms well, particularly for the clutter test, wherethe error remains almost unchanged with the increase ofseverity of clutter. Fig. 17 shows examples of matchingresults by different methods in the clutter test. Table 3lists the average run time of the evaluated methods. TheAPM algorithm is as efficient as the RPM method forthe deformation and noise tests. In contrast, the Go-ICPscheme is not efficient for the deformation test.

7 CONCLUDING REMARKS

We proposed a novel point matching algorithm in thispaper. The proposed algorithm reduces the objectivefunction of the RPM method to a separable concave

Page 13: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

13

Fig. 14. 3D shapes used for generating prototype point sets.

Fig. 15. Left 3 columns: an example of model (left col-umn) and scene point sets (represented by mesh nodes)in the deformation and noise tests, respectively (column2 and 3). Right 2 columns: an example of model pointset (represented by red mesh nodes in column 4, greenmesh nodes correspond to clutter) and scene point set(right column) in the clutter test.

TABLE 3Average run time (in seconds).

Deformation Noise ClutterAPM (0.2) 17.5 10.9 25.8

RPM 13.8 8.2 3.2Go-ICP 336.9 6.5 1.9

CPD 0.5 0.3 0.2GMMREG 2.3 2.4 1.0

quadratic function with a few nonlinear terms, andthe optimal solution is computed by a normal rect-angular branch-and-bound approach. By recasting thelower bounding problem, we obtain a linear assignmentformulation that can be efficiently solved. The resultingalgorithm finds global optimal solutions, and scales wellwith data size. Experimental results on both syntheticand real data sets showed that the proposed algorithmperforms favorably in terms of robustness to distur-bances and matching accuracy against state-of-the-artmethods with comparable computational load.

REFERENCES[1] J.-C. Bazin, H. Li, I. S. Kweon, C. P. Vasseur, and K. Ikeuchi.

A branch-and-bound approach to correspondence and groupingproblems. PAMI, 35(7):1565–1576, 2013.

[2] S. Belongie, J. Malik, and J. Puzicha. Shape matching and objectrecognition using shape contexts. PAMI, 24(4):509–522, 2002.

[3] P. J. Besl and N. D. McKay. A method for registration of 3-dshapes. PAMI, 14(2):239–256, 1992.

[4] D. Breitenreicher and C. Schnorr. Model-based multiple rigidobject detection and registration in unstructured range data. IJCV,92(1):32–52, Mar. 2011.

[5] L. G. Brown. A survey of image registration techniques. ACMComput. Surv., 24(4):325–376, 1992.

[6] T. S. Caetano and T. Caelli. A unified formulation of invariantpoint pattern matching. In ICPR, pages 121–124, 2006.

[7] M. Cho, J. Lee, and K. M. Lee. the reweighted random walksmatching algorithm. In ECCV, 2010.

[8] M. Cho, J. Sun, O. Duchenne, and J. Ponce. Finding matchesin a haystack: A max-pooling strategy for graph matching inthe presence of outliers. In Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition, 2014.

[9] H. Chui and A. Rangarajan. A new algorithm for non-rigid pointmatching. In CVPR, volume 2, pages 44–51, 2000.

[10] H. Chui and A. Rangarajan. A new point matching algorithm fornon-rigid registration. CVIU, 89(2-3):114–141, 2003.

[11] Y. Deng, A. Rangarajan, S. Eisenschenk, and B. C. Vemuri. Ariemannian framework for matching point clouds represented bythe schrodinger distance transform. In CVPR, 2014.

[12] O. Duchenne, F. Bach, I.-S. Kweon, and J. Ponce. A tensor-basedalgorithm for high-order graph matching. PAMI, (12):2383–2395,2011.

[13] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn,and A. Zisserman. The PASCAL Visual Object ClassesChallenge 2007 (VOC2007) Results. http://www.pascal-network.org/challenges/VOC/voc2007/workshop/index.html.

[14] J. Glaunes, A. Trouve, and L. Younes. Diffeomorphic matchingof distributions: A new approach for unlabelled point-sets andsub-manifolds matching. In CVPR, pages 712–718, 2004.

[15] G. H. Golub and C. F. V. Loan. Matrix computations. The JohnsHopkins University Press., 1996.

[16] G. Griffin, A. Holub, and P. Perona. Caltech-256 object categorydataset, 2007. technical report, California Inst. of Technology.

[17] J. Ho, A. Peter, A. Rangarajan, and M.-H. Yang. An algebraicapproach to affine registration of point sets. In CVPR, 2009.

[18] R. Horst and H. Tuy. Global Optimization, Deterministic Approaches.Springer-Verlag, 1996.

[19] B. Jian and B. C. Vemuri. A robust algorithm for point setregistration using mixture of gaussians. In ICCV, volume 2, pages1246–1251, 2005.

[20] H. Jiang, M. S. Drew, and Z.-N. Li. Matching by linear program-ming and successive convexification. PAMI, 29(6):959–975, 2007.

[21] H. Jiang, T.-P. Tian, and S. Sclaroff. Scale and rotation invariantmatching using linearly augmented trees. PAMI, 37(12):2558–2572,2015.

[22] H. Jiang and S. X. Yu. Linear solution to scale and rotationinvariant object matching. In CVPR, pages 2474–2481, 2009.

[23] R. Jonker and A. Volgenant. A shortest augmenting path algo-rithm for dense and sparse linear assignment problems. Comput-ing, 38:325–340, 1987.

[24] J.-H. Lee and C.-H. Won. Topology preserving relaxation labelingfor nonrigid point matching. PAMI, 33(2):427–432, 2011.

[25] M. Leordeanu, M. Hebert, and R. Sukthankar. the integer pro-jected fixed point matching algorithm. In NIPS, 2009.

[26] H. Li. Consensus set maximization with guaranteed globaloptimality for robust geometry estimation. In CVPR, 2009.

[27] H. Li, X. Huang, and L. He. Object matching using a locally affineinvariant and linear programming techniques. PAMI, 35(2):411–424, 2013.

[28] W. Lian and L. Zhang. Rotation invariant non-rigid shapematching in cluttered scenes. In ECCV, 2010.

[29] W. Lian and L. Zhang. Robust point matching revisited: a concaveoptimization approach. In ECCV, 2012.

[30] W. Lian and L. Zhang. Point matching in the presence of outliersin both point sets: A concave optimization approach. In CVPR,2014.

[31] W. Lian, L. Zhang, and D. Zhang. Rotation-invariant nonrigidpoint set matching in cluttered scenes. TIP, 21(5):2786–2797, 2012.

[32] J. Ma, J. Zhao, J. Tian, Z. Tu, and A. L. Yuille. Robust estimationof nonrigid transformation for point set registration. In CVPR,2013.

[33] J. Maciel and J. Costeira. A global solution to sparse correspon-dence problems. PAMI, 25(2):187–199, 2003.

[34] A. Myronenko and X. Song. Point set registration: Coherent pointdrift. PAMI, 32(12):2262–2275, 2010.

[35] Q. Ngoc, A. Gautier, and M. Hein. A flexible tensor blockcoordinate ascent scheme for hypergraph matching. In CVPR,2015.

[36] C. Olsson, F. Kahl, and M. Oskarsson. Branch-and-bound methodsfor euclidean registration problems. PAMI, 31(5):783–794, 2009.

[37] F. Pfeuffer, M. Stiglmayr, and K. Klamroth. Discrete and geometricbranch and bound algorithms for medical image registration.Annals of Operations Research, 196(1):737–765, 2012.

Page 14: An Efficient Globally Optimal Algorithm for Asymmetric Point …cslzhang/APM_files/data/APM.pdf · tic annealing for non-rigid registration, we propose an asymmetric point matching

14

0.02 0.04 0.06 0.08 0.1

Degree of deformation

0

0.2

0.4

0.6

0.8

1

Err

or

0.02 0.04 0.06 0.08 0.1

Noise level

0.05

0.1

0.15

0.2

0.25

Err

or

0.2 0.4 0.6 0.8

Clutter to full shape ratio

0

0.1

0.2

0.3

0.4

0.5

0.6

Err

or

APM (0.2)

RPM

Go-ICP

CPD

GMMREG

Fig. 16. Average matching errors by APM with εd = 0.2 and other methods in the 3D tests of deformation, noise andclutter.

Fig. 17. Examples of matching results by different methods in the clutter test. For every 6 columns, from left to right:model point sets shown as red mesh nodes (green mesh nodes correspond to clutter) and scene point sets shown asblue mesh nodes, matching results by APM with εd = 0.2, RPM, Go-ICP, CPD and GMMREG.

[38] S. Roweis and L. Saul. Nonlinear dimensionality reduction bylocally linear embedding. Science, 290:2323–2326, 2000.

[39] M. Sofka, G. Yang, and C. V. Stewart. Simultaneous covariancedriven correspondence (cdc) and transformation estimation in theexpectation maximization framework. In CVPR, 2007.

[40] Y. Tsin and T. Kanade. A correlation-based approach to robustpoint set registration. In ECCV, pages 558–569, 2004.

[41] J. Yang, H. Li, and Y. Jia. Go-icp: Solving 3d registration efficientlyand globally optimally. In ICCV, 2013.

[42] A. L. Yuille and J. J. Kosowsky. Statistical physics algorithms thatconverge. Neural Comput., 6(3):341–356, 1994.

[43] Z. Zhang. Iterative point matching for registration of free-formcurves and surfaces. IJCV, 13(2):119–152, 1994.

[44] Y. Zheng and D. Doermann. Robust point matching for non-rigid shapes by preserving local neighborhood structures. PAMI,28(4):643–649, 2006.

[45] B. Zitov and J. Flusser. Image registration methods: a survey.Image and Vision Computing, 21(11):977–1000, 2003.

Wei Lian is an associate professor with theDepartment of Computer Science at ChangzhiUniversity, Changzhi, China. He received hisB.S. degree in automation from Taiyuan Uni-versity of Technology, Taiyuan, China, in 2000and M.S. and Ph.D. degrees in automatic con-trol theory and engineering from NorthwesternPolytechnical University, Xian, China, in 2003and 2007, respectively. He was a research assis-tant/associate in the Department of Computing,the Hong Kong Polytechnic University from July

2007 to September 2016.

Lei Zhang received his B.Sc. degree in 1995from Shenyang Institute of Aeronautical Engi-neering, Shenyang, P.R. China, and M.Sc. andPh.D degrees in Control Theory and Engineer-ing from Northwestern Polytechnical University,Xian, China, in 1998 and 2001, respectively.From 2001 to 2002, he was a research as-sociate in the Department of Computing, TheHong Kong Polytechnic University. From January2003 to January 2006 he worked as a Post-doctoral Fellow in the Department of Electrical

and Computer Engineering, McMaster University, Canada. In 2006,he joined the Department of Computing, The Hong Kong PolytechnicUniversity, as an Assistant Professor. Since July 2015, he has been aFull Professor in the same department. Dr. Zhang has published morethan 200 papers. As of 2016, his publications have been cited morethan 18,000 times in the literature. Dr. Zhang is an Associate Editor ofIEEE Trans. on Image Processing, IEEE Trans. on CSVT and Imageand Vision Computing. He was selected as a ”Highly Cited Researcher”by Thomson Reuters, 2015. More information can be found on hishomepage http://www4.comp.polyu.edu.hk/∼cslzhang/.

Ming-Hsuan Yang is an associate professor inElectrical Engineering and Computer Science atUniversity of California, Merced. He received hisPhD degree in computer science from the Uni-versity of Illinois at Urbana-Champaign in 2000.Prior to joining UC Merced in 2008, he was asenior research scientist at the Honda ResearchInstitute. Yang served as an associate editor ofthe IEEE Transactions on Pattern Analysis andMachine Intelligence from 2007 to 2011, and isan associate editor of the International Journal

of Computer Vision, Image and Vision Computing, and Journal ofArtificial Intelligence Research. He received the Google Faculty Awardin 2009 and the NSF CAREER Award in 2012. He is a senior memberof the IEEE and the ACM.


Recommended