SVS Features
- SVS™ is a set of algorithms implemented as a software library with
routines for:
- Calibrating stereo heads using a simple planar target
- Capturing video streams using standard frame grabbers
- Computing dense stereo range images at video rates
- Displaying video images and range information
- Real-time capable: 320x240, 32 disparities at frame rates (30 Hz) with a
PIII 700 MHz
- Excellent range resolution and accuracy: Range interpolated to 1/16 pixel.
Texture and consistency filters remove unreliable results
- Simple, fast, and accurate stereo head calibration using a printable
planar target
- Easy-to-use C++ library API for MS Windows or Linux. Cross-platform
display with the FLTK GUI and OpenGL 3D windows let you display results
immediately
- Interface to MatLab for further analysis
- Interface to XVision2 for real-time segmentation and tracking in video
images
- Bundled with Videre Design digital stereo heads under license from SRI
International®
- Available as a separate software system to use with stereo images in host
computer memory
SVS Kit Contents
- Calibration software tool
- Stereo processing libraries
- Driver and capture application software for the MDCS line of stereo
cameras
- Interface to MatLab
- Application and display software (sources included)
- Software User's Manual (download)
SVS Requirements
- Pentium-compatible PC (Pentium MMX, AMD K6-2 or better) running MS Windows
2000 / XP / Vista* with VC++ 6 or VNET++ 2003, or Linux 2.4 / 2.6
* Vista compatible for all cameras sold after 12/01/08.
NOTE: For MDCS cameras, the interface uses SSE instructions. These
instructions are available in PIII-type processors, including AMD K7
processors and VIA Eden processors
- Videre Design stereo camera head or stereo images in host
computer memory
- Digital frame grabber for acquiring live images, if using a stereo
camera
SVS Diagram

SVS Benefits
- Efficient
SRI International's patent-pending algorithms are the most efficient ones
available -- up to 6 times faster than competing solutions. Realtime
capable: 320 x 240, 32 disparities at frame rates (30 Hz) with a PIII 700
MHz.
- Accurate
Excellent range resolution and accuracy, using imagery from Videre Design
cameras. Range is interpolated to 1/16 pixel, and texture and
consistency filters remove unreliable results.
- Flexible
Simple, fast, accurate stereo head calibration using a printable planar
target. You can change lenses, change baseline, even verge your
cameras, and still calibrate them accurately. Lens distortion, all
internal camera parameters, and external camera parameters are computed.
- Convenient
Easy-to-use C++ library API for MS Windows or Linux makes programming
applications simple. Cross-platform display with the FLTK GUI and OpenGL 3D windows
let you display results immediately.
SVS has an interface to MatLab, so stereo images and disparity results
can be sent directly to MatLab for further analysis.
The XVision2 system, developed by Greg Hager at Johns Hopkins
University, has an interface to SVS™. XVision2 concentrates on
realtime segmentation and tracking in video images.
- Affordable
SVS™ comes bundled with Videre Design digital stereo heads. It is
also available as a software system for a modest licensing
fee.
Accurate Range Results
This 640x480 color image on the left, taken with a STH-MDCS stereo camera,
shows the fine detail of the imagery. On the right, the SVS™ system has
converted the stereo pair into an accurate 3D point cloud. Click
on the right image to view an animation of the point cloud. The
red ray is the camera line-of-sight.
SVS™ was run in standard mode, with no post-processing of the disparity or 3D
image, other than the standard texture and L/R filters.
Realtime Performance
To fully appreciate the impact of full-motion stereo, you can download these
Quicktime movies, which show several people moving in a corridor --
click on the images to show the movies. The left-hand movie is
the video image, the right is the stereo disparity image. The frame size is 320
x 240, with 24 disparities, at 15 fps.
XVision2 Interface
XVision2 is
the newest version of the XVision system developed by Greg Hager, now at Johns
Hopkins University. It is an open-source vision system, concentrating on
realtime segmentation and tracking algorithms for video data. The new
version incorporates and interface to SVS™, enlarging its scope with realtime
stereo input. XVision2 is a convenient way to experiment with new
algorithms and applications using stereo.
XVision2 also has a MatLab interface to SVS data, so that the power of MatLab
analysis can be brought to bear on your stereo data.
Relevant subdirectories for SVS users are:
- src/Devices/matlab
- src/Examples/showdisp
Product Specifications
Software Specifications
| Feature |
Specifications |
| Standard Routines |
Calibration of stereo heads using a simple planar target Capturing
video streams using standard frame grabbers Computing dense stereo
range images at video rates Displaying video images and range
information |
| Characteristics |
Two-image stereo computation Arbitrary frame sizes Area
correlation algorithm Video-rate implementation at up to 320 x 240
frames on standard PCs |
| Calibration
|
Calibration routines by presentation of a simple planar target
Internal parameters - radial and tangential distortion, lens
decentering, focal length, pixel aspect
ratio External registration - baseline, orientation of each camera
Based on Tsai's algorithms [Tsai 1991]
|
| Rectification |
Bilinear interpolation using the calibration parameters |
| Disparity computation |
Laplacian of Gaussian image filter Correlation: sum of absolute
differences over a square window Correlation window sides from 5 to 21
pixels Disparity search from 8 to 128 pixels Subpixel
interpolation to 1/16 pixel
|
| Post-filtering |
Low-texture confidence check Uniqueness check
|
| 3D Reconstruction |
Transform routines to generate 3D points from image point and
disparity |
Host Requirements
The Stereo Engine code is written in optimized MMX assembly code for
Pentium-based PCs running Linux or MS Windows. The recommended hardware
configuration for best performance is a Pentium III/IV processor and a PCI bus,
and a display card with at least 8 MB of video memory.
If you have your own cameras, then you must use frame grabbers to digitize
the stereo video stream and place it in main memory, where the Stereo Engine can
process it. You must write your own code to do this; SVS™ provides
function calls to take images from memory and process them.
Videre Design has developed several stereo head assemblies that have direct
interfaces to SVS™.
- STH-MDCS
and STH-DCSG (fixed and variable baseline models)
Digital devices with
resolutions up to 1280 x 960, and a full range of user controls including
sub-sampling and exposure control. They connect to a host system via the
digital IEEE 1394 (Firewire) bus.
Performance
The SVS™ algorithms are optimized for Pentium processors with MMX
instructions. Frame rates are a function of frame size (number of pixels)
times the number of disparities (search range). Here are some timings on
Pentium M and IV processors:
- Correlation window: 15
- Texture filter
- Uniqueness filter
- Input: rectified grayscale images
For demanding stereo applications, the recommended PC configuration is a
Pentium M. These processors, besides being power-efficient, are better
than Pentium IV's at executing integer and MMX/SSE instructions, which are used
heavily by the algorithm.
The Figure of Merit (FOM) is the best direct comparison of the efficiency of
the algorithm on different systems. It gives the number of
pixel-disparities processed per second.
Because the stereo algorithms are storage-efficient, performance scales
linearly with increasing frame sizes. The algorithms execute almost
entirely from L1 cache, so that future increases in processor speed will
translate directly to higher frame rates. The diagram below, which
normalizes different frame sizes and disparity ranges to a common scale based on
the pixel-disparity law, shows how the amount of processing needed per
pixel-disparity stays relatively constant across frame sizes and disparity
ranges.
Download Technical Specifications (PDF)