Real-time implementation of stereo vision based on optimised normalised cross-correlation and propagated search range on a GPU
Rui Fan, Naim Dahnoun · 2017
Due to the trade-offs between accuracy and speed, binocular stereo vision is still a challenging task in 3D computer vision research area. In this paper, an efficient stereo matching algorithm is implemented on a state-of-the-art GPU to achieve highly accurate disparity maps in real time for various autonomous vehicle applications. The proposed algorithm is developed from our previous paper, where the search range at row v is propagated from three estimated neighbourhood disparities located at row v + 1. In order to speed up the execution, the prevalent NCC algorithm is optimised by factorising the equation into five independent parts. The computations of hi, Hr, aj and arare accelerated by using the integral images II, Ir, 12 and Ir2. The values of h and a are stored in static program storage for indexing during the stereo matching, which further reduces expensive calculations to help the system perform in real time. The main purpose of this work is to accelerate the processing speed by highly exploiting the parallel computing architectures (OpenMP and CUDA). The performance of the implementation on an NVIDIA GTX 970M GPU is compared with the performance of the implementations on an Intel Core i7-4720HQ CPU using both single thread and multiple threads. The experimental results illustrate that the GPU implementation yields 37 fps when processing the images (resolution: 1242 × 375) from the KITTI database, which is between two and nine times faster than the implementations on the CPU using a different number of threads.