# Point Distribution Model

A Point Distribution Model (PDM) is a statistical parametric model of the shape of a deformable object. The PDN is often used to parameterize the shape of a collection of keypoints for use in deformable model, such as the Active Appearance Model (AAM). The PDM is also an efficient parameterization for keypoint filtering to remove jitter and outliers.

## Constructing the PDM

Given a set of 2D keypoints, , we can flatten the coordinates into a â€˜shape vectorâ€™ of size :

Given a large collection of shape vectors, we can construct a PDM offline using the following algorithm:

- Compute the global similarity transform matrix using Generalized Procrustes Analysis given the N shape vectors. Apply the global transform to the shapes, effectively normalizing scaling, in-plane rotation, and translation across the shapes.
- Apply Principle Component Analysis (PCA) on the aligned shapes to obtain a basis of eigenvectors .
- Re-orthonormalize the PCA eigenvectors given the global similarity transform basis.

The final PDM will be described by:

- similarity model
- similarity mean shape
- PCA shape components
- PCA mean shape
- PCA eigenvalues where identifies the first eigenvectors in the PCA shape basis.

## Applying the PDM

Given a shape vector , the PDM weights can be recovered by projecting into the PCA space . However, before projecting into the PCA space the shape must be rescaled and aligned with the mean shape by applying Procrustes Analysis.

## Technologies:

- C++
- Eigen
- Python