Computer Vision, Fall 2016

Project #4: Single View Modeling

Click here for source codes!

Date Submitted: 9 Nov 2016

446216 (Ying Wang)

Project Description

In this assignment, you will fill in various routines and ultimately create 3D texture-mapped models from a single image using the single view modeling method discussed in class. The steps of the project are:

1. Image acquisition
2. Calculate vanishing points
3. Choose reference points
4. Compute 3D coordinates of several points in the scene
5. Define polygons based on these points.
6. Compute texture maps for the polygons and output them to files.
7. Create a 3D texture-mapped VRML model
8. EXTRA CREDIT: Create a reverse perspective paper cutout of the object.
9. Submit results

-- Courtesy of Course Website

1. Source images "The Fifth Element"

The image is a screenshot of movie "The Fifth Element".

2. Points, lines and polygons

Draw points, lines

3. Procedure of making the 3D model

a. In the SVM UI Interface, I draw 3 X lines in green color, 5 Y lines in red color, and 4 Z lines in blue color, as showed in the aboved image. Choose "Tools->Compute_VPs" and the three vanishing points are computed and showed in the terminal.

b. I specify 4 points in ground XY plane as the four reference point, one point in Z axis as the reference height point. Push them into the stack and choose "Tools->Compute Homography" and the H, Hinv matrix are computed and showed in the terminal.

c. Then, I choose points above the knowned points and having the same XY coordinates and compute their positions. First push the known point on the ground, then push the point to be computed into the stack, and choose "Tools->Same_XY". Then, the unknown point becomes known and shows a rectangle around itself.

d. Use the newly computed point to compute the other points in the same Z plane. Push them in the same order as before, and choose "Tools->Same_Z_Plane". Then it is done.

e. I first draw 5 planes manually. Choose "Edit->Polygon". Enter "Ctrl" key then select the three vertices of the polygon to be drawed, press "Enter" key and the polygon will be automatically connected. It shows a small rectangle in the center.

f. Finally, choose "File->Save VRML" and it will save all files we need to generate the 3D model.

4. Text outputs in a terminal

Compute the vanishing points. Text outputs in a terminal of "Tools->Compute_VPs".

Manually specify 4 points on the ground, push them into the stack and compute homography.


Text outputs in a terminal of "Tools->Compute Homography".


Draw 5 polygons of up, back, ground, right, left faces of the images.


5. Still images (rendering) of the reconstructed VRML models

The 3D model result displayed in MeshLab.

6. Texture map images

Texture images: up, back, ground, right, left faces of the model generated.


7. Unwrapped model image

Create XZ rectangle and sweep this rectangle to get unwrapped model.

1. Source images "The Night Cafe"

The image is The Night Cafe, a master piece of Vincent van Gogh.

2. Points, lines and polygons

Draw points, lines

3. Procedure of making the 3D model

Similar to the previous one.

4. Text outputs in a terminal

Compute the vanishing points. Text outputs in a terminal of "Tools->Compute_VPs".

Text outputs in a terminal of "Tools->Compute Homography".


Draw several polygons of the images.


5. Still images (rendering) of the reconstructed VRML models

The 3D model result displayed in MeshLab.

6. Texture map images

Texture images: up, back, ground, right, left faces of the model generated.



7. Use different polygons





Bell & Whistles(Extra Points)