YOLO Vision 2026:

Exportação Ultralytics YOLO para NCNN#

Implantar modelos de computer vision em dispositivos com poder computacional limitado, como sistemas móveis ou embarcados, exige uma seleção cuidadosa de formato. O uso de um formato otimizado garante que até mesmo dispositivos com recursos restritos consigam lidar com tarefas avançadas de visão computacional de forma eficiente.

Exportar para o formato NCNN permite otimizar os seus modelos do Ultralytics YOLO26 para aplicações leves baseadas em dispositivos. Este guia aborda como converter os seus modelos para o formato NCNN para obter melhor desempenho em dispositivos móveis e embarcados.

Por que exportar para NCNN?#

NCNN high-performance neural network inference framework

O framework NCNN, desenvolvido pela Tencent, é um framework de computação de inferência de neural network de alto desempenho otimizado especificamente para plataformas móveis, incluindo telefones celulares, dispositivos embarcados e dispositivos de IoT. O NCNN é compatível com uma ampla gama de plataformas, incluindo Linux, Android, iOS e macOS.

O NCNN é conhecido pela sua velocidade de processamento rápida em CPUs móveis e permite a implantação rápida de modelos de deep learning em plataformas móveis, tornando-o uma excelente escolha para criar aplicações alimentadas por IA.

Principais recursos dos modelos NCNN#

Os modelos NCNN oferecem vários recursos principais que viabilizam machine learning no dispositivo, ajudando os desenvolvedores a implantar modelos em dispositivos móveis, embarcados e de borda:

  • Eficiente e de Alto Desempenho: Os modelos NCNN são leves e otimizados para dispositivos móveis e embarcados com recursos limitados, como o Raspberry Pi, mantendo alta accuracy em tarefas de visão computacional.

  • Quantização: O NCNN suporta quantização, uma técnica que reduz a precision dos pesos e ativações do modelo para melhorar o desempenho e diminuir o uso de memória.

  • Compatibilidade: Os modelos NCNN são compatíveis com frameworks populares de deep learning, incluindo TensorFlow, Caffe e ONNX, permitindo que os desenvolvedores aproveitem modelos e fluxos de trabalho existentes.

  • Facilidade de uso: O NCNN fornece ferramentas amigáveis para converter modelos entre formatos, garantindo uma interoperabilidade suave entre diferentes ambientes de desenvolvimento.

  • Aceleração de GPU Vulkan: O NCNN suporta Vulkan para inferência acelerada por GPU em vários fornecedores, incluindo AMD, Intel e outras GPUs que não sejam da NVIDIA, permitindo uma implantação de alto desempenho em uma gama mais ampla de hardware.

Opções de implantação com NCNN#

Os modelos NCNN são compatíveis com uma variedade de plataformas de implantação:

  • Implantação móvel: Otimizado para Android e iOS, permitindo a integração perfeita em aplicações móveis para uma inferência eficiente no dispositivo.

  • Sistemas Embarcados e Dispositivos de IoT: Ideais para dispositivos com recursos restritos como Raspberry Pi e NVIDIA Jetson. Se a inferência padrão em um Raspberry Pi com o Ultralytics Guide for insuficiente, o NCNN pode proporcionar melhorias significativas de desempenho.

  • Implantação em desktop e servidor: Suporta implantação em Linux, Windows e macOS para fluxos de trabalho de desenvolvimento, treinamento e avaliação.

Aceleração de GPU Vulkan#

O NCNN suporta aceleração de GPU através do Vulkan, permitindo inferência de alto desempenho em uma ampla gama de GPUs, incluindo AMD, Intel e outras placas gráficas que não sejam da NVIDIA. Isso é particularmente útil para:

  • Suporte a GPU de múltiplos fornecedores: Ao contrário do CUDA, que é limitado a GPUs da NVIDIA, o Vulkan funciona em vários fornecedores de GPU.
  • Sistemas com Múltiplas GPUs: Selecione um dispositivo Vulkan específico em sistemas com várias GPUs usando device="vulkan:0", device="vulkan:1", etc.
  • Implantações de borda e desktop: Aproveite a aceleração de GPU em dispositivos onde o CUDA não está disponível.

Para usar a aceleração Vulkan, especifique o dispositivo Vulkan ao executar a inferência:

Inferência Vulkan
from ultralytics import YOLO

# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")

# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")

# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
Requisitos do Vulkan

Certifique-se de ter os drivers Vulkan instalados para a sua GPU. A maioria dos drivers de GPU modernos inclui suporte a Vulkan por padrão. Podes verificar a disponibilidade do Vulkan usando ferramentas como vulkaninfo no Linux ou o SDK do Vulkan no Windows.

Tarefas Suportadas#

A exportação para NCNN suporta todas as sete tarefas do Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas com YOLO26, a única família que possui essas cabeças.

TarefaYOLOv8YOLO11YOLO26
Detectar
Segmentar
Semântica
Profundidade
Classificar
Pose
OBB

Exportar para NCNN: Convertendo seu modelo YOLO26#

Você pode expandir a compatibilidade do modelo e a flexibilidade de implantação convertendo modelos YOLO26 para o formato NCNN.

Instalação#

Para instalar os pacotes necessários, execute:

Instalação
# Install the required package for YOLO26
pip install ultralytics

Para obter instruções detalhadas e as melhores práticas, consulte o Ultralytics Installation guide. Se encontrares alguma dificuldade, consulta o nosso Common Issues guide em busca de soluções.

