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 fnumber 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.7487, Oct, 2008. [PDF] [bib] [©]

Images


Prior on spatial distribution of average logluminances:
The average of the logluminance 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 fnumber. 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 logluminances 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 Nonidealities (Technion)


