Abstract: Enabling CV, computer vision applications that use low levels of power on embedded devices (called as low-power embedded systems), also poses new sets of problems for developers of embedded applications. These technologies incorporate multiple functionalities, such as deep learning-based image recognition, simultaneous localization and mapping tasks. In order to ensure real-time behaviours and at the same time energy limitations to conserve battery on the mobile network, they are distinguished by rigorous efficiency constraints. While heterogeneous embedded boards are becoming widespread at low power costs for their high computing power, they require a time-consuming customization of the entire application (i.e. mapping application blocks to GPU and CPU processing elements and their synchronization) to efficiently leverage their ability. For such an embedded SW customization, distinct languages and environments have been suggested. However, in complex real situations, they also find limits, since their implementation is mutually exclusive. This paper provides a detailed architecture focused on a heterogeneous parallel programming paradigm that integrates OpenMP, PThreads, OpenVX, OpenCV, and CUDA to better take advantage of various parallel levels while semi-automatic customization is guaranteed. The paper demonstrates how to interface, synchronize, and implement certain languages and API frameworks to customize an ORB - SLAM program for the NVIDIA Jetson TX2 board.
Keywords: low-power embedded system, computer vision, embedded vision, OpenCV, OpenVX, PThreads
| DOI: 10.17148/IJARCCE.2020.91024