CS7322: Computer Vision II: Final Project Progress Report

Tracking a Tennis Ball

Joe Bayes


Summary

My first act when working on this project was, perhaps not surprisingly, to modify it somewhat. After explaining my project in class, several people came up to me and mentioned that it would be very difficult to track the ball on a tennis court due to its small size and high speed. I had considered the high speed of the ball, and was hoping that I could get a high enough frame rate to capture it satisfactorily, but I hadn't really considered the size of the ball as a limiting factor. As a way of stepping up to this problem, I decided to start with (relatively) close-up footage of tennis balls bouncing around in the CPL.

I filmed two segments of ball-bouncing of about 20 seconds each. At a frame rate of 20fps, the ball moves around fairly smoothly in the picture without skipping from place to place. Unfortunately, the ball does tend to blur quite a bit: much of the time the ball appears to be an oblong streak. Another problem I had was that the bouncing of the balls (or something) induced a small vibration in the floor, which was enough to introduce quite a bit of noise when I subtract the background out of the image.

I am doing my development in C on the sgi's, using the code that someone (Gabe, I think) provided in the class directory. So far I have achieved the following:

Future Plans

One improvement which I would like to make is to get some different footage. I feel that a higher frame rate, the absence of blur from the video, and a still background would do wonders for my system so far. I may try to capture the ball with a video camera and then digitize that; Gabe suggested that that may give a better quality video. I'm not certain that we have the technology available to get clear pictures of a ball moving at high speeds on a tennis court: if we can't do that, then I may end up just trying to capture the video of a ball bouncing in a room. I am also concerned about the moving background issue: if a small vibration caused by a bouncing ball was enough to produce significant noise in the output, what effect will things like wind, shaking chain-link fences, etc. have?

I also might play with different algorithms I learned last quarter in order to try to distinguish between the long, thin lines of noise and the (currently oblong but hopefully, in some new footage, round) picture of the ball.

Assuming I can get clear footage, or somehow subtract the noise from whatever footage I have, I think that a good goal would be able to distinguish between the movement of the ball and the movement of other objects in the picture, probably by position, and then removing only the ball. This is about as close as I can come to my original goal of having video of two players swinging their tennis rackets at nothing.

I am very interested in hearing comments about what I have done so far, and suggestions for future plans.

Last Modified: May 18, 1998


Joe Bayes, jbayes@cc.gatech.edu