For Guidance (+91) 7550 227 228 (WhatsApp Only)

Get Latest ECE/EEE Projects in your Email

A Matlab-based Testbed for Integration, Evaluation and Comparison of Heterogeneous Stereo Vision Matching Algorithms


Stereo matching is a heavily researched area with a prolific published literature and a broad spectrum of heterogeneous algorithms available in diverse programming languages. This paper presents a Matlab-based testbed that aims to centralize and standardize this variety of both current and prospective stereo matching approaches. The proposed testbed aims to facilitate the application of stereo-based methods to real situations.

It allows for configuring and executing algorithms, as well as comparing results, in a fast, easy and friendly setting. Algorithms can be combined so that a series of processes can be chained and executed consecutively, using the output of a process as input for the next; some additional filtering and image processing techniques have been included within the testbed for this purpose.

A use case is included to illustrate how these processes are sequenced and its effect on the results for real applications. The testbed has been conceived as a collaborative and incremental open-source project, where its code is accessible and modifiable, with the objective of receiving contributions and releasing future versions to include new algorithms and features. It is currently available online for the research community.


Stereo vision is a heavily researched field; a vast amount of published literature and a wide range of algorithms, techniques, implementations and libraries are available. However, there is no single approach that could be considered the best one, able to solve every possible problem. Usually, each technique is suitable for a set of conditions but not for others.


Figure 1. Stereo testbed architecture

Figure 1. Stereo testbed architecture

After a thoughtful analysis, Matlab has been chosen as the development platform to build up the testbed, as it allows meeting the set of requirements introduced in the previous section. Matlab is a well-known programming environment for algorithm development, data analysis, visualization and numerical computation. It is widely used in academic and research institutions and industrial enterprises, with a large community of users and a broad range of specific packages and toolboxes that help to reduce considerably the development efforts. Figure 1 shows the stereo testbed architecture.


For the first version of the testbed we have included a number of stereo matching algorithms and some additional image processes. From the two approaches for stereo algorithms introduced previously, this paper focuses on the area-based (dense) methods, given its applicability to our research domain, which is robotic autonomous navigation in outdoor terrains. However, the same approach is valid for feature-based and other stereo algorithms.


Figure 4. (a, b) Synthetic stereo images obtained from the simulated environment

Figure 4. (a, b) Synthetic stereo images obtained from the simulated environment

In the initial phases, there was no vehicle available, and so it was emulated using the simulation capabilities of the framework, where vehicles and terrains were replicated. Images of simulated terrains were captured from simulated cameras. Several stereo algorithms were evaluated to produce the disparity maps of those images. The stereo vision process was based on the block-matching (BM) algorithm. It produced very satisfactory results, finding almost 100% of the potential matches. Figure 4 shows an example of simulated images and the disparity map obtained using this algorithm.

Figure 7. Disparities maps obtained using the SGBM algorithm

Figure 7. Disparities maps obtained using the SGBM algorithm

The reddish areas at the top of Figure 7b represent false matches. It is a collateral effect of using the homomorphic filtering; the same effect has been appreciated in all experiments using images captured with our stereo system. To filter out these false matches another process, called “clustering”, has been included within the testbed, in the post-filters section.

This technique consists of grouping pixels in connected components based on the principle of spatial continuity; any pixel belonging to a region must be reachable from any other pixel of the same region. It means a cluster is formed by pixels in direct contact with each other.


The broad range of publications and the heterogeneity of the available resources about stereo vision make the analysis of the state of the art a hard and complex task. A flexible framework with a friendly interface has been designed to facilitate the task. Matlab has been chosen as the development platform. A series of heterogeneous stereo matching algorithms, and some pre and post-filtering techniques, have been adapted, standardized and integrated into the testbed, to make use of the large collection of existing resources and the work already done by the research community.

This integration and standardization process did not require a major effort as the testbed is quite flexible and allows for the inclusion of algorithms written in different languages and writing a wrapper for inputs/outputs is usually a straightforward task. Major contributions of the presented stereo testbed with respect to previous related works, like the Middlebury stereo correspondence software, are: a graphical interface that allow a friendly interaction for selection and configuration of algorithms and its parameters and the avoidance of the use of scripts; it allows to perform a multitude of tests in very short time; graphical representation of results for easy analysis and comparison; use of different formats of input images, not constrained to the set of images distributed with the testbed;

Portability, architecture and operative system independence, as the testbed can been executed in different platforms without the recompiling the source code or configuring a run time environment, representing one of the most important contributions; flexibility in the inclusion of algorithms written in different source languages, as well as easy connection with computer vision libraries such as OpenCV; openness of source code, so users can adapt both the algorithms and the testbed or its graphical interface to their concrete needs, and include new features, which represents a crucial aspect, as published algorithms may serve as inspiration for others, who can extend or adapt them to achieve more robust and optimized approaches over time, which the whole community can benefit from;

Scalability, as it has been designed, and it is expected, to evolve and include more algorithms, image processes, and functionality over time, receiving contributions from the research community as new works are published; once integrated, new algorithms can be easily tested and compared with others, analyzing its strengths and weaknesses to assess its contribution to the state of the art.

Source: University Complutense
Authors: Raul Correal | Gonzalo Pajares | Jose Jaime Ruz

Download Project

For Free ECE/EEE Project Downloads:
Enter your email address:
( Its Free 100% )

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>