We Love Waffles... so light, so fluffy, great with maple syrup.
We also love DSP... so relevent, so useful, great with matlab.
On to the meat of the subject...


We are worried about face recognition. When you look at waffles like we do all day, sometimes it's hard to recognize Ethel and Doris when they've just had a new hair-do. It doesn't help matters when the grease from the 'sear-o-matic' splatters up our glasses.  This is a problem. But we kind of know what they look like, maybe we can get our computer to help us out. We've also been on the look-out for Elvis.


The 'Elvis Similarity Index'

If we can take pictures of everyone who comes into the restaurant then our computer can help us figure out if the King was here. Maybe we can compare the important stuff like the nose, eyes, and hair-do to a picture of Elvis. Cause nobody has a nose like Elvis. I bet you didn't know that Elvis likes waffles. His favorite kind are 'beer waffles', want our recipe?


You don't have to be thicker than maple syrup to know that people do a good job at recognizing folks.  If computers are so smart, then what's the problem?  We've got stuff built into our brains that allows us to distinguish Mom, say, from that weird old man who always orders his grits extra-soggy.   There's a whole bunch of people called 'computer scientists' , you can spot them by their pasty complexions and Star Trek t-shirts, who want to try and make computers think like people.  The problem is that even the head-shrinks don't know how people are wired.   But we can try and simulate how the brain works...

Hey! Wanna take a tour of GRACELAND!


The 'Dick Nixon Similarity Index'

"Good evening:

"I want to talk to you tonight from my heart on a subject of deep concern to every American. And that is our own sense of self. Me? I always like to draw attention to myself, anything and everything. Televised speeches, baby kissing events, you name it! Hell, when things calmed down and people started to forget about me, I had to do something to hit the front page ... but that's another story.

"To have served in this project is to have felt a very personal sense of kinship with each and every American. I mean, there's a little Dick in everyone, right? In leaving it, I do so with this prayer: May God's grace be with you in all the days ahead.


The 'Alien Similarity Index'

Ye ever wonder who yer neighbor really is? That old senile look just seems so ... overdone? The beady eyes, the contoured forehead - is that natural? Well, I'm telling ye: if Roswell taught us anything, it's that we are not alone in this world. Who knows, yer neighbor may very well be the one responsible for JFK's assissination. Or the Challenger disaster. Or maybe even the kidnapping of the King! It's a conspiracy I'm telling ye - they've been studying us for years, trying to find our weaknesses. We have to get out of here as fast as we can! Trust no one!


The 'Jackie Similarity Index'

For all you die hard Jackie fans out there I have some sad news. Jackie's a great guy and all, but when it comes to action, he is just too sensitive a guy. Thats why they have Dennis. You see, with the skills obtained from who knows where, Dennis is Jackie's stunt double. That scene where Jackie leaps out of a burning vat of industrial strength tar? That was Dennis. The one with one Jackie versus twenty Nazi cyborgs from hell? That was Dennis too. The noodle fight? Dennis. The milkshake that saved the world? Dennis' milkshake. Couldn't tell could you? Could you pass off as Jackie? Does your facial features have the stuff to make you a Jackie stunt double? Well you can take the test. See how your face fits against Jackie's. Pass the test and you may very well be on your way to be like Dennis ... provided that you also pass the physical.


Active Contours

Active contours, also called snakes, adapt to edges in an image. Snakes were proposed by as a top-down mechanism for locating features of interest in images. Initially, a set of control points which are connected by effectively straight lines are placed on the image. The snake is then controlled by a set of internal and external forces that can be controlled by the user interface. The snake function causes it to move so as to reduce its energy. The external energy is the energy in the image which may be obtained from the inverted image then convolved with a gaussian and then turned into a gradient. The blurring of the image help the snake find edges in the image by spreading them out. The minimization of this energy function causes the snake to move toward edges and shrink wrap around objects.

One of the chief virtues of snake representations is that it is possible to specify a wide range of snake properties, through a function called the energy by analogy with physical systems. A program controlling a snake causes it to evolve so as to reduce its energy, so by specifying an appropriate energy function, we can make a snake that will evolve to have particular properties, such as smoothness.

Along the same lines, this can be used to track objects. The idea behind tracking moving objects is then simple. In the first frame, let the snake minimize around the object. Then, for subsequent frames, just use the current position of the snake as the original position for the next frame.

However there are issues such as sensitivity to noise. For a reasonable contour run, solid background is needed. Any texture in the background confuses the contour. Additionally, high contrast between the foreground object being tracked and the background is necessary. Bold lights and dark work best. The sensitivity to noise requires that a good initial placement be given. That is, the original snake drawn as an oval must be close to the object.

The principal disadvantage is then of a serial nature; errors generated at a low-level are passed on through the system without the possibility of correction. The principal advantage of snakes is that the image data, the initial estimate, desired contour properties and knowledge-based constraints are integrated into a single extraction process. Snakes incorporate a global view of edge detection by assessing continuity and curvature combined with the local edge strength to determine an edge.

Hough Transform

Recognizing objects often depends on identifying particular shapes in an image. The area of shape representation is concerned with finding ways of describing shape that are sufficiently general to be useful for a range of objects, whilst at the same time allowing their computation from image data, and facilitating comparisons of similar shapes. Finding the eyes is an important stage of feature extraction in automatic face recognition. One problem with many edge detection algorithms is that the edge points are not linked together in any way. One approach to link points into lines is to perform a Hough transform. Current approaches include standard feature extraction techniques using heuristic methods specifically developed for human eyes. We present a new method for finding eye centres using a gradient decomposed Hough Transform which embodies the natural concentricity of the eye region in a peak reinforcement scheme to improve accuracy and robustness. This enhances a standard feature extraction technique with an analytic approach, which can be applied to the whole face without priming of estimates of eye position and size.

The Hough Transform is a popular method for detecting curve segments like line segments, circles, ellipses etc. in an image. These global features can be used for solving machine vision problems like recognition and classification of objects in industrial applications.

Hough transforms are used to change the mode of representation of a data set to facilitate detection of specific geometric forms. For example: detecting ellipses of a specified diameter (red corpuscules) in a numeric micro-photograph of a drop of blood.

Parametric representations are chosen to characterize the edge pattern the hough transform is detecting. The idea is to accumulate evidence for different line equation parameters in "parameter space" for each edge point in "image space". The hough transform calculates the gradient magnitude, thresholds to get edge points, and plots curves in (r,t) space for each point. Local maxima in the (r,t) image are identified and uses these values to draw the corresponding line segments in an output image.

The circular hough transform is generally used for roundness estimation of objects. And the linear hough transform for arrangement analysis and classification. The circular Hough transform finds circles of a given size in an image. he transform is computed by taking the gradient of the original image (in this case, the Sobel gradient) and accumulating each non-zero point from the gradient image into every point that is one radius distance away from it. That way, edge points that lie along the outline of a circle of the given radius all contribute to the transform at the center of the circle, and so peaks in the transformed image correspond to the centers of circular features of the given size in the original image. Once a peak is detected and a circle 'found' at a particular point, nearby points (within one-half of the original radius) are excluded as possible circle centers to avoid detecting the same circular feature repeatedly.

One of the most robust methods is the circular Hough transform to fit to the data. This will tell you the local radius of curvature in a "best fit" sense using all of the pixel data present, as well as the location of the center of the local arc and the fraction of the total curve that contributes to that arc.


Ted Howard
Jamie Shorey
Dennis Wu