Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Saiba como a exportação do Ultralytics YOLO11 para o formato OpenVINO™ permite uma inferência extremamente rápida no hardware Intel®, melhorando a velocidade, a escalabilidade e a precisão.
A adoção da IA depende de as soluções de IA serem acessíveis, e uma grande parte disso é torná-las fáceis de implementar no hardware que as pessoas já têm. Executar modelos de IA em GPUs (unidades de processamento gráfico) é uma óptima opção em termos de desempenho e capacidade de processamento paralelo.
No entanto, a realidade é que nem toda a gente tem acesso a GPUs topo de gama, especialmente em ambientes de ponta ou em computadores portáteis do dia a dia. É por isso que é tão importante otimizar os modelos para serem executados de forma eficiente em hardware mais amplamente disponível, como unidades de processamento central (CPUs), GPUs integradas e unidades de processamento neural (NPUs).
A visão por computador, por exemplo, é um ramo da IA que permite às máquinas analisar e compreender imagens e fluxos de vídeo em tempo real. Os modelos de IA de visão, como o Ultralytics YOLO11 , suportam tarefas essenciais, como a deteção de objectos e a segmentação de instâncias, que alimentam aplicações desde a análise de retalho até ao diagnóstico médico.
Fig. 1. Utilização do Ultralytics YOLO11 para detetar e segmentar objectos numa loja de retalho.
Para tornar a visão computacional mais amplamente acessível, a Ultralytics lançou uma integração atualizada com o kit de ferramentas OpenVINO, que é um projeto de código aberto para otimizar e executar a inferência de IA em CPUs, GPUs e NPUs.
Com essa integração, é mais fácil exportar e implantar modelos YOLO11 com inferência até 3× mais rápida em CPUs e desempenho acelerado em GPUs e NPUs Intel. Neste artigo, mostraremos como usar o pacote Ultralytics Python para exportar modelos YOLO11 para o formato OpenVINO e usá-lo para inferência. Vamos começar!
Uma visão geral do Ultralytics YOLO11
Antes de nos debruçarmos sobre os pormenores da integração do OpenVINO suportada pelo Ultralytics, vamos analisar mais de perto o que faz do YOLO11 um modelo de visão por computador fiável e com impacto. O YOLO11 é o modelo mais recente da série Ultralytics YOLO, oferecendo melhorias significativas tanto em termos de velocidade como de precisão.
Um dos seus principais destaques é a eficiência. Por exemplo, o Ultralytics YOLO11m tem menos 22% de parâmetros do que o Ultralytics YOLOv8m, mas atinge uma precisão média superior (mAP) no conjunto de dados COCO. Isto significa que é executado mais rapidamente e detecta objectos com maior precisão, o que o torna ideal para aplicações em tempo real em que o desempenho e a capacidade de resposta são fundamentais.
Fig. 2. Benchmarks de desempenho do Ultralytics YOLO11.
Para além da deteção de objectos, o YOLO11 suporta várias tarefas avançadas de visão computacional, como a segmentação de instâncias, a estimativa de pose, a classificação de imagens, o seguimento de objectos e a deteção orientada de caixas delimitadoras. O YOLO11 é também de fácil desenvolvimento, com o pacote Ultralytics Python a fornecer uma interface simples e consistente para treinar, avaliar e implementar modelos.
Para além disso, o pacote Ultralytics Python suporta várias integrações e vários formatos de exportação, incluindo OpenVINO, ONNX, TorchScript, permitindo-lhe integrar facilmente o YOLO11 em vários pipelines de implementação. Quer esteja a visar uma infraestrutura de nuvem, dispositivos de ponta ou sistemas incorporados, o processo de exportação é simples e adaptável às suas necessidades de hardware.
O que é o OpenVINO™?
O OpenVINO™ (Open Visual Inference and Neural Network Optimization) é um kit de ferramentas de código aberto para otimizar e implantar a inferência de IA em uma ampla variedade de hardware. Ele permite que os desenvolvedores executem aplicativos de inferência de alto desempenho com eficiência em várias plataformas Intel, incluindo CPUs, GPUs integradas e discretas, NPUs e FPGAs (field-programmable gate arrays).
O OpenVINO fornece uma interface de tempo de execução unificada que abstrai as diferenças de hardware através de plugins específicos do dispositivo. Isto significa que os programadores podem escrever código uma vez e implementá-lo em vários alvos de hardware Intel utilizando uma API consistente.
Aqui estão algumas das principais caraterísticas que fazem do OpenVINO uma óptima escolha para a implementação:
Conversor de modelos: Esta ferramenta converte e prepara modelos de estruturas populares como PyTorch, ONNX, TensorFlow, PaddlePaddle e outros, para que possam ser optimizados para uma inferência eficiente no hardware Intel.
Execução heterogénea: Não precisa de reescrever o seu código para hardware Intel diferente. O OpenVINO facilita a execução do mesmo modelo em qualquer hardware suportado, desde CPUs a GPUs.
Suporte de quantização: O conjunto de ferramentas suporta formatos de precisão reduzida como FP16 (predefinição) e INT8, que ajudam a diminuir o tamanho do modelo e a acelerar a inferência sem afetar significativamente a precisão.
Figura 3. O OpenVINO permite diversas opções de implementação.
Explorar a integração Ultralytics x OpenVINO
Agora que explorámos o que é o OpenVINO e o seu significado, vamos discutir como exportar modelos YOLO11 para o formato OpenVINO e executar uma inferência eficiente em hardware Intel.
Passo 1: Instalar o pacote Ultralytics Python
Para exportar um modelo para o formato OpenVINO, primeiro é necessário instalar o pacote Ultralytics Python. Este pacote fornece tudo o que é necessário para treinar, avaliar e exportar modelos YOLO, incluindo o YOLO11.
Pode instalá-lo executando o comando"pip install ultralytics" no seu terminal ou na linha de comandos. Se estiver a trabalhar num ambiente interativo como o Jupyter Notebook ou o Google Colab, basta adicionar um ponto de exclamação antes do comando.
Além disso, se tiver problemas durante a instalação ou durante a exportação, a documentação do Ultralytics e os guias de resolução de problemas são óptimos recursos para o ajudar a retomar o caminho certo.
Passo 2: Exportar o modelo YOLO11 para o formato OpenVINO
Uma vez configurado o pacote Ultralytics, o passo seguinte é carregar o seu modelo YOLO11 e convertê-lo num formato compatível com o OpenVINO.
No exemplo abaixo, estamos a utilizar um modelo YOLO11 pré-treinado ("yolo11n.pt"). A funcionalidade de exportação é utilizada para o converter para o formato OpenVINO. Depois de executar este código, o modelo convertido será guardado num novo diretório chamado "yolo11n_openvino_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="openvino")
Passo 3: Executar a inferência com o modelo exportado
Depois de o modelo YOLO11 ser exportado para o formato OpenVINO, pode executar inferências de duas formas: utilizando o pacote Ultralytics Python ou o tempo de execução OpenVINO nativo.
Utilizar o pacote Python do Ultralytics
O modelo YOLO11 exportado pode ser facilmente implantado usando o pacote Ultralytics Python, como mostrado no trecho de código abaixo. Este método é ideal para experimentação rápida e implantação simplificada em hardware Intel.
Também pode especificar qual o dispositivo a utilizar para a inferência, tal como "intel:cpu", "intel:gpu" ou "intel:npu", dependendo do hardware Intel disponível no seu sistema.
Depois de executar o código acima, a imagem de saída será guardada no diretório "runs/detect/predict".
Fig. 4. Utilização do modelo YOLO11 exportado para detetar objectos numa imagem.
Utilizar o tempo de execução nativo do OpenVINO
Se procura uma forma personalizável de executar a inferência, especialmente em ambientes de produção, o tempo de execução do OpenVINO dá-lhe mais controlo sobre a forma como o seu modelo é executado. Ele suporta recursos avançados, como execução assíncrona (execução de várias solicitações de inferência em paralelo) e balanceamento de carga (distribuição eficiente de cargas de trabalho de inferência no hardware Intel).
Para utilizar o tempo de execução nativo, necessita dos ficheiros de modelo exportados: um ficheiro .xml (que define a arquitetura da rede) e um ficheiro .bin (que armazena os pesos treinados do modelo). Também pode configurar parâmetros adicionais, como dimensões de entrada ou etapas de pré-processamento, dependendo da sua aplicação.
Um fluxo de implantação típico inclui a inicialização do núcleo do OpenVINO, o carregamento e a compilação do modelo para um dispositivo de destino, a preparação da entrada e a execução da inferência. Para obter exemplos detalhados e orientações passo a passo, consulte a documentação oficial do Ultralytics OpenVINO.
Porquê escolher a integração Ultralytics x OpenVINO?
Ao explorar as integrações do Ultralytics, notará que o pacote Python do Ultralytics suporta a exportação de modelos YOLO11 para uma variedade de formatos, como TorchScript, CoreML, TensorRT e ONNX. Então, porquê escolher a integração OpenVINO?
Eis algumas razões pelas quais o formato de exportação OpenVINO é ideal para a implementação de modelos em hardware Intel:
Ganhos de desempenho: A inferência pode ser até 3 vezes mais rápida em CPUs Intel, com aceleração adicional disponível em GPUs e NPUs integradas.
Não é necessário treinar novamente: Pode exportar os seus modelos YOLO11 existentes diretamente para o formato OpenVINO sem os modificar ou treinar novamente.
Criado para escala: O mesmo modelo exportado pode ser implantado em dispositivos de borda de baixa potência e infraestrutura de nuvem em grande escala, simplificando a implantação de IA escalável.
Também pode avaliar os benchmarks de desempenho para o modelo YOLO11 numa gama de plataformas Intel® no OpenVINO™ Model Hub. O OpenVINO Model Hub é um recurso para que os desenvolvedores avaliem modelos de IA no hardware Intel e descubram a vantagem de desempenho do OpenVINO em CPUs Intel, GPUs integradas, NPUs e gráficos discretos.
Fig. 5. Hub de modelos OpenVINO™: Referências de desempenho para o modelo YOLO11 numa série de plataformas Intel®.
Aplicações do YOLO11 e do formato de exportação OpenVINO
Com a ajuda da integração do OpenVINO, a implementação dos modelos YOLO11 no hardware Intel em situações reais torna-se muito mais simples.
Um excelente exemplo é o retalho inteligente, em que o YOLO11 pode ajudar a detetar prateleiras vazias em tempo real, a localizar os produtos que estão a acabar e a analisar a forma como os clientes se movimentam na loja. Isto permite aos retalhistas melhorar a gestão do inventário e otimizar a disposição das lojas para um melhor envolvimento dos clientes.
Do mesmo modo, nas cidades inteligentes, o YOLO11 pode ser utilizado para monitorizar o tráfego através da contagem de veículos, do seguimento de peões e da deteção de violações de sinais vermelhos em tempo real. Estas informações podem apoiar a otimização do fluxo de tráfego, melhorar a segurança rodoviária e ajudar nos sistemas de aplicação automatizados.
Outro caso de utilização interessante é a inspeção industrial, em que o YOLO11 pode ser implementado em linhas de produção para detetar automaticamente defeitos visuais, como componentes em falta, desalinhamentos ou danos na superfície. Isto aumenta a eficiência, reduz os custos e contribui para uma melhor qualidade do produto.
Factores-chave a considerar quando se utiliza o kit de ferramentas OpenVINO
Ao implantar modelos YOLO11 com OpenVINO, aqui estão algumas coisas importantes a ter em mente para obter os melhores resultados:
Verificar a compatibilidade do hardware: Certifique-se de que o seu hardware Intel, quer se trate de uma CPU, GPU integrada ou NPU, é suportado pelo OpenVINO para que o modelo possa ser executado de forma eficiente.
Instalar os controladores corretos: Se estiver a utilizar GPUs ou NPUs da Intel, verifique novamente se todos os controladores necessários estão corretamente instalados e actualizados.
Compreender precisão de precisão: O OpenVINO suporta modelos de precisão FP32, FP16 e INT8. Cada um vem com uma troca entre velocidade e precisão, por isso é importante escolher a opção certa com base nos seus objectivos de desempenho e hardware disponível.
Principais conclusões
A exportação do Ultralytics YOLO11 para o formato OpenVINO facilita a execução de modelos Vision AI rápidos e eficientes no hardware Intel. Você pode implantar em CPUs, GPUs e NPUs sem precisar treinar novamente ou alterar seu código. É uma ótima maneira de aumentar o desempenho, mantendo as coisas simples e escalonáveis.
Com o suporte incorporado no pacote Ultralytics Python, exportar e executar a inferência com o OpenVINO é simples. Em apenas algumas etapas, é possível otimizar seu modelo e executá-lo em uma variedade de plataformas Intel. Quer esteja a trabalhar em retalho inteligente, monitorização de tráfego ou inspeção industrial, este fluxo de trabalho ajuda-o a passar do desenvolvimento à implementação com rapidez e confiança.
Registre-se em nosso próximo webinar para ver a integração Ultralytics × OpenVINO em ação e visite o site do OpenVINO para explorar ferramentas para otimizar e implantar IA em escala.