April 2, 2006:
Ended up implementing the Sobel Edge Detector instead of the Canny as the web page I was looking at kinda glossed over some of the details.. at first the edge-map didn't look too good as it was totaly cluttered from noise. But a nice Gaussian smoothing took care of that! Now I get a decent edge-map from the original image, but it didn't miraculously make the feature detector awesome (as I had secretly hoped it would). Time to give this problem some more thought!
March 28, 2006:
Sweet, so driving home on a Friday night (I have a commute now :() I was thinking about a couple projects to work on. Out of the two, I picked Facial Feature Tracking since it was an area that I've had the least experience with (the other idea was a particle-based fluid simulator).
Got home that night, found a nice wrapper class for getting images from a web camera and I was off!!
From working on it that night and the next day I got a basic version working (albeit pretty slowly on my P3-450MHz). I was able to track three features (eyes and mouth) fairly well at about 5 frames a second. There is a little bit of drift in the features (especially if you move relatively fast for the framerate). Although it was able to re-find features after losing them sometimes.
The next day I worked on some fairly simple optimizations and got it up to 10 frames a second, which helped it to lose features less often.
If I have time when I get home tonight, my plan is to implement Canny Edge Detection, which I'm hoping I can use to vastly improve the accuracy of my feature tracking (currently all tracking is done on the raw images I get off the web camera (which, I might add, has tons of noise in it!)).
Anyhow, pretty happy with what it can do based off an algorithm I made up on my drive home and then worked on for about 2 days. :)