Abstract
Binocular stereo vision is a commonly applied computer vision technique with a wide range of applications in 3D scene perception. However, binocular stereo matching algorithms are computationally intensive and complicated. In addition, some traditional platforms are unable to meet the real-time and energy efficient dual requirements. In this paper, we proposed a hardware/software co-design FPGA (Field Programmable Gate Array) approach to overcome these limitations. Based on the characteristics of binocular stereo vision, we modularize the system functions to achieve the hardware/software partitioning. This accelerates the data processing on the FPGA, while simultaneously performing data control on the ARM (Advanced RISC Machine) cores. The parallelism of the FPGA allows for a full-pipeline design that is synchronized with an identical system clock for the simultaneous running of multiple stereo processing components, thus improving the processing speed. Furthermore, to minimize hardware costs, the collected images and data are compressed prior to matching, while the precision is subsequently enhanced during post-processing. The proposed system was evaluated on the PYNQ-Z2 development board, with experimental results revealing its high real-time performance and low power consumption for a 100M clock frequency. Compared with existing designs, the simple yet flexible system demonstrated a higher image processing speed and less hardware resource overhead (thus lower power consumption). The average error rate of the BM matching algorithm was also improved, particularly with the limited PYNQ-Z2 hardware resource. The proposed system has been opened on GitHub.
Similar content being viewed by others
References
Adams, J.K., Thomas, D.E.: The design of mixed hardware/software systems. In: Proceedings of the 33rd annual Design Automation Conference (DAC '96). Association for Computing Machinery, New York, NY, USA, pp 515–520. (1996) https://doi.org/10.1145/240518.240616
Ambrosch, K., Humenberger, M., Kubinger, W., Steininger, A.: SAD-Based stereo matching using FPGAs. In: Kisačanin, B., Bhattacharyya, S.S., Chai, S. (eds.) Embedded Computer Vision. Advances in Pattern Recognition. Springer, London, pp. 121-138. https://doi.org/10.1007/978-1-84800-304-0_6
Finnerty, A., Ratigner, H.: Reduce Power and Cost by Converting from Floating Point to Fixed Point, WP491 (v1.0). Xilinx (2017). https://www.xilinx.com/support/documentation/white_papers/wp491-floating-to-fixed-point.pdf
Angoletta, M.E.: Digital signal processor fundamentals and system design. In : CAS - CERN Accelerator School: Digital Signal Processing, pp. 167–229 (2008)
Bouguet, J.Y.: Fifth calibration example - calibrating a stereo system, stereo image rectification and 3d stereo triangulation. http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example5.html
Bouguet, J.Y.: Camera calibration toolbox for matlab (2015). http://www.vision.caltech.edu/bouguetj/calib_doc/
Crockett, L.H., Elliot, R.A., Enderwitz, M.A., Stewart, R.W.: The Zynq Book: Embedded Processing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc. Strathclyde Academic Media, Glasgow (2014)
DeMicheli, G., Sami, M.: Hardware/software Co-design, . Springer Science & Business Media, Berlin 310 (2013)
Einspruch, N.: Application Specific Integrated Circuit (ASIC) Technology, vol. 23. Academic Press, Cambridge (2012)
Fetić, A., Jurić, D., Osmanković, D.: The procedure of a camera calibration using Camera Calibration Toolbox for MATLAB, In: Proceedings of the 35th International Convention MIPRO, pp. 1752-1757 (2012)
Geiger, A., Roser, M., Urtasun, R.: Efficient Large-Scale Stereo Matching. In: Kimmel, R., Klette, R., Sugimoto, A. (eds.) Computer Vision – ACCV 2010. Lecture Notes in Computer Science, vol. 6492. Springer, Berlin, Heidelberg. (2011). https://doi.org/10.1007/978-3-642-19315-6_3
Guo, Y., Yao, Y., Di, X.: Research on Structural Parameter Optimization of Binocular Vision Measuring System for Parallel Mechanism. In: 2006 International Conference on Mechatronics and Automation, pp. 1131-1135 (2006) https://doi.org/10.1109/ICMA.2006.257784
Jin, S., Cho, J., Dai Pham, X., Lee, K.M., Park, S.K., Kim, M., Jeon, J.W.: Fpga design and implementation of a real-time stereo vision system. IEEE Trans. Circuits Syst. Video Technol. 20(1), 15–26 (2009)
Li, J., Wu, J., You, Y., Jeon, G.: Parallel binocular stereo-vision-based gpu accelerated pedestrian detection and distance computation. J. Real-Time Image Process. 17(3), 447–457 (2020)
Lin, C.Y., Chiu, Y.P., Lin, C.Y., Tsai, C.R.: Development of a binocular vision-based catcher robot system using dsp platform. J. Chin. Inst. Eng. 37(2), 210–223 (2014)
Madisetti, V., Madisetti, V.: VLSI Digital Signal Processors. Butterworth-Heinemann, Oxford (1995)
Mahammed, M.A., Melhum, A.I., Kochery, F.A.: Object distance measurement by stereo vision. Int. J. Sci. Appl. Inform. Technol. (IJSAIT) 2(2), 05–08 (2013)
Nan, Y.: Binocular vision system based on pynq (2017). http://www.digilent.com.cn/project/details/140.html
Pan, Y., Zhu, M., Luo, J., Qiu, Y.: A Hardware/Software Co-design Approach for Real-Time Binocular Stereo Vision Based on ZYNQ (Short Paper). In: Gao, H., Wang, X., Yin, Y., Iqbal, M. (eds) Collaborative Computing: Networking, Applications and Worksharing. CollaborateCom 2018. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol. 268. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-12981-1_50
Pérez-Patricio, M., Aguilar-González, A.: Fpga implementation of an efficient similarity-based adaptive window algorithm for real-time stereo matching. J. Real-Time Image Process. 16(2), 271–287 (2019)
Perri, S., Frustaci, F., Spagnolo, F., Corsonello, P.: Design of Real-Time FPGA-based Embedded System for Stereo Vision. In: 2018 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1–5 (2018).https://doi.org/10.1109/ISCAS.2018.8351886
Rahnama, O., Cavallari, T., Golodetz, S., Tonioni, A., Joy, T., Di Stefano, L., Walker, S., Torr, P.H.: Real-time highly accurate dense depth on a power budget using an fpga-cpu hybrid soc. IEEE Trans. Circ. Syst. II 66(5), 773–777 (2019)
Rodriguez-Andina, J.J., Moure, M.J., Valdes, M.D.: Features, design tools, and application domains of fpgas. IEEE Trans. Ind. Electron. 54(4), 1810–1823 (2007)
Salmen, J., Schlipsing, M., Edelbrunner, J., Hegemann, S., Lüke, S.: Real-time stereo vision: making more out of dynamic programming. In: International Conference on Computer Analysis of Images and Patterns, pp. 1096–1103. Springer (2009)
Scharstein, D., Szeliski, R.: A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. Int. J. Comput. Vis. 47(1), 7–42 (2002)
Schauwecker, K.: Real-Time Stereo Vision on FPGAs with SceneScan (2018). CoRR abs/1809.07977
Tang, Y., Pang, C., Zhou, Z., Chen, Y.: Binocular omni-directional vision sensor and epipolar rectification in its omni-directional images. J. Zhejiang Univ. Technol. 1, 20 (2011)
Werner, M., Stabernack, B., Riechert, C.: Hardware implementation of a full hd real-time disparity estimation algorithm. IEEE Trans. Consumer Electron. 60(1), 66–73 (2014)
Yan, Y., Zhu, Q., Lin, Z., Chen, Q.: Camera Calibration in Binocular Stereo Vision of Moving Robot. In: 2006 6th World Congress on Intelligent Control and Automation, pp. 9257–9261. https://doi.org/10.1109/WCICA.2006.1713792
Zhang, K., Lu, J., Lafruit, G., Lauwereins, R., Gool, L.V.: Real-time accurate stereo with bitwise fast voting on CUDA. In: 2009 IEEE 12th International Conference on Computer Vision Workshops, ICCV Workshops, pp. 794-800 (2009). https://doi.org/10.1109/ICCVW.2009.5457623
Zhang, Z.: A flexible new technique for camera calibration. IEEE Trans. Pattern Anal. Mach. Intell. 22(11), 1330–1334 (2000)
Acknowledgements
The work presented in this paper was originally designed for a student contest in the Xilinx International Summer School. We express sincere appreciation to Xilinx for partially sponsoring this project. We thank TopEdit (www.topeditsci.com) for its linguistic assistance during the preparation of this manuscript. We thank Yongzheng Chen for completing the experiments and analysis in Sect. 5.3.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
The work is supported by the National Nature Science Foundation of China (Grant No.61872072 and No.61672144).
Rights and permissions
About this article
Cite this article
Wu, G., Yang, J. & Yang, H. Real-time low-power binocular stereo vision based on FPGA. J Real-Time Image Proc 19, 29–39 (2022). https://doi.org/10.1007/s11554-021-01158-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-021-01158-z