MATLAB code for Gaussian Mixture Model Segmentation algorithm



We implemented a further post-processing segmentation algorithm based on Gaussian Mixture Models (GMMs).

We used the GMM-based method to model the gray image within a connected component as a mixture of Gaussian spots.

We implemented this as follows: first, taking a connected component generated by one of the core algorithms, find the gray pixel intensities for each pixel in the component, generate a histogram of pixels, then find a threshold using Otsu’s method to discriminate between higher intensity pixels and lower intensity pixels. The coordinates of all high intensity pixels were then passed to a series of Gaussian Mixture Models.

The initial centers were randomly placed. The GMMs were run for all values of k between 1 and the pixel area divided by 10, with a maximum of k = 75 to ensure it ran in reasonable time.

We evaluated the performance of the GMMs for that connected component at different K values with the AIC measure, and chose the GMM with the lowest AIC. We extracted the positional clusters from the GMM, performed post-processing to ensure they were connected components, and added their centroids to the result.

Some image enhancement methods

Efficient Graph-Based Image Segmentation

MATLAB Implementation of segmentation-based disparity averaging


There are no reviews yet.

Be the first to review “MATLAB code for Gaussian Mixture Model Segmentation algorithm”

Your email address will not be published.