A Single Shot Light Probe.
What is this?
This is a solution for capturing light probes for integrating CG objects into a scene with one single photograph. No HDR photo-bracketing required.
Why is this important?
As we well know shooting HDR’s for live action integration is a tedious process. Whether you are using the most rudimentary approaches of shooting mirror ball and gray ball references or you are using other techniques like fisheye lenses or a spheron etc… it isn’t a one click instant solution.
Tedious = Time and Time is the thing that you are bound to have the least in a production set. So trying to photograph HDR environments of sets can become sometimes an impossible task.
For this reason the paper presented at this years Siggraph 2012 in LA from the ICT Lab led by investigator and HDR Guru Paul Debevec is a very interesting approach of extracting lighting information from a set or scene with a one click intant solution.
How does this work?
Basically you take a single RAW picture of this new handcrafted mirror ball + gray ball + color checker and with this single image and some math you can reverse engineer the actual intensity value of lights in the scene even if they are clipped in the picture.
The image on the left is what this new mirror ball looks like. As you can see it is a mirror ball that has been cut into quadrants and then has been mounted on a cross of plexiglass sheets that have then been sprayed with grey photographic primer 32%.
The image on the right is a simple reconstruction that I did as a proof of concept just taking the picture on the right and reconstructing the mirror ball. As you might have guessed by now the quadrants of the mirror ball have the sufficient overlap to not create artifacts. So this means that you basically need 4 mirror balls to create one of these single shot mirror balls :D.
Paul Debevec talking about this aspect in an interview in fxguide was saying that there is a little bit of parallax from having to reconstruct the mirror ball from the 4 overlapping quadrants, but that parallax is about 2-3 cm so it’s not a tremendous deal and doesn’t create noticeable artifacts.
These images are also from the fxguide article talking about this development. As we can see the results are really really close… amazingly close if you take into account the time spent in taking a single shot light probe with this method and a normal light probe with 7 bracketed exposures.
This next series of images shows how from the single shot light probe the light intensities and colors of the light sources in the scene have been solved (images 2 and 3) and finally the fourth image is a CG recreation of the light probe proving that the method works.
Is this magic?
No… actually it’s a really simple and elegant mathematical solution. (So maybe we can call that magic :D)
After reading the paper from siggraph I think I got a little bit more of an understanding of the math behind all this that makes this possible. (even dough my math abilities are a little rusty from my undergrad)
The whole importance of this paper is resumed in this formula:
is the Irradiance sample on point
is the Lambertian Combolution of
is the direction vector from the gray strips at angles and optionally
is the direction vector from the center of the clipped light i in Probe P
is the intensity of light i (this are the unknowns that we are trying to solve)
is the clamped cosine of the direction vector from the center of light i and the direction vector of gray strip j
This is an image I’ve put together to better understand the elements in this formula. The white arrows represent the direction vectors from the different gray ball strips. The ones on the right represent the vectors at a +45 and -45 angles and the ones on the right represent the optional +75 and -75. Bare in mind that these vectors are used on both sides of the gray ball strips. The orange arrows represent the direction vectors from the center of the light sources.
As we can see the formula leaves us with a linear system of m equations with n number of unknown light intensities . Solving this system will provide us with the correct intensities of the lights in the scene without having to have sampled the un-clipped intensity of the lights (no HDR bracketing required).
This is is a real clever method of acquiring light intensities using the help of a grey ball. It’s a combined method that might seem trivial but that I’m sure a lot of work has gone into discovering this method.
As said by Debevec himself this method does not provide a better result than traditional methods (it doesn’t intend to replace any of the old ones). But it is a much much quicker solution of acquiring lighting information from a scene which is what gives it an edge that in my view is the most important thing.
This method would be perfect of integrating objects that aren’t that reflective or that have non-glossy reflections as the light probe that you get out of this method isn’t going to have the best resolution and reflection detail you would want for really reflective objects, but I’m sure that a lot of us would sign right now between having a plate with no lighting information or having a picture of this in the set :D
That is about it folks! I hope this has interested you and feel free to share comment or read more about it!