Exportação Intel OpenVINO#
Neste guia, abordamos a exportação de modelos YOLO26 para o formato OpenVINO, que pode proporcionar até 3x de aceleração da CPU, além de acelerar a inferência do YOLO em hardware GPU e NPU da Intel.
OpenVINO, abreviação de kit de ferramentas de inferência visual aberta e otimização de redes neurais, é um kit de ferramentas abrangente para otimizar e implementar modelos de inferência de IA. Embora o nome contenha "Visual", o OpenVINO também oferece suporte a várias tarefas adicionais, incluindo linguagem, áudio, séries temporais, etc.
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
Tarefas suportadas#
A exportação para OpenVINO é compatível com todas as sete tarefas da Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas no YOLO26, a única família que inclui essas cabeças.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detetar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Instalação#
Instala as dependências de exportação do OpenVINO com:
pip install "ultralytics[export-openvino]"Estas dependências também estão incluídas em ultralytics[export] e são instaladas automaticamente quando exigidas por uma exportação.
Exemplos de utilização#
O formato OpenVINO é compatível com os modos Exportar, Prever e Validar. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a sua precisão numa CPU, GPU integrada/dedicada ou NPU Intel.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to OpenVINO format
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Argumentos de Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'openvino' | Formato de destino do modelo exportado, que define a compatibilidade com vários ambientes de implementação. |
imgsz | int ou tuple | 640 | Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou um tuplo (height, width) para dimensões específicas. |
quantize | int ou str | None | Precisão da quantização: 16 (FP16) ou 8 (INT8/PTQ; requer data/fraction de calibração); 32/não definido corresponde a FP32. Substitui os sinalizadores obsoletos half/int8. |
dynamic | bool | False | Permite tamanhos de entrada dinâmicos, aumentando a flexibilidade para lidar com diferentes dimensões de imagem. |
nms | bool, opcional | None | Seleciona a saída em bruto (None, predefinição), a NMS embutida (True) ou a cabeça sem NMS (False). |
batch | int | 1 | Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict. |
data | str | None | Caminho para o YAML do dataset, essencial para a quantização; a classificação, por sua vez, aceita um diretório de dataset ou o nome de um dataset integrado. Se for omitido com quantize=8, a Ultralytics seleciona o dataset de calibração predefinido para a tarefa do modelo. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test completo, enquanto 0 o ignora. |
Para obter mais detalhes sobre o processo de exportação, visita a página da documentação da Ultralytics sobre exportação.
O OpenVINO™ é compatível com a maioria dos processadores Intel®, mas, para garantir um desempenho ideal:
-
Verifica o suporte do OpenVINO™ Verifica se o teu chip Intel® é oficialmente compatível com o OpenVINO™ utilizando a lista de compatibilidade da Intel.
-
Identifica o teu acelerador Determina se o teu processador inclui uma NPU (unidade de processamento neural) ou GPU (GPU integrada) consultando o guia de hardware da Intel.
-
Instala os controladores mais recentes Se o teu chip for compatível com uma NPU ou GPU, mas o OpenVINO™ não a detetar, poderá ser necessário instalar ou atualizar os controladores associados. Segue as instruções de instalação dos controladores para ativar a aceleração total.
Ao seguir estes três passos, podes garantir que o OpenVINO™ funciona de forma ideal no teu hardware Intel®.
Benefícios do OpenVINO#
- Desempenho: o OpenVINO proporciona inferência de alto desempenho ao utilizar o poder das CPUs Intel, GPUs integradas e dedicadas e FPGAs.
- Suporte à execução heterogénea: o OpenVINO fornece uma API para escrever uma vez e implementar em qualquer hardware Intel compatível (CPU, GPU, FPGA, VPU, etc.).
- Otimizador de modelos: o OpenVINO fornece um Otimizador de modelos que importa, converte e otimiza modelos de frameworks populares de deep learning, como PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle e Caffe.
- Facilidade de utilização: o kit de ferramentas inclui uma grande coleção de notebooks tutoriais (incluindo a otimização do YOLO26) que ensinam diferentes aspetos do kit de ferramentas.
Estrutura da exportação para OpenVINO#
Quando exportas um modelo para o formato OpenVINO, é criado um diretório que contém o seguinte:
- Ficheiro XML: descreve a topologia da rede.
- Ficheiro BIN: contém os dados binários dos pesos e dos biases.
- Ficheiro de mapeamento: contém o mapeamento dos tensores de saída do modelo original para os nomes dos tensores OpenVINO.
Podes utilizar estes ficheiros para executar inferência com o OpenVINO Inference Engine.
Utilizar a exportação para OpenVINO na implementação#
Depois de o teu modelo ser exportado com êxito para o formato OpenVINO, tens duas opções principais para executar a inferência:
-
Utiliza o pacote
ultralytics, que fornece uma API de alto nível e encapsula o OpenVINO Runtime. -
Utiliza o pacote nativo
openvinopara obter um controlo mais avançado ou personalizado sobre o comportamento da inferência.
Inferência com a Ultralytics#
O pacote ultralytics permite executar facilmente a inferência utilizando o modelo OpenVINO exportado através do método predict. Também podes especificar o dispositivo de destino (por exemplo, intel:gpu, intel:npu, intel:cpu) utilizando o argumento device.
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference onEsta abordagem é ideal para prototipagem rápida ou implementação quando não precisas de controlo total sobre o pipeline de inferência.
Inferência com o OpenVINO Runtime#
O OpenVINO Runtime fornece uma API unificada para inferência em todo o hardware Intel compatível. Também oferece capacidades avançadas, como balanceamento de carga entre hardware Intel e execução assíncrona. Para obter mais informações sobre a execução de inferência, consulta os notebooks do YOLO26.
Lembra-te de que precisarás dos ficheiros XML e BIN, bem como de quaisquer definições específicas da aplicação, como o tamanho da entrada, o fator de escala para normalização, etc., para configurares e utilizares corretamente o modelo com o Runtime.
Na tua aplicação de implementação, normalmente deverás seguir os passos seguintes:
- Inicializa o OpenVINO criando
core = Core(). - Carrega o modelo utilizando o método
core.read_model(). - Compila o modelo utilizando a função
core.compile_model(). - Prepara a entrada (imagem, texto, áudio, etc.).
- Executa a inferência utilizando
compiled_model(input_data).
Para obter passos mais detalhados e excertos de código, consulta a documentação do OpenVINO ou o tutorial da API.
Benchmarks do YOLO26 com OpenVINO#
A equipa da Ultralytics realizou benchmarks do YOLO26 em vários formatos de modelo e precisões, avaliando a velocidade e a precisão em diferentes dispositivos Intel compatíveis com o OpenVINO.
-
Os resultados dos benchmarks abaixo são apresentados apenas como referência e podem variar consoante a configuração exata de hardware e software de um sistema, bem como a carga de trabalho atual do sistema no momento da execução dos benchmarks.
-
Todos os benchmarks foram executados com a versão 2026.2.1 do pacote Python
openvino. -
Os modelos YOLO26 em NPU só são compatíveis com sistemas Intel® Core™ Ultra™ das séries 2xxV e 3xx e superiores.
Intel® Core™ Ultra#
A série Intel® Core™ Ultra™ representa um novo marco na computação de alto desempenho, concebida para responder às exigências em evolução dos utilizadores modernos — desde jogadores e criadores até profissionais que utilizam IA. Esta linha de próxima geração é mais do que uma série tradicional de CPUs; combina núcleos de CPU potentes, capacidades de GPU integrada de alto desempenho e uma unidade de processamento neural (NPU) dedicada num único chip, oferecendo uma solução unificada para cargas de trabalho computacionais diversificadas e intensivas.
No centro da arquitetura Intel® Core Ultra™ encontra-se um design híbrido que permite um desempenho excecional em tarefas de processamento tradicionais, cargas de trabalho aceleradas por GPU e operações orientadas por IA. A inclusão da NPU melhora a inferência de IA no dispositivo, permitindo um processamento de dados e machine learning mais rápido e eficiente numa vasta gama de aplicações.
A família Core Ultra™ inclui vários modelos adaptados a diferentes necessidades de desempenho, com opções que vão desde designs energeticamente eficientes até variantes de alta potência identificadas pela designação "H" — ideais para portáteis e formatos compactos que exigem grande capacidade computacional. Em toda a linha, os utilizadores beneficiam da sinergia da integração de CPU, GPU e NPU, que proporciona eficiência, capacidade de resposta e funcionalidades de multitarefa notáveis.
Como parte da inovação contínua da Intel, a série Core Ultra™ estabelece um novo padrão para a computação preparada para o futuro. Com vários modelos disponíveis e outros a caminho, esta série reforça o compromisso da Intel em fornecer soluções de vanguarda para a próxima geração de dispositivos inteligentes e potenciados por IA.
Os benchmarks abaixo foram executados em Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V e Intel® Core™ Ultra™ 7 155H com precisão FP32, FP16 e INT8.
Intel® Core™ Ultra™ X7 358H#
Resultados detalhados do benchmark
| Modelo | Formato | Precision | Estado | Tamanho (MB) | metrics/mAP50-95(B) | Tempo de inferência (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 29.28 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.7 | 0.4762 | 4.09 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 4.03 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 4.24 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 59.32 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.08 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.7 | 0.5616 | 5.14 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 4.47 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 143.21 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6166 | 7.1 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6166 | 7.06 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.61 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 181.16 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6205 | 8.45 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6205 | 8.49 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 6.25 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 379.75 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.3 | 0.6568 | 13.03 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 12.98 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 8.74 |
Intel® Core™ Ultra™ 7 258V#
Resultados detalhados do benchmark
| Modelo | Formato | Precision | Estado | Tamanho (MB) | metrics/mAP50-95(B) | Tempo de inferência (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 27.33 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4764 | 3.33 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4764 | 3.34 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 3.46 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.2 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 4.66 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 4.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 3.99 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 152.87 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6168 | 9.03 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 8.98 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.7 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 201.57 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6203 | 11.32 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6203 | 11.36 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 7.45 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 431.04 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6568 | 19.08 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 19.63 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 13.69 |
Intel® Core™ Ultra™ 7 155H#
Resultados detalhados do benchmark
| Modelo | Formato | Precision | Estado | Tamanho (MB) | metrics/mAP50-95(B) | Tempo de inferência (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 33.19 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4758 | 9.13 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4758 | 9.07 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4573 | 5.79 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 70.92 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 16.37 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 16.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.545 | 9.27 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.45 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6167 | 34.47 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6167 | 35.71 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6039 | 15.46 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 239.19 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.621 | 43.24 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.621 | 43.4 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 19.72 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 511.89 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6552 | 79.49 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6552 | 79.45 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.642 | 34.66 |
Reproduzir os nossos resultados#
Para reproduzir os benchmarks da Ultralytics acima em todos os formatos de exportação, executa este código:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")Tem em atenção que os resultados dos benchmarks podem variar consoante a configuração exata de hardware e software de um sistema, bem como a carga de trabalho atual do sistema no momento da execução dos benchmarks. Para obter resultados mais fiáveis, utiliza um dataset com um grande número de imagens, ou seja, data='coco.yaml' (5000 imagens de validação).
Conclusão#
Os resultados dos benchmarks demonstram claramente os benefícios de exportar o modelo YOLO26 para o formato OpenVINO. Entre diferentes modelos e plataformas de hardware, o formato OpenVINO supera consistentemente outros formatos em termos de velocidade de inferência, mantendo uma precisão comparável.
Os benchmarks destacam a eficácia do OpenVINO como ferramenta para implementar modelos de deep learning. Ao converter modelos para o formato OpenVINO, os programadores podem obter melhorias significativas de desempenho, facilitando a implementação destes modelos em aplicações do mundo real.
Para obter informações e instruções mais detalhadas sobre a utilização do OpenVINO, consulta a documentação oficial do OpenVINO.
Perguntas frequentes#
A exportação de modelos YOLO26 para o formato OpenVINO pode melhorar significativamente a velocidade da CPU e permitir acelerações por GPU e NPU em hardware Intel. Para exportar, podes utilizar Python ou CLI, conforme mostrado abaixo:
Exemplofrom ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Export the model model.export(format="openvino") # creates 'yolo26n_openvino_model/'Para obter mais informações, consulta a documentação dos formatos de exportação.
A utilização do kit de ferramentas OpenVINO da Intel com modelos YOLO26 oferece vários benefícios:
- Desempenho: obtém até 3x de aceleração na inferência em CPU e aproveita as GPUs e NPUs Intel para aceleração.
- Otimizador de modelos: converte, otimiza e executa modelos de frameworks populares, como PyTorch, TensorFlow e ONNX.
- Facilidade de utilização: está disponível uma grande coleção de notebooks tutoriais para ajudar os utilizadores a começar, incluindo notebooks para YOLO26.
- Execução heterogénea: implementa modelos em vários dispositivos Intel com uma API unificada.
Para comparações detalhadas de desempenho, visita a nossa secção de benchmarks.
Depois de exportares um modelo YOLO26n para o formato OpenVINO, podes executar a inferência utilizando Python ou CLI:
Exemplofrom ultralytics import YOLO # Load the exported OpenVINO model ov_model = YOLO("yolo26n_openvino_model/") # Run inference results = ov_model("https://ultralytics.com/images/bus.jpg")Consulta a nossa documentação do modo de previsão para obter mais detalhes.
O Ultralytics YOLO26 está otimizado para a deteção de objetos em tempo real, com elevada precisão e velocidade. Especificamente, quando combinado com o OpenVINO, o YOLO26 oferece:
- Até 3x de aceleração em CPUs Intel
- Implementação simples em GPUs e NPUs Intel
- Precisão consistente e comparável em vários formatos de exportação
Para uma análise de desempenho aprofundada, consulta os nossos benchmarks detalhados do YOLO26 em diferentes hardwares.
Sim, podes realizar benchmarks de modelos YOLO26 em vários formatos, incluindo PyTorch, TorchScript, ONNX e OpenVINO. Utiliza o seguinte excerto de código para executar benchmarks no dataset que escolheres:
Exemplofrom ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats results = model.benchmark(data="coco8.yaml")Para obter resultados detalhados dos benchmarks, consulta a nossa secção de benchmarks e a documentação dos formatos de exportação.