Stereo vision architecture for heterogeneous systems-on-chip

Stereo vision is a crucial operation in state-of-the-art computer vision applications. Several efficient algorithms have been recently proposed either to increase the quality of the produced disparity maps or to reach higher computational speed, or both. Among them, hardware-oriented algorithms are desirable when the main objective is including stereo vision in portable consumer electronic and multimedia systems. Modern FPGA-based platforms allow all-programmable heterogeneous embedded systems to be realized as SoCs and they are certainly appropriate also to implement stereo vision. This paper proposes a novel stereo vision algorithm and a specific implementation suitable for heterogeneous SoC FPGA-based embedded systems. A complete embedded system design is also demonstrated using the Xilinx Zynq-7000 SoCs device family. The novel algorithm has been characterized in terms of accuracy by referring to the benchmark sets Middlebury and Kitti. When 640 × 480 8-bit greyscale stereo pairs are processed, the fastest prototype, realized within the XC7Z020 and the XC7Z045 device, respectively, exhibits an 81 and 101 fps frame rate. Conversely, the cheapest implementation occupies only 52691 LUTs, 59715 FFs, 93 DSPs, 40 BRAM18k and 6 BRAM36k memory blocks. In comparison to several counterparts existing in literature, the novel algorithm can achieve higher accuracies, and makes the proposed complete system design able to reach the most favourable accuracy/performance trade-off.

[1]  Dah-Jye Lee,et al.  Review of stereo vision algorithms and their suitability for resource-limited systems , 2013, Journal of Real-Time Image Processing.

[2]  Heiko Hirschmüller,et al.  Evaluation of Stereo Matching Costs on Images with Radiometric Differences , 2009, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[3]  José L. Núñez-Yáñez,et al.  Accurate power control and monitoring in ZYNQ boards , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[4]  Bugao Xu,et al.  A portable stereo vision system for whole body surface imaging , 2010, Image Vis. Comput..

[5]  Marc M. Van Hulle,et al.  A two-level real-time vision machine combining coarse- and fine-grained parallelism , 2010, Journal of Real-Time Image Processing.

[6]  Markus Vincze,et al.  A fast stereo matching algorithm suitable for embedded real-time systems , 2010, Comput. Vis. Image Underst..

[7]  S. P. Mudur,et al.  Three-dimensional computer vision: a geometric viewpoint , 1993 .

[8]  D. Scharstein,et al.  A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms , 2001, Proceedings IEEE Workshop on Stereo and Multi-Baseline Vision (SMBV 2001).

[9]  Rafael Muñoz-Salinas,et al.  People detection and tracking using stereo vision and color , 2007, Image Vis. Comput..

[10]  Frank Cheng,et al.  Integration of 3 D Stereo Vision Measurements in Industrial Robot Applications , 2008 .

[11]  Barry McCullagh Real-time disparity map computation using the cell broadband engine , 2010, Journal of Real-Time Image Processing.

[12]  Tian-Sheuan Chang,et al.  Algorithm and Architecture of Disparity Estimation With Mini-Census Adaptive Support Weight , 2010, IEEE Transactions on Circuits and Systems for Video Technology.

[13]  Jae Wook Jeon,et al.  FPGA Design and Implementation of a Real-Time Stereo Vision System , 2010, IEEE Transactions on Circuits and Systems for Video Technology.

[14]  Tomasz Kryjak,et al.  Real-time hardware–software embedded vision system for ITS smart camera implemented in Zynq SoC , 2018, Journal of Real-Time Image Processing.

[15]  Olivier Sentieys,et al.  Communication-Based Power Modelling for Heterogeneous Multiprocessor Architectures , 2016, 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC).

[16]  Kamel Besbes,et al.  Real-time embedded system for traffic sign recognition based on ZedBoard , 2019, Journal of Real-Time Image Processing.

[17]  John N. Lygouras,et al.  Design and evaluation of a hardware/software FPGA-based system for fast image processing , 2008, Microprocess. Microsystems.

[18]  Jean-Christophe Nebel,et al.  An optimized stereo vision implementation for embedded systems: application to RGB and infra-red images , 2014, Journal of Real-Time Image Processing.

[19]  Rafael Cabeza,et al.  Stereo matching using gradient similarity and locally adaptive support-weight , 2011, Pattern Recognit. Lett..

[20]  Pascal Fua,et al.  Combining Stereo and Monocular Information to Compute Dense Depth Maps that Preserve Depth Discontinuities , 1991, IJCAI.

[21]  In-So Kweon,et al.  Adaptive Support-Weight Approach for Correspondence Search , 2006, IEEE Trans. Pattern Anal. Mach. Intell..

[22]  Andreas Geiger,et al.  Are we ready for autonomous driving? The KITTI vision benchmark suite , 2012, 2012 IEEE Conference on Computer Vision and Pattern Recognition.

[23]  Kristian Ambrosch,et al.  Accurate hardware-based stereo vision , 2010, Comput. Vis. Image Underst..

[24]  Luigi di Stefano,et al.  Dense stereo based on the uniqueness constraint , 2002, Object recognition supported by user interaction for service robots.

