OpenVX – это открытый, бесплатный API-стандарт для кроссплатформенного ускорения приложений компьютерного зрения, разработанный группой Khronos, которая также управляет популярными стандартами OpenGL ES, Vulkan и OpenCL.
После того, как Raspberry Pi получила совместимость с OpenGL ES 3.1 и значительного прогресса в реализации Vulkan, Raspberry Pi Foundation объявил, что и модели Raspberry Pi 3 и Model B SBC достигли соответствия OpenVX 1.3 (датировано 2020-07-23).

Реализация Raspberry Pi OpenVX с открытым исходным кодом соответствует профилям соответствия Vision, Enhanced Vision и Neural Net, указанным в стандарте OpenVX 1.3. Тем не менее, он НЕ предназначен для эталонной реализации, поскольку не оптимизирован, не готов к производству и публично не поддерживается Khronos.
Образец может быть построен на нескольких операционных системах (Windows, Linux, Android) с использованием CMake или Concerto. Подробные инструкции приведены для Ubuntu 18.04 64-bit x86 и Raspberry Pi SBC.
Вот список команд для извлечения кода, его сборки и запуска на плате Raspberry Pi:
1 2 3 4 5 6 7 8 9 10 |
git clone --recursive https://github.com/KhronosGroup/OpenVX-sample-impl.git cd OpenVX-sample-impl/ python Build.py --os=Linux --venum --conf=Debug --conf_vision --enh_vision --conf_nn export OPENVX_DIR=$(pwd)/install/Linux/x32/Debug export VX_TEST_DATA_PATH=$(pwd)/cts/test_data/ mkdir build-cts cd build-cts cmake -DOPENVX_INCLUDES=$OPENVX_DIR/include -DOPENVX_LIBRARIES=$OPENVX_DIR/bin/libopenvx.so\;$OPENVX_DIR/bin/libvxu.so\;pthread\;dl\;m\;rt -DOPENVX_CONFORMANCE_VISION=ON -DOPENVX_USE_ENHANCED_VISION=ON -DOPENVX_CONFORMANCE_NEURAL_NETWORKS=ON ../cts/ cmake --build . LD_LIBRARY_PATH=./lib ./bin/vx_test_conformance |
Но, глядя на код и опцию, похоже, что пример реализации OpenVX 1.3 опирается на инструкции NEON, а не на GPU VideoCore IV, поэтому производительность может оказаться не впечатляющей.
Вы можете попробовать некоторые из образцов OpenVX, такие как VX Bubble Pop,
VX Canny Edge Detector или VX Skin Tone Detector.

Теоретически вы должны иметь возможность использовать пример реализации OpenVX 1.3 для приложений компьютерного зрения, таких как отслеживание лица, тела и жестов, интеллектуальное видеонаблюдение, усовершенствованные системы помощи водителю (ADAS), реконструкция объектов и сцен, дополненная реальность, визуальный контроль робототехника и т. д.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.