New-Tech Europe Magazine | August 2017
3. The final layer is the application development level, and it is where the high-level frameworks such as Caffe and OpenVX are used to complete the application, implementing the decision-making functionality for example. Applications at this level are developed using an eclipse based environment targeting the processor cores within the Zynq-7000/Zynq UltraScale+ MPSoC. The capability provided by the reVISION stack provides all the necessary elements to create high performance imaging applications across a wide range of applications from industrial internet of things, to vision guided robotics and beyond. Accelerating OpenCV One of the most exciting aspects of the reVISION stack is the ability to accelerate a wide range of OpenCV functions within the algorithm development layer. Within this layer, the OpenCV functions capable of being accelerated can be grouped into one of four high level categories. 1. Computation – Includes functions such as absolute difference between two frames, pixel wise operations (addition, subtraction and multiplication), gradient and integral operations 2. Input Processing – Provides support for bit depth conversions, channel operations, histogram equalisation, remapping and resizing 3. Filtering - Provides support for a wide range of filters including Sobel, custom convolution and Gaussian filters 4. Other – Provides a wide range of functions including Canny/Fast/Harris edge detection, thresholding and SVM and HoG classifiers Developers can use these functions to create an algorithmic pipeline within the programmable logic of the chosen device. Being able to implement logic in this way significantly increases the performance of the algorithm
Figure 2 - Accelerated OpenCV Harris Corner Detection
Figure 3 - Traditional OpenCV Implementation
implementation. Of course, as these acceleration capable OpenCV libraries are software defined and support high level synthesis, they can also be used within the Vivado HLS tool. This enables the creation of IP modules which can be used within the platform layer when the hardware definition is established. One commonly used algorithm in OpenCV is the implementation of Harris Corner detection, used to detect corners within an image. Within the reVISION Stack, there is a predefined function for Harris Corner detection. When comparing the performance of the reVISION accelerated Harris Corner detection against a normal OpenCV implementation as demonstrated below, both provide identical performance. However, using the reVISION Harris Corner function accelerated into the PL the user gains an increase in system performance which enables a more responsive and power efficient solution. Within the reVISION stack, if developers chose to accelerate OpenCV functions, they can optimize the design for resource usage and performancewithin the programmable logic. The main method through which this is achieved is the number of pixels which are processed on each clock cycle. For most accelerated
functions, they can choose to process either a single pixel or eight pixels. Processing more pixels per clock cycle increases the resource utilization required while reducing the processing time. Processing one pixel per clock will provide a reduced resource requirement, which comes at the cost of an increased latency. This selection of number of pixels per clock is configured via the function call, providing a very simple method to optimize the design as required. With the design performance optimized using the acceleration capable OpenCV libraries, the embedded vision developer can then develop the higher levels of the application using the capabilities provided by the Algorithm and Application layers of the stack. Conclusion The use of All Programmable Zynq- 7000 and Zynq UltraScale+ MPSoC devices within embedded vision applications brings several advantages in flexibility, performance, security/ safety and power-efficient processing. Developing the application within the reVISION stack allows several commonly used industry-standard frameworks to be utilized, bringing with it reduced development times and faster time to market.
50 l New-Tech Magazine Europe
Made with FlippingBook