Color Segmentation using GMM

Gaussian Mixture Model in Python

Sanchit Gupta
Life and Tech

--

The aim of this project is to train an unsupervised learning model for identification of objects with different color distributions present in a challenging environment (underwater video feed).

Fig: example of a video frame from which we need to segment out the different colored buoys

Where’s my Buoy!!

In principle, colors can be characterized by their RGB value. However, in the real world, any object placed in an environment will not have a solid single color. Its surface will reflect a variety of shades depending on the lighting conditions. Therefore, in order to recognize an object of a certain color distribution X, we need to teach a learning model to understand the different distribution of X in that environment. Once the shades are recognized, we can narrow in on the distribution of shades that matches our object the most thereby increasing the probability of identifying the object. This can be achieved using Gaussian Mixture models. In this project, our goal is to identify the distribution of orange, green and yellow underwater buoys from a video sequence and draw tight bounding contours around the detected buoys.

Why do we need Gaussian Mixture models and not just a single Gaussian Distribution?

--

--

Sanchit Gupta
Life and Tech

A Roboticist, An Entrepreneur and a tad bit Curious