Guia de Início Rápido: Raspberry Pi com Ultralytics YOLO26

Este guia abrangente fornece um passo a passo detalhado para implantar o Ultralytics YOLO26 em dispositivos Raspberry Pi. Além disso, apresenta benchmarks de desempenho para demonstrar as capacidades do YOLO26 nesses dispositivos pequenos e potentes.



Watch: Raspberry Pi 5 updates and improvements.
Nota

Este guia foi testado no Raspberry Pi 4 e no Raspberry Pi 5 rodando o mais recente Raspberry Pi OS Bookworm (Debian 12). O uso deste guia em dispositivos Raspberry Pi mais antigos, como o Raspberry Pi 3, deve funcionar, desde que a mesma versão do Raspberry Pi OS Bookworm esteja instalada.

O que é o Raspberry Pi?

O Raspberry Pi é um computador de placa única pequeno e acessível. Ele se tornou popular para uma ampla gama de projetos e aplicações, desde automação residencial para entusiastas até usos industriais. As placas Raspberry Pi são capazes de executar diversos sistemas operacionais e oferecem pinos GPIO (General Purpose Input/Output) que permitem uma integração fácil com sensores, atuadores e outros componentes de hardware. Elas vêm em diferentes modelos com especificações variadas, mas todas compartilham a mesma filosofia básica de design de serem de baixo custo, compactas e versáteis.

Comparação da Série Raspberry Pi

Raspberry Pi 3Raspberry Pi 4Raspberry Pi 5
CPUBroadcom BCM2837, Cortex-A53 64Bit SoCBroadcom BCM2711, Cortex-A72 64Bit SoCBroadcom BCM2712, Cortex-A76 64Bit SoC
Frequência Máxima da CPU1.4GHz1.8GHz2.4GHz
GPUVideocore IVVideocore VIVideoCore VII
Frequência Máxima da GPU400Mhz500Mhz800Mhz
Memória1GB LPDDR2 SDRAM1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM4GB, 8GB LPDDR4X-4267 SDRAM
PCIeN/AN/A1xPCIe 2.0 Interface
Consumo Máximo de Energia2.5A@5V3A@5V5A@5V (PD ativado)

O que é o Raspberry Pi OS?

Raspberry Pi OS (anteriormente conhecido como Raspbian) é um sistema operacional do tipo Unix baseado na distribuição Debian GNU/Linux para a família de computadores de placa única compactos Raspberry Pi, distribuído pela Raspberry Pi Foundation. O Raspberry Pi OS é altamente otimizado para o Raspberry Pi com CPUs ARM e usa um ambiente de desktop LXDE modificado com o gerenciador de janelas Openbox. O Raspberry Pi OS está em desenvolvimento ativo, com ênfase na melhoria da estabilidade e desempenho do maior número possível de pacotes Debian no Raspberry Pi.

Instalar o Raspberry Pi OS no Raspberry Pi

A primeira coisa a fazer após ter um Raspberry Pi em mãos é gravar o Raspberry Pi OS em um cartão micro-SD, inseri-lo no dispositivo e inicializar o sistema operacional. Siga a Documentação de Introdução do Raspberry Pi para preparar seu dispositivo para o primeiro uso.

Configurar o Ultralytics

Existem duas maneiras de configurar o pacote Ultralytics no Raspberry Pi para construir seu próximo projeto de Visão Computacional. Você pode usar qualquer uma delas.

Começar com Docker

A maneira mais rápida de começar com o Ultralytics YOLO26 no Raspberry Pi é executar a imagem Docker pré-construída para Raspberry Pi.

Execute o comando abaixo para baixar o contêiner Docker e executá-lo no Raspberry Pi. Ele é baseado na imagem arm64v8/debian, que contém o Debian 12 (Bookworm) em um ambiente Python3.

t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $t

Após concluir, pule para a seção Use NCNN no Raspberry Pi.

Começar sem Docker

Instalar o Pacote Ultralytics

