philipd : Advanced Topics in Computer Vision: Spring 06 : SGM on GPU ; Final Report
Semi-Global Matching on GPU

  • Casey Muller
  • Philip Davidson
  • Ilya Rosenberg

Project Status : Final

Basic GPU implementation has been completed on a Dell P.O.S workstation, 500 MB RAM, 3GigaWatts., with a custom-modified nVidia 7900 GTX (PCI-X, 512MB RAM). Using the DigiClops camera capture drivers for the BumbleBee stereo camera.

System


Flow Diagram for the Fragment Shader engine.

Results

  • Upper Left: DepthMap( red = closer )
  • Upper Middle : Slice of 3D volum ( height x max disparity ). Note the darkened image plane
  • Upper Right - slice mins
  • Middle : Left, Right Camera Pairs ( relaxed )
  • Lower (small) right, left ( cross-eyed pairs )
Our demo runs on a modest CPU which acquires rectified stereo pairs from a Point Gray Research Bumble-Bee stereo camera, feeds them to an nVidia 7900GTX video card using software we derived from the OpenVIDIA project [Fung 2005]. The software invokes shaders which compute depth maps and render them to the display along with post-processing effects. At a resolution of 320x240 and max disparity of 64, our implementation runs at 8fps. At 160x120x32, it runs at 13fps. Without camera acquisition the demo runs at 10fps and 24fps respectively. Even at these frame rates, there is significant room for improvement in data acquisition and shader implementation, and we believe that a 2x speedup is entirely possible. Furthermore, tremendous improvements would be possible if the video card supported rendering to 3D texture slices, and taking minimums across a texture row efficiently. In terms of accuracy, the SGM algorithm places 5th and 6th on the Middlebury Stereo Evaluation when comparing using natural scenes such as the Cones and Teddy datasets. If we performed sweeps across 16 directions instead of eight, our GPU adaptation of SGM would, in theory, also be able to place as well on live video.

Major Issues

  • sequential min-operations
  • texture layout, contiguous access

Applications

Depth-Cued Background Subtraction

Depth-of-Field Effect