Other Methods of Edge Detection

There are many ways to perform edge detection. However, the most may be grouped into two categories, gradient and Laplacian. The gradient method detects the edges by looking for the maximum and minimum in the first derivative of the image. The Laplacian method searches for zerocrossings in the second derivative of the image to find edges. This first figure shows the edges of an image detected using the gradient method (Roberts, Prewitt, Sobel) and the Laplacian method (Marrs-Hildreth).

Various Edge Detection Filters
Notice that the facial features (eyes, nose, mouth) have very sharp edges. These also happen to be the best reference points for morphing between two images. Notice also that the Marr-Hildreth not only has a lot more noise than the other methods, the low-pass filtering it uses distorts the actual position of the facial features. Due to the nature of the Sobel and Prewitt filters we can select out only vertical and horizontal edges of the image as shown below. This is very useful since we do not want to morph a vertical edge in the initial image to a horizontal edge in the final image. This would cause a lot of warping in the transition image and thus a bad morph.

Vertical and Horizontal Edges
The next pair of images show the horizontal and vertical edges selected out of the group members images with the Sobel method of edge detection. You will notice the difficulty it had with certain facial features, such as the hairline of Sri and Jim. This is essentially due to the lack of contrast between their hair and their foreheads.

Vertical Sobel Filter

Horizonatal Sobel Filter
We can then compare the feature extraction using the Sobel edge detection to the feature extraction using the Laplacian.

Sobel Filtered Common Edges: Jim

Sobel Filtered Common Edges: Roger
We see that although it does do better for some features (ie. the nose), it still suffers from mismapping some of the lines. A morph constructed using individually selected points would still work better. It should also be noted that this method suffers the same drawbacks as the previous page; difficulties due to large contrast between images and the inability to handle large translations of features. Another method of detecting edges is using wavelets. Specifically a two-dimensional Haar wavelet transform of the image produces essentially edge maps of the vertical, horizontal, and diagonal edges in an image. This can be seen in the figure of the transform below, and the following figure where we have combined them to see the edges of the entire face.

Haar Wavelet Transformed Image

Edge Images Generated from the Haar Wavelet Transform
And here are the maps of common control points generated by the feature extraction algorithm for the Jim-Roger morph.

Haar Filtered Common Edges: Jim

Haar Filtered Common Edges: Roger
Although the Haar filter is nearly equivalent to the gradient and Laplacian edge detection methods, it does offer the ability to easily extend our edge detection to multiscales as demonstrated in this figure.

Extended Haar Wavelet Transform

Click here to go to laplacian page

Click here to go to the automatic morphing page

Click here to return to the main morph page