This paper presents a literature survey on existing disparity map algorithms. It focuses on four main stages of processing as proposed by Scharstein and Szeliski in a taxonomy and evaluation of dense two-frame stereo correspondence algorithms performed in 2002. To assist future researchers in developing their own stereo matching algorithms, a summary of the existing algorithms developed for every stage of processing is also provided. The survey also notes the implementation of previous software-based and hardware-based algorithms. Generally, the main processing module for a software-based implementation uses only a central processing unit. By contrast, a hardware-based implementation requires one or more additional processors for its processing module, such as graphical processing unit or a field programmable gate array. This literature survey also presents a method of qualitative measurement that is widely used by researchers in the area of stereo vision disparity mappings.
Computer vision is currently an important field of research. It includes methods such as image acquisition, processing, analysis, and understanding [
Another device that is used to acquire depth information is a time-of-flight (ToF) or structured light sensor. Such a device is a type of active sensor, unlike a classic stereo vision camera. Devices of this type such as the Microsoft Kinect are cheap and have led to increased interest in computer vision applications. However, these active sensors suffer from certain characteristic problems [
In stereo vision disparity map processing, the number of calculations required increases with an increasing number of pixels per image. This phenomenon causes the matching problem to be computationally complex [
An updated survey on stereo vision disparity map algorithms would be valuable to those who are interested in this research area. Figures
The yearly distributions of the number of papers published from 2005 to 2014 in the area of stereo vision from the database of (a) ScienceDirect and (b) IEEE Xplore.
The remainder of the paper is organized as follows. Previous review papers related to stereo vision disparity map algorithms are discussed in Section
Numerous methods of implementation for stereo vision disparity mapping have been established in the past few years. This can be observed from the review papers listed in Table
Previous review papers on stereo vision disparity map algorithms.
Year | Author | Focus |
---|---|---|
2002 | Scharstein and Szeliski [ |
Proposed a taxonomy for vision algorithms and provided a quality metric to compare and evaluate multiple blocks of algorithms as shown in Figure |
|
||
2003 | Brown et al. [ |
Reviewed advances in stereo vision disparity map algorithms regarding correspondence methods and occlusion handling methods for real time implementations. |
|
||
2008 | Tombari et al. [ |
Presented a survey and compared the different methods of cost aggregation for stereo correspondence through accuracy and computational requirements. |
|
||
2008 | Lazaros et al. [ |
Reviewed developments in stereo vision algorithms implemented via software and hardware categorized in terms of their major attributes. The comparison of local and global methods provided by previously developed algorithms implemented on software and hardware based platforms was presented in this work. |
|
||
2011 | Tombari et al. [ |
Contributed an evaluation of stereo vision depth map algorithms in terms of their 3D object recognition ability. |
|
||
2013 | Tippetts et al. [ |
Reviewed stereo vision algorithms and their suitability for resource-limited systems. They have compiled and presented an accuracy and runtime performance data for all stereo vision disparity map algorithms in the past decade with an emphasis on real time performance. |
Most stereo vision disparity map algorithms have been implemented using multistage techniques. These techniques, as codified by Scharstein and Szeliski, consist of four main steps as shown in Figure
A framework for the development of a stereo vision algorithm.
In general, stereo vision disparity map algorithms can be classified into local or global approaches. A local approach is also known as area based or window based approach. This is because the disparity computation at a given point (or pixel) depends only on the intensity values within a predefined support window. Thus, such method considers only local information and therefore has a low computational complexity and a short run time. Local methods include all four steps of the taxonomy. Examples of implementation of such methods are provided by the work of Mattoccia et al. [
By contrast, a global method treats disparity assignment as a problem of minimizing a global energy function for all disparity values. Such a method is formulated as an energy minimization process with two terms in the objective function (i.e., a data term, which penalizes solutions that are inconsistent with the target data and a smoothness term, which enforces the piecewise smoothing assumption with neighboring pixels). The smoothness term is designed to retain smoothness in disparity among pixels in the same region. The disparity map is produced by assigning similar depth values to neighboring pixels. Global methods produce good results but are computationally expensive. Therefore, they are impractical for use in real time systems. Global methods typically skip Step
All stereo matching algorithms require a cost criterion to measure the extent of matching between two pixels. The matching cost computation is the stage in which whether the values of two pixels correspond to the same point in a scene is determined. Therefore, the stereo matching cost computation can be defined as a method of determining the parallax values of each point between the left and right images [
The matching points must lie on epipolar lines
Epipolar geometry. The 3D image of target scene at point
Area based or window based techniques are capable of offering richer data than matching techniques based on individual pixels or features. Such techniques can be more accurate because the matching process considers the entire set of pixels associated with image regions. Common algorithms for window based techniques include the sum of absolute differences (SAD), the sum of squared differences (SSD), normalized cross correlation (NCC), rank transforms (RT), and census transforms (CT) [
The AD algorithm aggregates the differences in luminance (or intensity values) between the pixel in the left image
The SD algorithm aggregates the squared differences between the reference pixels in
The matching cost function can also be constructed using feature based techniques. This approach attempts to establish correspondences only for similar feature points that can be unambiguously matched. Common methods of feature extraction include those based on visual features (e.g., edges, shapes, textures, segmentation, and gradient peaks), statistical characteristics (e.g., minima, medians, and histograms), and transformation features (e.g., Hough transforms, wavelet transforms, and Gabor transforms) [
The SAD algorithm, defined in (
Gupta and Cho [
Equation (
Summary of stereo vision disparity map algorithms implemented on different computational platforms.
Year | Author | Method | Taxonomy stage | Algorithm | Computational platform | |||
---|---|---|---|---|---|---|---|---|
Step |
Step |
Step |
Step |
|||||
2004 | Park et al. [ |
Local + global | Edge based | FW | MRF based | Box filtering | Segmentation based | — |
|
||||||||
2006 | Wang et al. [ |
Local | AD | MW | WTA | Median filter | Multiple cost aggregation | CPU Intel P4 and GPU ATI 800 |
|
||||||||
2006 | Yoon and Kweon [ |
Local | TAD | ASW | WTA | Left-right consistency check | Adaptive support weight | — |
|
||||||||
2007 | Cigla et al. [ |
Local | Edge based | Arbitrary shaped based AW | WTA | Angle sweep | Multiview region-based | — |
|
||||||||
2008 | Hirschmüller [ |
Global | Semiglobal matching pixel based | — | DP | Left-right consistency check + median filtering | Semiglobal matching | CPU Opteron 2.2 GHz |
|
||||||||
2009 | Yang et al. [ |
Global | Color weighted correlation | — | BP | Left-right consistency check | Hierarchical loopy belief propagation | — |
|
||||||||
2009 | Salmen et al. [ |
Global | SAD | — | DP | Left-right consistency check | Optimized dynamic programming | CPU with 1.8 GHz |
|
||||||||
2010 | Mattoccia et al. [ |
Local | TAD | Joint bilateral filtering based ASW | WTA | Left-right consistency check | Joint bilateral stereo | CPU Intel Core Duo 2.14 GHz |
|
||||||||
2010 | Nalpantidis and Gasteratos [ |
Local | AD | ASW | WTA | — | LCDM | — |
|
||||||||
2010 | Kalarot and Morris [ |
Global | Pixel based | — | DP | — | Symmetric dynamic programming | CPU Intel Quad Core 2.3 GHz and GPU GeForce GTX280, FPGA Altera Stratix III |
|
||||||||
2011 | Lee and Sharma [ |
Local | SAD + RT | Multiresolution based MW | WTA | — | Rank transform + multiresolution | Personal Computer and GPU (detail n/a) |
|
||||||||
2011 | Mei et al. [ |
Local | AD + CT | Cross based AW | WTA | Cross-checking | AD census + dynamic cross | CPU Intel Core 2 Duo 2.20 GHz and GPU GeForce GTX480 |
|
||||||||
2011 | Min et al. [ |
Local | TAD | Joint histogram- MW based aggregation | WTA | Box filtering | Histogram-based aggregation | CPU (detail n/a) |
|
||||||||
2011 | Pérez and Sánchez [ |
Global | Pixel based | — | BP | Left-right consistency check | Memory-efficient belief propagation | — |
|
||||||||
2011 | Sharma et al. [ |
Local | Feature based | — | WTA | — | SIFT | Autonomous vehicle navigation |
|
||||||||
2011 | Psota et al. [ |
Local | SAD | ASW | WTA | Median filter | Iterative refinement adaptive support weight | — |
|
||||||||
2011 | Tippetts et al. [ |
Local | Gaussian filter + profile shape | MW | WTA | Median filter | Profile shape matching | CPU AMD Phenom II 2.8 GHz |
|
||||||||
2011 | Banno and Ikeuchi [ |
Global | Pixel based | — | BP | Directed anisotropic diffusion | 3D directed anisotropic diffusion | — |
|
||||||||
2011 | Zhao and Taubin [ |
Local | SAD | Multiresolution based AW | WTA | Cross-checking | Multiresolution adaptive windows | CPU (detail n/a) and GPU GeForce GTX280 |
|
||||||||
2011 | Nalpantidis et al. [ |
Local | AD | Gaussian weighted + cellular automata | WTA | — | Efficient hierarchical | Stratix II GX FPGA |
|
||||||||
2012 | Arranz et al. [ |
Global | Pixel based | — | MRF based optimization | — | Multiresolution energy minimization | CPU Intel i7 3.4 GHz with 7 GB RAM |
|
||||||||
2012 | Xiang et al. [ |
Global | Color weighted pixel based | — | Hierarchical belief propagation | Uniqueness constraint + similarity constraint | Hierarchical belief propagation | CPU Intel 2.7 GHz and GPU Geforce GTX260 |
|
||||||||
2012 | Yang [ |
Local | Edge based | Minimum spanning tree | WTA | Guided filter | Minimum spanning tree based | CPU Intel i7 1.8 GHz with 4 GB RAM |
|
||||||||
2013 | Chen and Lai [ |
Global | Pixel based | — | GC | — | Parallel GC | CPU Intel i7 (detail n/a) |
|
||||||||
2013 | Chen and Su [ |
Local | Area based | Shape adaptive low complexity based AW | WTA | Cross-checking | Shape adaptive low complexity | CPU Intel i5 2.6 GHz |
|
||||||||
2013 | Wang et al. [ |
Global | Pixel based | — | GC | — | Hierarchical bilateral disparity structure (HBDS) | CPU Intel Core 2 Duo 2.33 GHz with 2 GB RAM |
|
||||||||
2014 | Cheng et al. [ |
Local + global | ZNCC | Match-edge based MW | WTA | Global edge constraint | Global edge constraint | n/a |
|
||||||||
2013 | Choi and Park [ |
Global | SAD | — | GC | Truncated linear function | Efficient GPU-based GC | CPU (detail n/a) and GPU GeForce GTX580 |
|
||||||||
2013 | Wang et al. [ |
Global | TAD | — | GC | Median filtering + interpolation and depth discontinuity adjustment | Reliable points based GC | CPU Intel Core 2 Duo 2.0 GHz with 2 GB RAM |
|
||||||||
2013 | Michael et al. [ |
Local + global | AD | — | WTA | Left-right consistency check | Real time semiglobal | CPU Intel Xeon and GPU GeForce GTX480 |
|
||||||||
2013 | Cigla and Alatan [ |
Local | SAD + CT | Successive weighted summation based ASW | WTA | Permeability based filtering | Separable successive weighted summation | CPU Intel i7 3 GHz with 6 GB RAM, and GPU GeForce GTX480 |
|
||||||||
2013 | Gupta and Cho [ |
Local | SAD | MW | WTA | Left-right consistency check | Double window based | CPU (detail n/a) |
|
||||||||
2013 | Hosni et al. [ |
Local | TAD (color + gradient) | ASW | WTA | Weighted bilateral median filtering | ASW + patch match stereo | CPU Intel Core 2 Quad 2.4 GHZ and GPU GeForce GTX480 |
|
||||||||
2013 | Zhang et al. [ |
Local | TAD (color + gradient) | ASW | WTA | — | Real time GPU | CPU Intel i7 and GPU GeForce GT540M |
|
||||||||
2013 | Kowalczuk et al. [ |
Local | SAD | Iterative ASW + temporal ASW | WTA | Median filtering | Iterative refinement ASW | CPU AMD Phenom II X6 3.0 GHz and GPU GeForce GTX580 |
|
||||||||
2013 | Lee et al. [ |
Local | Three-mode cross CT | ASW | WTA | Left-right consistency check | ASW + three-mode cross census | — |
|
||||||||
2013 | Lin et al. [ |
Local | TAD (color + gradient) | Hierarchical cluster based ASW | WTA | Left-right consistency check | Hierarchical clustering algorithm | CPU Intel Core 2 Duo 2.99 GHz and GPU GeForce 9500GT |
|
||||||||
2013 | Zhang et al. [ |
Local | SAD + ALD | Cross based AW | WTA | Left-right consistency check | SAD + arm-length differences (ALD) | CPU Intel Core 2 Duo 3.00 GHz and GPU GeForce GTX570 |
|
||||||||
2013 | Pham and Jeon [ |
Local | TAD | MW | WTA | Weighted median filtering | Domain transformation | CPU AMD Athlon 64 X2 Dual Core 2 GHz and GPU GeForce GTX460 |
|
||||||||
2014 | Vijayanagar et al. [ |
Local | Segment based | MW | WTA | Multi resolution anisotropic diffusion | Multiresolution anisotropic diffusion | CPU running at 3.2 GHz with 8 GB RAM and GPU AMD FirePro V4900 |
|
||||||||
2013 | Xu et al. [ |
Local | TAD | ASW | WTA | — | Adaptive weight selection | — |
|
||||||||
2014 | Wang et al. [ |
Global | Pixel based | — | MRF based optimization | Joint bilateral filtering | MRF based optimization | CPU running at 3 GHz with 3 GB RAM |
|
||||||||
2013 | Mattoccia [ |
Local | Segment based | ASW | WTA | Guided filter | Multiple algorithms (FW, ASW) | FPGA Xilinx Spartan 6 |
|
||||||||
2013 | Zhang et al. [ |
Global | BT + AD | — | BP | Color image depth matting + 2D polynomial regression | Multiscale BP | CPU Intel i7 with 4 GB RAM and GPU GeForce GTX295 |
|
||||||||
2013 | Fowers et al. [ |
Local | SAD | MW | WTA | — | SAD | CPU Intel Quad Core 3.00 GHz and GPU GeForce GTX295, FPGA Altera Stratix III E260 |
|
||||||||
2013 | Wang et al. [ |
Local | AD + CT | AW | WTA | — | Real time HQ-FPGA | FPGA Altera Stratix IV |
|
||||||||
2013 | Ma et al. [ |
Local | TAD | ASW | WTA | Weighted median filtering + left-right consistency check | Constant time weighted median filtering | CPU Intel Xeon 2.83 GHz and GPU GeForce GTX580 |
|
||||||||
2014 | Miron et al. [ |
Local | CT | Cross based AW | WTA | Anisotropic local polynomial approximation | Cross-comparison census | — |
|
||||||||
2014 | Yang et al. [ |
Local | TAD | AW | WTA | Adaptive guided filter | Fast adaptive guided filter | CPU Intel Core Duo 3.16 GHz with 2 GB RAM and GPU Nvidia Tesla C2050 |
|
||||||||
2014 | Colodro-Conde et al. [ |
Local | SAD + CT | MW | WTA | Median filtering | SAD + CT | Xilinx FPGA |
|
||||||||
2014 | Jin and Maruyama [ |
Local | CEN + AD | AW | WTA | — | CA + FLC | Xilinx |
|
||||||||
2004 | Park et al. [ |
Local + global | Edge based | FW | MRF based | Box filtering | Segmentation based | — |
|
||||||||
2014 | Mota et al. [ |
Global | Symmetry | — | MRF based | — | SymStereo | CPU Intel i7 3 GHz and Geforce GTX 680 |
|
||||||||
2014 | Tippetts et al. [ |
Local | Edge | MW | WTA | Vertical filtering | Profile shape matching | Xilinx |
|
||||||||
2014 | Xu et al. [ |
Local | Pixel based | FW | WTA | — | Pyramidal | AMD Opteron processor 6366HE, Intel Xeon processor E5-2620, Nvidia GeForce GTX 770 |
|
||||||||
2014 | Werner et al. [ |
Local | NCC | — | WTA | Cross bilateral filter | Real time full HD | FPGA |
|
||||||||
2015 | Ekstrand et al. [ |
Local | Segmentation | MW | WTA | Median filter | Real time segmentation | Xilinx FPGA-Spartan 3A-1800A |
|
||||||||
2015 | Matsuo et al. [ |
Local | AD + edge | FW | WTA | Weighted joint bilateral filter | In-Loop Feedback Matching | — |
|
||||||||
2015 | Yao et al. [ |
Global | Feature-based | — | MRF | — | Real time adaptive meshing | CPU Xeon and Nvidia Tesla K2 |
|
||||||||
2015 | Ploumpis et al. [ |
Global | Feature + particle filter | — | MRF based | Histogram + segmentation | Particle filter + scattered control landmarks | CPU Intel Core 2 Duo |
|
||||||||
2015 | Chen et al. [ |
Local | Median filter + AD | ASW | WTA | — | Trilateral | CPU Intel i7 3 GHz with 8 G RAM |
The NCC algorithm is another method of determining the correspondence between two windows around a pixel of interest. The normalization within the window compensates for differences in gain and bias [
The matching cost for RT is given by (
The CT algorithm translates the results of comparisons between a center pixel and its neighboring pixels within a window into a bit string as shown
Several researchers have also developed matching cost methods based on a combination of two algorithms. A combination of the AD and CT algorithms as shown by Mei et al. [
Cost aggregation is the most important stage for determining the general performance of a stereo vision disparity map algorithm, especially for local methods. The purpose of cost aggregation is to minimize matching uncertainties. Cost aggregation is needed because the information obtained for a single pixel upon calculating the matching cost is not sufficient for precise matching. Local methods aggregate the matching cost by summing them over a support region [
Cost aggregation windows. (a)
In the MW technique, multiple windows are selected from among a number of candidates based on the support windows that produce smaller matching costs. This method was implemented by Hirschmüller et al. [
The AW technique was implemented by Lu et al. [
A comparative study of the use of different support region techniques in the cost aggregation stage was performed by Fang et al. [
Essentially, in ASW application, a higher weight will be allocated to a pixel if its intensity is more similar to that of the anchor pixel and if it is located at a smaller distance from the anchor pixel, as implemented by Zhang et al. [
Generally, a stereo matching algorithm represents one of the two major optimizations approaches: the local approach or the global approach. In the local approach, when the final disparities are computed, the disparity for each pixel is essentially selected using a local winner takes all (WTA) strategy as define by
By contrast, in a global approach, certain assumptions are made about the depth of field of the scene, which are usually expressed in an energy minimization framework. The bulk of the effort in a global method is expended during the disparity computation phase, and the aggregation step is often skipped [
A global method such as the belief propagation (BP) approach requires large amounts of computational resources and memory for the storage of the image data and the execution of the algorithm. For the improvement to the BP technique achieved implemented by Liang et al. [
The purpose of the disparity refinement stage is to reduce noise and improve the disparity maps. Typically, the refinement step consists of regularization and occlusion filling or interpolation. The regularization process will reduce the overall noise through the filtering of inconsistent pixels and small variations among pixels on disparity map. The occlusion filling or interpolation process is responsible for approximating the disparity values in areas in which the disparity is unclear. Typically, occluded regions are filled with disparities similar to those of the background or textureless areas. Usually, the occlusion regions are detected by using left-right consistency check, such as those implemented by Yang et al. [
Two classic and common techniques for local disparity refinement are Gaussian convolution and the median filter. In Gaussian convolution, disparities are estimated in combination with those of neighboring pixels in accordance with weights defined by a Gaussian distribution. The primary purpose of this method is to reduce the noise in the disparity map, but the Gaussian filter also reduces the amount of fine detail present in the final disparity map. A technique developed by Vijayanagar et al. [
The diffusion technique performs a function similar to that of Gaussian convolution. Moreover, there exists an adaptation of this approach called anisotropic diffusion. Unlike Gaussian convolution, which destroys edges and fine details, anisotropic diffusion applies smoothing without crossing any edges as implemented by Banno and Ikeuchi [
This section reviews several software-based implementation processes of global and local methods for the generation of disparity maps. These algorithms were developed and tested using only a CPU as the processing hardware as shown in Figure
Block diagrams of the implementation of stereo vision disparity map algorithms. (a) Software-based one (e.g., only a computer or a laptop), (b) hardware-based onewith a GPU implementation (e.g., a computer or a laptop built with a GPU unit), and (c) hardware-based one with FPGA implementation connected to a computer to burn-in the codes and become a standalone system.
The best known approaches among the global methods are belief propagation (BP) and graph cut (GC) algorithms. Pérez and Sánchez [
A new technique was proposed by Chen and Lai [
In local methods, pixel correspondences are generated by measuring the correspondence and similarity between image regions and very effective implementation can be produced using this approach [
Xu et al. [
The ability to implement stereo matching algorithms in real time represents a new research area in the field of computer vision. The results of the online Middlebury benchmarking system established by Scharstein and Szeliski [
Several papers related to performance evaluations of FPGAs, GPUs, and CPUs were reviewed for this literature survey as specified in Table
Previous evaluation papers on CPU, FPGA, and GPU.
Year | Author | Focus |
---|---|---|
2008 | Gac et al. [ |
Presented a performance evaluation of different target architectures which are FPGA (Xilinx Virtex 2 Pro), GPU (Nvidia Geforce 8880) and CPU (Xeon dual core 3 GHz) performance based on back projection technique with several ways to speed up. They have reduced the computational time for these three different architectures through memory parallelized architecture. |
|
||
2010 | Kalarot and Morris [ |
Reviewed performance on FPGA (Altera Stratix III) and GPU (Nvidia Geforce GTX 280) performance based on strengths and limitations. The same DP algorithm has been applied to FPGA and GPU. The evaluations have been made on internal clocks, memory space, and disparity range of 128 and 256. |
|
||
2012 | Pauwels et al. [ |
Reviewed performance on FPGA (Xilinx Virtex 4) and GPU (Nvidia Geforce GTX 7900) performance based on optical flow, stereo vision, and local image features including energy, orientation, and phase. |
|
||
2012 | Russo et al. [ |
Presented performance comparison on FPGA (cyclone II) and GPU (Nvidia Geforce GTX 295) for image convolution processing. The performance is measured through clock cycle ratio and execution time. |
|
||
2013 | Fowers et al. [ |
Presented performance comparison on FPGA (Altera Stratix III), GPU (Nvidia Geforce GTX 295) and CPU (Xeon Quad Core W3520) for sliding window applications. They have used SAD algorithm for all three architectures. The performance comparison is based on energy efficiency and time consuming for image processing. Multiple windows sizes (4 × 4, 9 × 9, 16 × 16, 25 × 25, and 45 × 45) have been used to evaluate the best performance architecture. |
|
||
2014 | Xu et al. [ |
Presented the speed performance of CPU (AMD Opteron processor 6366HE, Intel Xeon processor E5-2620) and GPU (Nvidia GeForce GTX 770) on the pyramidal stereo algorithm. |
Russo et al. [
Several global methods have been implemented on FPGAs and GPUs for the development of real time stereo vision disparity map algorithms. A global optimization algorithm for stereo matching based on improvement to the BP approach implemented on a GPU was presented by Xiang et al. [
Implementation of a new algorithm using the GC method on a GPU was presented by Choi and Park [
Current FPGA technology offers thousands of small logic blocks embedded in the connection matrix. This allows arbitrary computation blocks to be constructed from basic computing blocks through parallel circuit connections. Detailed summary of information regarding the advantages and disadvantages of real time implementation of stereo vision algorithms on FPGAs has been provided by Samarawickrama [
Excessive time consumption is the main challenge facing real time algorithm implementation because of their computational complexity. The reasons that real time vision algorithms are generally suitable for implementation on GPUs have been explained and discussed by Kim et al. [
A novel local method for stereo matching using a GPU was presented by Kowalczuk et al. [
Over the past decade, developments in computing architectures have exhibited a clear trend toward increased heterogeneity and parallelism, with most mainstream microprocessors now possessing multiple cores and robust system architectures [
There are several academic research centers that provide qualitative accuracy assessments of disparity maps through online submissions. The datasets used for these assessments can also be downloaded from the associated web pages, for example, the Middlebury Computer Vision pages [
Standard benchmarking images provided in the Middlebury Stereo Vision datasets in [
The performance of local algorithms in terms of bad pixel percentages for the nonocc, all, and disc which are cited from [
The performance of global algorithms in terms of bad pixel percentages for the nonocc, all, and disc which are cited from [
Because this section discusses only accuracy measurements cited from [
The average errors in terms of bad pixel percentage for local and global methods.
The stereo matching problem remains a challenge for computer vision researchers. A literature survey of the latest stereo vision disparity map algorithms is provided here and all cited algorithms are categorized according to the processing steps with which they are associated in the taxonomy of Scharstein and Szeliski. Becoming familiar with the state-of-the-art algorithms for stereo vision disparity mapping is a time consuming task. In this survey of the latest developments in the area of stereo matching algorithms, the processing steps composing such an algorithm and their software-based as well as hardware-based implementation was therefore performed and presented to assist in this task. The qualitative measurement of the accuracy of such algorithms was also discussed. To assist the reader in navigating the numerous works presented, Table
Left image
Right image
Disparity value
Pixel coordinates
Support window
Element of
Neighboring pixel coordinates
Support window centered on pixel
Pixel of interest
Smallest pixel value
Set of disparity values
Weighting factor
Energy function
Neighboring pixels in the support window.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work was supported in part by the Universiti Sains Malaysia Research University Individual (RUI) with Account no. 1001/PELECT/814169 and the Universiti Teknikal Malaysia Melaka.