The Stixel World

A first implementation of detecting stixels from stereo data.

Stixels, a compact representation of 3D space for robot obstacle avoidance and navigation. Introduced by Badino et. al., 2009, stixels are a method to detect the nearest obstacles in front of a stereo camera pair by looking for discontinuities in the depth data. The idea is that the ground plane has monotonically decreasing depth (disparity) along each row, moving upwards from the bottom of the depth map, and obstacles represent a discontinuity in the depth profile of the ground plane. Stixels are visualized as matchstick-like volumes sitting up from the road space and clusters of them are used to represent obstacles around a robot.  In this video, from top left, in raster order are: left camera image, disparity map, polar occupancy grid, cartesian occupancy grid and finally, the stixel representation, with blue bars representing the stixels, the nearest obstacles around the robot. The data is the Banhoff sequence, a commonly used stereo dataset from ETH, Zurich.

This implementation detects stixels from the full depth map (as in the original Badino paper), but a much faster stixel implementation without depth map computation has been shown by Benenson et. al, 2011 and my implementation of that is work in progress.

Stixel representation was used in the computer vision algorithms on the Mercedes Benz S500 prototype autonomous vehicle that drove autonomously between Mannheim and Pforzheim recently, on the 125th anniversary of Bertha Benz’s drive of the original Benz along the 100 kms of the same route.

Stixel representation is a compact representation of the space around a robot (or an autonomous vehicle) and can be used to aid obstacle avoidance, path planning and pedestrian detection.