Raspberry Pi SBC Now Supports OpenVX 1.3 Computer Vision API

OpenVX is an open, royalty-free API standard for cross-platform acceleration of computer vision applications developed by The Khronos Group that also manages the popular OpenGL ES, Vulkan, and OpenCL standards.

After OpenGL ES 3.1 conformance for Raspberry Pi 4, and good progress on the Vulkan implementation, the Raspberry Pi Foundation has now announced that both Raspberry Pi 3 and 4 Model B SBC’s had achieved OpenVX 1.3 conformance (somehow dated 2020-07-23).

Raspberry Pi OpenVX 1.3Raspberry Pi OpenVX open-source sample implementation passes the Vision, Enhanced Vision, & Neural Net conformance profiles specified in OpenVX 1.3 standard. However, it is NOT intended to be a reference implementation, as it is not optimized, production-ready, nor actively maintained by Khronos publically.

The sample can be built on multiple operating systems (Windows, Linux, Android) using either CMake or Concerto. Detailed instructions are provided for Ubuntu 18.04 64-bit x86 and Raspberry Pi SBC.

Here’s the list of commands to retrieve the code, build it, and run it on Raspberry Pi board:

But looking at the code and option, it looks OpenVX 1.3 sample implementation relies on NEON instructions instead of the VideoCore IV GPU, so performance may turn out to be underwhelming.

You can try some of the OpenVX samples such as VX Bubble Pop,
VX Canny Edge Detector, or VX Skin Tone Detector to tried it out.

OpenVX Bubble Pop
VX Bubble Pop Sample

In theory, you should be able to use the OpenVX 1.3 sample implementation for computer vision applications such as face, body, and gesture tracking, smart video surveillance, advanced driver assistance systems (ADAS), object and scene reconstruction, augmented reality, visual inspection, robotics, etc…

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Notify of
Joel Winarske
Joel Winarske
8 months ago

I have a project that builds the whole stack with optimized hardware tuning. It also pulls in the OpenvVX book tutorials/examples. An easy start for a complicated stack.