Uso#

Todos os modelos Ultralytics YOLO26 são projetados para suportar exportação nativamente, facilitando a integração deles no teu fluxo de trabalho de implantação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolher a melhor configuração para a tua aplicação.

O formato NCNN suporta os modos Export, Predict e Validate. Exporte o seu modelo e, em seguida, carregue o modelo exportado para executar a inferência ou validar a sua precisão.

Exportar
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
Prever
from ultralytics import YOLO

# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Argumentos de Exportação#

ArgumentoTipoPredefiniçãoDescrição
formatstr'ncnn'Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação.
imgszint ou tuple640Tamanho de imagem desejado para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas.
quantizeint ou strNonePrecisão da quantização: 16 (FP16) reduz o tamanho do modelo e pode acelerar a inferência; 32/não definido é FP32. Substitui a flag obsoleta half.
batchint1Especifica o tamanho de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict.
devicestrNoneEspecifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps).

Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.

Implantando modelos YOLO26 NCNN exportados#

Depois de exportar os seus modelos Ultralytics YOLO26 para o formato NCNN, você pode implantá-los usando o método YOLO("yolo26n_ncnn_model/"), conforme mostrado no exemplo de uso acima. Para instruções de implantação específicas de cada plataforma, consulte os seguintes recursos:

  • Android: Construa e integre modelos NCNN para object detection em aplicações Android.

  • macOS: Implante modelos NCNN em sistemas macOS.

  • Linux: Implante modelos NCNN em dispositivos Linux, incluindo Raspberry Pi e sistemas embarcados semelhantes.

  • Windows x64: Implante modelos NCNN no Windows x64 usando o Visual Studio.

Resumo#

Este guia cobriu a exportação de modelos Ultralytics YOLO26 para o formato NCNN para eficiência e velocidade aprimoradas em dispositivos com recursos limitados.

Para obter detalhes adicionais, consulte a official NCNN documentation. Para outras opções de exportação, visite a nossa integration guide page.

FAQ#

  • Para exportar seu modelo Ultralytics YOLO26 para o formato NCNN:

    • Python: Use o método export da classe YOLO.

      from ultralytics import YOLO
      
      # Load a YOLO26 model
      model = YOLO("yolo26n.pt")
      
      # Export to NCNN format
      model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
    • CLI: Use o comando yolo export.

      yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'

    Para ver opções detalhadas de exportação, consulte a documentação de Export.

  • Exportar seus modelos Ultralytics YOLO26 para NCNN oferece vários benefícios:

    • Eficiência: Os modelos NCNN são otimizados para dispositivos móveis e embarcados, garantindo alto desempenho mesmo com recursos computacionais limitados.
    • Quantização: O NCNN suporta técnicas como quantização que melhoram a velocidade do modelo e reduzem o uso de memória.
    • Ampla compatibilidade: Você pode implantar modelos NCNN em múltiplas plataformas, incluindo Android, iOS, Linux e macOS.
    • Aceleração de GPU Vulkan: Aproveite a aceleração de GPU em AMD, Intel e outras GPUs que não sejam da NVIDIA via Vulkan para uma inferência mais rápida.

    Para mais detalhes, consulte a seção Why Export to NCNN?.

  • O NCNN, desenvolvido pela Tencent, é otimizado especificamente para plataformas móveis. Os principais motivos para usar o NCNN incluem:

    • Alto desempenho: Projetado para processamento eficiente e rápido em CPUs móveis.
    • Multiplataforma: Compatível com frameworks populares como TensorFlow e ONNX, facilitando a conversão e implantação de modelos em diferentes plataformas.
    • Suporte da comunidade: O suporte ativo da comunidade garante melhorias e atualizações contínuas.

    Para obter mais informações, consulte a seção Key Features of NCNN Models.

  • O NCNN é versátil e suporta várias plataformas:

    • Móvel: Android, iOS.
    • Sistemas embarcados e dispositivos IoT: Dispositivos como Raspberry Pi e NVIDIA Jetson.
    • Desktop e servidores: Linux, Windows e macOS.

    Para obter melhor desempenho no Raspberry Pi, considere usar o formato NCNN, conforme detalhado no nosso Raspberry Pi Guide.

  • Para implantar seus modelos YOLO26 no Android:

    1. Build for Android: Siga o guia NCNN Build for Android.
    2. Integrar com sua aplicação: Use o SDK NCNN para Android para integrar o modelo exportado à sua aplicação para uma inferência eficiente no dispositivo.

    Para instruções detalhadas, consulte Deploying Exported YOLO26 NCNN Models.

    Para guias mais avançados e casos de uso, visite o Ultralytics deployment guide.

  • O NCNN suporta Vulkan para aceleração de GPU em AMD, Intel e outras GPUs que não sejam da NVIDIA. Para usar Vulkan:

    from ultralytics import YOLO
    
    # Load NCNN model and run with Vulkan GPU
    model = YOLO("yolo26n_ncnn_model")
    results = model("image.jpg", device="vulkan:0")  # Use first Vulkan device

    Para sistemas com múltiplas GPUs, especifique o índice do dispositivo (por exemplo, vulkan:1 para a segunda GPU). Certifique-se de que os drivers Vulkan estejam instalados para a sua GPU. Consulte a seção Vulkan GPU Acceleration para mais detalhes.

Comentários