Ultralytics YOLO27:

Como executar o Ultralytics YOLO26 num Raspberry Pi com um Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

Um Raspberry Pi é uma plataforma económica e eficiente em termos energéticos para executar visão computacional na periferia da rede, mas a inferência no dispositivo é lenta mesmo com formatos otimizados como ONNX ou OpenVINO. Associar o Pi a um coprocessador Coral Edge TPU transfere a inferência para hardware dedicado e acelera-a significativamente. Este guia mostra como instalar o runtime, exportar um modelo Ultralytics YOLO26 para o formato Edge TPU e executar inferência acelerada.



Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

Porquê utilizar um Coral Edge TPU?#

O Coral Edge TPU é um dispositivo compacto que adiciona um coprocessador Edge TPU ao teu sistema, permitindo inferência de ML de baixo consumo e alto desempenho para modelos TensorFlow Lite. É uma excelente opção para implementações incorporadas e móveis em que apenas a CPU não consegue acompanhar:

  • Inferência mais rápida — o Edge TPU acelera modelos quantizados muito além do que a CPU do Raspberry Pi consegue alcançar sozinha.
  • Baixo consumo energético — oferece um elevado débito por watt, sendo ideal para implementações alimentadas por bateria ou energia solar.
  • Plug and play — o USB Accelerator liga-se através de USB 3.0, pelo que não é necessária integração de hardware adicional.
Runtime atualizado para o TensorFlow Lite atual

O guia oficial do Coral está desatualizado: as versões originais do runtime do Coral já não funcionam com as versões atuais do runtime do TensorFlow Lite, e o projeto não recebeu atualizações entre 2021 e 2025. Este guia utiliza um runtime Edge TPU mantido ativamente e a versão mais recente de tflite-runtime, para que o acelerador funcione numa instalação atual do Raspberry Pi OS.

Pré-requisitos#

Este guia pressupõe que já tens uma instalação funcional do Raspberry Pi OS com ultralytics e as respetivas dependências instaladas. Caso contrário, segue primeiro o guia de início rápido.

Com os pré-requisitos prontos, o fluxo de trabalho tem três passos: instalar o runtime Edge TPU no Pi, exportar o teu modelo numa máquina não ARM e executar a inferência novamente no Pi.

Instalar o runtime Edge TPU#

O runtime é disponibilizado em várias versões, por isso escolhe a que corresponde ao teu sistema operativo. A versão de alta frequência executa o Edge TPU a uma velocidade de relógio superior para obter melhor desempenho, mas pode causar redução térmica da frequência — utiliza algum tipo de arrefecimento se a escolheres.

Raspberry Pi OSModo de alta frequênciaVersão a transferir
Bullseye 32 bitsNãolibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64 bitsNãolibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32 bitsSimlibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64 bitsSimlibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32 bitsNãolibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64 bitsNãolibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32 bitsSimlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64 bitsSimlibedgetpu1-max_ ... .bookworm_arm64.deb

Transfere a versão mais recente a partir daqui e instala o pacote .deb:

sudo dpkg -i path/to/package.deb

Depois de instalares o runtime, liga o Coral Edge TPU a uma porta USB 3.0 do Raspberry Pi para que a nova regra udev possa ser aplicada.

Remove primeiro qualquer runtime existente

Se já tiveres o runtime Coral Edge TPU instalado, desinstala-o antes de instalares uma nova versão.

# If you installed the standard version
sudo apt remove libedgetpu1-std

# If you installed the high-frequency version
sudo apt remove libedgetpu1-max

Exportar o teu modelo para o formato Edge TPU#

Para utilizar o Edge TPU, converte o teu modelo para um formato compatível. Executa a exportação numa plataforma não ARM — Google Colab, uma máquina Linux x86_64, o contentor Docker oficial do Ultralytics ou a Ultralytics Platform — uma vez que o compilador Edge TPU não está disponível em ARM. Consulta o modo Export para veres os argumentos disponíveis.

Exportar o modelo
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/model.pt")  # Load an official model or custom model

# Export the model
model.export(format="edgetpu")

O modelo exportado é guardado na pasta <model_name>_saved_model/ como <model_name>_full_integer_quant_edgetpu.tflite.

Mantém o sufixo `_edgetpu.tflite`

O nome do ficheiro tem de terminar em _edgetpu.tflite. Se o mudares para outro nome, o Ultralytics irá carregá-lo como um modelo TensorFlow Lite normal em vez de detetar o Edge TPU, e o acelerador não será utilizado.

