# CSE528 Final Project Report

## 1.          Goal

In the light of the algorithm described in "Single View Metrology" by Criminisi, Reid, and Zisserman, ICCV 1999, we plan to develop a system that can reconstruct 3D texture-mapped models from a single image and user interactions.

## 2.          Approaches

• ### 3D position calculation

step 1: Define parallel lines to calculate vanishing points, then we can get a 3x4 projection matrix P = [p1 p2 p3 p4], where p1 = Vx, p2 = Vy, p3 = Vz and p4 = the origin of the world coordinate system (which is also defined by the user);

step2: Define reference lines to calculate alphas. We wish to measure the length of a line specified by a base point B on the XY-plane and top point T in the scene. These points may be chosen as respectively (X, Y, 0) and (X, Y, Z), and their images are b and t. If P is the projection matrix then the image coordinates and the reference length are

step3: Define measuring lines to recover the 3D position (X, Y, Z). It is straightforward to calculate the Z component from the idea in previous step. To calculate X and Y components, we should use the plane to plane homology H' which can be extracted from the projection matrix ignoring the third column:

Then the inverse of H' maps the image point of (X, Y, Z) onto the reference plane at (X, Y, 0).

• ### 3D model reconstruction and texture mapping

We use the points we have measured to define several planar patches, then we compute texture maps for each of these patches. Since most patches are not rectangular regions, we should perform a standard rectification.

• ### Create a VRML model

Finally, we use VRML to create a 3D model in order to view our result in IE or Netscape.

## 3.          System

The final system has the following functionalities:

### User Interaction

• Specify reference planes, lines and points

• Define the measurements in the image he/she gets from realistic objects

• Define the objects in the image he/she wants to reconstruct 3D models from

### Computation

• Compute vanishing points and vanishing lines

• Compute measurements of objects

• Reconstruct 3D models

• Texture mapping for 3D models

• Create a VRML model

## 4.          Results

Original Image                                VRML Model