[25]  Jae Wook Jeon,et al.  Domain Transformation-Based Efficient Cost Aggregation for Local Stereo Matching , 2013, IEEE Transactions on Circuits and Systems for Video Technology.

[26]  Giancarlo Raiconi,et al.  Real-Time Low-Power FPGA Architecture for Stereo Vision , 2017, IEEE Transactions on Circuits and Systems II: Express Briefs.

[27]  Antonios Gasteratos,et al.  Stereo vision for robotic applications in the presence of non-ideal lighting conditions , 2010, Image Vis. Comput..

[28]  Stefania Perri,et al.  Low-cost FPGA stereo vision system for real time disparity maps calculation , 2012, Microprocess. Microsystems.

[29]  Roger Y. Tsai,et al.  Techniques for Calibration of the Scale Factor and Image Center for High Accuracy 3-D Machine Vision Metrology , 1988, IEEE Trans. Pattern Anal. Mach. Intell..

[30]  Ming-Der Shieh,et al.  Depth-Reliability-Based Stereo-Matching Algorithm and Its VLSI Architecture Design , 2015, IEEE Transactions on Circuits and Systems for Video Technology.

[31]  João Canas Ferreira,et al.  Scalable hardware architecture for disparity map computation and object location in real-time , 2013, Journal of Real-Time Image Processing.

[32]  J.M. Ferrandez,et al.  FPGA-Based Platform for Image and Video Processing Embedded Systems , 2007, 2007 3rd Southern Conference on Programmable Logic.

[33]  Jason Cong,et al.  Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks , 2015, FPGA.

[34]  Andreas Geiger,et al.  Object scene flow for autonomous vehicles , 2015, 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[35]  Xin Yu,et al.  3D cost aggregation with multiple minimum spanning trees for stereo matching. , 2017, Applied optics.

[36]  Jean-Yves Bouguet,et al.  Camera calibration toolbox for matlab , 2001 .

[37]  Madaín Pérez Patricio,et al.  An FPGA stereo matching unit based on fuzzy logic , 2016, Microprocess. Microsystems.

[38]  Antonios Gasteratos,et al.  Biologically and psychophysically inspired adaptive support weights algorithm for stereo correspondence , 2010, Robotics Auton. Syst..

[39]  Pascal Monasse,et al.  Three-step image rectification , 2010, BMVC.

[40]  Stefania Perri,et al.  An efficient hardware-oriented stereo matching algorithm , 2016, Microprocess. Microsystems.

[41]  Franz Franchetti,et al.  High Performance Stereo Vision Designed for Massively Data Parallel Platforms , 2010, IEEE Transactions on Circuits and Systems for Video Technology.

[42]  Eric Psota,et al.  Real-Time Stereo Matching on CUDA Using an Iterative Refinement Method for Adaptive Support-Weight Correspondences , 2013, IEEE Transactions on Circuits and Systems for Video Technology.

[43]  Theocharis Theocharides,et al.  A Low-Cost Real-Time Embedded Stereo Vision System for Accurate Disparity Estimation Based on Guided Image Filtering , 2016, IEEE Transactions on Computers.

[44]  Abiel Aguilar-González,et al.  An FPGA Stereo Matching Processor Based on the Sum of Hamming Distances , 2016, ARC.

[45]  Margrit Gelautz,et al.  Secrets of adaptive support weight techniques for local stereo matching , 2013, Comput. Vis. Image Underst..

[46]  Jürgen Teich,et al.  Hardware/Software Codesign: The Past, the Present, and Predicting the Future , 2012, Proceedings of the IEEE.

[47]  Jae Wook Jeon,et al.  Local Density Encoding for Robust Stereo Matching , 2014, IEEE Transactions on Circuits and Systems for Video Technology.

[48]  Stefania Perri,et al.  Adaptive Census Transform: A novel hardware-oriented stereovision algorithm , 2013, Comput. Vis. Image Underst..

[49]  Oihana Otaegui,et al.  A reconfigurable embedded vision system for advanced driver assistance , 2015, Journal of Real-Time Image Processing.

[50]  Richard Szeliski,et al.  High-accuracy stereo depth maps using structured light , 2003, 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2003. Proceedings..

[51]  Luigi di Stefano,et al.  A fast area-based stereo matching algorithm , 2004, Image Vis. Comput..

[52]  Jae Wook Jeon,et al.  Support Local Pattern and its Application to Disparity Improvement and Texture Classification , 2014, IEEE Transactions on Circuits and Systems for Video Technology.

[53]  Byungin Moon,et al.  A simplified rectification method and its hardware architecture for embedded multimedia systems , 2016, Multimedia Tools and Applications.

[54]  Ramin Zabih,et al.  Non-parametric Local Transforms for Computing Visual Correspondence , 1994, ECCV.

[55]  Xi Jin,et al.  A real-time global stereo-matching on FPGA , 2016, Microprocess. Microsystems.

[56]  Madaín Pérez Patricio,et al.  FPGA implementation of an efficient similarity-based adaptive window algorithm for real-time stereo matching , 2015, Journal of Real-Time Image Processing.