Corresponding Points through MDL
An Active Shape Model (ASM) can only be trained if we have a set of corresponding points between object contours (2D) or object surfaces(3D). Usually these corresponding points are found by manual annotation of all objects by landmark points, or using shape-features. Another approach is the Minimum Description Length (MDL). In MDL all objects are mapped to lines/circles/spheres, then rough corresponding points are defined. From those points the PCA-shape model of the ASM is constructed. If the points have good correspondence the variation in the PCA model will be small, and first eigenvalues larges, in case of bad correspondence the variation will be large. We use an optimizer which moves the corresponding points along the contour/surfaces to minimize the variation and optimize the correspondence.
There are three examples,
1D, Line optimization
2D, Circle MDL of hand contours
3D, Sphere MDL of jaw surfaces
Notes!
The code can be a bit messy (because I have no spare time left).
3D MDL works much worse then my Shape-Context Registration approach on Mathworks. This is caused by the Mapping to the Sphere, which is not (yet) a conformal mapping.
Literature
- Genus Zero Surface Conformal Mapping and Its Application to Brain Surface Mapping
- MODELING THREE-DIMENSIONAL
MORPHOLOGICAL STRUCTURES USING
SPHERICAL HARMONICS
- Parametrization of closed surfaces
for 3-D shape description
- 3D Active Shape Models Using Gradient
Descent Optimization of Description Length
Cite As
Dirk-Jan Kroon (2024). Corresponding Points through MDL (https://www.mathworks.com/matlabcentral/fileexchange/36695-corresponding-points-through-mdl), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Statistics and Machine Learning Toolbox > Dimensionality Reduction and Feature Extraction >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Functions/
Functions1D/
Functions2D/
Functions3D/
Functions3D/Mesh2Tetra_Version1b/
Functions3D/Mesh2Tetra_Version1b/functions/
Functions3D/Mesh2Tetra_Version1b/functions/subfunctions/
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |