The VPU Report is a direct-to-the-point, detailed analysis of vision processors, as SoC or as IP, from four of the leading companies in the field. Future quarterly issues of the report will present up to the minute information on VPUs available from a different selection of companies. The current issue provides analysis of Movidius, Intel, Ceva and Inuitive: four of the most influential companies operating in the consumer edge device category. The report includes a summary of the companies reviewed (useful when so many entrants into this field are startups) and commentary to shed light on the potential and pitfalls of VPU design.
What Defines a VPU?
This report covers Vision Processing Units (VPUs) but what makes a processor a - vision - processor? In many regards "You'll know one when you see one" covers the situation but there are some things that can be specified.
Included in the definition are IP blocks such as a GPU (think Qualcomm or Nvidia) or a wideSIMD DSP (like Ceva or Tensilica), or a programmable camera pipeline (Apical or Intel). The term also includes full SoCs that combine one or more of the characteristics of the above IP blocks along with other functions such as Movidius and Inuitive which both add hardware acceleration of specific functions to their DSP-based blocks. Lastly, novel architectures such as Wave Computing which target a wider range of functions but are also well suited to acceleration of vision tasks are included.
The first thing that unites all these things is that, while they are programmable, they are not intended to be the main CPU in a system: they are primarily intended as accelerators and design decisions have been taken to optimize them for that role. Thus even though mainstream architectures like x86, ARM and MIPS are fully capable of executing vision programs (and in some cases do it very effectively) they are not included in the definition because they are optimized to be the main CPU, not an accelerator.
Second, they are all massively parallel and depend for their performance on the fact that visual data comes in 2D arrays (at least) and that vision functions in general exhibit massive data parallelism. Their hardware architectures have been optimized to take advantage of this and they devote significant silicon area to it for example in the form of extreme multi-threading hardware or specific data handling and memory access optimization hardware.
Third, the programmable elements have a vision-specific hardware architecture. The most obvious examples of this are the inclusion of high-efficiency integer hardware and the co-issue of smaller data types so that targeting 16-bit INT doubles throughput over 32-bit, for instance, but there are other optimizations as well, such as specific methods for handling non-linear functions.
Last, the unit must be usable as a vision processor so it must have an SDK that specifically targets that. It can be based on OpenCV, or OpenVX, or can take input directly from Tensorflow, or whatever the vendor sees as most appropriate but the tool chain must be in place to enable vision processing. A key feature of such an SDK is that it can expose complex intrinsic functions that access hardware accelerators.
That definition covers a lot of hardware architectures which is a reminder that we are very much in the same sort of situation graphics was in during the pre-OpenGL, pre-DirectX days when APIs were proprietary and hardware architectures proliferated. That situation may settle down over the next few years as a smaller set of APIs becomes dominant but for now, that's where we are.
Study Goals And Objectives
The purpose and intent of this report is to progressively summarize the available hardware solutions for vision processing in a way that identifies their fundamental characteristics and capabilities without overloading the reader with too much technical detail. Engineers may want more but marketers and executives will find enough to keep them abreast of the field along with, hopefully, insightful and though-provoking commentary to help them develop a rounded view of the industry.
Scope Of Report
Each chapter of the report summarizes the vision technology offerings of one company, with a brief company description and a closing commentary that includes sections on market focus and penetration as well as the technologies themselves.
This study covers the technologies involved in machine vision (MV) systems, such as components that constitute a workable MV system, recent advances in the technologies involved, various traditional and new applications and global markets for these technologies and applications. The report will be useful for:
- Manufacturers of MV systems and components
- Systems integrators
- Design and application engineers
- Various industries and agencies needing MV systems
- Traffic and transport planners
- Security system planners