Skip to main content
Log in

Stratified Generalized Procrustes Analysis

  • Published:
International Journal of Computer Vision Aims and scope Submit manuscript

Abstract

Generalized procrustes analysis computes the best set of transformations that relate matched shape data. In shape analysis the transformations are usually chosen as similarities, while in general statistical data analysis other types of transformation groups such as the affine group may be used. Generalized procrustes analysis has a nonlinear and nonconvex formulation. The classical approach alternates the computation of a so-called reference shape and the computation of transformations relating this reference shape to each shape datum in turn.

We propose the stratified approach to generalized procrustes analysis. It first uses the affine transformation group to analyze the data and then upgrades the solution to the sought after group, whether Euclidean or similarity. We derive a convex formulation for each of these two steps, and efficient practical algorithms that gracefully handle missing data (incomplete shapes).

Extensive experimental results show that our approaches perform well on simulated and real data. In particular our closed-form solution gives very accurate results for generalized procrustes analysis of Euclidean data.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. The alternation term comes from the Structure-from-Motion literature where there exist methods that alternate the estimation of the camera motion with the estimation of the scene structure, see Mahamud et al. (2001) for instance.

  2. S is the Moore-Penrose pseudo-inverse of S, that in practice is obtained using an SVD:

    where the entries of the diagonal matrix (assumed in decreasing order) are pseudo-inversed as σ =0 if σ<ϵ and \(\frac{1}{\sigma}\) otherwise, with ϵ a small constant.

  3. The gauge is the coordinate frame used to represent the unknowns. It is changed by a gauge transformation, lying in the gauge group.

  4. Note however that the approach could be used with a number of points sufficient for similarity-Euclidean registration but insufficient for affine registration. For that special case, one could compute a subspace of affine registrations, whose parameters would be fixed in a second step by the orthonormality constraints of the similarity-Euclidean registration.

  5. While at step 2 each transformation can be estimated by minimizing a cost in the data-space or in the reference-space without changing the solution (the two different costs just differ by a scale factor), it makes a difference at step 3 when re-estimating the reference shape. Averaging the transformed shape data minimizes the reference-space cost conditioned on the current similarities.

  6. So as to make the approach usable even if data points are missing, one uses a partly predicted centered measurement matrix built by using for the missing data points their prediction from the reference shape and affine registration: D i,j A i S j +a i .

  7. In Greek mythology Procrustes was a bandit who was stretching people or cutting off their legs so as to make them fit an iron bed’s size. Theseus captured Procrustes and fitted him to his own bed.

  8. We have that where e k is a zero vector with one as its k-th component.

