According to a recent publication in Optica, researchers working under Laura Waller at UC Berkeley have developed an “easy-to-build camera that produces 3D images from a single 2D image without any lenses.” The “DiffuserCam” can capture high-definition 3D information in large volume without the use of a scanning mechanism or difficult-to-manufacture micro-circuitry.
The camera hardware is much simpler than you might imagine, even given the above description. It’s “essentially a bumpy piece of plastic” that is “placed on top of an image sensor,” a summary article explains. This simplicity makes it versatile and easy to construct. To wit, researchers in Waller’s lab say they can build it using any image sensor, and practically any bumpy piece of plastic, including privacy glass stickers, Scotch tape, and conference pass holders.
Despite the DIY approach, the DiffuserCam is no joke, as the camera can reconstruct 100 million voxels (points in 3D space) from an 1.3-megapixel image. As a comparison, the article mentions that the new iPhone X captures 12-megapixel photos. My amateur napkin-based math estimates that you could use that image sensor to build a a DiffuserCam that captures more than a billion points.
Waller says it can image objects close to the sensor at a resolution of about 10 microns, though the resolution drops as the objects get farther away. It can’t decrease /that much/, though, because Waller’s lab has used it to capture the 3D structure of plant leaves, she imagines it could be used for self-driving cars, or with machine-learning algorithms to perform face-detection, people tracking, or object classification.
But, you ask, How does it work? The magic lies in Waller’s use of “computational imaging,” which is “an approach that examines how hardware and software can be used together to design imaging systems.”
In other words, the hardware and software are thought of as two smaller, complementary parts of a holistic imaging system.
This approach enables the researchers to unload the complexity off of the hardware and into the processing algorithms. This proves the old adage that “software eats hardware,” and brings with it one of the classic benefits of code: You only have to make the complex software once, because after that it can be easily copied and distributed.