OpenVX
OpenVX Overview - The Khronos Group Inc
OpenVX™ 是一种开放、免版税的计算机视觉应用跨平台加速标准。 OpenVX 可实现性能和功耗优化的计算机视觉处理,这在嵌入式和实时用例中尤其重要,例如面部、身体和手势跟踪、智能视频监控、高级驾驶员辅助系统 (ADAS)、对象和场景重建、增强现实、目视检查、机器人技术等。
OpenVX Feature Sets
为了实现部署灵活性并避免碎片化,OpenVX 1.3 定义了许多针对常见嵌入式用例的功能集。硬件供应商可以在其实现中包含一个或多个完整的Feature Sets,以满足客户的需求并完全符合要求。 OpenVX 的灵活性使得能够在各种加速器架构上进行部署,并且Feature Sets可以显著增加可用 OpenVX 实现的广度和多样性。定义的 OpenVX 1.3 Feature Sets包括:
- Graph Infrastructure (baseline for other Feature Sets),
- Default Vision,
- Enhanced Vision (functions introduced in OpenVX 1.2),
- Neural Network Inferencing (including tensor objects),
- NNEF Kernel import (including tensor objects),
- Binary Images,
- Safety Critical (reduced features to enable easier safety certification).
OpenVX Build on Linux
安装OpenCV
安装libgtk
GTK是一个Linux平台下基于Xwindows图形窗口的图形用户编程接口工具,可以借助它开开发Linux平台下基于Xwindows的图形用户界面
sudo apt install libgtk2.0-dev
安装pkg-config
(在Linux系统下安装第三方软件时要用到第三方软件的头文件以及相关库,在编译时指定库和头文件是十分麻烦的,而pkg-config能够把这些头文件和库文件的位置指出来给编译器使用)
sudo apt install pkg-config
安装OpenCV
- 从OpenCV官网Releases - OpenCV下载Sources文件
- 解压安装包
unzip opencv-4.8.0.zip - 进入解压的目录,新建编译目录,使用cmake make编译,最后安装
OpenCV测试
在终端输入ldconfig -v | grep opencv,检查是否安装成功
OpenVX Sample Implementation
KhronosGroup/OpenVX-sample-impl: OpenVX sample implementation (github.com)
链接中的项目提供了OpenVX的参考示例实现,首先clone下来
git clone https://github.com/KhronosGroup/OpenVX-sample-impl.git
然后运行python3 Build.py --os=Linux --arch=64
运行上述py文件后会build至./build/Linux/x64/Release
OpenVX头文件将会安装在./install/Linux/x64/Release/include
可执行文件与lib文件将会安装在./install/Linux/x64/Release/bin
然后,将安装的静态库目录加入环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tairan/work/OpenVX-sample-impl/install/Linux/x64/Release/bin
至此完成了一个OpenVX Sample Implementation的Build,运行示例:
cd raw
./install/Linux/x64/Debug/bin/vx_test
OpenVX Tutorial
此外,github有openvx教程: rgiduthuri/openvx_tutorial: Khronos OpenVX Tutorial Material (github.com)