search.noResults

search.searching

dataCollection.invalidEmail
note.createNoteMessage

search.noResults

search.searching

orderForm.title

orderForm.productCode
orderForm.description
orderForm.quantity
orderForm.itemPrice
orderForm.price
orderForm.totalPrice
orderForm.deliveryDetails.billingAddress
orderForm.deliveryDetails.deliveryAddress
orderForm.noItems
FEATURE EMBEDDED TECHNOLOGY


EMBEDDED VISION JUST GOT EVEN BETTER


Embedded vision is ubiquitous across a range of industries and applications, from ADAS and guided robotics, to medical imaging and augmented reality. The algorithms implemented in such applications are often complex, using techniques such as object detection and classification, filtering and sensor fusion. Increasingly these algorithms are developed using open source frameworks like OpenCV and Caffe, which significantly reduces development time. Here Giles Peckham, regional marketing director at Xilinxand Adam Taylor CEng FIET, embedded systems consultant delve in to the depths of this innovative technology


mbedded vision applications are becoming increasingly autonomous and cannot depend upon a connection to the cloud, as such, intelligence at the edge is required. This rise of autonomous and remote applications also brings with it the challenges of efficient power usage and security to prevent unauthorised modification attempts. To address these challenges, Xilinx All Programmable System on Chip (SoC) and Multi-Processor System on Chip (MPSoC) devices from the company’s Zynq-7000 and Zynq UltraScale+ MPSoC families are a recommended solution. If you did opt for the use of Zynq SoC or Zynq


E


UltraScale+ MPSoC devices, the benefits you could expect to see include any-to-any connectivity which comes with the use of programmable logic. This programmable logic can also be used to implement image processing pipeline(s), proposing a performance increase due to its parallel nature. Using the programmable logic can increase the system performance, connectivity and the performance per watt of power dissipated, potentially providing a more efficient solution overall. The processing cores can be used for higher level application functionality, such as decision making based on the provided information and communication between systems and the cloud. To get the most out of these capabilities


requires a development ecosystem that maximises these benefits whilst still using the frameworks commonly used for specific applications. For this purpose, the company has developed its reVISION Stack.


REVISION STACK This was created to address the four key challenges of responsivity, reconfigurability, connectivity and software defined. To address these four requirements, a wide


30 JULY/AUGUST 2017 | ELECTRONICS


range of resources are combined enabling platform, application and algorithm development: 1. Platform layer. This is the lowest level of the stack and is the one on which the remaining layers of the stack are built. As such it provides both a hardware definition of the configuration of the Zynq-7000/Zynq UltraScale+ MPSoC, and the software definition via a customised operating system to support the hardware definition 2. The middle level of the stack: the algorithm layer. Development at this level takes place within the eclipse based SDSoC environment. SDSoC is a system optimising compiler which allows development using a software defined environment. reVISION provides a wide range of acceleration ready OpenCV functions. Support is also provided at this level for the most common neural network libraries, including AlexNet, GoogLeNet, SqueezeNet, SSD, and FCN.


3. The final layer: the application development level, and it is where the high-level frameworks such as Caffe and OpenVX are


Figure 1:


The capability provided by the reVISION Stack provides all the necessary elements to create high performance imaging applications


used to complete the application, implementing the decision-making functionality for example


ACCELERATING OPENCV An interesting aspect of the reVISION Stack is the ability to accelerate a wide range of OpenCV functions which include the OpenVX core subset. 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 implementation, as it removes the common bottle necks associated with the CPU/GPU based approach. One commonly used algorithm in OpenCV


is a Gaussian blur, often used as the first stage in an image processing chain to reduce image noise. The reVISION Stack contains a predefined function for Gaussian blur (figure 2), while enabling a more responsive and power-efficient solution when accelerated into the programmable logic. With the design performance optimised


Figure 2:


Gaussian Blur performance using OpenCV and when accelerated using the reVISION Stack


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 resulting in a reduced development time. All Programmable System on Chip devices


can help enhance the flexibility, performance, security and power-efficiency of Embedded Vision systems. An optimised stack like this helps developers use machine learning to create application level algorithms such as pattern recognition and image classification, and accelerates system performance, as well as time to market.


Xilinx


www.xilinx.com T: 01932 574600


/ ELECTRONICS


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48  |  Page 49  |  Page 50  |  Page 51  |  Page 52  |  Page 53  |  Page 54  |  Page 55  |  Page 56