Déploiement du modèle Yolov5 sur OpenVINO

Tags associés : 1. PyTorch
2. Alluxio Deep Learning Practices - 1 : Exécution du framework PyTorch sur HDFS


Résumé : OpenVINO est une suite d'outils d'IA lancée par Intel, permettant de déployer rapidement des applications et des solutions d'IA. Plus de 150 architectures de réseaux CNN prennent en charge la vision par ordinateur.

Introduction : OpenVINO est une suite d'outils d'IA lancée par Intel, permettant de déployer rapidement des applications et des solutions d'IA. Plus de 150 architectures de réseaux CNN prennent en charge la vision par ordinateur. Elle est compatible avec de nombreux frameworks open source courants tels que PyTorch, Tensorflow, Keras, mxnet, Caffe et ONNX, et permet de convertir facilement les modèles entraînés avec ces frameworks vers le framework OpenVINO à l'aide d'outils dédiés, et de prendre en charge le déploiement de modèles pré-entraînés sur les CPU, GPU et VPU d'Intel.

1 : Vue d'ensemble d'OpenVINO



Selon Baidu Encyclopedia et d'autres sources, OpenVINO est une suite d'outils d'IA lancée par Intel, permettant de déployer rapidement des applications et des solutions d'IA. Plus de 150 architectures de réseaux CNN prennent en charge la vision par ordinateur. Elle est compatible avec de nombreux frameworks open source courants tels que PyTorch, Tensorflow, Keras, mxnet, Caffe et ONNX, et permet de convertir facilement les modèles entraînés avec ces frameworks vers le framework OpenVINO à l'aide d'outils dédiés, et de prendre en charge le déploiement de modèles pré-entraînés sur les CPU, GPU et VPU d'Intel.

Pour les développeurs souhaitant une première prise en main, OpenVINO permet de déployer très facilement des modèles d'IA sur les CPU d'Intel. La suite OpenVINO inclut également le package de traitement d'images OpenCV et le toolkit de traitement vidéo Media SDK, utilisés pour le décodage d'images et de vidéos, le prétraitement et le post-traitement des résultats d'inférence. En général, lors de l'inférence de modèles, un prétraitement et un post-traitement sont nécessaires dans la plupart des cas. Le prétraitement comprend la transformation des canaux, le redimensionnement, le calcul de la moyenne et la normalisation, etc. ; le post-traitement consiste à dessiner des éléments tels que les cadres de détection d'objets sur les images. Ces opérations peuvent être réalisées à l'aide d'OpenVINO et d'OpenCV.

En outre, il convient de noter que les environnements matériels, les modèles pris en charge et la précision des entrées et sorties varient selon le matériel. Les formats de modèle pris en charge par chaque type de matériel sont présentés ci-après.

Comme le montre la figure précédente, le VPU ne prend actuellement en charge que le format de modèle FP16. Il est optimisé pour le matériel suivant (optimisé pour les processeurs) :
• Processeurs Intel® Core™ de la 6e à la 12e génération et processeurs Intel® Xeon®
• Processeur Intel® Xeon® Scalable de 3e génération (anciennement Cooper Lake)
• Processeur Intel® Xeon® Scalable (anciennement Skylake et Cascade Lake)
• Processeur Intel Atom® prenant en charge Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1)
• Processeur Intel Pentium® N4200/5, N3350/5 ou N3450/5 avec Intel® HD Graphics
• Intel® Iris® Xe MAX Graphics
• Intel® Neural Compute Stick 2
• Intel® Vision Accelerator Design avec VPU Intel® Movidius™

2 : Vue d'ensemble de Yolov5



Yolov5 est la cinquième version de l'algorithme YOLO (You Only Look Once). YOLO est considéré comme le leader des algorithmes de détection d'objets en temps réel. Nommé par Redmon et al. dans un article de 2016, il est actuellement largement utilisé dans une grande variété de scénarios de détection d'objets par IA, permettant de détecter facilement les catégories d'objets dans les images, telles que les personnes, les véhicules, les animaux, etc. Bien que la précision d'inférence de yolov4 soit supérieure à celle de yolov5 dans certains scénarios, les nouvelles fonctionnalités de yolov5 sont plus attractives. Par exemple, yolov5 se caractérise par un fichier de modèle d'inférence plus petit, un temps d'entraînement plus court et une vitesse d'inférence plus rapide, sans réduire la précision moyenne de détection. Ainsi, lorsque les exigences de précision sont moins strictes, yolov5 est plus pratique pour la construction et le déploiement de modèles, et la vitesse d'inférence est plus rapide.

Le chemin d'accès source du site officiel est le suivant : , et différents modèles de poids pré-entraînés (YOLOv5s, YOLOv5m, YOLOv5n, etc.) de yolov5 (versions 6.0) sont également disponibles sur le site officiel. Pour assurer la compatibilité avec OpenVINO, choisissez la version yolov5 v5.0. Vous pouvez télécharger le fichier de modèle de poids et le code source yolov5-5.0 depuis https://github.com/ultralytics/yolov5/releases/tag/v5.0.



3 : Vue d'ensemble de l'environnement d'adaptation


• Système d'exploitation : Windows 10 (CPU Intel)
• Version de Python : Python 3.7.7
• Package Python OpenVINO : openvino 2021.4.2
• Yolov : yolov5-5.0
• netron 5.5.3
• onnx 1.10.2
• opencv-python : 4.5.4.60
Concernant la suite OpenVINO, vous pouvez la télécharger depuis le site officiel.

En outre, openvino_toolkit nécessite l'installation d'autres dépendances (environnement C++), notamment cmake-3.22.1-windows-x86_64.msi et Visual Studio 2019 avec MSBuild. Cela peut être réalisé en installant Visual Studio Community Edition, en veillant à sélectionner l'environnement de développement de bureau C++ et les autres composants. Pour plus de détails, consultez la documentation du site officiel d'OpenVINO :
https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_windows.html. Une fois l'environnement configuré, vous pouvez exécuter la commande CMD suivante pour vérifier que l'environnement C++ est correctement configuré :

# Définir temporairement les variables d'environnement
# Changer de répertoire
# Installer les dépendances
install_prerequisites.bat
# Compiler et exécuter la démo
demo_security_barrier_camera.bat

Articles connexes

Découvrir d'autres offres spéciales

  1. Service de messages courts (SMS) et service de messagerie

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone Contacter
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.