Variational Bayesian Mixture of Probabilistic PCA for Shapes

Implements mixture of PPCA's for point clouds
184 download
Aggiornato 5 mag 2017

This class computes a Mixture of Probabilistic Principal Component Analysers
from spatial point clouds with no point-to-point correspondances. If the
point clouds represent shapes, the model generates clusters of shape
atlases, computing mean shape and modes of variations in each cluster.
The computed Lower Bound (LB) on the data likelihood can be used for automatic
model selection (i.e. unmber of clusters, modes of varations, etc).


>> vB = vBMixPCA( 'pointSetsList', 'gmmFileName', M, L, J);
>> vB = vB.solve(0, nIter);


pointSetsList: is the name of a file listing the absolute paths to point sets. Each point
set file should define N_k x D (dimensional) points in rows:
x1 y1 z1
x2 y2 z2
gmmFileName: is an (optional) GMM file defining initialization. This can
be empty (i.e. []). In that case, the algorithm will fit a GMM (with M
centroids) to the available points (usually slow). You can save your GMM file using
writeGmm method provided by the class for a later use.

M: is the number of Gaussian centroids which define the GMM for each point
set. M*dim(points) determines the latent dimension of the MixPPCA sapce.

L: is the number of varation modes in each PPCA cluster
J: is the number of PPCA clusters
nIter: is the numer of iterations to solve the mixture.

After solve() step, the vB object will store the variation modes, means of PPCA cluster,
point correspondances in its properties: E_W, muBar, E_T, E_Z, etc
where E_{.} stands for expectation.

You can access the E_Mu's (the projections to PPCA spaces), muBar (PPCA cluster means) using vis_E_Mu
method. For instance:

>> figure, vB.vis_E_Mu(1:vB.J,1:vB.K,[],1,[],0)

You can also visualize the point sets and their clustrs using

>> figure, vB.vis_X([],[])

The 'model evidence' for a particular setting of M, L, and J can be
accessed by vB.LB values, thus faciliating the model selection. LB can
also be used to monitor the convergence. In practice,

It is recommended that you have access to RAM > 16 GByte, to process a
collection of 50 point sets with 4000 points each.

This code uses a vairant of Fast and Efficient Spectral Clustering for
initial clustering of shapes.

The variables follow their original naming in the following paper:

"Mixture of Probabilistic Principal Component Analyzers for Shapes from Point Sets"
DOI 10.1109/TPAMI.2017.2700276,
IEEE Transactions on Pattern Analysis and Machine Intelligence (in press)

Please cite the above paper in case you find the model useful in your own
research. I might be able to help you with your quesries on how to run
the model, if you send me (Ali Gooya) an email to:

This software follows the MIT license prototype.

Cita come

Ali Gooya (2024). Variational Bayesian Mixture of Probabilistic PCA for Shapes (, GitHub. Recuperato .

Compatibilità della release di MATLAB
Creato con R2014b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Scopri di più su Statistics and Machine Learning Toolbox in Help Center e MATLAB Answers

Ispirato da: Fast and efficient spectral clustering

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Le versioni che utilizzano il ramo predefinito di GitHub non possono essere scaricate

Versione Pubblicato Note della release

Per visualizzare o segnalare problemi su questo componente aggiuntivo di GitHub, visita GitHub Repository.
Per visualizzare o segnalare problemi su questo componente aggiuntivo di GitHub, visita GitHub Repository.