THE REALITY OF THE PROJECT

This section is about the problems of implementation I encountered because of my approached to it. The most difficult part of this project was finding the right equations which would give the correct result.

When I first visualized the problem it seemed fairly simple, but to ascertain whether the equations were going to work or not I had to work through some deep calculations - only to result in finding that these were or were not the equations to be used.

The first tracking system I used, the average system, was implemented for jpeg files as it was the first library available to me. Eventually I was introduced to the NCCA pixmap libraries which allowed me to deal with tiff file formats. However, this did mean that I had to re-adjust to using this library because its implementation is different from the jpeg one. The paper I found on motion analysis was difficult to locate,like many of the other papers. It took me a while to find out that the keywords I was using were bringing up the wrong kind of results, as I should have been looking for 'ego-motion' instead of 'camera tracking' or 'recovery'. If I had discovered this earlier I could have followed up the references in time. As it was, I didn't have enough time to get hold of any more papers through the library as it would have taken too long to get them through the inter-library system. So it seemed more sensible to work more on my own techniques.

Another minor hurdle to overcome was in the implementing of the Planar Mapping system. I had to get the system to work out the furthest possible position that the object could be from the camera/image plane. This was done using the equations [7] to [15] from that section and equations [16] and [17] also from the same place. Using this, it can be said that at the furthest possible distance from the camera point, that either the length of or can still fit on the rails created by equations [7] to [15]. The equations to work this out are;


and

The smallest value of z is taken as the starting point for working out the value of t0 by iteration.

The project has been left at an incomplete stage, as time got the better of me. The major problem that I am left with is in the way of applying rotations to the calibration of the camera. With all the basic calculations done the whole system needs to be set up so that it can be used in a universal co-ordinate system as opposed to screen space, world space and real-life co-ordinates. The viewing distance is also difficult to work out as the camera used in this project gave no noticeable reference to the position of the viewing plane ( usually marked with an 'o' with a line through it). So the final examples in the "Method" section show the problems that are occurring. The plane in the "door.mov" example does not match up to the orientation of the live action plane on the door, but the positions seem to match up. The "cone.mov" example is the same sequence, but I added an offset to the x-rotation of the plane to see if the motions matched up otherwise. It turns out that they do not, but they are not far away. Further analysis of the whole system will have to be done to get satisfactory results.

Some of the programs in this paper were designed early on in the project so will not produce exactly the same results as the video sequences which accompany them. The file which I am mainly refering to is 'tripod.cpp'. The output was for the camera and aim point coordinates, but was altered to output rotations. The original file was lost, so this is just an example of a similar program.

SOFTWARE USED

C++ compiler

Maya

Mathematica

Maple

REFERENCES

[i]Vision-Based Object Registration for Real-Time Image Overlay
Michihiro Uenohara and Takeo Kanade
[ii]Real-time Vision-Based Camera Tracking for Augmented Reality Application
Dieter Koller, Gudrun Klinker, Eric Rose, David Breen, Ross Whitaker, and Mihran Tuceryan
[iii]Video - Making of Jurrasic Park
[iv]Siggraph 1998 - Matte Painting in the Digital Age
http://www.matteworld.com/siggraph03.html
[v]Monalisa
http://www.dcs.qmw.ac.uk/research/parallel/monalisa/
[vi]Realtime Camera Calibration for Enhanced Reality Visualisation
J.P.Mellor
[vii]The principle of motion detection
Markus Maresch
http://www.icg.tu-graz.ac.at/ORGroup/Staff/maresch/pub/motion_detect/node4.html
[viii] Fuzzy Graph Tracking
H. Borotschnig, A. Pinz, D. Sinclair
[ix] Qualitative Spatial Reasoning to infer the Camera Position in Generic Object Recognition
Axel Pinz and Jean-Philippe Andreu
[x] Vision-based Blob Tracking
http://vismod.www.media.mit.edu/tech-reports/TR-372/node4.html
[xi]Recovery of Ego-Motion Using Region Alignment
M.Irani, B.Rousso and S.Peleg