SlideShare a Scribd company logo
The OpenVX Standard API:
Computer Vision for the Masses
Kiriti Nagesh Gowda
OpenVX Chair | The Khronos Group
Sr. Staff Engineer | AMD
© 2023 The Khronos Group
• OpenVX - Open, Royalty-free Standard for Computer Vision
• OpenVX 1.3.1 - An Overview
• Conformance
• Vendor Applications - Case Study
• Open-Source Cross-Platform Application - Case Study
• OpenVX - Future Work
• Summary
Agenda
2
© 2023 The Khronos Group 3
OpenVX - Open, Royalty-free Standard
for Computer Vision
© 2023 The Khronos Group
Open, Royalty-free Standard for Computer Vision
4
OpenVX™ is an open, royalty-free API standard for a cross-platform acceleration
of computer vision applications
High-level graph-based abstraction for portable, efficient vision processing
© 2023 The Khronos Group
Open, Royalty-free Standard for Computer Vision
5
API
What is an API?
Application Programming Interface
Why APIs are important
• Building Blocks • Speeds up development • Portability • Innovation
OpenVX enables portable, performance, and power-optimized computer vision
processing, especially important in embedded and real-time use cases
© 2023 The Khronos Group
Open, Royalty-free Standard for Computer Vision
6
CPU / GPU / DSP / Any Vendor Hardware
© 2023 The Khronos Group
Open, Royalty-free Standard for Computer Vision
7
OpenVX™ Graph Framework
• Fuse nodes when possible to achieve better overall performance
• Auto graph-level memory optimizations to achieve a low memory footprint
• Deployed on a wide range of computer hardware, including small embedded CPUs, ASICs,
APUs, discrete GPUs, and heterogeneous servers
© 2023 The Khronos Group
Open, Royalty-free Standard for Computer Vision
8
OS Support: Linux, Windows, Android, iOS, Raspbian, Embedded OS, no OS
Vision
Node
Vision
Node
Vision
Node
Downstream
Application
Processing
CNN Nodes
NNEF Import converts a trained
neural network into OpenVX graph
Layers are represented as OpenVX nodes
OpenVX Graph
Open Source
Convertors
https://github.com/KhronosGroup/NNE
F-Tools
Stable Specification
© 2023 The Khronos Group 9
OpenVX 1.3.1 - An Overview
© 2023 The Khronos Group
OpenVX 1.3.1 - An Overview
10
The defined OpenVX 1.3.1 feature sets include:
• Graph Infrastructure - baseline for other feature sets
• Vision - core vision functionality
• Enhanced Vision - functions introduced in OpenVX 1.2
• Neural Network Inferencing - including tensor objects
• NNEF Kernel Import - including tensor objects
• Binary Images – one bit image processing
• Safety Critical - reduced features to enable easier safety certification
© 2023 The Khronos Group
OpenVX 1.3.1 - Highlights
11
• Three Conformance Feature Sets:
• Vision - OpenVX 1.1 equivalent vision functions
• Neural Network - OpenVX 1.2 equivalent neural-network functions, plus the neural network extension,
and the tensor object
• NNEF Import - kernel import plus the tensor object
• Two Optional Feature Sets:
• U1 - binary image support
• Enhanced Vision - vision functions introduced in OpenVX 1.2
• One Organizational Feature Set:
• Base Feature Set - basic graph infrastructure
• One Informational Feature Set:
• Deployment Feature Set - for safety critical usage
© 2023 The Khronos Group 12
OpenVX - Conformance
© 2023 The Khronos Group
OpenVX - Conformance
13
• OpenVX Work Group provides comprehensive conformance test suite
• Implementations must pass exhaustive conformance test suite to be conformant
• Hardware vendors provide optimized Conformant Implementation of OpenVX drivers
• Architected to get the best performance from their silicon architecture
• Ready for developers to use
© 2023 The Khronos Group
OpenVX - Conformance
14
Conformant Implementations of OpenVX from the following vendors
© 2023 The Khronos Group
OpenVX - Newest Contributing Member
15
Khronos Group Welcomes Robert Bosch GmbH as Contributor Member
to OpenVX Working Group
• BOSCH working with the OpenVX Group to add multiple extensions to OpenVX
© 2023 The Khronos Group 16
OpenVX - Vendor Applications: A Case Study
© 2023 The Khronos Group
OpenVX - Vendor Applications Case Study
17
Application: Object detection with neural networks
YoloV2
Graph
Pre-Processing
Classification
Localization
Annotation
© 2023 The Khronos Group
OpenVX - Vendor Applications Case Study
18
Application: Reliable motion detection
• Uses OpenVX API internally for accelerating algorithm
on custom HW blocks
• Compute heavy algorithm for reliable motion
detection
Before OpenVX:
• Hand optimized custom assembler by algorithm
developers
After OpenVX:
• Algorithm developers “draw” algorithms as graphs
• Driver developers implement the needed graph API
© 2023 The Khronos Group
OpenVX - Vendor Applications Case Study
19
Graph
© 2023 The Khronos Group
OpenVX - Vendor Applications Case Study
20
Application: Background subtraction for video security
0%
15%
30%
45%
60%
75%
0 150 300 450 600
Memory latency (cycles)
Graph Speed-up
AccumWt
AbsDiff
Dilate
Erode
Thresh
BG
Resize
© 2023 The Khronos Group
OpenVX - Vendor Applications Case Study
21
Application: Front camera ADAS
CNN
inference
Graph
© 2023 The Khronos Group 22
An OpenVX Cross-Platform Application:
A Case Study
© 2023 The Khronos Group
OpenVX Cross-Platform Application: A Case Study
23
Open-Source OpenVX Samples
Open-Source OpenVX sample applications, to use with any conformant
implementation of OpenVX available on GitHub
© 2023 The Khronos Group
OpenVX Cross-Platform Application: A Case Study
24
On Raspberry Pi 4 Model B Rev 1.2
SkinTone Detector Sample
On X86 Processor Windows
On X86 Processor Linux On MacOS
* using AMDs open-sourced MIVisionX for OpenVX Libraries
* using open-source OpenVX Raspberry Pi Implementation for OpenVX Libraries
© 2023 The Khronos Group
OpenVX Cross-Platform Application: A Case Study
25
Performance
* using AMDs open-sourced MIVisionX for OpenVX Libraries
0.
0.7
1.3
2.
2.6
OpenVX Graph Unoptimized OpenVX Graph Optimized
1X
2.54 X
Memory Footprint
SkinTone Detector Sample
0.
0.3
0.5
0.8
1.
OpenVX Graph Unoptimized OpenVX Graph Optimized
1X
0.234X
© 2023 The Khronos Group 26
OpenVX - Future Work
© 2023 The Khronos Group
OpenVX - Future Work
27
• OpenVX relies on external libraries for input
• may not be supported across required operating systems
• may be too large for embedded systems
• have different functionality gaps
• OpenVX can use a simple camera capture API library that works everywhere
• Linux, Windows, Android, iOS, Raspbian, Embedded OS, no OS
• initialize()/reinitialize(), capture(), release(), getAttributes(): size, format, etc.
• Once the image is captured, OpenVX will wrap it (not copy it) into an vx_image object
OpenVX Camera Capture Extension
© 2023 The Khronos Group
OpenVX - Future Work
28
OpenVX Camera Capture Extension
© 2023 The Khronos Group 29
OpenVX - Summary
© 2023 The Khronos Group
Summary
30
• OpenVX is unique in being the only vision API shipped as an optimized driver
• OpenVX delivers performance comparable to hand-optimized, non-portable code
• Acceleration on a wide range of vision hardware architectures
• OpenVX provides a high-level graph-based abstraction
• Enables graph-level optimizations
• Can be implemented on almost any hardware or processor
• Portable, Efficient Vision Processing!
© 2023 The Khronos Group
Acknowledgement
Thanks To
• Mike Schmit – Director of Software Engineering, AMD
• Neil Trevett – President, The Khronos Group
• AMD’s MIVisionX Team
• OpenVX Working Group
• Embedded Vision Summit 2023 Organizers
31
© 2023 The Khronos Group
Resource Slide
32
OpenVX Resources - Khronos
Sample Implementation:
https://github.com/KhronosGroup/OpenVX-
sample-impl
Sample Applications:
https://github.com/KhronosGroup/openvx-
samples
Tutorial Material:
https://github.com/rgiduthuri/openvx_tutorial
Conformant Implementations
https://www.khronos.org/conformance/adopt
ers/conformant-products/openvx
Khronos OpenVX API Registry
https://www.khronos.org/registry/OpenVX/
OpenVX for Raspberry Pi
https://www.raspberrypi.org/blog/openvx-api-
for-raspberry-pi/
AMD ROCm MIVisionX - OpenVX
https://gpuopen-professionalcompute-
libraries.github.io/MIVisionX/
© 2023 The Khronos Group
Disclaimers and attributions
33
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions,
and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many
reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model
and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware
upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or
mitigated. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right
to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any
person of such revisions or changes.
THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE
CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR
IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY
RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION
CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
© 2023 Advanced Micro Devices, Inc. All rights reserved.
AMD, the AMD Arrow logo, EPYC, Radeon, ROCm and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other
product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
© 2023 The Khronos Group 34
© 2023 The Khronos Group 35
BACKUP SLIDES
© 2023 The Khronos Group 36
OpenVX - Open-Source Tools
© 2023 The Khronos Group
OpenVX - Open-Source Tools
37
Scripting Tool - RunVX
• RunVX is a command-line tool to execute OpenVX graphs
• It encapsulates most of the routine OpenVX calls, thus speeding up development and enabling rapid prototyping.
• As input, RunVX takes a GDF (Graph Description Format) file, a simple and intuitive syntax to describe the various
data, nodes, and dependencies.
• The tool has other useful features, such as, file read/write, data compares, image and keypoint data visualization, etc.
Open-Sourced on GitHub - https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX
© 2023 The Khronos Group
OpenVX - Open-Source Tools
38
Graph Tool - openvx-graph-parser
Tool for OpenVX C code generation from graphical calculation graph definitions. Includes a Python based
parser which takes graphs defined in graphml format and generates valid OpenVX C code.
Open-Sourced on GitHub - https://github.com/AxisCommunications/openvx-graph-parser
© 2023 The Khronos Group
OpenVX - Open-Source Tools
39
Python Binding - PyVX
pycbindgen is a python based frontend tool for generating python module for a given C
library. It uses pycaparser and CFFI python modules underneath.
OpenVX functionality in Python
Will be Open-Sourced on GitHub - https://github.com/KhronosGroup

