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. Required fields are marked *