CSE 558 (Spring 2006) – 3D Photography

3D Photography

Homework 1 (due April 20, 2006)

Note: The homework needs to be solved individually - no teamwork please!

Note (2): Please subscribe to the class mailing list if you are not yet subscribed!

This homework consists of two parts - photometric and geometric calibration of a camera system. You have two options to capture the input images:

  1. use your own camera
  2. check out a camera from GRAIL (see GRAIL Equipment Checkout System)
It would be interesting if everybody uses a different camera so that we know how well the methods work for the different cameras. Note that you need to capture several images of the same scene with different exposure for the photometric calibration. So don't forget to check out a tripod as well.

Please create a web page to present the results of this homework and be prepared to present them in class (details will follow).

You are welcome but not required to further explore the two topics in this homework. There are several fairly obvious extensions - especially in the case of photometric calibration - such as enforcing a monotonic and/or smooth response curve, investigating the influence of the input images on the response curve recovery, ...

Please ask if you have any questions or if something is broken!

Photometric Calibration

Implement the photometric calibration system of Robertson et al. It is sufficient to use a standard Gaussian weighting function for the reconstruction as described in their conference paper but you are welcome to implement a version with weighting function derived from the response curve.

You can download a skeleton code that should compile on all GRAIL linux machines (e.g., frame01, frame02, ... - see the GRAIL Computing Resources). It handles all the file input/output for you and contains the basic program structures. You only need to fill in the routines to optimize the HDR image and the response curve. The file contains a detailed README file. Please ask Michael, Assem, or Christian Fuchs (cfuchs@cs) if you have any questions about the code.

Capture a series of input images and perform photometric calibration for your camera. Display the resulting response curve using a logarithmic intensity axis and have a look at the corresponding HDR image.

As a reality check, create a response curve using the 'max.hdrgen' dataset from the example datasets. Apply this response curve to the 'colorcheck.hdrgen' dataset and compute a HDR image. The colorcheck images show a color test target (the GretagMacbeth Colorchecker) under uniform illumination.

Have a look at the row of grayscale patches (e.g., using idisplay) and compute their intensities relative to the brightest patch. Compare them to the relative intensities extracted from the manufacturer's datasheet:

Patchrel. Intensity
11.0
20.657
30.402
40.220
50.100
60.035

Note that you will not be able to match these values exactly - we saw differences for this data of 10-20%.

Geometric Calibration

Perform geometric calibration of your camera system using Jean-Yves Bouguet's camera calibration toolbox. You'll need to create a calibration target, capture images and use the toolbox. Matlab is installed on several machines in GRAIL (see the GRAIL Computing Resources).

The toolbox allows you also to export the calibration data (2D image locations, 3D world locations) into formats compatible with Willson-Heikkila's and Zhang's calibration programs (Export calib data). Download these calibration tools and perform a calibration using the same input images. Compare the results of the three calibrations.

 

© 2006 Michael Goesele and Aseem Agarwala
Department of Computer Science and Engineering | University of Washington