More Related Content

PDF
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
PDF
“Democratizing Computer Vision and Machine Learning with Open, Royalty-Free S...
PDF
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
PDF
Виктор Ерухимов Open VX mixar moscow sept'15
PDF
"Update on Khronos Standards for Vision and Machine Learning," a Presentation...
PDF
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
PPTX
Open Stack Cloud Services
PDF
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...
“OpenVX 1.3: An Open Standard for Computer Vision Software Acceleration,” a P...
“Democratizing Computer Vision and Machine Learning with Open, Royalty-Free S...
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
Виктор Ерухимов Open VX mixar moscow sept'15
"Update on Khronos Standards for Vision and Machine Learning," a Presentation...
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Open Stack Cloud Services
"The OpenVX Hardware Acceleration API for Embedded Vision Applications and Li...

Similar to “The OpenVX Standard API: Computer Vision for the Masses,” a Presentation from the Khronos Group (20)

PDF
“Advancing Embedded Vision Systems: Harnessing Hardware Acceleration and Open...
PDF
2307 - DevBCN - Otel 101_compressed.pdf
PPTX
InfoSec 2011: Crash Course Open Source Cloud Computing
PDF
VMware - Application Portability
PPTX
VMworld 2015: Container Orchestration with the SDDC
PPT
Open Audit
PDF
WMworld Europe 2014: Hybrid Sandboxing – Create the Ultimate On and Off Premi...
PPTX
Hosting Microservices in Microsoft Azure
PDF
Hosting Microservices in Microsoft Azure
PDF
DevSecOps: Bringing security to the DevOps pipeline
PDF
Using Ceph in a Private Cloud - Ceph Day Frankfurt
PPTX
Self service it with v realizeautomation and nsx
PPTX
"The Cloud Native Enterprise is Coming"
PDF
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
 
