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...

Activity 7: Morphological Operations

When talking about morphology, what immediately comes to mind are the forms and structures or shapes of objects. Hence, performing morphological operations imply that the shape or form of an object is altered.       In this activity, we will perform morphological operations on binary images. In particular, we make use of erosion and dilation . Erosion and dilation were performed on the following: 1. A 5×5 square 2. A triangle, base = 4 boxes, height = 3 boxes 3. A hollow 10×10 square, 2 boxes thick 4. A plus sign, one box thick, 5 boxes along each line Using each of the structuring elements below: 1. 2×2 ones 2. 2×1 ones 3. 1×2 ones 4. cross, 3 pixels long, one pixel thick. 5. A diagonal line, two boxes long, i.e. [[0 1],[1 0] ].      When performing these operations, it is important to note the “anchor” or “origin” of the structuring element in order to give an accurate prediction of the result. For the 2x2 ones, 2...