


Programming Project #7 (proj7g) (third part  for the graduate class) 
Tour
into the Picture: Single View Modeling
The goal of this project is to create a simple,
planar 3D scene from a single photograph.
The project will follow the description in Tour into the Picture by Horry
et al. in
modeling the scene as a 3D axisparallel box.
First, we will let the user specify simple constraints on that box (the
back wall plus the vanishing point).
Then, it’s just a matter of extracting the coordinates of the box
in 3D, and texturemapping the faces of the box. The paper has a rather poor
description of the process, so consult the lecture
notes.
In this project, you are free to use any
programming language you like. Unfortunately
there is only sample starting code for MATLAB, found
here. If you would like to write a python
version for extra credit please let us know (probably not easy!). The Matlab code
includes a (rather messy) interface for
specifying the user constraints. It also
shows how to setup texturemapped surfaces in Matlab. Your part of the project is actually pretty
straightforward: you will need to compute 3D coordinates of each vertex of each
of the five planes. Then you will define
3D geometry corresponding to these planes.
Finally, you will use your homography warping
code from previous projects to rectify the textures for the planes and then texturemap them onto the
3D model. You will then be able to move
and rotate the camera and look at the scene from different viewpoints. The only
other parameter that you will need to worry about is the focal length f. You can just guess it (a wrong f will simply
mean that your scene is too deep or too shallow). Alternatively, you can get f from the EXIF
data (it’s not exactly correct focal length, but it’s in the right
ballpark).
Submit Your Results
You
will need to submit all your code.
Capture at least 3 photos conforming to the assumptions of the TIP
model. For each, show the input photo
and a couple of novel viewpoints.
Bells & Whistles