Sense what you want. When you want. Where you want.
Depth sensors like LIDARs and Kinect use a fixed depth acquisition strategy that is independent of the scene of interest. Due to the low spatial and temporal resolution of these sensors, this strategy can undersample parts of the scene that are important (small or fast moving objects), or oversample areas that are not informative for the task at hand (a fixed planar wall).
We've developed an approach and system to dynamically and adaptively sample the depths of a scene using the principle of triangulation light curtains. The approach directly detects the presence or absence of objects at specified 3D lines. These 3D lines can be sampled sparsely, non-uniformly, or densely only at specified regions. The depth sampling can be varied in real-time, enabling quick object discovery or detailed exploration of areas of interest. These results are achieved using a novel prototype light curtain system that is based on a 2D rolling shutter camera with higher light efficiency, working range, and faster adaptation than previous work, making it useful broadly for autonomous navigation and exploration.
Our light curtain device is capable of imaging 60 different light curtains per second. This speed and flexibility enables agile and dynamic light curtains. that can be used for many applications including searching an area for nearby obstacles and detecting obstacles entering and within a safety zone by rapidly alternating between checking the border of the safety-zone and the area within it.
The videos shown here show the light curtain surface rendered in blue and detections rendered in green. A 3D view of the detected objects is also shown.
The rapid capture rate and resolution of our device enables the imaging of small and fast objects as they pass through the light curtains. the resolution of the light curtains provide much better detail over scanning LIDAR devices and can enable enhanced object recognition and critical detection of small objects (e.g. wires, branches, etc). This is especially noticeable when imaging thin structures or objects at a distance.
We demonstrated the high rate and resolution by capturing wiffle balls, ping ping balls, and a Frisbee that were thrown through a planar curtain 5m away. The light curtain detects all of the balls at a much higher resolution than LIDAR (white points).
Our techniques also work outdoors in bright light out to 20 meters (100klux). In the below video we capture a pedestrian and bicyclists as the pass through a planar curtain 15 meters away. The objects are unrecognizable in the LIDAR at this distance whereas we capture the objects at high-resolution as they pass through the curtain.
The resolution of our device enables the full capture of a fine details such as a mesh fence or wires (green points). LIDAR, once again undersamples these details and the objects are difficult to identify (white points).
Programmable light curtains have excellent performance in ambient light. One reason for this is the concentration of light and imaging into lines. By projecting lines of light and using lines of imaging rather than emitting broad flashes of light, the received light per unit area is greater enabling long range imaging. This is similar to our previous work we’ve demonstrated with the Episcan3D and EpiToF prototypes.
Another reason for the high-performance is ambient light subtraction. To increase detection ability of the light curtain we subtract the ambient light by creating an ambient only image and a laser + ambient image. The subtraction of the ambient image from the combined image provides a laser only image which is then thresholded to create the binary detection image of the light curtain. These two images are captured in one frame by alternating the laser power (on/off) along adjacent columns. The columns captured with the laser on provide the laser + ambient image and the columns with the laser off provide the ambient image. With this approach our device can see a white board over 25 meters away in bright sunlight.
By rapidly changing the shape of the imaged light curtain we can scan the volume to build a 3D map. We can uniformly sample the scene by sweeping planes or other shapes such as a sine wave, or we can randomly sample the scene to build up a 3D map.
With the high speed and agility of our new prototype, we are now capable of adaptively imaging and discovering a scene using light curtains. For example, a light curtain in a new scene has no knowledge of its environment. To gain knowledge, it randomly samples the volume and finds a few scene points. These points are then used to generate a curtain profile which is then swept to find new points. This process is then repeated to refine the points and search other parts of the scene. Using adaptive light curtains enables an intelligent sampling and discovery of the scene which reduces depth sampling in unnecessary areas.
Here, random curtains are used to initially scan the scene, but any type of curtain can be used. Then new light curtains are fit to the detected points and then swept through volume to find more of the scene. This is repeated several times to refine the model. The adaptive curtains capture the interesting objects in the scene at a high resolution quicker than the other sampling methods.
The quick and agile depth sensing can be used to discover and map an environment. This video shows the light curtain as it was navigated through a highbay environment by a robot with onboard localization. First the robot starts out with no knowledge of the scene, so the light curtain uses random curtains to detect objects in the scene. Once it has detected objects it fits a new curtain to the front of the detected objects and sweeps it in and out to find new objects. This process then repeats. As the robot navigates the environment the curtains change to follow the contour of the scene out to a maximum distance of 5 meters. Between imaging these adaptive curtains, random curtains are also captured at a slower rate to sense other parts of the scene at a lower resolution. When no objects are immediately present, the device searches the environment with random curtains until objects are found. Notice that as the robot moves through the environment the curtains tightly form around the front surfaces of objects.
The robot is using it’s onboard localization estimate to create a map of the environment using the detected points. In the top-view of the generated map you can make out the stairs, the ATV, narrow corridor, and the garage door.
Programmable light curtains can be used for applications in driver safey systems. They can be used for pedestrian detection and vehicle lane monitoring in bothy city and highway driving. The high-resolution of the device enables the detection of small roadway obstacles at farther distance than LIDAR.
A light curtain consists of an illumination plane and an imaging plane. In a traditional safety light curtain, such as those used in elevators, these are precisely aligned facing each other to detect anything that breaks the light plane between them. These traditional light curtains are very reliable, but only detect objects in a plane, and are difficult to reconfigure.
A programmable light curtain device places the illumination and imaging planes side-by-side so that they intersect in a line. If there is nothing along this line, then the camera doesn't see anything. But if there is an object along this line, the light is reflected towards the camera and the object is detected. By changing the angles between the imaging plane and illumination plane this line is swept through a volume to create a light curtain. The sequence of plane angles is determined by triangulation from a specified light curtain and can be changed in real-time to generate many light curtains per second.
The raw data from the camera is thresholded to generate a binary image of where obstacles were detected along the curtain. This provides a very simple, reliable, and efficient means for object detection.
Since the illumination and imaging are synchronized and focused at a single line, the exposure can be very short (~100us). This short exposure integrates very little ambient light while still collecting all the light from the illumination system.
The illumination system uses a custom-built light sheet projector comprised of a laser, collimation lens, a lens to fan the laser in to a line, and a galvo mirror to direct the laser line. The imaging side contains a rolling shutter 2D camera. The light sheet projector is emitting a plane of light and the imaging side is capturing a plane of light with the rolling shutter camera. The motion of the galvomirror-steered light sheet is synced with the progression of the camera's rolling shutter to intersect the imaging plane and lighting plane along the curtain profile. This scanning happens at the full frame rate of the camera producing 60 light curtains per second.
Our Rolling Shutter Triangulation Light Curtain device consists of:
For an in-depth description of the technology behind this work, please refer to our paper.
Joseph R. Bartels, Jian Wang, William L. ‘Red’ Whittaker, Srinivasa G. Narasimhan. "Agile Depth Sensing Using Triangulation Light Curtains", ICCV 2019
This work was sponsored by the Defense Advanced Research Projects Agency Reveal Grant HR00111620021 and the National Science Foundation Grant CNS-1446601 and 1900821.