Vai al contenuto

Guida rapida: Raspberry Pi e Pi Camera con YOLOv5 e YOLOv8

Questa guida completa ha lo scopo di accelerare il tuo percorso con i modelli di rilevamento degli oggetti di YOLO su Raspberry Pi utilizzando una Pi Camera. Che tu sia uno studente, un hobbista o un professionista, questa guida è pensata per renderti operativo in meno di 30 minuti. Le istruzioni sono state rigorosamente testate per ridurre al minimo i problemi di configurazione, consentendoti di concentrarti sull'utilizzo di YOLO per i tuoi progetti specifici.



Guarda: Aggiornamenti e miglioramenti del Raspberry Pi 5.

Prerequisiti

  • Raspberry Pi 3, 4 o 5
  • Fotocamera Pi
  • Sistema operativo Raspberry Pi a 64 bit

Collega la Pi Camera al tuo Raspberry Pi tramite un cavo CSI e installa il sistema operativo Raspberry Pi a 64 bit. Verifica la tua videocamera con il seguente comando:

libcamera-hello

Dovresti vedere un video dalla tua videocamera.

Scegli la tua versione di YOLO : YOLOv5 o YOLOv8

Questa guida ti offre la flessibilità di iniziare con una delle due opzioni YOLOv5 oppure YOLOv8. Entrambe le versioni presentano vantaggi e casi d'uso unici. La scelta è tua, ma ricorda che l'obiettivo della guida non è solo una configurazione rapida, ma anche una solida base per il tuo futuro lavoro di rilevamento degli oggetti.

Specifiche hardware: In sintesi

Per aiutarti a prendere una decisione consapevole sull'hardware, abbiamo riassunto le principali caratteristiche hardware di Raspberry Pi 3, 4 e 5 nella tabella seguente:

Caratteristica Raspberry Pi 3 Raspberry Pi 4 Raspberry Pi 5
CPU 1.2GHz Quad-Core ARM Cortex-A53 1,5GHz Quad-core 64-bit ARM Cortex-A72 2,4 GHz Quad-core 64-bit Arm Cortex-A76
RAM 1GB LPDDR2 2GB, 4GB o 8GB LPDDR4 Dettagli non ancora disponibili
Porte 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
Rete Ethernet e Wi-Fi 802.11n Gigabit Ethernet e Wi-Fi 802.11ac Gigabit Ethernet con supporto PoE+, Wi-Fi® 802.11ac a doppia banda
Prestazioni Più lento, potrebbe richiedere modelli più leggeri YOLO Più veloce, può eseguire modelli complessi YOLO Dettagli non ancora disponibili
Requisiti di potenza Alimentazione da 2,5A Alimentazione USB-C da 3.0A Dettagli non ancora disponibili
Documentazione ufficiale Link Link Link

Assicurati di seguire le istruzioni specifiche del tuo modello di Raspberry Pi per garantire un processo di configurazione senza problemi.

Avvio rapido con YOLOv5

Questa sezione spiega come configurare YOLOv5 su Raspberry Pi con una Pi Camera. Questi passaggi sono stati pensati per essere compatibili con lo stack di videocamere libcamera introdotto in Raspberry Pi OS Bullseye.

Installare i pacchetti necessari

  1. Aggiorna il Raspberry Pi:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Clona il repository YOLOv5 :

    cd ~
    git clone https://github.com/Ultralytics/yolov5.git
    
  3. Installa le dipendenze necessarie:

    cd ~/yolov5
    pip3 install -r requirements.txt
    
  4. Per Raspberry Pi 3, installa le versioni compatibili di PyTorch e Torchvision (salta per Raspberry Pi 4):

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

Modifica detect.py

Per abilitare i flussi TCP tramite SSH o CLI, sono necessarie piccole modifiche in detect.py.

  1. Aprire detect.py:

    sudo nano ~/yolov5/detect.py
    
  2. Trova e modifica il file is_url per accettare i flussi TCP:

    is_url = source.lower().startswith(('rtsp://', 'rtmp://', 'http://', 'https://', 'tcp://'))
    
  3. Commenta il view_img linea:

    # view_img = check_imshow(warn=True)
    
  4. Salva ed esci:

    CTRL + O -> ENTER -> CTRL + X
    

Avviare il flusso TCP con Libcamera

  1. Avvia il flusso TCP:

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

Mantieni questa sessione di terminale in funzione per i passi successivi.

Esegui l'inferenza di YOLOv5

  1. Esegui il rilevamento di YOLOv5 :

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

Avvio rapido con YOLOv8

Segui questa sezione se invece sei interessato a configurare YOLOv8 . I passaggi sono abbastanza simili, ma sono adattati alle esigenze specifiche di YOLOv8.

Installare i pacchetti necessari

  1. Aggiorna il Raspberry Pi:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. Installa il programma ultralytics Python pacchetto:

    pip3 install ultralytics
    
  3. Reboot:

    sudo reboot
    

Avviare il flusso TCP con Libcamera

  1. Avvia il flusso TCP:

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

Esegui l'inferenza di YOLOv8

Per eseguire l'inferenza con YOLOv8, puoi utilizzare il seguente frammento di codice 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

I prossimi passi

Congratulazioni per aver configurato con successo YOLO sul tuo Raspberry Pi! Per ulteriori informazioni e supporto, visita i siti Ultralytics e Kashmir World Foundation.

Ringraziamenti e citazioni

Questa guida è stata inizialmente creata da Daan Eeltink per la Kashmir World Foundation, un'organizzazione che si dedica all'uso di YOLO per la conservazione delle specie in pericolo. Riconosciamo il loro lavoro pionieristico e la loro attenzione educativa nel campo delle tecnologie di rilevamento degli oggetti.

Per maggiori informazioni sulle attività della Kashmir World Foundation, puoi visitare il loro sito web.



Creato 2023-11-12, Aggiornato 2024-02-03
Autori: glenn-jocher (2)

Commenti