The Secret Vision Strategies
of the Interrupting Cows
Who we are:
The Interrupting Cows are a vision system created to track orange-shirted
people in the front of College of Computing room 102, Classroom 2000.
How we do it:
The tracking determines the background through a rigorous estimator
(namely, the median :) ) and then subtracts the non-orange components
of this image from the current frame.
The resulting orange blob is used to determine the placement of the tracking
interrupting cow.
What was attempted, but failed:
Our first reaction was to simply set everything in the picture that was not
orange to black. This failed due to the variations in lighting which caused
noise.
Next we compared successive frames to pick up the image differences. We used
this information to find moving objects, our hypothesis being that the
orange-shirted person should be the only moving thing. Unfortuantely the
variations in lighting also caused this to fail. This also would not have worked had the students in the front rows been in motion.
Then we attempted to take the average of the pixels in order to determine the
background. Our theory being that once we were able to determine the background
we could subtract it out, find the remaining orange blob, and then place the
tracking object. The average was unsuccessful, however, because the orange
weighed in too heavily so a shadow appeared on the image.
What worked:
Our final and most successful attempt was using a weighted median. Each time a
new frame is retrieved, the image is traversed, and the pixel colors are "stored"
in bins.
Each bin has eight values, and if the pixel color falls in that range
the bin number is incremented. Colors which are not orange are weighted more
than orange itself. The red, blue, and green values are stored
in three separate arrays. Once this is done, the array is traversed and
the median color for each pixel found. If this color is not orange and has
not significantly changed from the last image, the pixel is set to black.
When this is finished, we have a black image containing an orange blob. This
image is traversed and the center of the blob is found. This value is used to
place an interrupting cow over the orange-shirted person on the originial image.
This image is then displayed to the screen.
How this may be improved:
This algorithm may be improved by adding adaptive thresholding and adaptive
bins. It could also use some smoothing out to allow for smoother camera
movement.
The Code:
vision tar ball
The Creators:
The algorithms for the Vision Interrupting Cows were developed by Gary
Yngve and Alison Smith, junior computer science majors at Georgia Tech.
Gary may be contacted at gary@cc.gatech.edu
Alison may be contacted at ans@cc.gatech.edu
Back to the Interrupting Cows' Homepage