Tuesday, March 16, 2010

Activity 3: Silhouette Processing


Image processing of body outlines or silhouettes has been used in a lot of researches of biometrics using pattern movement of limbs or gait. Soriano et al. has used silhouette processing for the determination of curve spreads as a biometric for front-view gait for an individual [1]. In their study, they have demonstrated that features of the silhouettes such as concavities can be used to identify body parts. The time variations of the moving body outline are used to obtain the curve spreads specific to the individual. In this report, silhouette processing is demonstrated by determining the concavities of a chosen static image.

The image to be used is a picture of the oblation statue as shown in Figure 1. Morphological operations are implemented to determine the outline of the image. Image processing is performed in Matlab 7.

Figure 1. Original Image.

First, the image is converted to grayscale using rgb2gray function. The grayscale image is shown in Figure 2.

Figure 2. Grayscale Image.

Next, the grayscale image is binarized using a global thresholding via graythresh function. The binary image is shown in Figure 3.

Figure 3. Binary Image.

Only the outline of the image is need so the binary image is cleaned using imclose function. The cleaned image is shown in Figure 4.

Figure 4. Cleaned Image.

The outline of the cleaned image is determined using the edge function. The outline of the cleaned image is shown in Figure 5.

Figure 5. Edge detected Image.

The pixel locations of the edges are obtained with the bwboundaries function. The PixelList function of regionprops is not recommended for this task because the output pixel locations of this function do not follow the boundary. The plotted pixel locations of the outline are shown in Figure 6.

Figure 6. Plotted Outline of the Original Image.

A freeman vector is determined from pixel locations. The difference of two adjacent pixels is obtained from the freeman vector. The G value is a running sum of three adjacent difference. The G values represent the concavities. For a detailed discussion on the above process, see Reference 1. The plotted outline of the image overlayed with G values is shown in Figure 7.

Figure 7. Plotted image outline overlayed with G values.

The G values of the neck part of the oblation image are zoomed in and shown in the inset of Figure 8. It can be observed that flat regions have G values of zero. It is also observed that concave and convex regions have positive and negative G values, respectively.

Figure 8. Neck part with G values.

I give myself a grade of 10 for this activity.

References:

[1] M. Soriano et al., "Curve spreads - a biometric from front-view gait video," Patten Recognition Letters 25, 1595-1602 (2004).

[2] M. Soriano, "A - Silhoutte Processing," 2009.

No comments:

Post a Comment