MAT 594 - 2008S




Pablo Colapinto - Spin


Description
An infrared pinwheel filter and a 2-inch chrome ball are the optical anchors of this work. Using them as the basis for image processing, this project explores two implementations of cameras that can "see-all": up in a tree in the infrared spectrum, and under a table with a endlessly roving global eye. Of course, omniscience comes at the cost of clarity.

oops oops






Details

I learned that Lee Filters "Congo Blue" (#181) can be used to block visible light and pass only infrared light. As 24 inch by 24 inch sheets cost under $8 each, this is clearly a cheap option. I learned about them after reading about making cheap infrared goggles. I purchased my plastic sheet from Polaris Lighting in LA. The pinwheel in the image above is made with the congo blue filter. Since CCDs are naturally sensitive to IR light, the creative use of these filters can create some interesting effects. Lots of people do this: it's nothing new. I was interested in pushing the effect a bit, and ended up creating a soft, grainy film-like image with video by using IR pinwheels to add flicker. Guess what? It's promising . . . The small image above left is of a video projection of a cheap, 320 x 240 wireless camera with ir pinwheel filters spinning in front of it, pointing out of our window in South Hall at UCSB. Here is another one -- definitely reminiscent of my super-8 days in Philly.

As for the chrome ball: I got it after reading through tutorials on High-Dynamic Range imaging, particularly on HDRSHOP.COM. We can use the balls to take "light-probe" measurements of an environment. I'm also working on Spherical Harmonics, for another class. But for now, the other small picture above right with a hand in it is my attempt to "unwrap" the reflected image into a 360 degree view of the environment. The math is simple, but figuring out which math to use was a brain-buster. More on that in a second. First, here are the results of my preliminary experimentations combining the ball with the infrared filters (not bent into pinwheels here, just laid flat). I used different numbers of filters and a regular digital camera.




The first step for me was to figure out what to do with the images I was getting from the ball. Seemed like a complicated thing to unwrap, and it was hard. Eventually, reason prevailed and I had the idea of wrapping graph paper around the ball to see if I could then unwrap its reflection into a flat image.

The method is actually pretty straight forward, but I kept hunting for the math online and couldn't find any that looked right. I looked at algorithms for flattening a sphere, but that is not really what we want to do -- we want to flatten the reflection in a sphere. It's not the same thing. To make things worse, the sphere is actually a circle of pixels in my computer, not a sphere at all. I mean, it's flat. We want to unwrap the cylinder into a flat image, based on its reflection in the sphere. Anyway, using the graph paper helped. Looking down at the reflection of the cylinder in the ball, it is clear that the top of the cylinder is reflected towards the middle of the ball, and the bottom of the cylinder is reflected towards the edges. That is to say, we can figure that the bottom row of pixels of our final image needs to sample from around the edge of the sphere, and the top row of our final image needs to sample from the middle. That is, as Y increases (height of Cylinder), so does R (radius of Sphere) As we go from left to right, each column of pixels needs to sample a different angle. So, as X increases (Theta of Cylinder) so does Theta (of Sphere) -- but at a rate proportional to R. When R is small (towards the center of the sphere), Theta changes much slowly as we move across X. Make sense? I didn't quite get it right, but it was close. The problem is that R's increase is proportional to something like the Tangent, but I haven't quite figured out what. I squared it by itself and that helped fix some the major stretching in the Y direction, but not completely. I didn't want to get too hung up on the math . . .

Now I was ready to build a map of the camera's surroundings which I could slowly rotate around as a texture applied to a cylinder in OpenGL. My next step will be to calculate some sort of intelligent interpolation between pixel values.




The Bird Feeder
Back working with the pinwheels and wireless camera, I hoping to eventually hang this device in a tree, to let the wind guide the image collection. I am deliberately working on this "natural" method of spinning while simultaneously trying to "artificially" spin an unmoving camera. Maybe, I thought, I could even put the metal ball in the tree with the pinwheels and the infrared and the unwrapping, and some bird food too, and capture all of that activity, unwrap it, spin it around into a 3D film-like vortex of bird mania. Turns out that was a bit too ambitious for a quarter's worth of work, so I built this interim device instead, to help me think about this stuff a bit more "practically". Attached to the device is a wireless camera which I got on ebay for $20. It comes with the radio receiver you see below, which outputs an RCA signal (audio AND video).



Rescources and Links
Cheap Filters ($8)

2 inch Chrome Balls ($20)

HDR and Light Probe Imaging Tutorials

Paul Devebec's Home Page


References
Robin Green, Spherical Harmonic Lighting: The Gritty Details, Sony Entertainment, 2003.

Perlin et al. Texturing and Modeling. A Procedural Approach Morgan Kaufmann Publishers, San Francisco, 2003.

Christine Waggoner, Son Chang, and Paul Debevec. Combining Dynamic Simulation, High Dynamic Range Photography, and Global Illumination, 1998.