GLStereo: Stereo Vision Implemented in Graphics Hardware

ID
TR-2004-16
Authors
Dustin Lang and James J. Little
Publishing date
October 14, 2004
Length
14 pages
Abstract
We present an implementation of the standard sum of absolute differences (SAD) stereo disparity algorithm, performing all computation in graphics hardware. To our knowledge, this is the fastest published stereo disparity implementation on commodity hardware. With an inexpensive graphics card, we achieve 'raw' SAD performance above 170 MPDS (mega-pixel disparities per second), corresponding to 5x5 neighbourhoods, 640x480 pixel images, 54 disparities, 10 frames per second (fps) (or 320x240 pixels, 96 disparities, 25 fps). The CPU is approximately 90% idle while this computation is being performed. Other authors have presented stereo disparity implementations for graphics hardware. However, we focus on filtering the raw results in order to eliminate unreliable pixels, thereby decreasing the error in the final disparity maps. Since the standard SAD algorithm produces disparity maps with relatively high error rates, such filtering is essential for many applications. We implement shiftable windows, left-right consistency, texture, and disparity smoothness filters, all using graphics hardware. We investigate the accuracy/density tradeoff of the latter three filters using a novel analysis. We find that the left-right consistency and smoothness filters are particularly effective, and using these filters we achieve performance above 110 MPDS: 640x480 pixel images, 36 disparities, 10 frames per second (or 320x240 pixels, 66 disparities, 25 fps). This level of performance demonstrates that graphics cards are powerful co-processors for low-level computer vision tasks.