3D ball tracker

From ISRWiki
Revision as of 16:15, 13 May 2009 by Mtaiana (talk | contribs)
Jump to navigation Jump to search

This page contains information on how to build, set up and run PF3DTracker, the particle-filter-based 3D ball tracker. The page is in the process of being written, so it's very incomplete and the information you find on it might be inaccurate.


Get the source code

The source code of the tracker is not in the iCub repository at the moment, I need to make sure it can be built on Windows before I commit it. Send me a mail at mtaiana at isr*ist*utl*pt and I'll give you the code.


Build the tracker

Build the tracker on Linux

I'll call the root directory of the tracker code $PF3DTracker. To build the tracker you need to enter $PF3DTracker, then run the commands:

  cmake .
  make

Build the tracker on Windows

Sorry, I don't know how to do that so far.


Set the tracker up

You need to create a colour model for the specific ball you want to track. This is done by grabbing images with the camera you want to use, cutting out the parts of the images where the ball is seen and pasting them all together in one file. The background of this image should be white, as white pixels are discarded when building the model histogram. The robustness of the tracker will depend on this model: you should include images in which the ball is seen under different lighting conditions, and the more images you cut out, the better.

The colour template image should looks something like this:

Run the tracker

ToDo

Fix $PF3DTracker/conf/Find_IPP.cmake
Turn image size into a parameter loaded at start time
Turn the number of particles into a parameter loaded at start time
Get rid of IPP dependency, using OpenCV
Build the tracker on Windows
Start writing a wiki-based tutorial


Theoretical foundations of the tracker

If you want to know more on the theoretical ideas behind the tracker, please have a look at the papers on this page: [1].

Demo videos

If you want to watch videos and evaluate the performance of the tracker, please have a look at this page: [2].