Portable, Power-efficient Vision Processing

OpenVX is an open, royalty-free standard for cross platform acceleration of computer vision applications. OpenVX enables performance and power-optimized computer vision processing, especially important in embedded and real-time use cases such as face, body and gesture tracking, smart video surveillance, advanced driver assistance systems (ADAS), object and scene reconstruction, augmented reality, visual inspection, robotics and more.

OpenVX 1.1 was released on 2nd May 2016

OpenVX 1.1 Specification

OpenVX 1.0.1 Specification

OpenVX – Vision Acceleration

Royalty-free open standard API

  • Reliably accelerated by hardware vendors
  • Tightly defined conformance tests

Targeted at low-power, real-time applications

  • Mobile and embedded platforms

Portability across diverse heterogeneous processors

  • ISPs, Dedicated hardware, DSPs and DSP arrays, GPUs, Multi-core CPUs …

Doesn’t require high-power CPU/GPU Complex

  • Low-power host can setup and manage frame-rate vision processing pipeline

OpenVX Graphs – The Key to Efficiency

OpenVX developers express a graph of image operations (‘Nodes’)

  • Nodes can be on any hardware or processor coded in any language

Graph enables implementations to optimize for power and performance

  • E.g. Nodes may be fused by the implementation to eliminate memory transfers
  • E.g. Processing can be tiled to keep data entirely in local memory/cache

Minimizes host interaction during frame-rate graph execution

  • Host processor can setup graph which can then execute almost autonomously

OpenVX Framework Efficiency..

OpenVX Framework Efficiency..

Layered Vision Processing Ecosystem

Layered Vision Processing Ecosystem

OpenVX Status

OpenVX 1.1 Specification released 2nd May 2016 at Embedded Vision Summit

  • 18 months after OpenVX 1.0 in October 2014
  • Expands node functionality AND enhances graph framework

OpenVX 1.0 open source sample implementation and conformance tests

  • Will be updated to OpenVX 1.1 in 1H16

Roadmap discussions

  • Significantly broaden node functionality – including in-graph neural nets
  • OpenVX SC – refining OpenVX for markets requiring API safety certification

OpenVX Status

OpenVX and OpenCV are Complementary

  OpenCV OpenVX
Implementation Community driven open source library Open standard API designed to be implemented by hardware vendors
Conformance Extensive OpenCV Test Suite but
no formal Adopters program
Implementations must pass defined conformance test suite to use trademark
Consistency Available functions can vary depending on implementation / platform All core functions must be available in all conformant implementations
Scope Very wide 1000s of imaging and vision functions Multiple camera APIs/interfaces Tight focus on core hardware accelerated functions for mobile vision – but extensible Uses external/native camera API
Efficiency Memory-based architecture Each operation reads and writes to memory Graph-based execution Optimizable computation and data transfer
Typical Use Case Rapid experimentation and
prototyping - especially on desktop
Production development & deployment on mobile and embedded devices
Re-usable code Callable library