OpenVX 1.2 adds neural network acceleration and feature detection among many new features. A version for safety critical systems is also announced.
The Khronos Group has released a significant update to its OpenVX specification for computer vision applications. OpenVX is a high-level, graph-based API for creating real-time mobile and embedded computer vision platforms.
As with all specification libraries released by The Khronos Group, OpenVX is an open, cross-platform, royalty-free standard. It enables performance-portable, power-optimized computer vision applications such as face, body, and gesture tracking, smart video surveillance, autonomous driver assistance systems, visual inspection, and robotics.
Core OpenVX 1.2 has significantly expanded functionality, including conditional execution, feature detection, and classification operations.
OpenVX abstracts a vision processing execution and memory model as a graph of operations, a much higher level than general compute frameworks such as OpenCL. This enables significant implementation innovation and efficient execution on a wide range of architectures, while maintaining performance portability and a consistent API surface for vision application development. The flexibility of OpenVX enables applications to run on a diverse range of systems optimized for different levels of power and performance, including very battery-sensitive, vision-enabled wearable displays.
Three new extensions released alongside OpenVX 1.2 enable the import and export of verified, optimized graphs, 16-bit image operations, and neural network inferencing acceleration. The import/export extension enables a user to “compile” a graph offline, save or “export” it, and then at run-time efficiently “import” and execute it. The 16-bit extension provides signed 16-bit image data support for most image operations. The neural network extension introduces OpenVX graph nodes corresponding to common neural network operation layers, e.g. convolution, deconvolution, activation, normalization, pooling, and softmax, to enable the expression and low-power acceleration of neural network-based algorithms such as object detection and recognition.
OpenVX 1.2 significantly expands the OpenVX vision operator and graph framework capabilities, including:
- Feature detection for object detection and recognition;
- Classification operations for detection and recognition of objects based on a set of features;
- Enhanced range of image processing operations;
- Conditional execution of nodes for significantly expanded control and flexibility in expressing complex operations in an OpenVX graph.
Khronos says vision processing will be a vital component of many emerging safety-critical markets, including Advanced Driver Assistance Systems (ADAS), autonomous vehicles and medical and process-control applications. Khronos has released OpenVX SC 1,1, a modification of OpenVX 1.1 specification targeted at safety critical systems, to assist in efficient system certification to meet the stringent requirements of these high reliability markets.
OpenVX SC leverages the import/export extension to define a run-time-only “deployment feature set.” A developer can use a complete set of graph construction features and development tools to implement the application, and then verify, compile, and export the verified graph in a binary format. Then the restricted “deployment” implementation executes on the target hardware by reading the binary format and executing the pre-compiled graphs.