






G4-Update1
Input
- Video of a football game with a sufficient viewpoint of the field and players
- User input indicating which players are whom and who should be tracked
Layers
- The input football video
- The CG indicators that track the player and display additional information (ie. name)
Pipeline
- Raw video from DVDs of Georgia Tech football games.
- Convert raw video to format suitable for OpenCV
- Perform segmentation on video to identify different components
- Camera calibration
- Player tracking
- Visualization of tracked players
Progress
- Obtained football video in raw form
- Converted some video to format for OpenCV
- Examined samples of OpenCV tracking and drawing code
- Applied tracking sample programs to football footage
- Modified tracking code to display text under tracked objects
- Modified tracking code to track multiple objects at once
Camera tracking
Done
- (old) Simple line segmentation & edge detection. Clean-up with dillation & erosion filters.
- (old) Created a model of the football field with all the yard lines, side lines and a sub set of the hashmarks
- (old) Projection of model on video (the initial projection is estimated manually)
- (old) Generation of sample points including normal search directions (this picture includes the projection of the expected hashmarks)
- Find closest edge in video along search normal
- Put random sample of motion vectors into system of linear equations, use least squares to solve this
- Evaluate solution with consensus of the other motion vectors (RANSAC)
- Update extrinsic parameters of camera
- Incorporated hashmarks
Initial alignment:

After a couple of frames:

Unfortunately it loses track after a while because there are too many wrong associations between sample and the wrong edges in the video. Also, the intrinsic parameters are off.

To Do
- Extend this to include intrinsic parameters of camera
- Make this more robust to outliers (better consensus metric)
- incorporate more sophisticated segmentation
Segmentation
Done
- Iterate over pixels and throw out those belonging to the field and stadium/crowd
- Allow user to pick players to get better idea of color of jerseys and throw out those pixels

Image without segmentation

Image with field removed via user input to pick out the lines
To Do
- Pick out the lines on the field to pass along for camera calibration
- Create area around players found during segmentation that can be passed along for tracking
Tracking
Done
- Researched various tracking algorithms
- Tested several blob tracking samples in openCV with our football footage
- Tested CAMSHIFT tracking algorithm on football footage, modified to display text information for tracked objects and to track multiple user-selected objects


Multiple objects can be selected, and CAMSHIFT does a decent job for a little while by staying on the objects

After several frames, however, everything "looks" the same to CAMSHIFT, and all three tracking regions converge
To Do
- Use information gained from segmentation to detect players and begin tracking their motion
- Modify sample tracking algorithms to improve performance.
Timeline (completed steps/next steps)
02/27 – Project Proposal
03/08 – Literature review mostly complete
03/15 – MidTerm Report: Exploratory segmentation, calibration, tracking and visualization done.
03/27 – 1st Update Due: Most of segmentation, calibration, and basic tracking done.
04/03 – 2nd Update Due: Some visualization done.
04/10 – 3rd Update Due: Tracking, visualization improvements.
04/12 – Preview Showing of the Final Project
04/17 – 4th and Final Update Due: More tracking improvements.
04/26 – Showing off our hard work
Links to this Page
- DVFX 2007 Groups last edited on 2 May 2007 at 12:51 am by coppola-win.cc.gatech.edu
- G4-Final Report last edited on 1 May 2007 at 12:26 am by c-67-191-163-57.hsd1.ga.comcast.net