References

  • Aguiar, P., Xavier, J., & Stosic, M. (2008). Globally optimal solution to exploit rigidity when recovering structure from motion under occlusion. In International conference on image processing.

    Google Scholar 

  • Arun, K., Huang, T., & Blostein, S. (1987). Least-squares fitting of two 3-D points sets. IEEE Transactions on Pattern Analysis and Machine Intelligence, 9(5), 698–700.

    Article  Google Scholar 

  • Bartoli, A., Gay-Bellile, V., Castellani, U., Peyras, J., Olsen, S., & Sayd, P. (2008). Coarse-to-fine low-rank structure-from-motion. In International conference on computer vision and pattern recognition.

    Google Scholar 

  • Bartoli, A., Pizarro, D., & Loog, M. (2010). Stratified generalized procrustes analysis. In British machine vision conference.

    Google Scholar 

  • Boggs, P. T., Donaldson, J. R., & Schnabel, R. B. (1989). ODRPACK: software for weighted orthogonal distance regression. ACM Transactions on Mathematical Software, 15, 348–364.

    Article  MATH  Google Scholar 

  • Bregler, C., Hertzmann, A., & Biermann, H. (2000). Recovering non-rigid 3D shape from image streams. In International conference on computer vision and pattern recognition.

    Google Scholar 

  • Dryden, I. L., & Mardia, K. V. (1998). Statistical shape analysis. New York: Wiley.

    MATH  Google Scholar 

  • Eggert, D. W., Lorusso, A., & Fisher, R. B. (1997). Estimating 3-D rigid body transformations: a comparison of four major algorithms. Machine Vision and Applications, 9, 272–290.

    Article  Google Scholar 

  • Goryn, D., & Hein, S. (1995). On the estimation of rigid body rotation from noisy data. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(12), 1219–1220.

    Article  Google Scholar 

  • Gower, J. C. (1975). Generalized procrustes analysis. Psychometrika, 40(1), 33–51.

    Article  MathSciNet  MATH  Google Scholar 

  • Gower, J. C., & Dijksterhuis, G. B. (2004). Procrustes problems. New York: Oxford University Press.

    Book  MATH  Google Scholar 

  • Gurdjos, P., Bartoli, A., & Sturm, P. (2009). Is dual linear self-calibration artificially ambiguous? In International conference on computer vision.

    Google Scholar 

  • Hartley, R. I., & Zisserman, A. (2003). Multiple view geometry in computer vision (2nd ed.). Cambridge: Cambridge University Press.

    Google Scholar 

  • Horn, B. K. P. (1987). Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America A, 4(4), 629–642.

    Article  MathSciNet  Google Scholar 

  • Horn, B. K. P., Hilden, H. M., & Negahdaripour, S. (1988). Closed-form solution of absolute orientation using orthonormal matrices. Journal of the Optical Society of America A, 5(7), 1127–1135.

    Article  MathSciNet  Google Scholar 

  • Jacobs, D. (2001). Linear fitting with missing data for structure-from-motion. Computer Vision and Image Understanding, 82, 57–81.

    Article  MathSciNet  MATH  Google Scholar 

  • Kanatani, K. (1994). Analysis of 3-D rotation fitting. IEEE Transactions on Pattern Analysis and Machine Intelligence, 16(5), 543–549.

    Article  Google Scholar 

  • Krishnan, S., Lee, P. Y., Moore, J. B., & Venkatasubramanian, S. (2005). Global registration of multiple 3D point sets via optimization-on-a-manifold. In Eurographics symposium on geometry processing.

    Google Scholar 

  • Mahamud, S., Herbert, M., Omori, Y., & Ponce, J. (2001). Provably-convergent iterative methods for projective structure and motion. In International conference on computer vision and pattern recognition.

    Google Scholar 

  • Matei, B., & Meer, P. (1999). Optimal rigid motion estimation and performance evaluation with bootstrap. In International conference on computer vision and pattern recognition.

    Google Scholar 

  • Ohta, N., & Kanatani, K. (1998). Optimal estimation of three-dimensional rotation and reliability evaluation. In European conference on computer vision.

    Google Scholar 

  • Pollefeys, M., Gool, L. V., Vergauwen, M., Verbiest, F., Cornelis, K., Tops, J., & Koch, R. (2004). Visual modeling with a hand-held camera. International Journal of Computer Vision, 59(3), 207–232.

    Article  Google Scholar 

  • Quan, L. (1996). Self-calibration of an affine camera from multiple views. International Journal of Computer Vision, 19(1), 93–105.

    Article  Google Scholar 

  • Ramos, J. A., & Verriest, E. I. (1997). Total least squares fitting of two point sets in m-D. In Conference on decision and control.

    Google Scholar 

  • Schönemann, P. H. (1966). A generalized solution of the orthogonal procrustes problem. Psychometrika, 31, 1–10.

    Article  MathSciNet  MATH  Google Scholar 

  • Schönemann, P. H., & Carroll, R. M. (1970). On fitting one matrix to another under choice of a central dilation transformation and a rigid motion. Psychometrika, 35(2), 245–255.

    Article  Google Scholar 

  • Sigal, L., & Black, M. J. (2006). HumanEva: synchronized video and motion capture dataset for evaluation of articulated human motion. Technical Report CS-06-08, Brown University.

  • Slama, C. C. (Ed.) (1980). Manual of photogrammetry (4th ed.). American Society of Photogrammetry and Remote Sensing.

    Google Scholar 

  • Stewart, G. W. (1993). On the early history of the singular value decomposition. SIAM Review, 35(4), 551–566.

    Article  MathSciNet  MATH  Google Scholar 

  • Ten Berge, J. M. F. (1977). Orthogonal procrustes rotation for two or more matrices. Psychometrika, 42(2), 267–276.

    Article  MathSciNet  MATH  Google Scholar 

  • Triggs, B., McLauchlan, P. F., Hartley, R. I., & Fitzgibbon, A. (2000). Bundle adjustment—a modern synthesis. In Proceedings of the international workshop on vision algorithms: theory and practice.

    Chapter  Google Scholar 

  • Umeyama, S. (1991). Least-squares estimation of transformation parameters between two point patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(4), 376–380.

    Article  Google Scholar 

  • Walker, M. W., Shao, L., & Volz, R. A. (1991). Estimating 3D location parameters using dual number quaternions. Computer Vision, Graphics and Image Processing: Image Understanding, 54(3), 358–367.

    MATH  Google Scholar 

  • Wen, G., Zhu, D., Xia, S., & Wang, Z. (2005). Total least squares fitting of point sets in m-D. In Computer graphics international.

    Google Scholar 

  • Xiao, J., & Kanade, T. (2006). A linear closed-form solution to non-rigid shape and motion recovery. International Journal of Computer Vision, 67(2), 233–246.

    Article  Google Scholar 

  • Xiao, J., Georgescu, B., Zhou, X., Comaniciu, D., & Kanade, T. (2006). Simultaneous registration and modeling of deformable shapes. In International conference on computer vision and pattern recognition.

    Google Scholar 

  • Yezzi, A. J., & Soatto, S. (2003). Deformation: deforming motion, shape average and the joint registration and approximation of structures in images. International Journal of Computer Vision, 53(2), 153–167.

    Article  Google Scholar 

