Guia de início rápido: Raspberry Pi com Ultralytics YOLO26#
Raspberry Pi é um computador pequeno e acessível que executa o Ultralytics YOLO26 para detecção de objetos em tempo real na borda — sem precisar de GPU. Este guia mostra como implantar YOLO26 no Raspberry Pi 4 e 5: gravar o sistema operacional, instalar Ultralytics, exportar para NCNN para obter a inferência mais rápida em ARM e executar previsões com a imagem de uma câmera ao vivo. Também inclui benchmarks de desempenho em oito formatos de exportação, para que você escolha o melhor equilíbrio entre velocidade e precisão para seu hardware.
Acesse diretamente a configuração do Ultralytics, a exportação para NCNN e execução de inferência, os benchmarks ou a inferência com câmera.
Assista: Atualizações e melhorias do Raspberry Pi 5.
Este guia foi testado com Raspberry Pi 4 e Raspberry Pi 5 executando a versão mais recente do Raspberry Pi OS Bookworm (Debian 12). Espera-se que este guia também funcione em dispositivos Raspberry Pi mais antigos, como o Raspberry Pi 3, desde que tenham o mesmo Raspberry Pi OS Bookworm instalado.
O que é Raspberry Pi?#
Raspberry Pi é um computador de placa única pequeno e acessível. Tornou-se popular em uma ampla variedade 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 (entrada/saída de uso geral) que permitem integração fácil com sensores, atuadores e outros componentes de hardware. Há diferentes modelos com especificações variadas, mas todos compartilham a mesma filosofia básica de design: baixo custo, tamanho compacto e versatilidade.
Comparação das séries Raspberry Pi#
| Raspberry Pi 3 | Raspberry Pi 4 | Raspberry Pi 5 | |
|---|---|---|---|
| CPU | Broadcom BCM2837, SoC Cortex-A53 de 64 bits | Broadcom BCM2711, SoC Cortex-A72 de 64 bits | Broadcom BCM2712, SoC Cortex-A76 de 64 bits |
| Frequência máxima da CPU | 1.4GHz | 1.8GHz | 2.4GHz |
| GPU | VideoCore IV | VideoCore VI | VideoCore VII |
| Frequência máxima da GPU | 400MHz | 500MHz | 800MHz |
| Memória | 1GB LPDDR2 SDRAM | 1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM | 2GB, 4GB, 8GB, 16GB LPDDR4X-4267 SDRAM |
| PCIe | N/D | N/D | 1xPCIe 2.0 Interface |
| Consumo máximo de energia | 2.5A@5V | 3A@5V | 5A@5V (PD enabled) |
O que é o Raspberry Pi OS?#
O Raspberry Pi OS (anteriormente conhecido como Raspbian) é um sistema operacional semelhante ao Unix, baseado na distribuição Debian GNU/Linux, para a família Raspberry Pi de computadores compactos de placa única distribuídos pela Raspberry Pi Foundation. O Raspberry Pi OS é altamente otimizado para o Raspberry Pi com CPUs ARM e usa um ambiente de desktop leve que, por padrão, é executado no Wayland no Raspberry Pi 4 e 5. O Raspberry Pi OS está em desenvolvimento ativo, com ênfase na melhoria da estabilidade e do desempenho do maior número possível de pacotes Debian no Raspberry Pi.
Gravar o Raspberry Pi OS no Raspberry Pi#
A primeira coisa a fazer depois de adquirir um Raspberry Pi é gravar o Raspberry Pi OS em um cartão micro-SD, inseri-lo no dispositivo e iniciar o sistema operacional. Siga a documentação detalhada de primeiros passos da Raspberry Pi para preparar o dispositivo para o primeiro uso.
Configurar o Ultralytics#
Você pode configurar o pacote Ultralytics no Raspberry Pi de duas maneiras para o seu próximo projeto de visão computacional:
Começar com Docker#
A maneira mais rápida de começar a usar o Ultralytics YOLO26 no Raspberry Pi é executá-lo com uma imagem Docker pré-compilada para Raspberry Pi.
Execute o comando abaixo para baixar o contêiner Docker e executá-lo no Raspberry Pi. Ele se baseia na imagem oficial Python 3.13-slim-trixie, que executa o Debian 13 com Python 3.13.
t=ultralytics/ultralytics:latest-arm64
sudo docker pull $t && sudo docker run -it --ipc=host $tA imagem Docker já inclui o Ultralytics, então você pode ir direto para exportar seu modelo para NCNN.
Começar sem Docker#
Instalar o pacote Ultralytics#
Aqui vamos instalar o pacote Ultralytics no Raspberry Pi. As dependências de exportação para formatos como NCNN são instaladas automaticamente na primeira vez que você exporta um modelo PyTorch, então somente o pacote básico é necessário aqui.
-
Atualizar a lista de pacotes, instalar o pip e atualizá-lo para a versão mais recente
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Instalar o pacote pip
ultralyticspip install ultralytics -
Reiniciar o dispositivo
sudo reboot
Usar NCNN no Raspberry Pi#
Entre todos os formatos de exportação compatíveis com Ultralytics, o NCNN oferece o melhor desempenho de inferência nos dispositivos Raspberry Pi, pois é altamente otimizado para plataformas móveis e embarcadas, como as que usam arquitetura ARM. Converta seu modelo YOLO26n PyTorch para NCNN e execute a inferência com o modelo exportado:
from ultralytics import YOLO
# Carregar um modelo YOLO26n PyTorch
model = YOLO("yolo26n.pt")
# Exportar o modelo para o formato NCNN
model.export(format="ncnn") # creates 'yolo26n_ncnn_model'
# Carregar o modelo NCNN exportado
ncnn_model = YOLO("yolo26n_ncnn_model")
# Executar inferência
results = ncnn_model("https://ultralytics.com/images/bus.jpg")Para mais detalhes sobre as opções de exportação compatíveis, consulte o guia de opções de implantação de modelos.
Melhorias de desempenho do YOLO26 em relação ao YOLO11#
O YOLO26 foi projetado especificamente para ser executado em dispositivos com recursos de hardware limitados, como o Raspberry Pi 5. Em comparação com o YOLO11n, o YOLO26n apresenta um aumento de ~15% no FPS (6.79 → 7.79) e também oferece um mAP mais alto (40.1 vs 39.5) com tamanho de entrada 640 e modelos exportados para ONNX no Raspberry Pi 5. A tabela e o gráfico abaixo mostram essa comparação.
| Modelo | mAP50-95(B) | Tempo de inferência (ms/im) |
|---|---|---|
| YOLO26n | 40.1 | 128.42 |
| YOLO26s | 47.8 | 352.84 |
| YOLO26m | 52.5 | 993.78 |
| YOLO26l | 54.4 | 1259.46 |
| YOLO26x | 56.9 | 2636.26 |
Avaliado com Ultralytics 8.4.14.
Resultados de benchmark do YOLO26 no Raspberry Pi 5#
Os benchmarks do YOLO26 foram executados pela equipe Ultralytics em oito formatos de modelo diferentes, medindo velocidade e precisão: PyTorch, TorchScript, ONNX, OpenVINO, LiteRT, MNN, NCNN, ExecuTorch. Os benchmarks foram executados em um Raspberry Pi 5 com precisão FP32 e tamanho padrão de imagem de entrada 640.
Gráfico comparativo#
Incluímos benchmarks somente para os modelos YOLO26n e YOLO26s porque os outros tamanhos de modelo são grandes demais para serem executados nos Raspberry Pi e não oferecem um desempenho adequado.
Tabela comparativa detalhada#
A tabela abaixo mostra os resultados dos benchmarks para dois modelos diferentes (YOLO26n, YOLO26s) em oito formatos diferentes (PyTorch, TorchScript, ONNX, OpenVINO, LiteRT, MNN, NCNN, ExecuTorch), executados em um Raspberry Pi 5. Ela apresenta o status, o tamanho, a métrica mAP50-95(B) e o tempo de inferência de cada combinação.
| Formato | Status | Tamanho em disco (MB) | mAP50-95(B) | Tempo de inferência (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4760 | 299.09 |
| TorchScript | ✅ | 9.8 | 0.4734 | 353.20 |
| ONNX | ✅ | 9.5 | 0.4734 | 125.99 |
| OpenVINO | ✅ | 9.6 | 0.4734 | 104.55 |
| LiteRT | ✅ | 9.8 | 0.4730 | 123.30 |
| MNN | ✅ | 9.4 | 0.4749 | 91.87 |
| NCNN | ✅ | 9.4 | 0.4784 | 67.03 |
| ExecuTorch | ✅ | 9.4 | 0.4772 | 144.83 |
Avaliado com Ultralytics 8.4.108
O tempo de inferência não inclui o pré/pós-processamento.
Reproduza nossos resultados#
Para reproduzir os benchmarks Ultralytics acima em todos os formatos de exportação, execute este código:
from ultralytics import YOLO
# Carregar um modelo YOLO26n PyTorch
model = YOLO("yolo26n.pt")
# Benchmarke a velocidade e a precisão do YOLO26n no conjunto de dados COCO128 para todos os formatos de exportação
results = model.benchmark(data="coco128.yaml", imgsz=640)Observe que os resultados do benchmark podem variar conforme 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 confiáveis, use um conjunto de dados com um grande número de imagens, por exemplo, data='coco.yaml' (5000 imagens de validação).
A exportação format=litert (via litert-torch) só é compatível com Linux x86_64 e macOS, não com o próprio Raspberry Pi. Exporte o modelo .tflite em uma máquina Linux x86_64 ou em um Mac, copie-o para o Raspberry Pi e use o Pi para inferência.
Usar a câmera do Raspberry Pi#
Ao usar o Raspberry Pi em projetos de visão computacional, pode ser essencial capturar transmissões de vídeo em tempo real para realizar inferências. O conector MIPI CSI integrado no Raspberry Pi permite conectar módulos de câmera oficiais Raspberry Pi. Neste guia, usamos uma Raspberry Pi Camera Module 3 para capturar as transmissões de vídeo e realizar inferências usando modelos YOLO26.
Saiba mais sobre os diferentes módulos de câmera oferecidos pela Raspberry Pi e também sobre como começar a usar os módulos de câmera Raspberry Pi.
O Raspberry Pi 5 usa conectores CSI menores que o Raspberry Pi 4 (22 pinos contra 15 pinos), então você precisará de um cabo adaptador de 15 para 22 pinos para conectar uma câmera Raspberry Pi.
Testar a câmera#
Execute o seguinte comando depois de conectar a câmera ao Raspberry Pi. Você deverá ver uma transmissão de vídeo ao vivo da câmera por cerca de 5 segundos.
rpicam-helloSaiba mais sobre o uso de rpicam-hello na documentação oficial do Raspberry Pi
Inferência com a câmera#
Há dois métodos para usar a câmera Raspberry Pi e executar inferências com modelos YOLO26.
Podemos usar picamera2, que vem pré-instalado com o Raspberry Pi OS, para acessar a câmera e executar inferências com modelos YOLO26.
import cv2
from picamera2 import Picamera2
from ultralytics import YOLO
# Inicializar o 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()
# Carrega o modelo YOLO26
model = YOLO("yolo26n.pt")
while True:
# Capturar quadro a quadro
frame = picam2.capture_array()
# Executar inferência do YOLO26 no quadro
results = model(frame)
# Visualiza os resultados no quadro
annotated_frame = results[0].plot()
# Exibir o quadro resultante
cv2.imshow("Camera", annotated_frame)
# Interrompe o loop se 'q' for pressionado
if cv2.waitKey(1) == ord("q"):
break
# Liberar recursos e fechar janelas
cv2.destroyAllWindows()Consulte nosso documento sobre fontes de inferência se quiser alterar o tipo de entrada de imagem/vídeo
Práticas recomendadas ao usar o Raspberry Pi#
Há algumas práticas recomendadas a seguir para obter o máximo desempenho nos Raspberry Pi que executam o YOLO26.
-
Usar um SSD
Ao usar o Raspberry Pi continuamente, 24 horas por dia, 7 dias por semana, recomenda-se usar um SSD para o sistema, pois um cartão SD não suporta gravações contínuas e pode falhar. Com o conector PCIe integrado no Raspberry Pi 5, agora você pode conectar SSDs usando um adaptador como o NVMe Base for Raspberry Pi 5.
-
Gravar sem interface gráfica
Ao gravar o Raspberry Pi OS, você pode optar por não instalar o ambiente de desktop (Raspberry Pi OS Lite). Isso pode economizar um pouco de RAM no dispositivo, deixando mais espaço para o processamento de visão computacional.
-
Fazer overclock no Raspberry Pi
Se quiser um pequeno aumento de desempenho ao executar modelos Ultralytics YOLO26 no Raspberry Pi 5, você pode aumentar a frequência da CPU de 2.4GHz para 3.0GHz e a da GPU de 800MHz para 1GHz. Se o sistema ficar instável ou travar, reduza os valores de overclock em incrementos de 100MHz. Garanta um resfriamento adequado, pois o overclock aumenta a geração de calor e pode causar limitação térmica.
a. Atualize o software
sudo apt update && sudo apt dist-upgradeb. Abra o arquivo de configuração para editá-lo
sudo nano /boot/firmware/config.txtc. Adicione as seguintes linhas ao final
arm_freq=3000 gpu_freq=1000 force_turbo=1d. Salve e saia pressionando CTRL + X, depois Y e, em seguida, ENTER
e. Reinicie o Raspberry Pi
Próximas etapas#
Você configurou o YOLO26 no Raspberry Pi com sucesso. Para avançar, explore o modo Predict para ver mais opções de inferência, o modo Export para conhecer outros formatos de implantação ou o guia NVIDIA Jetson se precisar de mais poder de processamento na borda. Para consultar a documentação completa, visite a documentação Ultralytics YOLO26.
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 na conservação de espécies ameaçadas de extinção. Reconhecemos seu trabalho pioneiro e seu foco educacional no campo das tecnologias de detecção de objetos.
Para mais informações sobre as atividades da Kashmir World Foundation, visite o site.
Perguntas frequentes#
Para configurar o Ultralytics YOLO26 em um Raspberry Pi sem Docker, siga estas etapas:
- Atualize a lista de pacotes e instale
pip:sudo apt update sudo apt install python3-pip -y pip install -U pip - Instale o pacote Ultralytics:
pip install ultralytics - Reinicie o dispositivo para aplicar as alterações:
sudo reboot
Para instruções detalhadas, consulte a seção Começar sem Docker.
- Atualize a lista de pacotes e instale
O formato NCNN do Ultralytics YOLO26 é altamente otimizado para plataformas móveis e embarcadas, sendo ideal para executar tarefas de IA em dispositivos Raspberry Pi. O NCNN maximiza o desempenho de inferência aproveitando a arquitetura ARM e oferece processamento mais rápido e eficiente em comparação com outros formatos. Para mais detalhes sobre os formatos de exportação compatíveis, consulte as opções de exportação de modelos.
Você pode converter um modelo PyTorch YOLO26 para o formato NCNN usando comandos Python ou CLI:
Exemplofrom ultralytics import YOLO # Carregar um modelo YOLO26n PyTorch model = YOLO("yolo26n.pt") # Exportar o modelo para o formato NCNN model.export(format="ncnn") # creates 'yolo26n_ncnn_model' # Carregar o modelo NCNN exportado ncnn_model = YOLO("yolo26n_ncnn_model") # Executar inferência results = ncnn_model("https://ultralytics.com/images/bus.jpg")Para mais detalhes, consulte a seção Usar NCNN no Raspberry Pi.
As principais diferenças incluem:
- CPU: o Raspberry Pi 4 usa o SoC Broadcom BCM2711 Cortex-A72 de 64 bits, enquanto o Raspberry Pi 5 usa o SoC Broadcom BCM2712 Cortex-A76 de 64 bits.
- Frequência máxima da CPU: o Raspberry Pi 4 tem frequência máxima de 1.8GHz, enquanto o Raspberry Pi 5 chega a 2.4GHz.
- Memória: O Raspberry Pi 4 oferece até 8 GB de SDRAM LPDDR4-3200, enquanto o Raspberry Pi 5 conta com SDRAM LPDDR4X-4267, disponível nas variantes de 2 GB, 4 GB, 8 GB e 16 GB.
Essas melhorias contribuem para melhores resultados de desempenho dos modelos YOLO26 no Raspberry Pi 5 em comparação com o Raspberry Pi 4. Consulta a tabela Comparação da série Raspberry Pi para mais detalhes.
Há dois métodos para configurar uma câmera Raspberry Pi para inferência com YOLO26:
-
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() -
Usando um fluxo TCP:
rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model("tcp://127.0.0.1:8888")
Para instruções detalhadas de configuração, consulta a secção Inferência com câmera.
-