PDF
DevSecOps: Bringing security to the DevOps pipeline
PDF
DevSecOps - Security in DevOps
PDF
5 cisco open_stack
PPTX
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
PDF
VMworld 2014: Introduction to NSX
PDF
Cloud Native Application
“Advancing Embedded Vision Systems: Harnessing Hardware Acceleration and Open...
2307 - DevBCN - Otel 101_compressed.pdf
InfoSec 2011: Crash Course Open Source Cloud Computing
VMware - Application Portability
VMworld 2015: Container Orchestration with the SDDC
Open Audit
WMworld Europe 2014: Hybrid Sandboxing – Create the Ultimate On and Off Premi...
Hosting Microservices in Microsoft Azure
Hosting Microservices in Microsoft Azure
DevSecOps: Bringing security to the DevOps pipeline
Using Ceph in a Private Cloud - Ceph Day Frankfurt
Self service it with v realizeautomation and nsx
"The Cloud Native Enterprise is Coming"
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps - Security in DevOps
5 cisco open_stack
PLNOG 17 - Grzegorz Kornacki - F5 and OpenStack
VMworld 2014: Introduction to NSX
Cloud Native Application
Ad

More from Edge AI and Vision Alliance (20)

PDF
“Visual Search: Fine-grained Recognition with Embedding Models for the Edge,”...
PDF
“Optimizing Real-time SLAM Performance for Autonomous Robots with GPU Acceler...
PDF
“LLMs and VLMs for Regulatory Compliance, Quality Control and Safety Applicat...
PDF
“Simplifying Portable Computer Vision with OpenVX 2.0,” a Presentation from AMD
PDF
“Quantization Techniques for Efficient Deployment of Large Language Models: A...
PDF
“Introduction to Data Types for AI: Trade-Offs and Trends,” a Presentation fr...
PDF
“Introduction to Radar and Its Use for Machine Perception,” a Presentation fr...
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
PDF
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
PDF
“Beyond the Demo: Turning Computer Vision Prototypes into Scalable, Cost-effe...
PDF
“Running Accelerated CNNs on Low-power Microcontrollers Using Arm Ethos-U55, ...
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
PDF
“A Re-imagination of Embedded Vision System Design,” a Presentation from Imag...
PDF
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
PDF
“Evolving Inference Processor Software Stacks to Support LLMs,” a Presentatio...
PDF
“Efficiently Registering Depth and RGB Images,” a Presentation from eInfochips
PDF
“How to Right-size and Future-proof a Container-first Edge AI Infrastructure,...
“Visual Search: Fine-grained Recognition with Embedding Models for the Edge,”...
“Optimizing Real-time SLAM Performance for Autonomous Robots with GPU Acceler...
“LLMs and VLMs for Regulatory Compliance, Quality Control and Safety Applicat...
“Simplifying Portable Computer Vision with OpenVX 2.0,” a Presentation from AMD
“Quantization Techniques for Efficient Deployment of Large Language Models: A...
“Introduction to Data Types for AI: Trade-Offs and Trends,” a Presentation fr...
“Introduction to Radar and Its Use for Machine Perception,” a Presentation fr...
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
“Beyond the Demo: Turning Computer Vision Prototypes into Scalable, Cost-effe...
“Running Accelerated CNNs on Low-power Microcontrollers Using Arm Ethos-U55, ...
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
“A Re-imagination of Embedded Vision System Design,” a Presentation from Imag...
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
“Evolving Inference Processor Software Stacks to Support LLMs,” a Presentatio...
“Efficiently Registering Depth and RGB Images,” a Presentation from eInfochips
“How to Right-size and Future-proof a Container-first Edge AI Infrastructure,...
Ad

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MIND Revenue Release Quarter 2 2025 Press Release
Building Integrated photovoltaic BIPV_UPV.pdf
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”