Download references

Acknowledgements

Daniel Pizarro has been supported by the Spanish Ministry of Science and Innovation under project VISNU (ref. TIN2009-08984).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adrien Bartoli.

Additional information

Implementation

Our generalized procrustes analysis toolbox which implements the methods we propose and methods from the literature in Matlab is freely available under the GPL license. Download the code from the authors’ websites.

Appendices

Appendix A: Demonstrations

1.1 A.1 Solution to \(\min_{\mathsf {S}} \| \mathsf {L} \mathsf {S} \|_{\mathcal{F}}\) Such That S S=I

Let L∈ℝq×d we want to show that:

$$\arg\min_{\mathsf {S}\in O(d)} \| \mathsf {L} \mathsf {S} \|_{\mathcal{F}}^2 = \bar {\mathsf {V}}, $$

with \(\bar {\mathsf {V}}\) the last d columns of matrix V in the SVD . We write s k , k=1,…,d the columns of S (similarly for V with v k ). We rewrite the above problem as a set of nested problems:

The last column s d is found first by computing the partial derivatives of the lagrangian:

$$\mathcal{L}_d(\mathbf {s}_d) \stackrel{\mathrm{def}}{=}\| \mathsf {L} \mathbf {s}_d \|_2^2 + \lambda\bigl(1 - \| \mathbf {s}_d \|^2_2\bigr), $$

where λ is a Lagrange multiplier, giving:

$${ \mathsf {L}}^{\top }\mathsf {L} \mathbf {s}_d = \lambda \mathbf {s}_d. $$

This shows that s d is a right singular vector of L, and so s d =v k for some k∈{1,…,d}. The cost for v k is \(\| \mathsf {L}\mathbf {v}_{k}\|_{2}^{2} = \sigma_{k}^{2}\) andFootnote 8 we therefore choose s d v d to minimize the cost.

The other columns are then found in turn, as follows. Consider s d−1. The lagrangian is:

