15-463 Fall 2007
In this project, a single photo is used to model a 3D scene. The photo must be approximately one-point perspective. Based on this assumption, a model can be built from a single view. The results of this project are to generate novel views after processing the input image.
The one-point perspective assumption is used to compute geometric data about a scene, which is then used to render the scene in novel views. A GUI is used to define the back wall and the vanishing point of an image. This information is then used to calculate the dimensions of the scene based on similar triangles and an assumed focal length.
Once the geometry is calculated, the image is divided into 5 sections. These sections correspond to the back plane, the floor plane, the left and right planes, and the ceiling plane. Each section is then warped with the appropriate homography as if they were viewed straight on. The results are then used as texture maps.
The final step is to use the texture maps of each plane to build a simple 3D model of the scene. The model is constructed by mapping each texture onto their corresponding planes in the scene. Once this is complete, the camera view can be changed with zoom and rotation to look at any part of the scene.
Sometimes, you are pleasantly surprised when you take the time to look around.
Novel view. Hey, there is a cowboy mural on that wall!
Novel view. After removing the back wall, the camera can be turned almost completely around so that the mural is on the left side.
These are actually two building connected together. Also, the floor slants, which makes for an interesting back plane for the photograph.
For this image, I used a focal length of 700, but higher may have given more realistic results.
Novel view looking upwards. There is no ceiling, so the top half of the building and bridge are warped, but I tried to get an angle that kept the edges straight.
Novel view. The metal barriers along the sidewalk are projected onto the ground. They are just far enough away from the wall to cause problems.
I found this image of the Bloomsbury Art Deco on Flikr and thought that it would give good results because the room is completely empty and quite long.
Novel view. A little more than simply a cropped close-up.
Novel view. Looking upwards shows the pattern of the ceiling.
Novel view. Looking off to the side too much shows lamps that are very stretched and a floor reflection that goes too far.
This is a sample image that was provided. The sample image has good geometry and works well for this project. I assumed a focal length of 500.
Novel view of the top left corner.
Novel view of the man working at the desk.
Novel view from a higher viewing point than before. Object on the floor appear to be stretched out some.
The first extra that I implemented was to add a foreground object to the floor plane. This requires a mask to identify the foreground object as input. The mask for the lion in the painting image is shown below.
Using this mask, I create a fake shadow on the floor where the lion appears, and then I add in an extra plane into the model that has the lion perpendicular to the floor. This gives the appearance of a lion sitting up.
A second interesting extra was to create a video flying through the model. Using some camera change functions, I created a short video of the Baker Hall model.
William Wedler. 21, Nov. 2007