“The OpenVX Standard API: Computer Vision for the Masses,” a Presentation from the Khronos Group

  • 1. The OpenVX Standard API: Computer Vision for the Masses Kiriti Nagesh Gowda OpenVX Chair | The Khronos Group Sr. Staff Engineer | AMD
  • 2. © 2023 The Khronos Group • OpenVX - Open, Royalty-free Standard for Computer Vision • OpenVX 1.3.1 - An Overview • Conformance • Vendor Applications - Case Study • Open-Source Cross-Platform Application - Case Study • OpenVX - Future Work • Summary Agenda 2
  • 3. © 2023 The Khronos Group 3 OpenVX - Open, Royalty-free Standard for Computer Vision
  • 4. © 2023 The Khronos Group Open, Royalty-free Standard for Computer Vision 4 OpenVX™ is an open, royalty-free API standard for a cross-platform acceleration of computer vision applications High-level graph-based abstraction for portable, efficient vision processing
  • 5. © 2023 The Khronos Group Open, Royalty-free Standard for Computer Vision 5 API What is an API? Application Programming Interface Why APIs are important • Building Blocks • Speeds up development • Portability • Innovation OpenVX enables portable, performance, and power-optimized computer vision processing, especially important in embedded and real-time use cases
  • 6. © 2023 The Khronos Group Open, Royalty-free Standard for Computer Vision 6 CPU / GPU / DSP / Any Vendor Hardware
  • 7. © 2023 The Khronos Group Open, Royalty-free Standard for Computer Vision 7 OpenVX™ Graph Framework • Fuse nodes when possible to achieve better overall performance • Auto graph-level memory optimizations to achieve a low memory footprint • Deployed on a wide range of computer hardware, including small embedded CPUs, ASICs, APUs, discrete GPUs, and heterogeneous servers
  • 8. © 2023 The Khronos Group Open, Royalty-free Standard for Computer Vision 8 OS Support: Linux, Windows, Android, iOS, Raspbian, Embedded OS, no OS Vision Node Vision Node Vision Node Downstream Application Processing CNN Nodes NNEF Import converts a trained neural network into OpenVX graph Layers are represented as OpenVX nodes OpenVX Graph Open Source Convertors https://github.com/KhronosGroup/NNE F-Tools Stable Specification
  • 9. © 2023 The Khronos Group 9 OpenVX 1.3.1 - An Overview
  • 10. © 2023 The Khronos Group OpenVX 1.3.1 - An Overview 10 The defined OpenVX 1.3.1 feature sets include: • Graph Infrastructure - baseline for other feature sets • Vision - core vision functionality • Enhanced Vision - functions introduced in OpenVX 1.2 • Neural Network Inferencing - including tensor objects • NNEF Kernel Import - including tensor objects • Binary Images – one bit image processing • Safety Critical - reduced features to enable easier safety certification
  • 11. © 2023 The Khronos Group OpenVX 1.3.1 - Highlights 11 • Three Conformance Feature Sets: • Vision - OpenVX 1.1 equivalent vision functions • Neural Network - OpenVX 1.2 equivalent neural-network functions, plus the neural network extension, and the tensor object • NNEF Import - kernel import plus the tensor object • Two Optional Feature Sets: • U1 - binary image support • Enhanced Vision - vision functions introduced in OpenVX 1.2 • One Organizational Feature Set: • Base Feature Set - basic graph infrastructure • One Informational Feature Set: • Deployment Feature Set - for safety critical usage
  • 12. © 2023 The Khronos Group 12 OpenVX - Conformance
  • 13. © 2023 The Khronos Group OpenVX - Conformance 13 • OpenVX Work Group provides comprehensive conformance test suite • Implementations must pass exhaustive conformance test suite to be conformant • Hardware vendors provide optimized Conformant Implementation of OpenVX drivers • Architected to get the best performance from their silicon architecture • Ready for developers to use
  • 14. © 2023 The Khronos Group OpenVX - Conformance 14 Conformant Implementations of OpenVX from the following vendors
  • 15. © 2023 The Khronos Group OpenVX - Newest Contributing Member 15 Khronos Group Welcomes Robert Bosch GmbH as Contributor Member to OpenVX Working Group • BOSCH working with the OpenVX Group to add multiple extensions to OpenVX
  • 16. © 2023 The Khronos Group 16 OpenVX - Vendor Applications: A Case Study
  • 17. © 2023 The Khronos Group OpenVX - Vendor Applications Case Study 17 Application: Object detection with neural networks YoloV2 Graph Pre-Processing Classification Localization Annotation
  • 18. © 2023 The Khronos Group OpenVX - Vendor Applications Case Study 18 Application: Reliable motion detection • Uses OpenVX API internally for accelerating algorithm on custom HW blocks • Compute heavy algorithm for reliable motion detection Before OpenVX: • Hand optimized custom assembler by algorithm developers After OpenVX: • Algorithm developers “draw” algorithms as graphs • Driver developers implement the needed graph API
  • 19. © 2023 The Khronos Group OpenVX - Vendor Applications Case Study 19 Graph
  • 20. © 2023 The Khronos Group OpenVX - Vendor Applications Case Study 20 Application: Background subtraction for video security 0% 15% 30% 45% 60% 75% 0 150 300 450 600 Memory latency (cycles) Graph Speed-up AccumWt AbsDiff Dilate Erode Thresh BG Resize
  • 21. © 2023 The Khronos Group OpenVX - Vendor Applications Case Study 21 Application: Front camera ADAS CNN inference Graph
  • 22. © 2023 The Khronos Group 22 An OpenVX Cross-Platform Application: A Case Study
  • 23. © 2023 The Khronos Group OpenVX Cross-Platform Application: A Case Study 23 Open-Source OpenVX Samples Open-Source OpenVX sample applications, to use with any conformant implementation of OpenVX available on GitHub
  • 24. © 2023 The Khronos Group OpenVX Cross-Platform Application: A Case Study 24 On Raspberry Pi 4 Model B Rev 1.2 SkinTone Detector Sample On X86 Processor Windows On X86 Processor Linux On MacOS * using AMDs open-sourced MIVisionX for OpenVX Libraries * using open-source OpenVX Raspberry Pi Implementation for OpenVX Libraries
  • 25. © 2023 The Khronos Group OpenVX Cross-Platform Application: A Case Study 25 Performance * using AMDs open-sourced MIVisionX for OpenVX Libraries 0. 0.7 1.3 2. 2.6 OpenVX Graph Unoptimized OpenVX Graph Optimized 1X 2.54 X Memory Footprint SkinTone Detector Sample 0. 0.3 0.5 0.8 1. OpenVX Graph Unoptimized OpenVX Graph Optimized 1X 0.234X
  • 26. © 2023 The Khronos Group 26 OpenVX - Future Work
  • 27. © 2023 The Khronos Group OpenVX - Future Work 27 • OpenVX relies on external libraries for input • may not be supported across required operating systems • may be too large for embedded systems • have different functionality gaps • OpenVX can use a simple camera capture API library that works everywhere • Linux, Windows, Android, iOS, Raspbian, Embedded OS, no OS • initialize()/reinitialize(), capture(), release(), getAttributes(): size, format, etc. • Once the image is captured, OpenVX will wrap it (not copy it) into an vx_image object OpenVX Camera Capture Extension
  • 28. © 2023 The Khronos Group OpenVX - Future Work 28 OpenVX Camera Capture Extension
  • 29. © 2023 The Khronos Group 29 OpenVX - Summary
  • 30. © 2023 The Khronos Group Summary 30 • OpenVX is unique in being the only vision API shipped as an optimized driver • OpenVX delivers performance comparable to hand-optimized, non-portable code • Acceleration on a wide range of vision hardware architectures • OpenVX provides a high-level graph-based abstraction • Enables graph-level optimizations • Can be implemented on almost any hardware or processor • Portable, Efficient Vision Processing!
  • 31. © 2023 The Khronos Group Acknowledgement Thanks To • Mike Schmit – Director of Software Engineering, AMD • Neil Trevett – President, The Khronos Group • AMD’s MIVisionX Team • OpenVX Working Group • Embedded Vision Summit 2023 Organizers 31
  • 32. © 2023 The Khronos Group Resource Slide 32 OpenVX Resources - Khronos Sample Implementation: https://github.com/KhronosGroup/OpenVX- sample-impl Sample Applications: https://github.com/KhronosGroup/openvx- samples Tutorial Material: https://github.com/rgiduthuri/openvx_tutorial Conformant Implementations https://www.khronos.org/conformance/adopt ers/conformant-products/openvx Khronos OpenVX API Registry https://www.khronos.org/registry/OpenVX/ OpenVX for Raspberry Pi https://www.raspberrypi.org/blog/openvx-api- for-raspberry-pi/ AMD ROCm MIVisionX - OpenVX https://gpuopen-professionalcompute- libraries.github.io/MIVisionX/
  • 33. © 2023 The Khronos Group Disclaimers and attributions 33 The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. © 2023 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo, EPYC, Radeon, ROCm and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
  • 34. © 2023 The Khronos Group 34
  • 35. © 2023 The Khronos Group 35 BACKUP SLIDES
  • 36. © 2023 The Khronos Group 36 OpenVX - Open-Source Tools
  • 37. © 2023 The Khronos Group OpenVX - Open-Source Tools 37 Scripting Tool - RunVX • RunVX is a command-line tool to execute OpenVX graphs • It encapsulates most of the routine OpenVX calls, thus speeding up development and enabling rapid prototyping. • As input, RunVX takes a GDF (Graph Description Format) file, a simple and intuitive syntax to describe the various data, nodes, and dependencies. • The tool has other useful features, such as, file read/write, data compares, image and keypoint data visualization, etc. Open-Sourced on GitHub - https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX
  • 38. © 2023 The Khronos Group OpenVX - Open-Source Tools 38 Graph Tool - openvx-graph-parser Tool for OpenVX C code generation from graphical calculation graph definitions. Includes a Python based parser which takes graphs defined in graphml format and generates valid OpenVX C code. Open-Sourced on GitHub - https://github.com/AxisCommunications/openvx-graph-parser
  • 39. © 2023 The Khronos Group OpenVX - Open-Source Tools 39 Python Binding - PyVX pycbindgen is a python based frontend tool for generating python module for a given C library. It uses pycaparser and CFFI python modules underneath. OpenVX functionality in Python Will be Open-Sourced on GitHub - https://github.com/KhronosGroup