Dr. Guillermo Sapiro, professor in Pratt School of Engineering at Duke University, conducts ongoing autism research. Using image processing, he attempts to program a computer to detect whether babies (around eight to 14 months of age) display a sign of autism. This very early detection enables doctors to train these babies (when their brain plasticity is high) to behave in ways to counter the behavioral limitations autism imposes, thus allowing these babies to act more normally as they grow up.
Graduate students: Edward Kim, Hyunsoo Kim, and Zhuoqing Chang
- Unusual blinking pattern is a possible sign of autism.
- Goal: Develop a method to detect the eye state (open/closed) from a 30×30 pixel eye image.
- Method: Use 7,000 training eye images to learn the relationship between each pixel and eye state; then test the system on 3,000 new images.
- Students learn a method to solve an overdetermined system (using Moore-Penrose pseudoinverse to find the least squares solution).
One of the behavioral cues Dr. Sapiro looks for is the blinking of the babies’ eyes. This portion of the lecture notes focuses on the creation of an image processing algorithm for the detection of the blinking, in particular for the determination of whether an eye is open or closed, by applying concepts of linear algebra.
The input to the algorithm is a picture of an eye. Each input image consists of 30(width) x30(height)= 900 pixels. Each pixel carries a numerical value in the range of 0 to 255, which represents the combination light intensity detected by the red, blue, and green light receptor channels of a camera. The significance of each pixel varies. The image of an open eye will have two major dark edges around the eyes with a large pupil in the middle. On the other hand, the image of a closed eye will have only one dark edge with no pupil. There is a pattern associated with each of these two categories of images.
The challenge for the algorithm is to determine the pattern from the pixel data with a high probability of success. In our model, this is achieved with the aid of properly chosen weights for the individual pixels. The determination between an open or closed eye is then made in the following simple way. The algorithm multiplies the numerical pixel value by the pixel weight and then sums these products over all pixels. If the result of the summation is positive, the output of the algorithm is the integer ’1’ and the eye is determined to be open. If the sum is negative, the output of the algorithm is the integer ’-1’ and the eye is determined to be closed.
Read more about this project (PDF).