Aqui, instalaremos o pacote Ultralytics no Raspberry Pi com dependências opcionais para que possamos exportar os modelos PyTorch para outros formatos diferentes.

  1. Atualize a lista de pacotes, instale o pip e atualize para a versão mais recente

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Instale o pacote pip ultralytics com dependências opcionais

    pip install ultralytics[export]
  3. Reinicie o dispositivo

    sudo reboot

Use NCNN no Raspberry Pi

De todos os formatos de exportação de modelo suportados pelo Ultralytics, o NCNN oferece o melhor desempenho de inferência ao trabalhar com dispositivos Raspberry Pi, pois o NCNN é altamente otimizado para plataformas móveis/embarcadas (como a arquitetura ARM).

Converter modelo para NCNN e executar inferência

O modelo YOLO26n em formato PyTorch é convertido para NCNN para executar a inferência com o modelo exportado.

Exemplo
from ultralytics import YOLO

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

# Export the model to NCNN format
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

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

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
Dica

Para mais detalhes sobre as opções de exportação suportadas, visite a página de documentação do Ultralytics sobre opções de implantação.

Melhorias de desempenho do YOLO26 em relação ao YOLO11

O YOLO26 foi projetado especificamente para rodar em dispositivos com restrição de hardware, como o Raspberry Pi 5. Comparado ao YOLO11n, o YOLO26n alcança um aumento de ~15% em FPS (6.79 → 7.79) enquanto entrega um mAP maior (40.1 vs 39.5) em um tamanho de entrada de 640 com modelos exportados em ONNX no Raspberry Pi 5. A tabela e o gráfico abaixo mostram essa comparação.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.14
Desempenho
ModelomAP50-95(B)Tempo de inferência (ms/im)
YOLO26n40.1128.42
YOLO26s47.8352.84
YOLO26m52.5993.78
YOLO26l54.41259.46
YOLO26x56.92636.26

Benchmarked com Ultralytics 8.4.14.

Benchmarks do YOLO26 no Raspberry Pi 5

Os benchmarks do YOLO26 foram realizados pela equipe da Ultralytics em dez formatos de modelo diferentes, medindo velocidade e precisão: PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Os benchmarks foram realizados em um Raspberry Pi 5 com precisão FP32 com um tamanho de imagem de entrada padrão de 640.

Gráfico de comparação

Incluímos apenas benchmarks para os modelos YOLO26n e YOLO26s, pois outros tamanhos de modelo são grandes demais para rodar nos Raspberry Pis e não oferecem um desempenho aceitável.

YOLO26 benchmarks on RPi 5
Benchmarked with Ultralytics 8.4.1

Tabela de comparação detalhada

A tabela abaixo apresenta os resultados dos benchmarks para dois modelos diferentes (YOLO26n, YOLO26s) em dez formatos diferentes (PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), rodando em um Raspberry Pi 5, fornecendo o status, tamanho, métrica mAP50-95(B) e tempo de inferência para cada combinação.

Desempenho
FormatoStatusTamanho em disco (MB)mAP50-95(B)Tempo de inferência (ms/im)
PyTorch5.30.4798302.15
TorchScript9.80.4764357.58
ONNX9.50.4764130.33
OpenVINO9.60.481870.74
TF SavedModel24.60.4764213.58
TF GraphDef9.50.4764213.5
TF Lite9.90.4764251.41
MNN9.40.478490.89
NCNN9.40.480567.69
ExecuTorch9.40.4764148.36

Benchmarked com Ultralytics 8.4.1

Nota

O tempo de inferência não inclui pré/pós-processamento.

Reproduza nossos resultados

Para reproduzir os benchmarks do Ultralytics acima em todos os formatos de exportação, execute este código:

Exemplo
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", imgsz=640)

Note que os resultados dos benchmarks podem variar com base na configuração exata de hardware e software de um sistema, bem como na carga de trabalho atual do sistema no momento em que os benchmarks são executados. Para obter os resultados mais confiáveis, use um conjunto de dados com um grande número de imagens, por exemplo, data='coco.yaml' (5000 imagens de validação).

Use a Câmera do Raspberry Pi

