Generalized Procrustes Analysis and Its Applications in Photogrammetry
Total Page:16
File Type:pdf, Size:1020Kb
SWISS FEDERAL INSTITUTE OF TECHNOLOGY Institute of Geodesy and Photogrammetry ETH-Hoenggerberg, Zuerich GENERALIZED PROCRUSTES ANALYSIS AND ITS APPLICATIONS IN PHOTOGRAMMETRY Prepared for: Praktikum in Photogrammetrie, Fernerkundung und GIS Presented to: Prof. Armin W. GRUEN Prepared by: M. Devrim AKCA June, 2003 Generalized Procrustes Analysis and its Applications in Photogrammetry Devrim Akca TABLE OF CONTENTS 1. INTRODUCTION 3 2. PROCRUSTES ANALYSIS: THEORY AND ALGORITHMS 4 2.1. Who is Procrustes? 4 2.2. Orthogonal Procrustes Analysis 4 2.3. Extended Orthogonal Procrustes Analysis (EOP) 6 2.4. Weighted Extended Orthogonal Procrustes Analysis (WEOP) 9 2.5. Generalized Orthogonal Procrustes Analysis (GP) 10 2.6. Theoretical Precision for GP 15 3. APPLICATIONS IN PHOTOGRAMMETRY 16 3.1. Example 1 17 3.2. Example 2 18 3.3. Example 3 19 3.4. Comparison of the two methods 20 4. CONCLUSIONS 21 REFERENCES 21 2 Generalized Procrustes Analysis and its Applications in Photogrammetry Devrim Akca 1. INTRODUCTION Some measurement systems and methods can produce directly 3D coordinates of the relevant object with respect to a local coordinate system. Depending on the extension and shape complexity of the object, it may require two or more viewpoints in order to cover the object completely. These different local coordinate systems must be combined into a common system. This geometric transformation process is known as registration. The fundamental problem of the registration process is estimation of the transformation parameters. In the context of traditional least-squares adjustment, the linearisation and initial approximations of the unknowns in the case of 3 or more dimensional similarity transformations are needed due to non-linearity of the functional model. Procrustes analysis theory is a set of mathematical least-squares tools to directly estimate and perform simultaneous similarity transformations among the model point coordinates matrices up to their maximal agreement. It avoids the definition and solution of the classical normal equation systems. No prior information is requested for the geometrical relationship existing among the different model objects components. By this approach, the transformation parameters are computed in a direct and efficient way based on a selected set of corresponding point coordinates (Beinat and Crosilla, 2001). The method was explained and named as Orthogonal Procrustes problem by Schoenemann (1966) who is a scientist in the Quantitative Psychology area. In this publication, Schoenemann gave the direct least-squares solution of the problem that is to transform a given matrix A into a given matrix B by an orthogonal transformation matrix T in such a way to minimize the sum of squares of the residual matrix E = AT – B. The first generalization to the Schoenemann (1966) orthogonal Procrustes problem was given by Schoenemann and Carroll (1970) when a least squares method for fitting a given matrix A to another given matrix B under choice of an unknown rotation, an unknown translation and an unknown scale factor was presented. This method is often identified in statistics and psychometry as Extended Orthogonal Procrustes problem. After Schoenemann (1966), similar methods were proposed in computer vision and robotics area (Arun et al., 1987, and Horn et al., 1988). The solution of the Generalized Orthogonal Procrustes problem to a set of more than two matrices was reported (Gower, 1975, Ten Berge, 1977). Further generalization in the stochastic model is called Weighted Procrustes Analysis, which can be different weighting across columns (Lissitz et al., 1976) or across rows (Koschat and Swayne, 1991) of a matrix configuration. An approach that can differently weight the homologous points coordinates was given (Goodall, 1991). A method that can take into account the stochastic properties of the coordinate axes was given by Beinat and Crosilla (2002). Implementation details and two different applications of Procrustes Analysis in Geodetic Sciences were given by Crosilla and Beinat (2002, 2001): photogrammetric block adjustment by independent models, and registration of laser scanner point clouds. The reader can also find a detailed survey of the Procrustes analysis and its some possible applications in the Geodetic Sciences in (Crosilla, 1999). The report is organized as follows. In the second section, the mathematical background and the algorithmic aspects of the Procrustes analysis is given. In the third section, two different 3 Generalized Procrustes Analysis and its Applications in Photogrammetry Devrim Akca applications of the Procrustes analysis in photogrammetry are presented. This section also compares the Procrustes Analysis and the conventional Least-Squares solution with respect to accuracy, computational cost, and operator handling. Discussion and conclusion are given in the fourth section. 2. PROCRUSTES ANALYSIS: THEORY AND ALGORITHMS 2.1. Who is Procrustes? The name of the method comes from Greek Mythology (Figure 1). Procrustes, or "one who stretches," (also known as Prokrustes or Damastes) was a robber in the myth of Theseus . He preyed on travelers along the road to Athens. He offered his victims hospitality on a magical bed that would fit any guest. He then either stretched the guests or cut off their limbs to make them fit perfectly into the bed. Theseus, travelling to Athens to claim his inheritance, encountered the thief. The hero cut off the evil-doer's head to make him fit into the bed in which many "guests" had died (Greek Mythology Reference). Figure 1: Procrustes in Greek Mythology (Procrustes Accommodaties ob maat) 2.2. Orthogonal Procrustes Analysis Orthogonal Procrustes problem (Schoenemann, 1966) is the least squares solution of the problem that is the transformation of a given matrix A into a given matrix B by an orthogonal transformation matrix T in such a way to minimize the sum of squares of the residual matrix E = AT - B. Matrices A and B are (p x k) dimensional, in which contain p corresponding points in the k-dimensional space. A Least squares solution must satisfy the following condition tr{ETE}= tr{()()AT − B T AT − B }= min (1) The problem also has another condition, which is the orthogonal transformation matrix, TTT = T TT = I (2) Both of the conditions can be combined in a Lagrangean function, F = tr{}E T E + tr{}L(T T T − I) (3) 4 Generalized Procrustes Analysis and its Applications in Photogrammetry Devrim Akca F = tr{()()AT − B T AT − B }+ tr{L (TTT − I)} (4) F = tr{TTATAT − TTATB − BTAT + BTB}+ tr{L (TTT − I)} (5) where L is a matrix of Lagrangean multipliers, and tr{ } stands for trace of the matrix. The derivation of this function with respect to unknown T matrix must be set to zero. ∂F = 2ATAT − 2ATB + T()L + LT = 0 (6) ∂ T where (ATA) and (L+LT) are symmetric matrices. Let us multiply equation (6) on the left side by TT, L + LT T T A T AT − T T A T B + = 0 (7) 2 T T T ()L + L T T T T ()L + L = T ()A B − T ()A A T = (8) 2 2 Since TT(ATA)T is symmetric, TT(ATB) must also be symmetric. Remind that (L+LT) is also symmetric. Therefore, the following condition must be satisfied. T T T ()()A T B = A T B T (9) Multiplying Equation (9) on the left side by T, T ()()A T B = T A T B T (10) and on the right side by TT T T T ()A T B T T = ()A T B (11) Finally, we have the following equation using Equations (10) and (11), T T ()()()()ATB ATB = T ATB ATB TT (12) Matrices [(ATB)(ATB)T] and [(ATB)T(ATB)] are symmetric. Both of them have same eigenvalues. T T T T T T T svd A B A B = T svd A B A B T (13) ()() ()() where svd{ } stands for Singular Value Decomposition, namely Eckart-Young Decomposition. The result is, T T T VDs V = T WDs W T (14) 5 Generalized Procrustes Analysis and its Applications in Photogrammetry Devrim Akca This means that, V = T W (15) Finally, we can solve the unknown orthogonal transformation matrix T. T = V WT (16) 2.3. Extended Orthogonal Procrustes Analysis (EOP) The first generalization to the Schoenemann (1966) orthogonal Procrustes problem was given by Schoenemann and Carroll (1970) when a least squares method for fitting a given matrix A to another given matrix B under choice of an unknown rotation T, an unknown translation t , and an unknown scale factor c was presented. This method is often identified in statistics and psychometry as Extended Orthogonal Procrustes problem. The functional model is the following E = cAT + jt T − B (17) where jT = []1 1 ... 1 is (1 x p) unit vector, matrices A and B are (p x k) corresponding point matrices as mentioned before, T is (k x k) orthogonal rotation matrix, t is (k x 1) translation vector, and c is scale factor. In order to obtain the least squares estimation of the unknowns (T, t, c) let us write the Lagrangean function F = tr{}E T E + tr{}L(T T T − I) (18) T T T T F = tr cAT + jt − B cAT + jt − B + tr L T T − I (19) ()()() {} where tr{ETE}= tr{BTB}+ c2tr{TTATAT}+ p t T t − 2c tr{BTAT}− 2 tr{BT jt T }+ 2c tr{TTAT jt T } and p = jTj is a scalar, namely number of rows of the data matrices. The derivations of the Lagrangean function with respect to unknowns must be set to zero in order to obtain a least squares estimation, ∂F = 2c 2 A T AT − 2cA T B + 2cA T jt T + T()L + LT = 0 (20) ∂T ∂F = 2p t − 2BT j + 2cTTAT j = 0 (21) ∂t ∂F = 2c tr{}{}{}TTATAT − 2 tr BTAT + 2 tr TTAT jt T = 0 (22) ∂c The translation vector from Equation (21) is that 6 Generalized Procrustes Analysis and its Applications in Photogrammetry Devrim Akca t = ()B − cAT T j p (23) In Equation (20), (ATA) and (L+LT) are symmetric matrices.