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.