Ao usar o Raspberry Pi para projetos de visão computacional, pode ser essencial capturar feeds de vídeo em tempo real para realizar inferência. O conector MIPI CSI integrado no Raspberry Pi permite conectar módulos de câmera oficiais do Raspberry Pi. Neste guia, usamos um Raspberry Pi Camera Module 3 para capturar os feeds de vídeo e realizar a inferência usando modelos YOLO26.

Dica
Nota

O Raspberry Pi 5 usa conectores CSI menores que o Raspberry Pi 4 (15 pinos contra 22 pinos), então você precisará de um cabo adaptador de 15 pinos para 22 pinos para conectar a uma câmera do Raspberry Pi.

Teste a câmera

Execute o seguinte comando após conectar a câmera ao Raspberry Pi. Você deverá ver um feed de vídeo ao vivo da câmera por cerca de 5 segundos.

rpicam-hello
Dica

Inferência com câmera

Existem 2 métodos para usar a câmera do Raspberry Pi para executar inferência em modelos YOLO26.

Utilização

Podemos usar o picamera2, que vem pré-instalado no Raspberry Pi OS, para acessar a câmera e executar inferência em modelos YOLO26.

Exemplo
import cv2
from picamera2 import Picamera2

from ultralytics import YOLO

# Initialize the Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()

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

while True:
    # Capture frame-by-frame
    frame = picam2.capture_array()

    # Run YOLO26 inference on the frame
    results = model(frame)

    # Visualize the results on the frame
    annotated_frame = results[0].plot()

    # Display the resulting frame
    cv2.imshow("Camera", annotated_frame)

    # Break the loop if 'q' is pressed
    if cv2.waitKey(1) == ord("q"):
        break

# Release resources and close windows
cv2.destroyAllWindows()
Dica

Confira nosso documento sobre Fontes de Inferência se você quiser alterar o tipo de entrada de imagem/vídeo

Melhores práticas ao usar o Raspberry Pi

Existem algumas práticas recomendadas a seguir para obter o desempenho máximo em Raspberry Pis executando o YOLO26.

  1. Use um SSD

    Ao usar o Raspberry Pi para uso contínuo 24/7, recomenda-se usar um SSD para o sistema, pois um cartão SD não será capaz de suportar gravações contínuas e pode ser danificado. Com o conector PCIe integrado no Raspberry Pi 5, agora você pode conectar SSDs usando um adaptador como a NVMe Base para Raspberry Pi 5.

  2. Flash sem GUI

    Ao gravar o Raspberry Pi OS, você pode optar por não instalar o ambiente de Desktop (Raspberry Pi OS Lite) e isso pode economizar um pouco de RAM no dispositivo, deixando mais espaço para processamento de visão computacional.

  3. Overclock do Raspberry Pi

    Se você quiser um pequeno aumento no desempenho ao executar modelos Ultralytics YOLO26 no Raspberry Pi 5, você pode fazer overclock da CPU de seus 2,4 GHz base para 2,9 GHz e da GPU de 800 MHz para 1 GHz. Se o sistema ficar instável ou travar, reduza os valores de overclock em incrementos de 100 MHz. Certifique-se de que haja resfriamento adequado, pois o overclock aumenta a geração de calor e pode levar a thermal throttling (limitação térmica).

    a. Atualize o software

    sudo apt update && sudo apt dist-upgrade

    b. Abra para editar o arquivo de configuração

    sudo nano /boot/firmware/config.txt

    c. Adicione as seguintes linhas na parte inferior

    arm_freq=3000
    gpu_freq=1000
    force_turbo=1

    d. Salve e saia pressionando CTRL + X, depois Y e pressione ENTER

    e. Reinicie o Raspberry Pi

Próximos passos

Você configurou com sucesso o YOLO em seu Raspberry Pi. Para mais aprendizado e suporte, visite a Documentação do Ultralytics YOLO26 e a Kashmir World Foundation.

Agradecimentos e Citações

