Como implantar o modelo YOLOv5 no OpenVINO

Tags relacionadas:1.PyTorch
2. Práticas de deep learning com Alluxio - 1: Executando o framework PyTorch no HDFS


Resumo: O OpenVINO é um conjunto de ferramentas de IA lançado pela Intel, que pode ser usado para implantar rapidamente aplicações e soluções de IA. Existem mais de 150 estruturas de redes CNN com suporte a visão computacional.

Introdução: O OpenVINO é um conjunto de ferramentas de IA lançado pela Intel, que pode ser usado para implantar rapidamente aplicações e soluções de IA. Existem mais de 150 estruturas de redes CNN com suporte a visão computacional. É compatível com diversos frameworks open source populares, como PyTorch, TensorFlow, Keras, MXNet, Caffe e ONNX, e permite converter facilmente os modelos treinados nesses frameworks para o framework OpenVINO por meio de ferramentas, além de oferecer suporte à implantação de modelos pré-treinados em CPUs, GPUs e VPUs da Intel.

1: Visão geral do OpenVINO



De acordo com a Baidu Encyclopedia e outras fontes, o OpenVINO é um conjunto de ferramentas de IA lançado pela Intel, que pode ser usado para implantar rapidamente aplicações e soluções de IA. Existem mais de 150 estruturas de redes CNN com suporte a visão computacional. É compatível com diversos frameworks open source populares, como PyTorch, TensorFlow, Keras, MXNet, Caffe e ONNX, e permite converter facilmente os modelos treinados nesses frameworks para o framework OpenVINO por meio de ferramentas, além de oferecer suporte à implantação de modelos pré-treinados em CPUs, GPUs e VPUs da Intel.

Para desenvolvedores que desejam ter uma experiência inicial, o OpenVINO oferece muita conveniência na implantação de modelos de IA em CPUs da Intel. O conjunto OpenVINO também inclui o pacote de processamento de imagens OpenCV e o toolkit de processamento de vídeo Media SDK, usados para decodificação de imagens e vídeos, pré-processamento e pós-processamento dos resultados de inferência. De modo geral, ao realizar inferência de modelos, o pré-processamento e o pós-processamento são necessários na maioria dos casos. O pré-processamento inclui transformação de canais, redimensionamento, média e normalização, entre outros; já o pós-processamento precisa desenhar recursos como caixas de detecção de objetos nas imagens. Essas operações podem ser realizadas usando OpenVINO e OpenCV.

Além disso, é importante observar que diferentes ambientes de hardware oferecem suporte a modelos e precisões de entrada e saída distintos. Os formatos de modelo suportados por cada hardware são apresentados abaixo.

Como pode ser visto na figura acima, a VPU atualmente suporta apenas o formato de modelo FP16. E otimizado nos seguintes hardwares (Optimized for processors):
• Processadores Intel® Core™ de 6ª a 12ª geração e processadores Intel® Xeon®
• Processador escalável Intel® Xeon® de 3ª geração (anteriormente codinome Cooper Lake)
• Processador escalável Intel® Xeon® (anteriormente Skylake e Cascade Lake)
• Processador Intel Atom® com suporte a Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1)
• Processador Intel Pentium® N4200/5, N3350/5 ou N3450/5 com Intel® HD Graphics
• Intel® Iris® Xe MAX Graphics
• Intel® Neural Compute Stick 2
• Intel® Vision Accelerator Design com VPUs Intel® Movidius™

2: Visão geral do YOLOv5



O YOLOv5 é a quinta versão do algoritmo YOLO (You Only Look Once). O YOLO pode ser considerado o líder atual em algoritmos de detecção de objetos em tempo real. Foi apresentado por Redmon et al. em um artigo de 2016 e atualmente é amplamente utilizado em diversos cenários de detecção de objetos por IA, sendo muito conveniente para identificar categorias de objetos em imagens, como pessoas, carros, animais, etc. Embora a precisão de inferência do YOLOv4 seja superior à do YOLOv5 atual em alguns cenários, alguns novos recursos do YOLOv5 são mais atrativos. Por exemplo, o YOLOv5 se destaca por ter arquivos de modelo de inferência menores, tempo de treinamento mais curto e velocidade de inferência rápida, sem reduzir a precisão média de detecção. Dessa forma, em casos com requisitos de precisão menos rigorosos, o uso do YOLOv5 na construção e implantação de modelos torna-se mais prático, com velocidade de inferência superior.

O caminho do código-fonte no site oficial é: , e diferentes modelos de pesos pré-treinados do YOLOv5 (versão 6.0) também estão disponíveis no site oficial (YOLOv5s, YOLOv5m, YOLOv5n, etc.). Para adaptação ao OpenVINO, escolhemos aqui a versão YOLOv5 v5.0. Você pode baixar o arquivo de modelo de pesos e o código-fonte yolov5-5.0 em https://github.com/ultralytics/yolov5/releases/tag/v5.0.



3: Visão geral do ambiente de adaptação


• Sistema operacional: Windows 10 (CPU Intel)
• Versão do Python: Python 3.7.7
• Pacote Python do OpenVINO: openvino 2021.4.2
• YOLOv: yolov5-5.0
• netron 5.5.3
• onnx 1.10.2
• opencv-python: 4.5.4.60
Sobre o conjunto OpenVINO, você pode baixá-lo no site oficial.

Além disso, o openvino_toolkit requer a instalação de outras dependências (ambiente C++), incluindo cmake-3.22.1-windows-x86_64.msi e Visual Studio 2019 com MSBuild. Isso pode ser feito instalando o Visual Studio Community Edition, marcando o componente de desenvolvimento de desktop C++ e outros componentes necessários. Para mais detalhes, consulte a documentação oficial do OpenVINO:
https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_windows.html. Após configurar o ambiente, execute os seguintes comandos CMD para verificar se o ambiente C++ foi configurado corretamente:

#Definir variáveis de ambiente temporariamente
# mudar diretório
# instalar dependências
install_prerequisites.bat
#Compilar e executar Demo
demo_security_barrier_camera.bat

Artigos relacionados

Explorar mais ofertas especiais

  1. Short Message Service (SMS) e Serviço de e-mail

    Pacote de 50.000 e-mails a partir de apenas USD 1,99; 120 mensagens curtas a partir de apenas USD 1,00

phone Fale Conosco
Oi, eu sou o assistente de IA da Alibaba Cloud!
Posso ajudar com perguntas e soluções.