Raspberry Pi SBC agora suporta OpenVX 1.3 Computer Vision API

A Raspberry Pi Foundation anunciou que o Raspberry Pi SBC agora suporta OpenVX 1.3 Computer Vision API. Confira os detalhes dessa importante mudança.

O OpenVX é um padrão de API aberto e sem royalties para a aceleração de plataforma cruzada de aplicativos de visão computacional desenvolvidos pelo The Khronos Group que também gerencia os padrões populares OpenGL ES, Vulkan e OpenCL.

Após a conformidade do OpenGL ES 3.1 com o Raspberry Pi 4 e um bom progresso na implementação do Vulkan, a Raspberry Pi Foundation anunciou agora que os SBCs do Raspberry Pi 3 e 4 Modelo B atingiram a conformidade com o OpenVX 1.3 (de alguma forma datada de 2020-07-23).

Raspberry Pi SBC agora suporta OpenVX 1.3 Computer Vision API

Raspberry Pi SBC agora suporta OpenVX 1.3 Computer Vision API
Raspberry Pi SBC agora suporta OpenVX 1.3 Computer Vision API

A implementação de amostra de código-fonte aberto do Raspberry Pi OpenVX 1.3 passa nos perfis de conformidade Vision, Enhanced Vision e Neural Net especificados no padrão OpenVX 1.3.

No entanto, NÃO pretende ser uma implementação de referência, pois não é otimizada, pronta para produção, nem mantida ativamente pela Khronos publicamente.

A amostra pode ser construída em vários sistemas operacionais (Windows, Linux, Android) usando CMake ou Concerto. Instruções detalhadas são fornecidas para Ubuntu 18.04 x86 de 64 bits e Raspberry Pi SBC.

Aqui está a lista de comandos para recuperar, compilar e executar o código no quadro Raspberry Pi:
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

Mas, olhando o código e a opção, parece que a implementação de amostra do OpenVX 1.3 depende das instruções NEON em vez da GPU VideoCore IV, portanto, o desempenho pode parecer abaixo do esperado.

Você pode experimentar algumas das amostras do OpenVX, como o VX Bubble Pop, VX Canny Edge Detector ou VX Skin Tone Detector para testá-lo.
Raspberry Pi SBC agora suporta OpenVX 1.3 Computer Vision API
Em teoria, você deve poder usar a implementação de amostra OpenVX 1.3 para aplicativos de visão computacional, como rastreamento de rosto, corpo e gestos, vigilância por vídeo inteligente, sistemas avançados de assistência ao motorista (ADAS), reconstrução de objetos e cenas, realidade aumentada, inspeção visual, robótica, etc.

O que está sendo falado no blog

PinLinkedIn
Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.