$$\mathcal{L}_{d-1}(\mathbf {s}_{d-1}) \stackrel{\mathrm{def}}{=}\| \mathsf {L} \mathbf {s}_{d-1} \|_2^2 + \lambda\bigl( 1-\| \mathbf {s}_{d-1} \|_2^2\bigr) + \mu\bigl( { \mathbf {s}}^{\top }_{d-1} \mathbf {s}_d \bigr)^2, $$

and its partial derivatives are:

$$\frac{1}{2} \frac{\partial \mathcal{L}_{d-1}}{\partial \mathbf {s}_{d-1}} = { \mathsf {L}}^{\top }\mathsf {L} \mathbf {s}_{d-1} - \lambda \mathbf {s}_{d-1} + \mu { \mathbf {s}}^{\top }_d \mathbf {s}_d \mathbf {s}_{d-1} = 0. $$

Since \({ \mathbf {s}}^{\top }_{d-1} \mathbf {s}_{d-1} = \| \mathbf {s}_{d-1} \|^{2}_{2} = 1\) this gives:

$${ \mathsf {L}}^{\top }\mathsf {L} \mathbf {s}_{d-1} = (\lambda-\mu) \mathbf {s}_{d-1}. $$

Similarly to s d we finally find that s d−1v k for some k∈{1,…,d}, and choose s d−1v d−1 to minimize the cost and satisfy the constraints. Doing the same reasoning for all the remaining columns leads to \(\mathsf {S} \leftarrow \bar {\mathsf {V}}\).

1.2 A.2 Translational Gauge Constraints for the Reference-Space Cost

The reference-space cost is translation invariant, which means that we can simply fix the translation part of the gauge by adding a gauge constraint to the cost, as if it were a simple penalty. We chose to center the reference shape using S 1=0. Below, we prove that the original cost function is invariant to translations of the reference shape. Note that a translation represented by vector g∈ℝd applies to the reference shape S as S   →   S+1g with 1∈ℝm.

Consider the minimization problem (15), and plug in the translational gauge transformation of the reference shape mentioned directly above:

$$\big\| ( {\mathrm{I}}- \hat {\mathsf {K}}_B ) \mathsf {K}_S \mathsf {S} \big\|^2_{\mathcal{F}} \,\,\,\rightarrow\,\,\, \big\| ( {\mathrm{I}}- \hat {\mathsf {K}}_B ) \mathsf {K}_S \bigl( \mathsf {S} + \mathbf {1} {\mathbf {g}}^{\top } \bigr) \big\|^2_{\mathcal{F}}. $$

This is expanded to \(\| ( {\mathrm{I}}- \hat {\mathsf {K}}_{B} ) \mathsf {K}_{S} \mathsf {S} + ( {\mathrm{I}}- \hat {\mathsf {K}}_{B} ) \mathsf {K}_{S} \mathbf {1} {\mathbf {g}}^{\top } \|^{2}_{\mathcal{F}}\). Consider the second factor. By construction, matrix K S ∈ℝα×m is a stack of identity matrices to which some rows were removed, and thus K S 1=1∈ℝα, leading to:

$$ ( {\mathrm{I}}- \hat {\mathsf {K}}_B ) \mathsf {K}_S \mathbf {1} {\mathbf {g}}^{\top } = \mathbf {1} {\mathbf {g}}^{\top } - \hat {\mathsf {K}}_B \mathbf {1} {\mathbf {g}}^{\top }. $$
(33)

We have that \(\hat {\mathsf {K}}_{B} = \mathrm{diag}(\hat {\mathsf {K}}_{B,i})\) and K B,i =(D i     1). Denoting \(\mathbf {d}_{i} = { \mathsf {D}}^{\top }_{i} \mathbf {1}\), we get:

from which, defining \(\mathsf {H}_{i} \stackrel{\mathrm{def}}{=}{ ( { \mathsf {D}}^{\top }_{i} \mathsf {D}_{i} - \frac{1}{m} \mathbf {d}_{i} { \mathbf {d}}^{\top }_{i} ) }^{-1}\) we get:

