INRIA logo
Christopher Mei
PhD Student
Central Catadioptric Systems
And
SLAM
INRIA logo

tinsel

Christmas Tracking

or

How to build a Catadioptric sensor for less than 25 Euros !

tinsel

I'm sure during your Christmas shopping you have been thinking "Wouldn't an omnidirectional camera make a wonderful present !" But they are so expensive ! Or maybe not, here is a recipe to make a cheap sensor good enough for tracking !

Ingredients :
  • a silver Christmas ball (2E90 for 3)
  • an old webcam (the one you bought but never used) (20 Euros)
  • a compass
  • a dark paper plate
  • some string
  • a nice Christmas wrapper for the tracking
  • your favourite omnidirectional calibration toolbox (free :-)

TIP : Be careful to use a "good-quality" ball that isn't made of two separate half-spheres...

ingredients


Method :
  • draw a circle at the center of the plate using the compass, the circle should be a bit smaller than the ball's diameter. Cut out the center.
  • introduce the sphere in the plate. There is probably a spot on the sphere with strong distortion (due to the glass making process) that you can try and hide it on the sides.

  • plate
  • Now comes the tricky bit : you must find a way of keeping your webcam looking upright. A folded sheet of paper worked fine in my case (but it was very unstable). And there it is :

  • setting

And here is our first image :

firstImage

Doesn't look bad ! (I like the way the camera seems to hover in mid-air) But can we actually do anything with it ? First of all we will have to calibrate our new sensor...

Calibration :

The calibration toolbox is not adapted to non-central catadioptric sensors in theory and to calibrate it I used a version of the toolbox that is not yet online and calculates the mirror parameters (I will soon put it on the Web). However, the calibration showed that a parabolic model gave the best projective results so the toolbox currently online should work.

To adapt to the sphere's projective model and the poor quality of the webcam, the model seems to "use" the radial distortion parameters. This made the point extraction process on the grid hazardous but with a lot of "Calibration/Analyse Error/Recomp. Corners" cycles a pretty impressive accuracy was obtained (using two radial distortion parameters) : the error in pixels was of 0.168 in x and 0.153 in y!

Here are a few images with their undistorted versions :

firstImage firstImage
firstImage firstImage

(Here are the images if you would like to try out the calibration)

Tracking :

And the sensor is sufficiently good to track Father Christmas (or Santa Claus ;-) !
Here are a few images of a tracking sequence :

image01 image08 image15
image27 image31 image42

You can have a look at a short video of the tracking here.


tinsel

Happy Christmas !

tinsel