Skip to main content

Activity 11: Color image segmentation

In image segmentation, we want to segment or separate a region of interest (ROI) from the entire image. We usually do this to extract useful information or identify objects from the image. The segmentation is done based on the features unique to the ROI. 

In this activity, we want to segment objects from the background based on their color information. But real 3D objects in images, although monochromatic, may have shading variations. Hence, it is better to use the normalized chromaticity coordinates (NCC) instead of the RGB color space to enable the separation of brightness and pure color information. 

To do this, we consider each pixel and the image and let the total intensity,  I, for that pixel be  I = R + G + B. Then for that pixel, the normalized chromaticity coordinates are computed as:
r = R/I;                g = G/I;                   b = B/I
The sum of all three is equal to unity, so it is enough to express chromaticity using only two coordinates r and g since b is dependent on both (i.e. b = 1- r - g). The r-g color space is shown in Figure 1.


Figure 1. Nomalized chromaticity
space. X-axis is r and y-axis is g.

I. Parametric probability distribution estimation

In the first technique we segment a color by taking the probability that a certain pixel belongs to the color distribution of interest. Pixel membership to a region of interest is determined from the joint probability p(r)p(g) where p(r) and p(g) are independent probability distributions along the r and g, respectively. We assume Gaussian probability distribution functions (PDFs) for both so we can write them as:



The yellow car in the image in Figure 2 is segmented using this technique. 
Figure 2. The yellow car is to be segmented from the entire image.

I tried two different patches and compared the results (Figure 3). The first patch was taken from the hood of the car while the second was taken from its door. Clearly, the second patch gave a better result since the we were able to segment much of the car's body instead of just the outlines as in the first patch. Hence, in selecting a reference region for the ROI it is important to take into account all possible shading variations in the color that we want to segment.



 Figure 3. ROI Segmented from the image using parametric estimation and the corresponding reference patches used where (a) was taken from the hood of the car and (b) was taken from the door.

II. Non-parametric Segmentation
For non-parametric probability distribu, we use the image's 2D histogram to determine the membership of a pixel to the region of interest. To do this, we use histogram back-projection in which we give each pixel location  a value equal to it's histogram value in chromaticity space.

The 2D histogram (32 bins) of the two reference patches in Figure 3  are shown in Figure 4. We know that this is correct since the location of the peaks are in approximately the same region as the observed color for the ROI (i.e. yellow). The histogram of the second reference patch covers a larger area since it has more shade variations.

Figure 4. 2D histogram of the two reference patches for the ROI (a) for the patch taken from the hood and (b) for the patch taken from the door

Again, we try to segment the car in Figure 2 using the same reference patches. The results are shown in Figure 5. Again, the second patch gave better results than the first patch. 



 Figure 5. ROI Segmented from the image using non- parametric estimation and the corresponding reference patches used where (a) was taken from the hood of the car and (b) was taken from the door.


Segmented ROIs using the first method produced images with smoother variations in shade since we used an analytic function to estimate the PDF, giving us continuous values. Segmentation using non-parametric was able to segment more of the car (observe the roof part) but it also included other parts of the image which had yellowish hue such as the portions of land visible through the vegetation. This means that parametric estimation is more selective in pixel-membership tagging compared to non-parametric estimation.

I would like to thank Ms. Maria Isabel Saludares for helpful discussions. 

Finally, I give myself a grade of 10/10 for successfully segmenting a region of interest (ROI) from the background. :)

Reference:
1. M. Soriano, "A11-Color Image Segmentation, " AP 186 Manual, 2012

Comments

Popular posts from this blog

Activity 10 Applications of Morphological Operation 3 of 3: Looping through images

When doing image-based measurements, we often want to separate the region of interest (ROI) from the background. One way to do this is by representing the ROIs as blobs. Binarizing the image using the optimum threshold obtained from the image histogram simplifies the task of segmenting the ROI. Usually, we want to examine or process several ROIs in one image. We solve this by looping through the subimages and processing each. The binarized images may be cleaned using morphological operations.  In this activity, we want to be able to distinguish simulated "normal cells" from simulated "cancer cells" by comparing their areas. We do this by taking the best estimate of the area of a "normal cell" and making it our reference.  Figure 1 shows a scanned image of scattered punched papers which we imagine to be cells examined under the microscope. These will be the "normal cells." Figure 1. Scattered punched paper digitized using flatbe

Activity 12: Basic Video Processing

Hello!  In this activity we will try to process a video of a kinematic event in order to extract information such as constants, frequencies, etc. For our group, we took a video of a 3D spring pendulum which we observed in one plane. We would like to trace its path and then try to determine its phase-space plot. The mass was covered in masking tape with the bottom colored red to facilitate easier segmentation. The video was taken using a Canon D10 camera at frame rate of 30fps.  Media 1. Video of the spring pendulum (first 50 frames only) The frames of the video were then extracted using Avidemux 2.5. The mass was then segmented from each frame using parametric segmentation. The patch of the region of interest (ROI) used for color segmentation is shown in Figure 1. Figure 1. Patch used to segment ROI  Using morphological operations, particularly Open and Close operations, the segmented images were cleaned. The extracted frames for different observation time t and th

Activity 8 Applications of Morphological Operations 1 of 3: Pre-processing Text

In this activity, we aim to be able to extract text (handwritten or typed) using image processing techniques that we have learned. The image in Figure 1 is the source of the text we need to extract.   Figure 1. Image of a document from which text will be extracted The image is tilted so it was rotated using Gimp 2.8. Using the same software, I selected a portion of the image and cropped it (Figure 2a). The image was then loaded in Scilab 4.1.2 and converted to grayscale for image processing. The grayscale image is shown in Figure 2b.   Figure 2. (a) Cropped portion from the rotated image of the document  (b) grayscale version of the patch in (a) The first task was to remove the lines, to do this, I took the fftshifted FT of the grayscale image and multiplied it by a mask to filter out the higher order frequencies that contribute to the lines. I then took the inverse FT to get the image with the lines removed. I then binarized the image and inverted it so that I can