This shows from (33) that \(( {\mathrm{I}}- \hat {\mathsf {K}}_{B} ) \mathsf {K}_{S} \mathbf {1} {\mathbf {g}}^{\top } = \mathbf {0}\) and that the reference-space cost is thus translational gauge invariant: \(\| ( {\mathrm{I}}- \hat {\mathsf {K}}_{B} ) \mathsf {K}_{S} \mathsf {S} \| ^{2}_{\mathcal{F}} = \| ( {\mathrm{I}}- \hat {\mathsf {K}}_{B} ) \mathsf {K}_{S} ( \mathsf {S} + \mathbf {1} {\mathbf {g}}^{\top } ) \| ^{2}_{\mathcal{F}}\).

1.3 A.3 The Closest Special Orthonormal Matrix

We give an simple demonstration to find the closest special orthonormal ESO(d) matrix to a matrix M with det(M)>0 minimizing the cost \(\mathcal{C}\stackrel{\mathrm{def}}{=}\| \mathsf {E} - \mathsf {M} \|^{2}_{\mathcal{F}}\). Different solutions and proofs exist in the literature (Horn et al. 1988; Schönemann and Carroll 1970); they are more involved than ours. We first plug the SVD \(\mathsf {M} \stackrel{\mathtt{SVD}}{\rightarrow} \mathsf {U}\mathsf {\Sigma} { \mathsf {V}}^{\top }\) in the cost, and since UO(d) and VO(d) we get with \(\mathsf {H} \stackrel{\mathrm{def}}{=}{ \mathsf {U}}^{\top } \mathsf {E} \mathsf {V}\) and . We are left with the problem of finding the closest orthonormal matrix to a diagonal matrix. Expanding the norm in the cost, we get that we rewrite as:

$$\mathcal{C}= d + \sigma_1 + \cdots+ \sigma_d - 2 ( H_{1,1} \sigma_1 + \cdots+ H_{d,d} \sigma_d). $$

Given that HO(d) we have that H k,k ≤1, k=1,…,d. Noting that σ k ≥0, k=1,…,d, the solution that minimizes the expression of \(\mathcal{C}\) directly above is given by choosing H k,k =1, k=1,…,d, leading to H=I. We finally get the solution:

$$\mathsf {E} = \mathsf {U} { \mathsf {V}}^{\top }. $$

It is to be noted that σ k >0, k=1,…,d then . Since det(M)>0, UO(d) and VO(d) this implies that det(E)=det(U)det(V)=1 and thus ESO(d) as sought.

We now look into the demonstration of the scaled case, where we have to find both matrix ESO(d) and a scale factor ζ>0 such that the following cost \(\mathcal{S}\stackrel{\mathrm{def}}{=}\| \zeta \mathsf {E} - \mathsf {M}\|^{2}_{\mathcal{F}}\) is minimized. As in the above case, we use the SVD of M to get where H is defined as above. We expand the norm in the cost as above and get that we rewrite as:

$$\mathcal{S}= d \zeta^2 + \sigma_1 + \cdots+ \sigma_d - 2 \zeta( H_{1,1} \sigma_1 + \cdots+ H_{d,d} \sigma_d). $$

The same argument as above directly leads to H=I (and thus E=UV ). This leaves us with:

$$\mathcal{S}= d\zeta^2 + \sigma_1 + \cdots+ \sigma_d - 2 \zeta( \sigma _1 + \cdots+ \sigma_d). $$

Setting the derivatives of \(\mathcal{S}\) with respect to ζ to as to find the minimizer gives:

$$\frac{1}{2} \frac{\partial \mathcal{S}}{\partial\zeta} = d\zeta- ( \sigma _1 + \cdots+ \sigma_d) = 0, $$

and readily leads to:

$$\zeta = \frac{1}{d} \sum_{k=1}^d \sigma_k. $$

It is easily verified that ζ>0 as required.

Appendix B: Affine Generalized Procrustes Analysis with the Data-Space Model and PCA

