Jon Bumstead's "Single Pixel Camera" Captures Full Two-Dimensional Images — with No Moving Parts
A single photodiode, a clever array of lenses, and a shifting LED matrix backlight provide the data for 2D image reconstruction.
Maker Jon Bumstead has penned a guide demonstrating how to build a single-pixel camera — but one which can deliver a recognizable image, scanning across a target object despite lacking any moving parts.
"What if there was a way to collect an image with a single detector, a single pixel? It doesn’t seem possible," Bumstead admits. "Images consist of 2D information — how could all the information be captured with a single point measurement? One way to do this is by scanning that point over the field-of-view, one-point at a time like a 3D lidar map — the view of the photodector changes over a scene with a mirror scanner. But there's actually another way to solve this problem. And it amazingly doesn't require any moving parts.
The technique to which Bumstead is referring is compressed sensing using structured illumination — sometimes known as "ghost imaging." In this, it's possible to "scan" over an object using a single-pixel photodetector and zero moving parts — by illuminating the object with differing patterns of light, provided in this case by a simple matrix of addressable LEDs.
"Imagine an object that’s been illuminated with a unique pattern of light and all the reflected light from the object is collected onto a single photodetector, making a single measurement," Bumstead explains. "The signal measured for this pattern is a linear combination of reflected light returning from the sample. With a single measurement, there is no way to determine how much each of the points is contributing to the signal. But what if we then illuminated the object with a different pattern and made another measurement. And then another pattern, and another measurement — until we had a dataset consisting of known illumination patterns and their corresponding single photodetector measurements."
To prove the concept, Bumstead built a setup for ghost imaging: a low-cost 64×64 LED matrix, a Raspberry Pi 3 Model B single-board computer, an Arduino Mega 2560 board, a pair of Nikon lenses designed for single-lens reflex (SLR) cameras plus a plano-convex lens, all focusing on a single large-area photodiode. "The first lens demagnifies the LED matrix onto the object," Bumstead explains. "The object blocks some of the light and the goal is then to collect this light onto a single photodetector.
"We need a second lens to do this, but instead of re-imaging the LED matrix, the second lens images the aperture stop of the first lens. Because the light footprint increases after the first lens, it is also important to have a large diameter lens close to the object to begin focusing the light down as soon as possible. I added a plano-convex lens to do this, it’s essentially acting as what is called a field lens."
Each time the "camera" fires, a single reading is taking from the photodetector; the pattern on the LED matrix is then changed and a new reading taken. With enough readings, the data can be processed through a MathWorks MATLAB script to reconstruct the target objects: 3D-printed cutouts acting as proof-of-concept targets. "The images are limited in resolution. The objects aren't particularly interesting," Bumstead admits. "But when I think that I don't have a 2D sensor in this camera, I feel pretty awestruck by the result."
The full write-up, including 3D-printable parts and source code, is available on Instructables.
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.