Holocurtains: Programming Light Curtains via Binary Holography | CVPR 2022

Dorian Chan, Srinivas Narasimhan, and Matthew O'Toole


Light curtain systems are designed for detecting the presence of objects within a user-defined 3D region of space, which has many applications across vision and robotics. However, the shape of light curtains have so far been limited to ruled surfaces, i.e., surfaces composed of straight lines. In this work, we propose Holocurtains: a light-efficient approach to producing light curtains of arbitrary shape. The key idea is to synchronize a rolling-shutter camera with a 2D holographic projector, which steers (rather than block) light to generate bright structured light patterns. Our prototype projector uses a binary digital micromirror device (DMD) to generate the holographic interference patterns at high speeds. Our system produces 3D light curtains that cannot be achieved with traditional light curtain setups and thus enables all-new applications, including the ability to simultaneously capture multiple light curtains in a single frame, detect subtle changes in scene geometry, and transform any 3D surface into an optical touch interface.


How it works

For each rolling-shutter row, a projector selectively illuminates different locations on the plane imaged by that row. By changing the pattern that is illuminated for each row, a light curtain of arbitrary shape can be formed. For example, we can create a bunny-shaped light curtain by illuminating the intersection of each rolling-shutter row with a bunny mesh.

The projector source used for such an application needs to be (1) light efficient, (2) fast, and (3) programmable. Existing approaches utilized mirror-based systems to scan a laser line across the scene - light efficient and fast, but not highly programmable. Because these setups can only create line patterns, the resulting light curtains are constrained to ruled surfaces.

In our work, we utilize a digital micromirror device (DMD) in a holographic projector. By leveraging computer-generated binary holography, such a setup is light efficient, fast (up to 10 kHz), and programmable. As a result, our system can form light curtains of arbitrary shape, which we show in the rest of this webpage. We believe that this system may be applicable for other structured-light applications beyond light curtains, like 3D scanning or light transport probing.

Light curtains of arbitrary shape

Such a system can form light curtains of arbitrary shape that traditional setups cannot create. For example, our system can image a light curtain with both vertical and horizontal components (left), as well as any more complex shape (right).

Such a system may be useful in robotics. Here, we form a form-fitting light curtain about 5cm off the surface of a mannequin. A robot can use this curtain to determine whether it is in a safe operating range (left). A feeding robot could also use this curtain as a cue in assisted feeding for where to position food (right).

Instead of proximity information, our system can also be used to selectively measure regions of 3d space. As a result, our setup can be useful in situations where privacy needs to be preserved. In this example, we selectively image just the surface of the teapot. The confidential document is not visible in the images captured by the light curtain camera (right).

Optical disturbance detection

We can capture a tight light curtain over the surfaces in a scene, and then compute difference images on the resulting signal to create an optical disturbance map (right). Compared to a difference image from a normal camera setup (middle), such an approach registers changes in scene geometry much more densely and robustly.

Light curtain multiplexing

Because a DMD has no such smoothness limitations like that of a galvo scanning mirror, our system can sequentially display vastly different patterns at fast rates. We leverage this property to multiplex multiple light curtains onto different rows in a single rolling shutter frame.

One way this multiplexing may be useful is in the context of the optical disturbance detection as described above. By multiplexing curtains of different thicknesses, we can determine the magnitude of a particular disturbance. Consider the case of a thin curtain (middle) and a thick curtain (right). If both curtains detect a large change in signal, the disturbance must have been large. However, if only the thin curtain detects a change in signal, the disturbance must have been small.

An optical touch interface

Such a light curtain system can also be used to generate a 3D touch interface from any desired object. By forming a light curtain just a few centimeters above some target surface, we can register when that surface is interacted with.


  title={Holocurtains: Programming Light Curtains via Binary Holography},
  author={Chan, Dorian and Narasimhan, Srinivas and O'Toole, Matthew},
  journal={Computer Vision and Pattern Recognition},


We thank Oliver Kroemer for providing access to the robot arm, and Mark Sheinin for feedback. This work was supported by NSF Grant IIS-1900821.

Copyright © 2022 Dorian Chan