Link to this sectionGuia de Início Rápido: Raspberry Pi com Ultralytics YOLO26#
O Raspberry Pi é um computador pequeno e acessível que executa o Ultralytics YOLO26 para detecção de objetos em tempo real na borda — sem necessidade de GPU. Este guia orienta você na implantação do YOLO26 no Raspberry Pi 4 e 5: gravando o SO, instalando o Ultralytics, exportando para NCNN para a inferência mais rápida em ARM e executando previsões em um feed de câmera ao vivo. Ele também inclui benchmarks de desempenho em dez formatos de exportação para que você possa escolher o melhor equilíbrio entre velocidade e precisão para o seu hardware.
Pule para configurar o Ultralytics, exportar para NCNN e executar inferência, benchmarks ou inferência com câmera.
Watch: Raspberry Pi 5 updates and improvements.
Este guia foi testado com Raspberry Pi 4 e Raspberry Pi 5 executando o mais recente Raspberry Pi OS Bookworm (Debian 12). Espera-se que o uso deste guia para dispositivos Raspberry Pi mais antigos, como o Raspberry Pi 3, funcione desde que o mesmo Raspberry Pi OS Bookworm esteja instalado.
Link to this sectionO que é o Raspberry Pi?#
O Raspberry Pi é um computador de placa única pequeno e acessível. Tornou-se popular para uma vasta gama de projetos e aplicações, desde a automação residencial de entusiastas até usos industriais. As placas Raspberry Pi são capazes de executar uma variedade de sistemas operacionais e oferecem pinos GPIO (General Purpose Input/Output) que permitem a fácil integração com sensores, atuadores e outros componentes de hardware. Elas vêm em diferentes modelos com especificações variadas, mas todas compartilham a mesma filosofia de design básica de serem de baixo custo, compactas e versáteis.
Link to this sectionComparação da Série Raspberry Pi#
| Raspberry Pi 3 | Raspberry Pi 4 | Raspberry Pi 5 | |
|---|---|---|---|
| CPU | Broadcom BCM2837, Cortex-A53 64Bit SoC | Broadcom BCM2711, Cortex-A72 64Bit SoC | Broadcom BCM2712, Cortex-A76 64Bit SoC |
| 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 | 4GB, 8GB LPDDR4X-4267 SDRAM |
| PCIe | N/A | N/A | 1xPCIe 2.0 Interface |
| Consumo Máximo de Energia | 2.5A@5V | 3A@5V | 5A@5V (PD habilitado) |
Link to this sectionO 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 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 utiliza um ambiente de desktop LXDE modificado com o gerenciador de janelas Openbox. O Raspberry Pi OS está em desenvolvimento ativo, com ênfase em melhorar a estabilidade e o desempenho do maior número possível de pacotes Debian no Raspberry Pi.
Link to this sectionGravar o Raspberry Pi OS no Raspberry Pi#
A primeira coisa a fazer após adquirir um Raspberry Pi é gravar um cartão micro-SD com o Raspberry Pi OS, inseri-lo no dispositivo e inicializar o sistema. Siga a Documentação de Introdução da Raspberry Pi detalhada para preparar o seu dispositivo para o primeiro uso.
Link to this sectionConfigurar o Ultralytics#
Você pode configurar o pacote Ultralytics no Raspberry Pi de duas maneiras para seu próximo projeto de Visão Computacional:
Link to this sectionComeç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é-criada para Raspberry Pi.
Execute o comando abaixo para baixar o contêiner Docker e executá-lo no Raspberry Pi. Ele é baseado na imagem Docker arm64v8/ubuntu, que executa o Ubuntu 24.04 em um ambiente Python3.
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 a exportação do seu modelo para NCNN.
Link to this sectionComeçar sem Docker#
Link to this sectionInstalar 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.
-
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 -
Instale o pacote pip
ultralyticscom dependências opcionaispip install ultralytics[export] -
Reinicie o dispositivo
sudo reboot
Link to this sectionUsar 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 em dispositivos Raspberry Pi, pois é altamente otimizado para plataformas móveis/embarcadas, como a arquitetura ARM. Converta seu modelo YOLO26n PyTorch para NCNN e, em seguida, execute a inferência com o modelo exportado:
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 sobre as opções de exportação suportadas, consulte o guia de opções de implantação de modelo.
Link to this sectionMelhorias de Desempenho do YOLO26 em relação ao YOLO11#
O YOLO26 foi projetado especificamente para rodar em dispositivos com restrições 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) com 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.
| 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 |
Benchmark realizado com Ultralytics 8.4.14.
Link to this sectionBenchmarks do YOLO26 no Raspberry Pi 5#
Os benchmarks do YOLO26 foram executados 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 e tamanho de imagem de entrada padrão de 640.
Link to this sectionGráfico de comparação#
Incluímos apenas os benchmarks para os modelos YOLO26n e YOLO26s porque outros tamanhos de modelo são grandes demais para rodar nos Raspberry Pis e não oferecem um desempenho aceitável.
Link to this sectionTabela de comparação detalhada#
A tabela abaixo representa 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 status, tamanho, métrica mAP50-95(B) e tempo de inferência para cada combinação.
| Formato | Status | Tamanho em disco (MB) | mAP50-95(B) | Tempo de inferência (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 302.15 |
| TorchScript | ✅ | 9.8 | 0.4764 | 357.58 |
| ONNX | ✅ | 9,5 | 0.4764 | 130.33 |
| OpenVINO | ✅ | 9.6 | 0.4818 | 70.74 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 213.58 |
| TF GraphDef | ✅ | 9,5 | 0.4764 | 213.5 |
| TF Lite | ✅ | 9.9 | 0.4764 | 251.41 |
| MNN | ✅ | 9.4 | 0.4784 | 90.89 |
| NCNN | ✅ | 9.4 | 0.4805 | 67.69 |
| ExecuTorch | ✅ | 9.4 | 0.4764 | 148.36 |
Benchmark realizado com Ultralytics 8.4.1
O tempo de inferência não inclui pré/pós-processamento.
Link to this sectionReproduza os Nossos Resultados#
Para reproduzir os benchmarks do Ultralytics acima em todos os formatos de exportação, execute 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", imgsz=640)Nota que os resultados do benchmarking 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 obteres os resultados mais fiáveis, utiliza um conjunto de dados com um grande número de imagens, por exemplo, data='coco.yaml' (5000 imagens de validação).
Link to this sectionUsar 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 a inferência. O conector MIPI CSI integrado no Raspberry Pi permite que você conecte módulos de câmera oficiais da 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.
Saiba mais sobre os diferentes módulos de câmera oferecidos pelo Raspberry Pi e também como começar com os módulos de câmera do Raspberry Pi.
O Raspberry Pi 5 usa conectores CSI menores que o Raspberry Pi 4 (15 pinos vs 22 pinos), então você precisará de um cabo adaptador de 15 pinos para 22 pinos para conectar a uma câmera Raspberry Pi.
Link to this sectionTestar a Câmera#
Execute o comando a seguir 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-helloSaiba mais sobre o uso do rpicam-hello na documentação oficial do Raspberry Pi.
Link to this sectionInferência com a Câmera#
Existem dois métodos para usar a Câmera do Raspberry Pi para executar a inferência em modelos YOLO26.
Podemos usar a picamera2, que vem pré-instalada no Raspberry Pi OS, para acessar a câmera e executar inferência em modelos YOLO26.
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()Verifique nosso documento sobre Fontes de Inferência se você quiser alterar o tipo de entrada de imagem/vídeo
Link to this sectionMelhores práticas ao usar Raspberry Pi#
Existem algumas práticas recomendadas para obter o máximo desempenho em Raspberry Pis executando YOLO26.
-
Use um SSD
Ao usar o Raspberry Pi para funcionamento contínuo 24/7, recomenda-se utilizar um SSD para o sistema, pois um cartão SD não suportará gravações constantes e poderá sofrer danos. 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.
-
Instale o SO sem interface gráfica (GUI)
Ao instalar o Raspberry Pi OS, você pode optar por não instalar o ambiente de Desktop (Raspberry Pi OS Lite), o que economiza um pouco de RAM no dispositivo, liberando mais espaço para o processamento de visão computacional.
-
Faça overclock no Raspberry Pi
Se você deseja um pequeno aumento de desempenho ao executar modelos Ultralytics YOLO26 no Raspberry Pi 5, pode fazer overclock da CPU de seus 2.4GHz básicos para 2.9GHz e da GPU de 800MHz para 1GHz. Se o sistema ficar instável ou travar, reduza os valores de overclock em incrementos de 100MHz. Certifique-se de que haja um resfriamento adequado, pois o overclock aumenta a geração de calor e pode levar ao estrangulamento térmico (thermal throttling).
a. Atualize o software
sudo apt update && sudo apt dist-upgradeb. Abra o arquivo de configuração para editar
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 pressione ENTER
e. Reinicie o Raspberry Pi
Link to this sectionPróximos Passos#
Você configurou com sucesso o YOLO26 no seu Raspberry Pi. Para ir mais longe, explore o Modo de Previsão para mais opções de inferência, o Modo de Exportação para formatos de implantação adicionais ou o guia NVIDIA Jetson se precisar de mais computação na borda. Para a documentação completa, visite o Docs do Ultralytics YOLO26.
Link to this sectionAgradecimentos e Citações#
Este guia foi criado inicialmente por Daan Eeltink para a Kashmir World Foundation, uma organização dedicada ao uso de YOLO para a conservação de espécies ameaçadas de extinção. Reconhecemos seu trabalho pioneiro e foco educacional no domínio de tecnologias de detecção de objetos.
Para mais informações sobre as atividades da Kashmir World Foundation, você pode visitar o site deles.
Link to this sectionFAQ#
Link to this sectionComo configurar o Ultralytics YOLO26 em um Raspberry Pi sem usar Docker?#
Para configurar o Ultralytics YOLO26 em um Raspberry Pi sem Docker, siga estes passos:
- Atualize a lista de pacotes e instale o
pip:sudo apt update sudo apt install python3-pip -y pip install -U pip - Instale o pacote Ultralytics com as dependências opcionais:
pip install ultralytics[export] - Reinicie o dispositivo para aplicar as alterações:
sudo reboot
Para instruções detalhadas, consulte a seção Start without Docker.
Link to this sectionPor 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 de inferência aproveitando a arquitetura ARM, proporcionando um processamento mais rápido e eficiente em comparação com outros formatos. Para mais detalhes sobre formatos de exportação suportados, consulte as opções de exportação de modelo.
Link to this sectionComo posso converter um modelo YOLO26 para o formato NCNN para uso no Raspberry Pi?#
Você pode converter um modelo PyTorch YOLO26 para o formato NCNN usando Python ou comandos da CLI:
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 Use NCNN on Raspberry Pi.
Link to this sectionQuais são as diferenças de hardware entre o Raspberry Pi 4 e o Raspberry Pi 5 relevantes para a execução do YOLO26?#
As principais diferenças incluem:
- CPU: O Raspberry Pi 4 usa Broadcom BCM2711, SoC Cortex-A72 de 64 bits, enquanto o Raspberry Pi 5 usa 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.8GHz, enquanto o Raspberry Pi 5 chega a 2.4GHz.
- Memória: O Raspberry Pi 4 oferece até 8GB de SDRAM LPDDR4-3200, enquanto o Raspberry Pi 5 apresenta SDRAM LPDDR4X-4267, disponível em variantes de 4GB e 8GB.
Essas melhorias contribuem para melhores benchmarks de desempenho para modelos YOLO26 no Raspberry Pi 5 em comparação ao Raspberry Pi 4. Consulte a tabela Raspberry Pi Series Comparison para mais detalhes.
Link to this sectionComo posso configurar um Módulo de Câmera Raspberry Pi para funcionar com o Ultralytics YOLO26?#
Existem dois métodos para configurar uma Câmera Raspberry Pi para inferência 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 de configuração detalhadas, visite a seção Inference with Camera.