We here show that affine generalized procrustes analysis with the data-space model is equivalent to PCA. We instanciate the data-space cost (4) using affine transformations T A,i =(A i ;a i ):

$$\mathcal{R}(\mathcal{T}_A,\mathsf {S}) = \sum_{i=1}^n v_{i,j} \big\| \mathsf {D}_i^{\top} - \mathsf {A}_i \mathsf {S}^{\top} - \mathbf {a}_i { \mathbf {1}}^{\top } \big\|^2_{\mathcal{F}}. $$

Minimizing \(\mathcal{R}\) in that case is a nonconvex problem, equivalent to an L 2 norm bilinear factorization of a data matrix containing all the shape points. The first factor contains the affine transformations while the second factor contains the reference shape. This makes the problem easy to solve by simple rank-d matrix factorization when there is no missing data (for v i,j =1, i=1,…,n, j=1,…,m, from Eckart-Young/Schmidt’s approximation theorem (Stewart 1993)). In the presence of missing data however, the problem does not have such a simple solution. We solve it using Orthogonal Distance Regression (ODR) (Boggs et al. 1989) using the reference-space solution as initialization but techniques from PCA with missing data could also be used (Jacobs 2001).

Appendix C: Implementation of Initialization and Upgrading

We here give details of our affine reference-space initialization and similarly-Euclidean upgrading procedures. These are respectively given in Tables 4 and 5.

Table 4 Affine registration with the reference-space model. Implementation of our initial closed-form affine registration algorithm in the reference-space model. The mathematical derivation is in Sect. 5
Table 5 Similarity-Euclidean registration by upgrading an affine registration. Implementation of our closed-form upgrading algorithm. The mathematical derivation is in Sect. 6

Appendix D: The Generalized Procrustes Analysis Toolbox

We created a Matlab toolbox that implements our proposed algorithms. We called it the generalized procrustes analysis toolbox; it will be released under the GPL license. Our toolbox offers a ready-to-use interface for registering shape data using any of the described methods for affine, Euclidean and similarity transformations. It also includes the classical alternation approach for similarity and Euclidean transformations and copes with incomplete shape data.

4.1 D.1 Main Function

The whole set of algorithms is bundled in a single function called gpa. It has the following syntax:

$$\mbox{\texttt{T=gpa(D,V,options);}} $$

where D contains the shape data, V indicates the missing points and options specifies which algorithm to use, the level of verbosity and the maximum number of iterations. The output T is a structure that contains the computed transformations, the error for the different trials and the computational time for various steps of the algorithms. Of course, a detailed help can be obtained by typing:

$$\mbox{\texttt{help gpa;}} $$

4.2 D.2 Simulating Data and Testing

All the experiments with simulated data that we reported in this paper can be replicated using an experimental front-end function. It has a compact interface that generates data and then calls the gpa function. This function is called genExperiment and has the following syntax:

$$\mbox{\texttt{genExperiment(options,name);}} $$

There is no output since the results will be saved in a file. options is a structure that defines the method or methods that will be tested, the number of shape data, the dimension, the ratio of missing data, the amount of added noise or of deformation between the shapes, the parameter that will be varied, the number of random trials, the name of the file to save the results and the type of data (transformations) to be generated. The second input parameter called name specifies the name of a file containing the results of an experiment which is yet to be completed and from which the current experiment will be started.

As an example of usage of genExperiment, we give the piece of code that replicates experiment the top-row noise graph shown in Fig. 4:

figure a

The results will be saved in a file called exp1RMSvssigma.mat. If the experiment could not complete for some reason it can be restarted from where it stopped by typing:

$$\mbox{\texttt{genExperiment(options,'exp1RMSvssigma');}} $$

Of course, a detailed help for this function can be obtained by typing:

$$\mbox{\texttt{help genExperiment;}} $$

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bartoli, A., Pizarro, D. & Loog, M. Stratified Generalized Procrustes Analysis. Int J Comput Vis 101, 227–253 (2013). https://doi.org/10.1007/s11263-012-0565-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11263-012-0565-0

Keywords

Navigation