Lensless 3D imaging on a Raspberry Pi, achieved using nothing more exotic than a strip of Scotch tape over the sensor, is exactly what maker [okooptics] has pulled off, and the mathematics behind it are genuinely worth understanding. No glass, no optics, no conventional camera hardware beyond the bare sensor itself.
Scotch Tape as a Diffuser
The foundation of the project is an earlier build by [okooptics] in which a Cameron Blocker’s Blog post confirms relies on double-sided Scotch tape placed directly over a Raspberry Pi camera sensor. The tape acts as a diffuser, scattering incoming light across the sensor in a way that, without processing, produces nothing but a blurry, apparently useless smear. There is no lens element of any kind in the optical path.
What makes the approach work is deconvolution mathematics. A lens, when it forms an image, applies a known transformation to the light field in front of it. A diffuser does something similar, just far less tidy. If you can characterise precisely how the diffuser scatters light, capturing its point spread function, you can mathematically invert that process and recover a recognisable image from the apparent noise. It is computationally heavier than reading pixels off a conventional camera, but the physics supports it.
[okooptics] has been refining this pipeline across multiple iterations, and the lensless imager build documents the hardware side in detail, right down to why double-sided tape behaves differently from a single layer and how that affects the recovered image quality.
Pushing Lensless 3D Imaging Raspberry Pi Builds Into Three Dimensions
The newer work extends the technique into three dimensions, and the method is elegant in its simplicity once you understand the underlying model. When you shift a camera slightly to one side and compare the two resulting images, near objects appear to move relative to distant ones. That displacement, parallax, is how stereo vision and most computational 3D reconstruction methods work.
[okooptics] found a way to replicate that virtual shift without physically moving anything. By adding a directional bias to the point spread function used during deconvolution, the maths can be weighted so that the recovered image corresponds to a viewpoint slightly offset from the actual sensor position. Run the deconvolution twice with different directional biases and you effectively have two views of the scene from slightly different angles, enough to extract depth information from a single captured frame.
The practical limitations are real and [okooptics] addresses them honestly. Resolution takes a hit compared to a conventional lens-based system. The technique is sensitive to how well the point spread function has been characterised, and any inconsistency in the diffuser layer introduces errors that are difficult to correct downstream. Depth recovery works better for scenes with clear foreground-background separation than for complex, cluttered environments where multiple depth planes overlap.
None of that diminishes what has been accomplished. Recovering any coherent image from a diffuser-only sensor is a non-trivial result; recovering 3D information from a single such capture pushes further still into territory that, until recently, was largely confined to academic optics research.
The Research Sitting Behind the Build
[okooptics] references published research papers that have explored lensless computational imaging in depth, and that grounding in the academic literature is part of what makes the project more than a clever hack. The science of diffuser-based cameras has been an active area in computational photography, with researchers working on everything from medical imaging to miniaturised sensors where a lens is simply too large or too expensive to include.
For anyone wanting to follow the full arc of the work, the earlier lensless imager build on Hackaday and [okooptics]’ own write-ups cover the foundational image recovery pipeline before the 3D extension is tackled. The maths is not light reading, but the explanations of what each step is doing physically make it approachable. Starting there before diving into the 3D work gives the deconvolution steps the context they need to make sense.

