Parallel GPGPU stereo matching with an energy-efficient cost function based on normalized cross correlation

Stereo matching is a heavily investigated topic in computer vision because of its wide range of applicability and its high computational complexity. In this paper we explore an energy-efficient technique that is suitable for parallel (GPGPU) stereo matching of remotely-sensed radar images. A major issue with images captured by remote sensing, e.g., by airborne radars, is that they are likely to have speckle noise, which is undesired information that contaminates and distorts the image. Although there are filters that alleviate the effects of speckle noise, they introduce a certain amount of image distortion. It has been demonstrated that cost functions based on Normalized Cross Correlation (NCC) can be used for accurate stereo matching in the presence of speckle noise, thus, we explored such a function for passive stereo matching. Accordingly, this paper presents a new NCC-based cost function that minimizes the number of floating-point operations utilized for stereo matching and compares its performance to that of the original NCC cost function. This evaluation is achieved via experiments in which these cost functions are employed by GPGPU stereo matching codes that use the simulated annealing algorithm. Performance comparison is conducted in terms of power and energy consumption and execution time. The dataset consisted of image pairs with two sizes. The smaller images were approximately one megapixel each and the larger image pair was over 42 megapixels each. For the smaller image pairs there was a negligible difference between the floating-point and the integer versions of the code in terms of both the execution time and power consumption. However, for the larger image pair with over 42 megapixels, there was a substantial (nearly 70%) improvement in terms of execution time and energy consumption. In addition, we also investigated the influence of the compute capability of the GPGPU on the results above. Two NVIDIA GPGPUs: a Fermi-based GPGPU with compute capability 2.0 and a more power efficient Kepler-based GPGPU, with compute capability 3.0, were used for this purpose. For the approximately one-megapixel image pairs, the Fermi-based Tesla C2075, had a larger execution time (20%), power consumption (22%), and energy consumption (40%) compared to the newer Kepler-based, GeForce GTX 670.

[1]  Du-Ming Tsai,et al.  Fast normalized cross correlation for defect detection , 2003, Pattern Recognit. Lett..

[2]  Hyunsu Cho,et al.  Pattern classification of solder joint images using a correlation neural network , 1996 .

[3]  Olga Veksler,et al.  Fast Approximate Energy Minimization via Graph Cuts , 2001, IEEE Trans. Pattern Anal. Mach. Intell..

[4]  Alex Fit-Florea,et al.  Precision and Performance: Floating Point and IEEE 754 Compliance for NVIDIA GPUs , 2011 .

[5]  A Survey on Image Matching Techniques , 2014 .

[6]  Andrea Giachetti,et al.  Matching techniques to compute image motion , 2000, Image Vis. Comput..

[7]  Roberto Brunelli,et al.  Face Recognition: Features Versus Templates , 1993, IEEE Trans. Pattern Anal. Mach. Intell..

[8]  Vladimir Kolmogorov,et al.  An experimental comparison of min-cut/max- flow algorithms for energy minimization in vision , 2001, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[9]  Lam H. Nguyen,et al.  Stereo matching: performance study of two global algorithms , 2011, Defense + Commercial Sensing.

[10]  James Ooi,et al.  New insights into correlation-based template matching , 1991, Defense, Security, and Sensing.

[11]  Thierry Toutin,et al.  Impact of terrain slope and aspect on radargrammetric DEM accuracy , 2002 .

[12]  Richard Szeliski,et al.  A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms , 2001, International Journal of Computer Vision.

[13]  Franz Leberl,et al.  Automated radar image matching experiment , 1994 .