The SMW Stereo Algorithm

A. Fusiello with V. Roberto and E. Trucco


Description

SMW (Symmetric Multi-Window) is a local (correlation-based) stereo matching algorithm that has been presented at CVPR'97 [2]. Normalized SSD is aggregated on nine eccentric windows, the same technique that will be later called "shiftable windows" by Scharstein and Szelisky (2002), and that we called "multiple windows" (hence the "MW" in the acronym). SMW also performs symmetric (a.k.a. bidirectional) matching (the "S" of the acronym) by enforcing the so-called left-right consistency. The uncertainty of the disparity is also estimated as the variance of the SSD over the nine windows.

SMW is a block matching algorithm that implements a simple winner-take-all strategy, therefore in the subsequent 20 years it has been overtaken by scanline and global methods, not to mention that SSD as a matching cost had been outrun by Census transform. Yet, in those years SMW was at the state of the art: it achieved zero-error on noiseless random-dot stereograms (RDSs). No ground truth was available for real images, so the evaluation on the few available datasets (e.g. the one from CMU-CIL) was typically visual; to obtain quantitative data, RDSs were used. A few years later the first dataset with ground truth appeared, created by Y. Otha at the University of Tsukuba, and we had been able to include quantitative results in the journal version [1]. Overall the two papers received more than 500 citation (as of 03/2020).

The legacy C-code implementation of SMW is available on-line, but it used the HIPS image library and format, so it is unusable nowadays. A Matlab version of SMW based on the Computer Vision Toolkit is available here.

An overview of stereo matching can be found here.


"RDS" stereo pair: original (on left) and SMW output (on right).


"ROR" stereo pair: original (on left) and SMW output (on right).


"Castle" stereo pair: original (on left) and SMW output (on right).


"Parkmeter" stereo pair: original (on left) and SMW output (on right).


"Shrub" stereo pair: original (on left) and SMW output (on right).


"Trees" stereo pair: original (on left) and SMW output (on right).


Reference papers

  1. Fusiello, A.; Roberto, V. and Trucco, E. Symmetric Stereo with Multiple Windowing. In International Journal of Pattern Recognition and Artificial Intelligence, 14 (8): 1053-1066, 2000. [PDF]
  2. Fusiello, A.; Roberto, V. and Trucco, E. Efficient Stereo with Multiple Windowing. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 858-863, IEEE Computer Society Press, Puerto Rico, 1997. [PDF]