3D Reconstruction Using Voxel Coloring

Only available on StudyMode
  • Topic: Voxel, Camera, MATLAB
  • Pages : 26 (7237 words )
  • Download(s) : 135
  • Published : January 7, 2013
Open Document
Text Preview
3D Reconstruction using Voxel Coloring Koen van de Sande and Rein van den Boomgaard Informatics Institute University of Amsterdam The Netherlands October 9, 2004



During a Bachelors project [8] a practical setup for 3D reconstruction using the voxel coloring algorithm [10] was developed. The voxel coloring algorithm takes a number of photos with known camera position as input and outputs a 3D reconstruction consisting of a regular grid of cube-shaped voxels (see figure 1). Voxels are ‘volume elements’ in analogy with pixels.

Figure 1: On the left an input image for voxel coloring is shown, with 4 marked reference points (red squares) which need to be selected by the user manually in every image to determine camera position and orientation. On the right a voxel reconstruction created using voxel coloring. The images show a figure called Tweety which is trademarked and copyrighted by Warner Bros. The practical setup used consisted of a cheap webcam, a tripod and a home-built Meccano turntable. The setup could be used to take photos from different sides of an object automatically. We are going to perform 3D reconstruction using voxel coloring as well, but without using the turntable as it was shown in [8] that it isn’t really needed. During this assignment we are going to look at the different steps involved in 3D reconstruction with voxel coloring. Intuitively, the first step is to acquire images of the object we want to reconstruct (section 3). The second step is to determine the real-world position and orientation of the camera, as that information is required by the voxel coloring algorithm. We will cover the perspective camera model and camera calibration in section 5. After several in1

termediate steps1 we will cover the actual voxel coloring. After voxel coloring is complete one wants to view the reconstruction made; for this purpose an OpenGL voxel viewer for Windows is available2 .



This assignment will span 3 lab sessions. The schedule for these lab sessions is as follows: • Week 1. Image acquisition (section 3) and camera calibration (section 5). You should take pictures of an object suitable for voxel coloring and have performed extrinsic calibration on them. Hand-ins. You have to send us the code of your Matlab image acquisition function and answer the questions on the noisiness of the images acquired and on the intrinsic calibration. • Week 2. Combine your images and calibration to form a voxel coloring dataset, implement the projectVoxel function and perform voxel coloring on your dataset (section 8). After that you can work on implementing consistency checks. Hand-ins. You have to send us the Matlab code of your projectVoxel function, your implementation of the original consistency check and a few screenshots of a reconstruction based on your own images. • Week 3. Finish your implementation of the original and adaptive consistency checks, look at the effect of background removal on reconstruction quality and write your report. Hand-ins. Your report and your dataset(s). The final result of this assignment will be a written report. Your grade will be based primarily on this report.


Step 1: Image acquisition

The Image Acquisition Toolbox for Matlab has been installed on all computers in the lab room and there are five webcams available, which should be plug and play. The Image Acquisition (IMAQ) toolbox will allow you to easily access the webcam from Matlab, independant of model or brand of webcam (though there is some configuration needed). Matlab functions from the IMAQ toolbox you are going to need are: • imaqhelp [function], which can be used to obtain help about function. Use this to get specific help on IMAQ functions. • imaqhwinfo, which returns information about image acquisition hardware on the system. Use this function to get the name of your image device (only works if the webcam is connected). Supply the device name to obtain specific information about a...
tracking img