Salta para o conteúdo

Guia de Iniciação Rápida: Raspberry Pi e Pi Camera com YOLOv5 e YOLOv8

Este guia abrangente visa acelerar a tua jornada com YOLO modelos de deteção de objectos numa Raspberry Pi usando uma Pi Camera. Quer sejas um estudante, um amador ou um profissional, este guia foi concebido para te pôr a trabalhar em menos de 30 minutos. As instruções aqui são rigorosamente testadas para minimizar os problemas de configuração, permitindo que te concentres na utilização do YOLO para os teus projectos específicos.



Observa: Actualizações e melhorias do Raspberry Pi 5.

Pré-requisitos

  • Raspberry Pi 3, 4 ou 5
  • Câmara Pi
  • Sistema operativo Raspberry Pi de 64 bits

Liga a câmara Pi ao teu Raspberry Pi através de um cabo CSI e instala o sistema operativo Raspberry Pi de 64 bits. Verifica a tua câmara com o seguinte comando:

libcamera-hello

Deves ver um vídeo da tua câmara.

Escolhe a tua versão YOLO : YOLOv5 ou YOLOv8

Este guia oferece-te a flexibilidade de começar com YOLOv5 ou YOLOv8. Ambas as versões têm as suas vantagens e casos de utilização únicos. A escolha é tua, mas lembra-te que o objetivo do guia não é apenas uma configuração rápida, mas também uma base sólida para o teu trabalho futuro na deteção de objectos.

Especificidades do hardware: Num relance

Para te ajudar a tomar uma decisão informada sobre o hardware, resumimos as principais especificidades de hardware do Raspberry Pi 3, 4 e 5 na tabela abaixo:

Característica Raspberry Pi 3 Raspberry Pi 4 Raspberry Pi 5
CPU 1.2GHz Quad-Core ARM Cortex-A53 ARM Cortex-A72 de 64 bits e quatro núcleos a 1,5 GHz 2.4GHz Quad-core 64-bit Arm Cortex-A76
RAM 1GB LPDDR2 2GB, 4GB ou 8GB LPDDR4 Detalhes ainda não disponíveis
Portas USB 4 x USB 2.0 2 x USB 2.0, 2 x USB 3.0 2 x USB 3.0, 2 x USB 2.0
Rede Ethernet e Wi-Fi 802.11n Gigabit Ethernet e Wi-Fi 802.11ac Gigabit Ethernet com suporte PoE+, Wi-Fi® 802.11ac de banda dupla
Desempenho Mais lento, pode exigir modelos mais leves YOLO Mais rápido, pode executar modelos YOLO complexos Detalhes ainda não disponíveis
Necessidade de energia Fonte de alimentação 2,5A Fonte de alimentação USB-C de 3,0 A Detalhes ainda não disponíveis
Documentação oficial Ligação Ligação Ligação

Certifica-te de que segues as instruções específicas do teu modelo Raspberry Pi para garantir um processo de configuração sem problemas.

Início rápido com YOLOv5

Esta secção descreve como configurar o YOLOv5 num Raspberry Pi com uma Pi Camera. Estes passos foram concebidos para serem compatíveis com a pilha de câmaras libcamera introduzida no Raspberry Pi OS Bullseye.

Instala os pacotes necessários

  1. Actualiza o Raspberry Pi:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Clona o repositório YOLOv5 :

    cd ~
    git clone https://github.com/Ultralytics/yolov5.git
    
  3. Instala as dependências necessárias:

    cd ~/yolov5
    pip3 install -r requirements.txt
    
  4. Para o Raspberry Pi 3, instala versões compatíveis de PyTorch e Torchvision (ignora para o Raspberry Pi 4):

    pip3 uninstall torch torchvision
    pip3 install torch==1.11.0 torchvision==0.12.0
    

Modifica detect.py

Para ativar os fluxos TCP através do SSH ou do CLI, são necessárias pequenas modificações no detect.py.

  1. Abre-te detect.py:

    sudo nano ~/yolov5/detect.py
    
  2. Encontra e modifica o is_url para aceitar fluxos TCP:

    is_url = source.lower().startswith(('rtsp://', 'rtmp://', 'http://', 'https://', 'tcp://'))
    
  3. Comenta o view_img linha:

    # view_img = check_imshow(warn=True)
    
  4. Guarda e sai:

    CTRL + O -> ENTER -> CTRL + X
    

Inicia o fluxo TCP com a Libcamera

  1. Inicia o fluxo TCP:

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

Mantém esta sessão de terminal em execução para os passos seguintes.

Executa YOLOv5 Inferência

  1. Executa a deteção YOLOv5 :

    cd ~/yolov5
    python3 detect.py --source=tcp://127.0.0.1:8888
    

Início rápido com YOLOv8

Segue esta secção se estiveres interessado em configurar YOLOv8 . As etapas são bastante semelhantes, mas são adaptadas às necessidades específicas do YOLOv8.

Instala os pacotes necessários

  1. Actualiza o Raspberry Pi:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Instala o ultralytics Python pacote:

    pip3 install ultralytics
    
  3. Reinicia:

    sudo reboot
    

Inicia o fluxo TCP com a Libcamera

  1. Inicia o fluxo TCP:

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

Executa YOLOv8 Inferência

Para realizar a inferência com YOLOv8, podes utilizar o seguinte trecho de código Python :

from ultralytics import YOLO

model = YOLO('yolov8n.pt')
results = model('tcp://127.0.0.1:8888', stream=True)

while True:
    for result in results:
        boxes = result.boxes
        probs = result.probs

Próximos passos

Parabéns por teres configurado com sucesso o YOLO no teu Raspberry Pi! Para mais aprendizagem e apoio, visita Ultralytics e a Kashmir World Foundation.

Agradecimentos e citações

Este guia foi inicialmente criado por Daan Eeltink para a Kashmir World Foundation, uma organização dedicada à utilização do YOLO para a conservação de espécies em vias de extinção. Reconhecemos o seu trabalho pioneiro e o seu foco educacional no domínio das tecnologias de deteção de objectos.

Para mais informações sobre as actividades da Kashmir World Foundation, podes visitar o seu sítio Web.



Criado em 2023-11-12, Atualizado em 2024-02-03
Autores: glenn-jocher (2)

Comentários