site search  
 
 

AUGMENTED REALITY

 
 
 








[+QUICK INFO+]  
TEAM MEMBERS :   Kenny Teng
Jeremy Ng
Shirlene Lim
ASSIGNMENT :   Write a program that is able to read in a video stream of any kind, generate the 3-D model of the objects in the video feed and introduce a virtual object into the movie.
SPECIFICATIONS :   The system will be written using Matlab. It should not take a long time to generate the edited movie with the augmented reality in it.
RESULT:   Got an A in the class
   
If you thought my project was helpful to you,

[+OVERVIEW+]


This flowchart shows the steps used in callibrating and editing of the video stream to create the final movie with augmented reality. The input data is an uncompressed avi movie that has been taken with a digital camera.

For the first part of the Augmented Reality system, strong interests points are detected on the first frame of the movie sequence using a Harris detector. Once the feature points are collected, they are tracked across the whole frame sequence using a Lucas-Kanade motion tracker. Here is an example of a set of points that have been detected and tracked through 20 frames. The red tracks on the images are the tracked points.
Using the tracked points, the camera positions and locations can be tracked too at the same time. A recursive method is used to project the points from each frame into a 3-D space and continuously try to adjust the positions of every single point so that they eventually lie at a position where they give this 3-D impression. In this sense, the matrices M for the motion of the camera, and S for the 3-D shape that the tracked feature points generate, can both be used to generate the 3-D reconstruction of the hotel. This 3-D plot has been done in Matlab, and I manually drew a red outline on the edge of the points so that the shape can be easily seen. You can clearly distinguish the 3-D shape of the holel. This 3-D reconstruction is NOT positioned at the exact 'real' location of the object in euclidean coordinates of the world. The positions of the tracked features are accurate relative to each other only, to give this idea of a 3-D object.

From the 3-D reconstruction of the hotel, it is easy to select the location where the augmented object is going to be introduced. In this case, I decided to draw a symemtric box, for the sake of simplicity and ease of computation. The position, shape and size of the box, has been calculated using simple vector computation. Once, the augmented object has been introduced on the 3-D model, the inverse mapping that was used to create the 3-D image is used to transfer the augmented object on every single frame of the video sequence.


3-D Reconstruction of tracked features
Below is an example of 1 frame containing the augmented object that has been mapped back from the 3-D model to the corresponding frame, using the respective mapping matrix associated with this frame.

Once the mapping process is done, the whole augmented movie can be played. Below are couple of examples that have been generated using the Matlab codes. On the left, you can view the movie file used as the input, completely uncallibrated and unedited. The right version is the final one with the augmented object.

 
Unedited Movie

Augmented Movie
:: Site Map :: Contact :: Projects
©2007 Kenny Teng. All rights reserved