| Nota |
|
O kit de ferramentas OpenVINO™ implanta rapidamente aplicativos e soluções que imitam a visão humana. O kit de ferramentas estende as cargas de trabalho de visão computacional (CV) em todo o hardware intel® baseado em redes neurais convolucionais (CNN), que maximiza o desempenho. Essas etapas geralmente seguem este artigo sobre Stick de computação neural Intel® 2 e sobre o kit de ferramentas OpenVINO™ de código aberto, mas incluem mudanças específicas para colocar tudo em execução na sua placa.
Este guia fornece etapas para a criação de distribuição de código aberto do kit de ferramentas OpenVINO™ para Raspbian* OS e para usar com Stick de computação neural Intel® 2 (Intel® NCS2).
Clique no tópico para obter detalhes:
| Nota | Este guia pressupõe que você tenha sua placa Raspberry Pi* em execução com um sistema operacional listado abaixo. |
Hardware
Sistema operacional alvo
Debian* Bullseye, 64 bits
| Nota | Este guia contém comandos que precisam ser executados como acesso raiz ou de sudo para instalar corretamente. |
Certifique-se de que o software do seu dispositivo está atualizado:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential libclang-11-dev clang-11 clang-format-9 libssl-dev cmake
O kit de ferramentas Intel® OpenVINO™ usa o poder do OpenCV* para acelerar a inferência baseada em visão. Enquanto o processo CMake para o kit de ferramentas Intel® OpenVINO™ baixa o OpenCV* se nenhuma versão for instalada para as plataformas suportadas, você deve construir o OpenCV a partir da fonte.
instalação de pip opencv-python
sudo apt-get instalar python3-opencv
| Nota | Recomendamos especificar a ramificação ou tag mais recente e estável ao clonar o repositório da página gitHub do openvinotoolkit em vez de clonar diretamente o ramo mestre por padrão. |
A versão de código aberto do kit de ferramentas Intel® OpenVINO™ está disponível através do GitHub. A pasta do repositório é intitulada openvino.
cd ~/
git clone --recurse-submodules --single-branch --branch=2022.1.0 https://github.com/openvinotoolkit/openvino.git
O Kit de ferramentas Intel® OpenVINO™ possui várias dependências de construção. O script install_build_dependencies.sh os busca para você. Se surgirem problemas ao tentar executar o script, você deve instalar cada dependência individualmente.
Execute o script para instalar as dependências do kit de ferramentas Intel® OpenVINO™:
cd openvino
sed -i 's/raspbian/debian/g' install_build_dependencies.sh
sudo ./install_build_dependencies.sh
Se o script tiver sido bem-sucedido, você está pronto para o desenvolvimento do kit de ferramentas. Se algo falhou neste momento, certifique-se de instalar quaisquer dependências listadas e tentar novamente.
Para construir o invólucro de API Python, instale todos os pacotes adicionais listados abaixo:
python3 -m pip install --upgrade pip
python3 -m pip install clang==11.0 pyaml
python3 -m pip install -r ~/openvino/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
python3 -m pip install -r ~/openvino/src/bindings/python/wheel/requirements-dev.txt
| Nota | Use a opção -DENABLE_PYTHON=ON . Para especificar uma versão Python exata, use as seguintes opções: -DPYTHON_EXECUTABLE=`which python3.9` \ Use o -DCMAKE_INSTALL_PREFIX={BASE_dir}/openvino_dist para especificar o diretório do edifício CMake para construir: por exemplo, -DCMAKE_INSTALL_PREFIX=~/openvino_dist |
O kit de ferramentas usa um sistema de construção CMake para orientar e simplificar o processo de construção. Para construir o mecanismo de inferência e o plug-in MYRIAD para Stick de computação neural Intel® 2, use os seguintes comandos:
| Nota | Remova todas as cílios (\) ao executar os comandos abaixo. As cílios são usadas para informar que esses comandos não estão separados. |
cd ~/openvino
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=~/openvino_dist \
-DENABLE_INTEL_MYRIAD=ON \
-DENABLE_INTEL_CPU=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_CLDNN=OFF \
-DENABLE_AUTO=OFF \
-DENABLE_MULTI=OFF \
-DENABLE_HETERO=OFF \
-DENABLE_TEMPLATE=OFF \
-DENABLE_TESTS=OFF \
-DENABLE_OV_ONNX_FRONTEND=OFF \
-DENABLE_OV_PADDLE_FRONTEND=OFF \
-DENABLE_OV_TF_FRONTEND=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_SSE42=OFF \
-DTHREADING=SEQ \
-DENABLE_OPENCV=OFF \
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=$(which python3.9) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.9.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.9 ..
make -j4
sudo make install
Se o comando falhar por causa de um problema em uma biblioteca OpenCV, certifique-se de ter dito ao sistema onde está sua instalação do OpenCV. Se o build for concluído neste momento, o kit de ferramentas Intel® OpenVINO™ está pronto para ser executado. Deve-se notar que as construções são colocadas na pasta ~/openvino/bin/aarch64/Release .
Depois de concluir com sucesso a montagem do motor de inferência, você deve verificar se tudo está configurado corretamente. Para verificar se o kit de ferramentas e Stick de computação neural Intel® 2 funcionam no seu dispositivo, execute os seguintes passos:
O kit de ferramentas Intel® OpenVINO™ inclui algumas aplicações de amostra que utilizam o mecanismo de inferência e os Stick de computação neural Intel® 2. Um dos programas é benchmark_app, que pode ser encontrado em:
~/openvino/bin/aarch64/Release
Execute os seguintes comandos para testar benchmark_app:
cd ~/openvino/bin/aarch64/Release
./benchmark_app -h
Ele deve imprimir uma caixa de diálogo de ajuda, descrevendo as opções disponíveis para o programa.
O programa precisa de um modelo para transmitir a entrada. Você pode obter modelos para o kit de ferramentas Intel® OpenVINO™ em formato IR por:
Para as nossas finalidades, o download diretamente é o mais fácil. Use os seguintes comandos para obter um modelo de detecção pessoa-veículo-bicicleta:
cd ~/Downloads
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml
| Nota | O Stick de computação neural Intel® 2 requer modelos otimizados para o formato de ponto flutuante de 16 bits conhecido como FP16. Seu modelo, se for diferente do exemplo, pode exigir uma conversão usando o Otimizador de modelos para FP16. |
O último item necessário é a entrada para a rede neural. Para o modelo que baixamos você precisa de uma imagem com 3 canais de cor. Faça o download dos arquivos necessários na sua placa:
cd ~/Downloads
wget https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg -O person.jpg
Algumas regras de udev precisam ser adicionadas para permitir que o sistema reconheça Intel® NCS2 dispositivos USB.
| Nota | Se o usuário atual não for membro do grupo de usuários, execute o comando a seguir e reinicialize o dispositivo. |
sudo usermod -a -G users "$(whoami)"
Configure o ambiente OpenVINO™:
source ~/openvino_dist/setupvars.sh
Para executar a inferência no Stick de computação neural Intel® 2, instale as regras de USB executando o script install_NCS_udev_rules.sh :
sh ~/openvino_dist/install_dependencies/install_NCS_udev_rules.sh
O driver USB deve ser instalado corretamente agora. Se a Stick de computação neural Intel® 2 não for detectada ao executar demonstrações, reinicie o dispositivo e tente novamente.
Quando o modelo é baixado, uma imagem de entrada está disponível e o Stick de computação neural Intel® 2 está conectado a uma porta USB, use o seguinte comando para executar o benchmark_app:
cd ~/openvino/bin/aarch64/Release
./benchmark_app -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
Isso executará o aplicativo com as opções selecionadas. O sinalizador -d diz ao programa qual dispositivo usar para inferência. -A MYRIAD ativa o plugin MYRIAD , utilizando o Stick de computação neural Intel® 2. Depois que o comando for executado com êxito, o terminal exibirá estatísticas para inferência e produzirá uma saída de imagem.
INFO ] First inference took 267.43 ms
[Step 11/11] Dumping statistics report
Count: 12 iterations
Duration: 1620.69 ms
Latency:
Median: 532.82 ms
AVG: 494.30 ms
MIN: 278.83 ms
MAX: 557.00 ms
Throughput: 7.40 FPS
Se o aplicativo tiver sido funcionado com êxito em seu Intel® NCS2, OpenVINO™ kit de ferramentas e Stick de computação neural Intel® 2 estão configuradas corretamente para uso no seu dispositivo.
source ~/openvino_dist/setupvars.sh
cd ~/openvino/tools/benchmark_tool
python3 benchmark_app.py -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
Se o aplicativo tiver sido exibido com êxito em seu Intel® NCS2, o módulo nGraph será vinculado corretamente ao Python.
Você deve atualizar várias variáveis de ambiente antes de poder compilar e executar OpenVINO aplicativos do kit de ferramentas. Execute o seguinte script para definir temporariamente as variáveis de ambiente:
source ~/openvino_dist/setupvars.sh
**(Opcional)** As variáveis do ambiente OpenVINO são removidas quando você fecha o shell. Como uma opção, você pode definir permanentemente as variáveis do ambiente da seguinte forma:
echo "source ~/openvino_dist/setupvars.sh" >> ~/.bashrc
Para testar sua mudança, abra um novo terminal. Você verá o seguinte:
[setupvars.sh] OpenVINO environment initialized
Isso conclui o procedimento de compilação para distribuição de código aberto do kit de ferramentas OpenVINO™ para Raspbian* OS e uso com Stick de computação neural Intel® 2.