Advertisement

Integrating Simulink, OpenVX, and ROS for Model-Based Design of Embedded Vision Applications

  • Stefano Aldegheri
  • Nicola BombieriEmail author
Conference paper
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 500)

Abstract

OpenVX is increasingly gaining consensus as standard platform to develop portable, optimized and power-efficient embedded vision applications. Nevertheless, adopting OpenVX for rapid prototyping, early algorithm parametrization and validation of complex embedded applications is a very challenging task. This paper presents a comprehensive framework that integrates Simulink, OpenVX, and ROS for model-based design of embedded vision applications. The framework allows applying Matlab-Simulink for the model-based design, parametrization, and validation of computer vision applications. Then, it allows for the automatic synthesis of the application model into an OpenVX description for the hardware and constraints-aware application tuning. Finally, the methodology allows integrating the OpenVX application with Robot Operating System (ROS), which is the de-facto reference standard for developing robotic software applications. The OpenVX-ROS interface allows co-simulating and parametrizing the application by considering the actual robotic environment and the application reuse in any ROS-compliant system. Experimental results have been conducted with two real case studies: An application for digital image stabilization and the ORB descriptor for simultaneous localization and mapping (SLAM), which have been developed through Simulink and, then, automatically synthesized into OpenVX-VisionWorks code for an NVIDIA Jetson TX2 board.

References

  1. 1.
    Embedded Vision Alliance: Applications for Embedded Vision. https://www.embedded-vision.com/applications-embedded-vision
  2. 2.
    Pulli, K., Baksheev, A., Kornyakov, K., Eruhimov, V.: Real-time computer vision with OpenCV. Commun. ACM 55(6), 61–69 (2012)CrossRefGoogle Scholar
  3. 3.
    Rainey, E., Villarreal, J., Dedeoglu, G., Pulli, K., Lepley, T., Brill, F.: Addressing system-level optimization with OpenVX graphs. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, pp. 658–663 (2014)Google Scholar
  4. 4.
    Khronos Group: OpenVX: Portable, Power-efficient Vision Processing. https://www.khronos.org/openvx
  5. 5.
    Tagliavini, G., Haugou, G., Marongiu, A., Benini, L.: Adrenaline: an OpenVX environment to optimize embedded vision applications on many-core accelerators. In: International Symposium on Embedded Multicore/Many-core Systems-on-Chip, pp. 289–296 (2015)Google Scholar
  6. 6.
    Yang, K., Elliott, G.A., Anderson, J.H.: Analysis for supporting real-time computer vision workloads using OpenVX on multicore+GPU platforms. In: Proceedings of the 23rd International Conference on Real Time and Networks Systems, RTNS 2015, pp. 77–86 (2015)Google Scholar
  7. 7.
    Dekkiche, D., Vincke, B., Merigot, A.: Investigation and performance analysis of OpenVX optimizations on computer vision applications. In: 14th International Conference on Control, Robotics and Vision, Automation, pp. 1–6 (2016)Google Scholar
  8. 8.
    Open Source Robotics Foundation: Robot Operating System. http://www.ros.org/
  9. 9.
    Popp, M., van Son, S., Moreira, O.: Automatic control flow generation for OpenVX graphs. In: 2017 Euromicro Conference on Digital System Design (DSD), pp. 198–204, August 2017Google Scholar
  10. 10.
    Syschikov, A., Sedov, B., Nedovodeev, K., Ivanova, V.: OpenVX integration into the visual development environment. Int. J. Embed. Real-Time Commun. Syst. 9(1), 20–49 (2018). www.scopus.comCrossRefGoogle Scholar
  11. 11.
    Aldegheri, S., Bombieri, N.: Extending OpenVX for model-based design of embedded vision applications. In: Proceedings of 2017 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC), pp. 1–6 (2017)Google Scholar
  12. 12.
  13. 13.
    Smith, B.M., Zhang, L., Jin, H., Agarwala, A.: Light field video stabilization. In: International Conference on Computer Vision, pp. 341–348 (2009)Google Scholar
  14. 14.
  15. 15.
  16. 16.
  17. 17.
    Khronos: OpenVX lib. https://www.khronos.org/openvx
  18. 18.
  19. 19.
    Aldegheri, S., Bloisi, D.D., Blum, J.J., Bombieri, N., Farinelli, A.: Fast and power-efficient embedded software implementation of digital image stabilization for low-cost autonomous boats. In: Hutter, M., Siegwart, R. (eds.) Field and Service Robotics. SPAR, vol. 5, pp. 129–144. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-67361-5_9CrossRefGoogle Scholar
  20. 20.
    Rublee, E., Rabaud, V., Konolige, K., Bradski, G.: ORB: an efficient alternative to SIFT or SURF. In: 2011 International Conference on Computer Vision, pp. 2564–2571, November 2011Google Scholar
  21. 21.
    Mur-Artal, R., Montiel, J.M.M., Tardós, J.D.: ORB-SLAM: a versatile and accurate monocular SLAM system. IEEE Trans. Rob. 31(5), 1147–1163 (2015)CrossRefGoogle Scholar
  22. 22.
    Geiger, A., Lenz, P., Stiller, C., Urtasun, R.: Vision meets robotics: the KITTI dataset. Int. J. Rob. Res. (IJRR) 32, 1231–1237 (2013)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of VeronaVeronaItaly

Personalised recommendations