Este guia foi criado inicialmente por Daan Eeltink para a Kashmir World Foundation, uma organização dedicada ao uso do YOLO para a conservação de espécies ameaçadas. Reconhecemos seu trabalho pioneiro e foco educacional no campo das tecnologias de detecção de objetos.

Para obter mais informações sobre as atividades da Kashmir World Foundation, você pode visitar o site deles.

FAQ

Como configuro o Ultralytics YOLO26 em um Raspberry Pi sem usar Docker?

Para configurar o Ultralytics YOLO26 em um Raspberry Pi sem Docker, siga estes passos:

  1. Atualize a lista de pacotes e instale o pip:
    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Instale o pacote Ultralytics com dependências opcionais:
    pip install ultralytics[export]
  3. Reinicie o dispositivo para aplicar as alterações:
    sudo reboot

Para instruções detalhadas, consulte a seção Começar sem Docker.

Por que devo usar o formato NCNN do Ultralytics YOLO26 no Raspberry Pi para tarefas de IA?

O formato NCNN do Ultralytics YOLO26 é altamente otimizado para plataformas móveis e embarcadas, tornando-o ideal para executar tarefas de IA em dispositivos Raspberry Pi. O NCNN maximiza o desempenho da inferência aproveitando a arquitetura ARM, fornecendo processamento mais rápido e eficiente em comparação com outros formatos. Para mais detalhes sobre as opções de exportação suportadas, visite a página de documentação do Ultralytics sobre opções de implantação.

Como posso converter um modelo YOLO26 para o formato NCNN para usar no Raspberry Pi?

Você pode converter um modelo PyTorch YOLO26 para o formato NCNN usando Python ou comandos CLI:

Exemplo
from ultralytics import YOLO

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

# Export the model to NCNN format
model.export(format="ncnn")  # creates 'yolo26n_ncnn_model'

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

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")

Para mais detalhes, veja a seção Usar NCNN no Raspberry Pi.

Quais são as diferenças de hardware entre o Raspberry Pi 4 e o Raspberry Pi 5 relevantes para executar o YOLO26?

As principais diferenças incluem:

  • CPU: O Raspberry Pi 4 usa o Broadcom BCM2711, SoC Cortex-A72 de 64 bits, enquanto o Raspberry Pi 5 usa o Broadcom BCM2712, SoC Cortex-A76 de 64 bits.
  • Frequência Máxima da CPU: O Raspberry Pi 4 tem uma frequência máxima de 1,8 GHz, enquanto o Raspberry Pi 5 chega a 2,4 GHz.
  • Memória: O Raspberry Pi 4 oferece até 8 GB de SDRAM LPDDR4-3200, enquanto o Raspberry Pi 5 possui SDRAM LPDDR4X-4267, disponível em variantes de 4 GB e 8 GB.

Esses aprimoramentos contribuem para melhores benchmarks de desempenho para os modelos YOLO26 no Raspberry Pi 5 em comparação com o Raspberry Pi 4. Consulte a tabela Comparação da Série Raspberry Pi para mais detalhes.

Como posso configurar um Raspberry Pi Camera Module para funcionar com o Ultralytics YOLO26?

Existem dois métodos para configurar uma câmera do Raspberry Pi para inferência YOLO26:

  1. Usando picamera2:

    import cv2
    from picamera2 import Picamera2
    
    from ultralytics import YOLO
    
    picam2 = Picamera2()
    picam2.preview_configuration.main.size = (1280, 720)
    picam2.preview_configuration.main.format = "RGB888"
    picam2.preview_configuration.align()
    picam2.configure("preview")
    picam2.start()
    
    model = YOLO("yolo26n.pt")
    
    while True:
        frame = picam2.capture_array()
        results = model(frame)
        annotated_frame = results[0].plot()
        cv2.imshow("Camera", annotated_frame)
    
        if cv2.waitKey(1) == ord("q"):
            break
    
    cv2.destroyAllWindows()
  2. Usando um fluxo TCP:

    rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model("tcp://127.0.0.1:8888")

Para instruções detalhadas de configuração, visite a seção Inferência com Câmera.

Comentários