../cos526.jpg (39279 bytes)

Advanced Computer Graphics, Fall 2016


Programming Assignment 2: RGBD Image Composition

Due on Sun, Nov 6 at 11:59PM


Overview

In this assignment you will implement an algorithm for composing multiple images into a single texture. The input to your algorithm will be: 1) a set of images, each with estimated camera parameters, and 2) a set of polygons (actually, usually just one). The output will be a diffuse albedo texture for the polygon computed by composing the input images.

The following is a list of features that you may implement -- the features in bold face are required. You may choose to implement any two of the others at your discretion. In addition to implementing these features, you should submit images generated by your program for each input scene to the quality bake-off. The winner will get extra credit and a note on the course web page.

Image selection:

Texture color estimation:

Surface creation:

Surface refinement:

Image refinement:

Other:

To get started, you can use the code in (cos526_assn2.zip). This C++ code provides the basic infrastructre for reading scenes, mapping images to polygons, etc. It also provides a simple program (texture) for viewing image configurations and making surface texture images. You will probably need to augment this program to include command line arguments of your own to turn on and off specific features and/or provide parameters for specific applications.

The skeleton code is able to read image configurations in a simple file format. This format was created to provide the features required by this assignment -- a set of rectangles, a set of images, and estimated camera parameters. We provide several example input scenes in that format in the "scans" subdirectory of this weburl. The raw datasets are quite large (tens to hundreds of megabytes). So, in addition to the raw datasets for individual scans, we provide zip files containing a regular subsampling of images for all datasets all together. We suggest that you start with the smallest zip file first (every100.zip) and move to the larger datasets only after your algorithms are working.


What to Submit

You should submit to CS dropbox one zip file named programming_assignment2.zip with the following internal directory structure to CS dropbox:

writeup.html should be an HTML document demonstrating the effects of the features you have implemented. There should be one "section" per feature with a brief description of what you implemented and some images showing your results with a description of the command/process used to create the results in the caption. Wherever possible, you should show results for at least two sets of inputs.

The src directory should have all code required to compile and link your program (including the files provided with the assignment), along with a Makefile to rebuild the code.

Please DO NOT submit the input images as part of your zip file. Other images should be in JPEG format to save space. Also, to further save space, please remove binaries and backup files from the src directory (i.e., run make clean) before submitting.

Please see the course's webpage with submission instructions for more details.


Useful resources