My thesis project was to create an application that uses only the image sequence captured from a single moving camera to calculate the trajectory of the camera and build a 3D reconstruction of the environment in a freely chosen representation. The results of the reconstruction have to be presented to the user in an interactive viewer allowing virtual navigation around the scene. An option the export the results and save them to a file must be provided.
In my thesis I first introduce the problem and give a review of the required theoretical background. After presenting solutions existing in the literature for some of the challenges, I present the steps of designing and implementing a system capable of solving this task. Next, I show testing results and evaluate the developed system. Finally, I suggest some ways of improving the application.
The presented system takes sequential image pairs from the input video stream and searches for feature points on the images. By finding corresponding pairs of feature points, it is able to determine camera motion between the pair of images, and using these transforms it calculates the trajectory of the camera. The known transformations allow stereo reconstruction from pairs of images, which results in point cloud data. Combining these point clouds along the trajectory leads to the reconstruction of the scene in a colored point cloud representation. The results can be viewed and navigated around in a visualization window or exported into VRML format.