Documente Academic
Documente Profesional
Documente Cultură
In statistics, Procrustes analysis is a form of statistical shape analysis used to analyse the distribution of a set of shapes. The name Procrustes (Greek: ) refers to a bandit from Greek mythology who made his victims fit his bed either by stretching their limbs or cutting them off. To compare the shape of two or more objects, the objects must be first optimally "superimposed". Procrustes superimposition (PS) is performed by optimally translating, rotating and uniformly scaling the objects. In other words, both the placement in space and the size of the objects are freely adjusted. The aim is to obtain a similar placement and size, by minimizing a measure of shape difference called the Procrustes distance between the objects. This is sometimes called full, as opposed to partial PS, in which scaling is not performed (i.e. the size of the objects is preserved). Notice that, after full PS, the objects will exactly coincide if their shape is identical. For instance, with full PS two spheres with different radius will always coincide, because they have exactly the same shape. Conversely, with partial PS they will never coincide. This implies that, by the strict definition of the term shape in geometry, shape analysis should be performed using full PS. A statistical analysis based on partial PS is not a pure shape analysis as it is not only sensitive to shape differences, but also to size differences. Both full and partial PS will never manage to perfectly match two objects with different shape, such as a cube and a sphere, or a right hand and a left hand. In some cases, both full and partial PS may also include reflection. Reflection allows, for instance, a successful (possibly perfect) superimposition of a right hand to a left hand. Thus, partial PS with reflection enabled preserves size but allows translation, rotation and reflection, while full PS with reflection enabled allows translation, rotation, scaling and reflection. In mathematics:
an orthogonal Procrustes problem is a method which can be used to find out the optimal rotation and/or reflection (i.e., the optimal orthogonal linear transformation) for the PS of an object with respect to another.
a constrained orthogonal Procrustes problem, subject to det(R) = 1 (where R is a rotation matrix), is a method which can be used to determine the optimal rotation for the PS of an object with respect to another (reflection is not allowed). In some contexts, this method is called the Kabsch algorithm.
Optimal translation and scaling are determined with much simpler operations (see below). When a shape is compared to another, or a set of shapes is compared to an arbitrarily selected reference shape, Procrustes analysis is sometimes further qualified as classical or ordinary, as opposed to Generalized Procrustes analysis (GPA), which compares three or more shapes to an optimally determined "mean shape".
Contents
[hide]
o o o o o
1.1 Translation 1.2 Uniform scaling 1.3 Rotation 1.4 Shape comparison 1.5 Superimposing a set of shapes
2 Generalized Procrustes analysis (GPA) 3 Variations 4 Examples 5 See also 6 External links 7 References
Translation[edit]
For example, translational components can be removed from an object by translating the object so that the mean of all the object's points (i.e. its centroid) lies at the origin. Mathematically: take points in two dimensions, say . The mean of these points is where
Now translate these points so that their mean is translated to the origin , giving the point .
Uniform scaling[edit]
Likewise, the scale component can be removed by scaling the object so that the root mean square distance (RMSD) from the points to the translated origin is 1. This RMSD is a statistical measure of the object's scale or size:
The scale becomes 1 when the point coordinates are divided by the object's initial scale: . Notice that other methods for defining and removing the scale are sometimes used in the literature.
Rotation[edit]
Removing the rotational component is more complex, as a standard reference orientation is not always available. Consider two objects composed of the same number of points with scale and translation removed. Let the points of these be , . One of these objects can be used to provide a reference orientation.
Fix the reference object and rotate the other around the origin, until you find an optimum angle of rotation such that the sum of the squared distances (SSD) between the
corresponding points is minimised (an example of least squares technique). A rotation by angle gives . where (u,v) are the coordinates of a rotated point. Taking the derivative of the derivative is zero gives with respect to and solving for when
When the object is three-dimensional, the optimum rotation is represented by a 3by-3 rotation matrix R, rather than a simple angle, and in this case singular value decomposition can be used to find the optimum value for R (see the solution for the constrained orthogonal Procrustes problem, subject to det(R) = 1).
Shape comparison[edit]
The difference between the shape of two objects can be evaluated only after "superimposing" the two objects by translating, scaling and optimally rotating them
as explained above. The square root of the above mentioned SSD between corresponding points can be used as a statistical measure of this difference in shape:
This measure is often called Procrustes distance. Notice that other more complex definitions of Procrustes distance, and other measures of "shape difference" are sometimes used in the literature.
Variations[edit]
There are many ways of representing the shape of an object. The shape of an object can be considered as a member of an equivalence class formed by taking the set of all sets of k points in ndimensions, that is Rkn and factoring out the set of all translations, rotations and scalings. A particular representation of shape is found by choosing a particular representation of the equivalence class. This will give a manifold of dimension kn-4. Procrustes is one method of doing this with particular statistical justification. Bookstein obtains a representation of shape by fixing the position of two points called the bases line. One point will be fixed at the origin and the other at (1,0) the remaining points form theBookstein coordinates. It is also common to consider shape and scale that is with translational and rotational components removed.
CONTENTS
Shape analysis on a beach holiday A little warning A shape and its reflection Reference
g=exp(1i*pi/3)*(1+cos(t)+1.5i*sin(t)+ .125*(1+1.5i)*sin(3*t).^2); %pebble plot(f,'r','LineWidth',2), hold on, axis equal, plot(g,'k','LineWidth',2); title('Frisbee and pebble','FontSize',16); hold off;
Two shapes are equivalent if one can be obtained from the other by translating, scaling and rotating. Before comparison we thus: 1. Translate the shapes so they have mean zero. 2. Scale so the shapes have Root Mean Squared Distance (RMSD) to the origin of one. 3. Rotate to align major axis. Here is how the frisbee and the pebble compare after each stage.
function [f,g]=ShapeAnalysis(f,g) % SHAPEANALYSIS(F,G) Plots the parameterised curves before and after % each stage of translating, scaling and aligning. Outputs are
LW = 'LineWidth'; FS = 'FontSize'; % Plot orignal subplot(2,2,1) plot(f,'r',LW,2), hold on, axis equal, plot(g,'k',LW,2) title('Orignal',FS,16)
% Translate mean to 0. f = f-mean(f); g = g-mean(g); subplot(2,2,2) plot(f,'r',LW,2), hold on, axis equal, plot(g,'k',LW,2) title('After translation',FS,16)
% Scale so RMSD is 1. f = f/norm(f); g = g/norm(g); subplot(2,2,3) plot(f,'r',LW,2), hold on, axis equal, plot(g,'k',LW,2) title('After scaling',FS,16)
% Align major axis. subplot(2,2,4) % Find argument of major axis. [~,fxmax]=max(abs(f)); [~,gxmax]=max(abs(g)); rotf=angle(f(fxmax)); rotg=angle(g(gxmax));
% Rotate both so major axis lies on the +ve real axis. x = chebfun('x',[0,2*pi]); f = exp(-1i*rotf)*f(mod(x+fxmax,2*pi)); g = exp(-1i*rotg)*g(mod(x+gxmax,2*pi)); plot(f,'r',LW,2), hold on, axis equal, plot(g,'k',LW,2) title('After aligning',FS,16), hold off end
[f,g] = ShapeAnalysis(f,g);
To calculate the Procrustes distance we would measure the error between the two shapes at a finite number of reference points and compute the vector 2-norm. In this discrete case In Chebfun we calculate the continuous analogue:
norm(f-g)
ans = 0.072347575424997
A LITTLE WARNING
In the discrete version of Procrustes shape analysis statisticians choose reference points on the two shapes (to compare). They then work out the difference between corresponding reference points. The error computed depends on this correspondence. A different correspondence gives a different error. In the continuous case this correspondence becomes the parameterisation. A different parameterisation of the two curves gives a different error. This continuous version of Procrustes (as implemented in this example) is therefore more of an 'eye-ball' check than a robust statistical analysis.
plot(f,'r','LineWidth',2), hold on, axis equal, plot(g,'k','LineWidth',2) title('Pebble and its reflection','FontSize',16), hold off
Here is how the pebble and its reflection compare after each stage of translating, scaling and rotating.
[f,g]=ShapeAnalysis(f,g);
ans = 0.097593759012228
Comparing this result to the Procrustes distance of the pebble and a frisbee shows that the pebble is closer in shape to a frisbee than its own reflection!
end