Focal Split: Untethered Snapshot Depth from Differential Defocus
Junjie Luo, John Mamish, Alan Fu, Thomas Concannon, Josiah Hester, Emma Alexander, Qi Guo
TL;DR
Focal Split addresses the need for low-power, real-time depth sensing in dynamic scenes by combining a snapshot optomechanical design with a differentiated-defocus depth estimator. It captures two differently defocused images simultaneously on two sensors through a beamsplitter and computes per-pixel depth with a compact closed-form expression $Z = \frac{a}{b + \tilde{I}_s/\nabla^2 \tilde{I}}$, after aligning magnification. The handheld prototype runs on-board on a Raspberry Pi 5, draws about 4.9 W, and outputs 480×360 sparse depth maps at 2.1 FPS, with a working range of 0.4–1.2 m. The approach demonstrates motion-robust, untethered depth sensing at low computational cost and provides a DIY guide to enable broad adoption of snapshot, low-power depth cameras.
Abstract
We introduce Focal Split, a handheld, snapshot depth camera with fully onboard power and computing based on depth-from-differential-defocus (DfDD). Focal Split is passive, avoiding power consumption of light sources. Its achromatic optical system simultaneously forms two differentially defocused images of the scene, which can be independently captured using two photosensors in a snapshot. The data processing is based on the DfDD theory, which efficiently computes a depth and a confidence value for each pixel with only 500 floating point operations (FLOPs) per pixel from the camera measurements. We demonstrate a Focal Split prototype, which comprises a handheld custom camera system connected to a Raspberry Pi 5 for real-time data processing. The system consumes 4.9 W and is powered on a 5 V, 10,000 mAh battery. The prototype can measure objects with distances from 0.4 m to 1.2 m, outputting 480$\times$360 sparse depth maps at 2.1 frames per second (FPS) using unoptimized Python scripts. Focal Split is DIY friendly. A comprehensive guide to building your own Focal Split depth camera, code, and additional data can be found at https://focal-split.qiguo.org.
