| Nota |
|
El kit de herramientas OpenVINO™ implementa rápidamente aplicaciones y soluciones que emulan la visión humana. El kit de herramientas extiende las cargas de trabajo de visión computarizada (CV) a través del hardware Intel® basado en redes neuronales convolucionales (CNN), lo que maximiza el desempeño. Estos pasos generalmente siguen este artículo sobre Barra de cómputo neuronal Intel® 2 y el kit de herramientas de OpenVINO™ de código abierto, pero incluyen cambios específicos para que todo se ejecute en su placa.
Esta guía le proporciona los pasos para crear una distribución de código abierto del kit de herramientas de OpenVINO™ para Raspbian* OS y para utilizarlo con Barra de cómputo neuronal Intel® 2 (Intel® NCS2).
Haga clic en el tema para obtener más información:
| Nota | Esta guía asume que tiene su placa Raspberry Pi* en funcionamiento con uno de los sistemas operativos enumerados a continuación. |
Hardware
Sistema operativo objetivo
Debian* Bullseye, 64 bits
| Nota | Esta guía contiene comandos que deben ejecutarse como acceso root o sudo para instalarse correctamente. |
Asegúrate de que el software del dispositivo esté actualizado:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential libclang-11-dev clang-11 clang-format-9 libssl-dev cmake
Intel® OpenVINO™ toolkit utiliza la potencia de OpenCV* para acelerar la inferencia basada en la visión. Mientras el proceso CMake para Intel® OpenVINO™ toolkit descarga OpenCV* si no hay ninguna versión instalada para plataformas compatibles, debes crear OpenCV desde el código fuente.
pip instalar opencv-python
sudo apt-get install python3-opencv
| Nota | Recomendamos especificar la última y estable rama o etiqueta al clonar el repositorio desde la página GitHub de openvinotoolkit en lugar de clonar directamente la rama maestra de forma predeterminada. |
La versión de código abierto del kit de herramientas Intel® OpenVINO™ está disponible a través de® GitHub. La carpeta del repositorio se titula openvino.
cd ~/
git clone --recurse-submodules --single-branch --branch=2022.1.0 https://github.com/openvinotoolkit/openvino.git
El kit de herramientas de OpenVINO™® Intel tiene varias dependencias de compilación. El script install_build_dependencies.sh los recupera por usted. Si surge algún problema al intentar ejecutar el script, debe instalar cada dependencia individualmente.
Ejecute el script para instalar las dependencias del kit de herramientas de OpenVINO™ Intel®:
cd openvino
sed -i 's/raspbian/debian/g' install_build_dependencies.sh
sudo ./install_build_dependencies.sh
Si el script terminó correctamente, está listo para crear el kit de herramientas. Si algo ha fallado en este momento, asegúrese de instalar las dependencias enumeradas e inténtelo de nuevo.
Para crear el contenedor de API de Python, instale todos los paquetes adicionales que se enumeran a continuación:
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 | Utilice la opción -DENABLE_PYTHON=ON . Para especificar una versión exacta de Python, utilice las siguientes opciones: -DPYTHON_EXECUTABLE=`which python3.9` \ Utilice la -DCMAKE_INSTALL_PREFIX={BASE_dir}/openvino_dist para especificar el directorio para que el edificio CMake se incorpore: Por ejemplo, -DCMAKE_INSTALL_PREFIX=~/openvino_dist |
El kit de herramientas utiliza un sistema de construcción CMake para guiar y simplificar el proceso de construcción. Para desarrollar tanto el motor de inferencia como el complemento MYRIAD para Barra de cómputo neuronal Intel® 2, utilice los siguientes comandos:
| Nota | Elimine todas las barras invertidas (\) al ejecutar los comandos siguientes. Las barras invertidas se utilizan para informar que estos comandos no están 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
Si el comando make falla debido a un problema con una biblioteca de OpenCV, asegúrese de haber indicado al sistema dónde está su instalación de OpenCV. Si la compilación se completa en este punto, el kit de herramientas Intel® OpenVINO™ está listo para ejecutarse. Cabe señalar que las compilaciones se colocan en la carpeta ~/openvino/bin/aarch64/Release .
Después de completar con éxito la construcción del motor de inferencia, debe verificar que todo esté configurado correctamente. Para verificar que el kit de herramientas y Barra de cómputo neuronal Intel® 2 funcionan en su dispositivo, siga estos pasos:
El kit de herramientas Intel® OpenVINO™ incluye algunas aplicaciones de muestra que utilizan el motor de inferencia y Barra de cómputo neuronal Intel® 2. Uno de los programas es benchmark_app, que se puede encontrar en:
~/openvino/bin/aarch64/Release
Ejecute los siguientes comandos para probar benchmark_app:
cd ~/openvino/bin/aarch64/Release
./benchmark_app -h
Debe imprimir un cuadro de diálogo de ayuda, describiendo las opciones disponibles para el programa.
El programa necesita un modelo para pasar la entrada. Puede obtener modelos para Intel® OpenVINO™ toolkit en formato IR mediante:
Para nuestros propósitos, descargar directamente es más fácil. Utilice los siguientes comandos para tomar un modelo de detección persona-vehí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 | El Barra de cómputo neuronal Intel® 2 requiere modelos optimizados para el formato de coma flotante de 16 bits conocido como FP16. Si su modelo difiere del ejemplo, es posible que necesite convertirlo a FP16 mediante el optimizador de modelo. |
El último elemento necesario es la entrada para la red neuronal. Para el modelo que hemos descargado, necesitas una imagen con 3 canales de color. Descargue los archivos necesarios en su placa:
cd ~/Downloads
wget https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg -O person.jpg
Es necesario agregar algunas reglas udev para permitir que el sistema reconozca Intel® NCS2 dispositivos USB.
| Nota | Si el usuario actual no es miembro del grupo usuarios, ejecute el siguiente comando y reinicie el dispositivo. |
sudo usermod -a -G users "$(whoami)"
Configure el entorno de OpenVINO™:
source ~/openvino_dist/setupvars.sh
Para realizar inferencia en el Barra de cómputo neuronal Intel® 2, instale las reglas USB ejecutando el script install_NCS_udev_rules.sh :
sh ~/openvino_dist/install_dependencies/install_NCS_udev_rules.sh
El controlador USB debería estar instalado correctamente ahora. Si no se detecta el Barra de cómputo neuronal Intel® 2 al ejecutar demostraciones, reinicie el dispositivo e inténtelo de nuevo.
Cuando se descargue el modelo, haya una imagen de entrada disponible y el Barra de cómputo neuronal Intel® 2 esté conectado a un puerto USB, utilice el siguiente comando para ejecutar el benchmark_app:
cd ~/openvino/bin/aarch64/Release
./benchmark_app -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
Esto ejecutará la aplicación con las opciones seleccionadas. El indicador -d indica al programa qué dispositivo utilizar para la inferencia. -MYRIAD activa el plugin MYRIAD , utilizando el Barra de cómputo neuronal Intel® 2. Después de que el comando se ejecute correctamente, el terminal mostrará estadísticas para inferencia y producirá una salida de imagen.
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
Si la aplicación se ejecutó correctamente en el Intel® NCS2, OpenVINO™ kit de herramientas y Barra de cómputo neuronal Intel® 2 están configurados correctamente para su uso en el 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
Si la aplicación se ejecutó correctamente en el Intel® NCS2, el módulo nGraph se enlaza correctamente a Python.
Debe actualizar varias variables de entorno para poder compilar y ejecutar OpenVINO aplicaciones del kit de herramientas. Ejecute el siguiente script para establecer temporalmente las variables de entorno:
source ~/openvino_dist/setupvars.sh
**(Opcional)** Las variables de entorno OpenVINO se eliminan al cerrar el shell. Como opción, puede establecer permanentemente las variables de entorno de la siguiente manera:
echo "source ~/openvino_dist/setupvars.sh" >> ~/.bashrc
Para probar el cambio, abra un nuevo terminal. Verá lo siguiente:
[setupvars.sh] OpenVINO environment initialized
Esto completa el procedimiento de compilación para la distribución de código abierto de OpenVINO™ kit de herramientas para Raspbian* OS y su uso con Barra de cómputo neuronal Intel® 2.