Specifications

The Small Vision System (SVS) is an efficient software implementation of the SRI stereo algorithms, running on standard PC hardware, either MS Windows or Linux.  These algorithms are 3 to 4 times faster than similar algorithms, and have high-quality filtering to reject false stereo matches.  Coupled with stereo cameras and a framegrabber, it is a complete, low-cost development environment for realtime stereo applications. 

You can use the SVS with any of the stereo heads available from Videre design.  You can also use images available in the computer memory, under both MS Windows and Linux operating systems.


Specification Summary

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 II and III machines.

Frame size

Number of Disparities

Frame Rate
PII 233 MHz

Frame Rate
PIII 500 MHz

Frame Rate
PIII 1 GHz

160x120

16

90 Hz

 

32

45 Hz

 

320x240

16

23 Hz

40 Hz

 

32

12 Hz

22 Hz

42 Hz

640x480

16

9 Hz

17 Hz
  32   4.8 Hz 9 Hz

64

2.6 Hz

5 Hz

 

For demanding stereo applications, the recommended PC configuration is a dual-processor Pentium III.  One of the processors can be dedicated to the stereo algorithms, and the other to running user application programs on the stereo results.

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.


System Description

The SVS is a set of algorithms implemented as a software library.  There are routines for: 


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. 

Standard video cameras can be used as input devices. Either monochrome or color cameras are acceptable; the Stereo Engine only uses luminance (intensity) information. The cameras must be genlocked, that is, their image signals must be synchronized. Most cameras have provisions to feed the synch signal of one camera into the other for genlocking. 

If you have your own cameras, then you must use a framegrabbers 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.