Tuesday, March 16, 2010

Activity 4: High Dynamic Range Imaging


This research has been accepted for publication in IEEE Transactions on Plasma Science. Publication date is on November 2011.

Digitized photographs lack the dynamic range of intensity values. So some parts of the photographs are not seen because it may be underexposed or overexposed. High dynamic range (HDR) imaging is used to combine in an image its low and high intensity values. Debevec and Malik has used image processing to develop HDR images from a set of low dynamic range (LDR) images with varying shutter speeds [1]. In this report, the method of Debevec and Malik is used to obtain a HDR image of a magnetized argon sheet plasma.

Several plasma images as shown in Figure 1 are taken under various exposure values (EV) using an Olympus FE-19 camera. All the images are taken at same stop of f/2.8. The shutter speeds of the images are determined from the properties of each image.

Figure 1. Argon plasma images taken at various shutter speeds: (a) 1/200, (b) 1/160, (c) 1/125, (d) 1/100, (e) 1/80, (f) 1/60, (g) 1/50, (h) 1/40, (i) 1/30, (j) 1/5, and (k) 1/2 s. [3]

The response functions of all the color channels are determined using the Matlab code of Debevec and Malik [1]. For a detailed discussion about the process of obtaining HDR images, see Ref. 1. The response functions are shown in Figure 2.

Figure 2. Response functions of all channels for an Olympus FE-19 camera.

The radiance maps of each channel are then obtained from the response functions. The radiance maps are shown in Figure 3. A jet colormap is used to represent the intensity values of the radiance maps.

Figure 3. Jet false color images of radiance maps of all channels: (a) red, (b) green, and (c) blue. [3]

Each radiance map has different scales. Linear tone mapping is used to make a composite image of the radiance maps. The linear tone mapped HDR image is shown in Figure 4. It is observed that the sheet plasma is actually tapered with its peak intensity near the anode.

Figure 4. Linear tone mapped HDR image.

The LDR and HDR images of the sheet plasma are shown in Figure 5. It is seen that the HDR image has a broad range of intensities compared with the LDR images. As the shutter speed is increased, the LDR image becomes saturated and the sheet plasma spreads out. Thus, the saturated LDR image may give rise to false information about the real size of the sheet plasma.

Figure 5. Upper part: LDR and HDR images. Lower part: Contrast stretched images.

By comparing the histograms of the LDR and HDR images as shown in Figure 6, it is observed that the HDR image has a broad range of pixel values compared with LDR images. For the underexposed LDR images, the high intensity values are missing. On the other hand, for the overexposed LDR image, the low intensity values are the ones missing.

Figure 6. Histogram of LDR and HDR images. [3]

I give myself a grade of 10 for this activity.

References:

[1] P. Devebec and J. Malik, “Recovering High Dynamic Range Radiance Maps from Photographs,” SIGGRAPH’97.

[2] M. Soriano, "Activity 4: High Dynamic Range Imaging," 2009.

[3] L.M. Rosario et al., "High Dynamic Range Imaging of Magnetized Sheet Plasma," IEEE Transactions on Plasma Science (to be published).

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.

Activity 2: Hough Transform


The Hough transform is a feature extraction methods used in image analysis to find arbitrary shapes such as lines, circles, ellipses, etc. In this report, Hough transform is implemented in Matlab 7 and is used to fine lines in the image shown in Figure 1.



Figure 1. Original Image.

The original image is converted to graycale (see Figure 2).

Figure 2. Grayscale Image.

The edge function is the used to determine the outline of the grayscale image (see Figure 3).

Figure 3. Edge Detected Image.

The hough function is performed to determine the accumulator matrix of r and θ (see Figure 4). The equations of lines are determined from peaks of the accumulator matrix (white circles in Figure 4).

Figure 4. Hough Transform.

An overlay of the lines and the original image is shown in Figure 5.

Figure 5. Original Image with found Lines (colored blue).

I give myself a grade of 10 for this activity.

Reference:

[1] M. Soriano, "A - Hough Transform," 2009.

Activity 1: Adaptive segmentation and tracking using the color locus


Face detection has been at the forefront of image processing researches due to its application in various new technologies such as in security and communications. One of the problems in face detection is the changes in skin color under various illuminations. As a solution, Soriano et al. obtained the skin color locus and demonstrated its capability for adaptive face tracking [1]. In this report, adaptive face tracking is demonstrated on a video by performing color image segmentation per image frame. A skin locus is determined to be able to track the face under various illuminations.

The video is first parsed in image frames with downloadable software stoic video converter. Adaptive face tracking is implemented with Matlab 7. Color image segmentation is performed on each image frame. A region of interest (ROI) (see Figure 2) is cropped from the image frame (see Figure 1) and used as the reference for the skin color under a certain illumination.

Figure 1. Image frame.

Figure 2. Cropped region of interest (ROI) from the image frame.

The RGB color of the ROI is transformed into normalized chromaticity coordinates. Non-parametric segmentation is used to obtain the 2D histogram of the ROI. The skin color is tracked by histogram backprojection. See Reference 2 for a detailed discussion about color image segmentation. The segmented image is shown in Figure 3.


Figure 3. Segmented Image.

Morphological operations are performed on the segmented image to obtain the center of mass. The segmented image is first binarized by global thresholding using graythresh function (see Figure 4).


Figure 4. Thresholded Image of the Segmented Image.

The binarized image is then cleaned with imclose function (see Figure 5).


Figure 5. Cleaned Image.

The location of the center of mass represented by a red circle and a green bounding box are overlayed with the image frame (see Figure 6). To speed up the tracking, color image segmentation is only performed on the region of the bounding box for the next frame.


Figure 6. Tracked Image under White Flourescent Lamp.

The tracked images under various illuminations are shown in Figure 7.

Figure 7. Tracked Images at Different Illuminations.

The RGB tracked images are then converted to a video using Windows Movie Maker. The video tracking results are shown in Figure 8.


Figure 8. Video Tracking Results.

I give myself a grade of 10 for this activity.

I would like acknowledge thirdy for lending me the images. I would also like to thank kirby for allowing the class to use his video.

References:

[1] M. Soriano et al., "Adaptive skin color modeling using the skin locus for selecting training pixels," Pattern Recognition 36, 681-690 (2003).

[2] M. Soriano, "Activity 12: Color Image Segmentation," 2009.

[3] M. Soriano, "A - Adaptive Segmentation and Tracking Using Color," 2009.