CS223B - Intro to Computer Vision Final Project

Test#1 - Dribbling the ball

This was the test that I used during the development of the system. It simply consists of a player dribbling the ball, so I thought that it would be easy to track the ball. However, it turned out that his small adjustments to fake out the defender also faked out my initial algorithms that used only Lucas-Kanade to track the ball.

Video:


Original Footage. Trivial to track by eye, yet it contains an occlusion which could confuse the program.

Final Results. Excellent tracking. Note the comical "head tracking" when the ball is occluded.

Outtakes:

These outtakes include some of the algorithms I tried initially.


Results from using the Lucas Kanade optical flow algorithm, similar to what we had implemented for homework 1b. As can be expected, the program tracks the ball until the player tries to fake out the defender faking out the computer in the process. By the time the sequence is halfway done, the program is quite lost. Actually, the only reason that this program is able to keep up for the first few seconds is that the camera is panning pretty much at the same rate the ball is rolling, keeping it in the same place on the screen.

First implementation of a hybrid algorithm, which performs edge detection and optical flow at the same time. Fares better than the first algorithm, although it still loses the ball when it moves too quickly (when the player kicks the ball ahead to the goalie). Note that after the play is over, the algorithm settles on a player's head since it resembles the ball.

Comments:

Over all, my hybrid algorithm performs well in this test case. It is interest to note that the algorithm decides to follow the player's head during the time that the ball is occluded.

Go on to the next test.