Large Photo Collections and Cameras

While an individual photograph depends on the scene being captured, the camera used, and the preferences of the photographer, internet photo collections span a wide range of scenes, cameras, and photographers. Moreover, these images have EXIF tags which tell us which camera was used, what focal length and f-number were used and so on. So an interesting question to ask is, given this huge tagged dataset can we recover useful information about scenes, cameras, and photographers? In this project we focused on recovering camera properties. We first develop priors on statistics of large photo collections that are independent of specific scenes, cameras and photographers. Then we showed how we can exploit these priors to recover radiometric properties of specific camera models, in particular the camera response function and the spatially varying vignetting for various lens settings. We also showed how we can use the same principle to recover properties of specific camera instances, like identifying bad pixels on particular camera detectors. All this is achieved using publicly available photographs, without requiring physical access to the cameras to take any calibration images. This project was done in collaboration with Aseem Agarwala and Dan B Goldman at Adobe Systems, Inc.

Publications

"Priors for Large Photo Collections and What They Reveal about Cameras ,"
S. Kuthirummal, A. Agarwala, D. B Goldman, and S. K. Nayar,
European Conference on Computer Vision,
pp. 74-87, Oct. 2008.
[PDF] [bib] [©]

Images

  Prior on spatial distribution of average log-luminances:

The average of the log-luminance of a large number of photographs from the same camera model with the same lens setting has a particular structure: the average images have a vertical gradient, but no horizontal gradient. This is the prior that we use to estimate vignetting for lens settings of specific camera models.

     
  Prior on joint histogram of irradiances at neighboring pixels :

We propose to compute the joint histogram of irradiances at neighboring pixels, which counts how many times do a pair of irradiance values occur at neighboring pixels. We have found that the joint histograms are very similar across camera models, especially when computed at the extreme lens setting -- smallest focal length and largest f-number. So as a prior, we use the joint histograms computed from photographs from a single camera model. We use this prior to estimate the response function of specific camera models.

     
  Vignetting estimation results:

We exploit the prior on the spatial distribution of average log-luminances to estimate the vignetting for lens settings of specific camera models.

     
  How many photographs are needed for vignetting estimation?:

We estimated vignetting with different numbers of randomly chosen images, and for robustness averaged results from five different runs. We found that approximately 3000 photographs are needed to get estimation errors of around 2%.

     
  Camera response estimation results:

We exploit the prior on the joint histogram of irradiances at neighboring pixels to estimate the response function of specific camera models.

     
  How many photographs are needed for camera response estimation?:

We estimated response functions with different numbers of randomly chosen images, and for robustness averaged results from five different runs. We found that approximately 50 photographs are needed to get estimation errors of around 2%.

     
  Bad pixel identification results:

If we compute the average of many photographs from the same camera instance, the average image should be smoothly varying. This is the prior that we use. Bad pixels -- pixels that behave differently from their neighbors -- would stand out in the average image and so can be easily identified.

     
  How many photographs are needed for bad pixel identification?:

We identified bad pixels with different numbers of randomly chosen images, and for robustness averaged results from five different runs. We found that approximately 300 photographs are needed for the number of false positives to become almost zero.

     

Slides

ECCV 2008 presentation

Software

  Matlab Code and Data for Computing Response Functions:

The zip file contains priors on the joint histograms of irradiances at neighboring pixels, as well as sample code for exploiting this prior to estimate the inverse response function for a camera model.

     

Radiometric Camera Calibration

High Dynamic Range Imaging: Multiple Exposures

Vignette and Exposure Calibration and Compensation (UW)

Calibrating Radiometric Non-idealities (Technion)