Executar inferência no Edge TPU#

Antes de executares o modelo, instala as bibliotecas corretas no Raspberry Pi. Se o TensorFlow já estiver instalado, desinstala-o primeiro:

pip uninstall tensorflow tensorflow-aarch64

Em seguida, instala ou atualiza tflite-runtime:

pip install -U tflite-runtime

Agora podes executar a inferência:

Executar o modelo
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")

Encontra todos os detalhes sobre o modo de predição na página Predict.

Inferência com vários Edge TPUs

Se tiveres vários Edge TPUs, podes selecionar um específico com o argumento device.

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")  # Inference defaults to the first TPU

model.predict("path/to/source.png", device="tpu:0")  # Select the first TPU

model.predict("path/to/source.png", device="tpu:1")  # Select the second TPU

Benchmarks#

Os valores abaixo foram medidos com o Raspberry Pi OS Bookworm de 64 bits e um Coral Edge TPU USB. Mostram apenas o tempo de inferência (excluindo o pré-processamento e o pós-processamento) e servem como referência relativa para a aceleração proporcionada pelo Edge TPU nos diferentes modelos e modos do Pi.

Sobre estes valores

Estes benchmarks foram registados com modelos YOLOv8. Os tempos absolutos de inferência variam consoante a versão do modelo e o tamanho da imagem, mas os ganhos de velocidade relativos entre os modelos do Pi e os modos de relógio mantêm-se.

Tamanho da imagemModeloTempo de inferência padrão (ms)Tempo de inferência de alta frequência (ms)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.3

Em média:

  • O Raspberry Pi 5 é 22% mais rápido no modo padrão do que o Raspberry Pi 4B.
  • O Raspberry Pi 5 é 30,2% mais rápido no modo de alta frequência do que o Raspberry Pi 4B.
  • O modo de alta frequência é 28,4% mais rápido do que o modo padrão.

Conclusão#

Um Coral Edge TPU transforma um Raspberry Pi num dispositivo de inferência competente e de baixo consumo para o Ultralytics YOLO26. Exporta o teu modelo numa máquina não ARM, mantém o sufixo _edgetpu.tflite e executa-o com tflite-runtime no Pi para obter inferência acelerada na periferia da rede. Para veres mais opções de implementação, consulta o guia do Raspberry Pi.

Perguntas frequentes#

  • O Coral Edge TPU é um dispositivo compacto que adiciona um coprocessador Edge TPU ao teu sistema. Este coprocessador permite inferência de ML de baixo consumo e alto desempenho, otimizada especialmente para modelos TensorFlow Lite. Num Raspberry Pi, acelera a inferência muito além do que a CPU consegue alcançar sozinha, melhorando significativamente o desempenho dos modelos Ultralytics YOLO26.

  • Transfere o pacote .deb adequado à tua versão do Raspberry Pi OS a partir desta ligação e instala-o:

    sudo dpkg -i path/to/package.deb

    Certifica-te de que desinstalas quaisquer versões anteriores do runtime Coral Edge TPU seguindo os passos da secção Instalar o runtime Edge TPU.

  • Sim. Executa a exportação no Google Colab, numa máquina Linux x86_64 ou no contentor Docker do Ultralytics; também podes utilizar a Ultralytics Platform. Eis como exportar com Python e CLI:

    Exportar o modelo
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("path/to/model.pt")  # Load an official model or custom model
    
    # Export the model
    model.export(format="edgetpu")

    Para mais informações, consulta a documentação do modo Export.

  • Se tiveres o TensorFlow instalado e precisares de mudar para tflite-runtime, desinstala primeiro o TensorFlow:

    pip uninstall tensorflow tensorflow-aarch64

    Em seguida, instala ou atualiza tflite-runtime:

    pip install -U tflite-runtime

    Para obteres instruções detalhadas, consulta a secção Executar inferência no Edge TPU.

  • Depois de exportares o teu modelo YOLO26 para um formato compatível com Edge TPU, executa a inferência com os seguintes trechos. O ficheiro do modelo tem de manter o sufixo _edgetpu.tflite para que o Ultralytics o carregue no Edge TPU:

    Executar o modelo
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model
    
    # Run Prediction
    model.predict("path/to/source.png")

    A página Predict contém informações abrangentes sobre o modo de predição.

Comentários