Rilevamento degli oggetti YOLO su Raspberry Pi

YOLO object detection on Raspberry Pi

Esecuzione del modello di rilevamento degli oggetti sui dispositivi a basso consumo energetico

Risultati del rilevamento degli oggetti YOLO, Immagine dell'autore

Nella prima parte di questo articolo, ho testato versioni “retro” di YOLO (You Only Look Once), una popolare libreria di rilevamento degli oggetti. La possibilità di eseguire un modello di deep learning utilizzando solo OpenCV, senza framework “pesanti” come PyTorch o Keras, è promettente per i dispositivi a basso consumo energetico, e ho deciso di approfondire questo argomento e vedere come funziona l’ultimo modello YOLO v8 su un Raspberry Pi.

Andiamo a vedere.

Hardware

In genere non è un problema eseguire qualsiasi modello nel cloud, dove le risorse sono virtualmente illimitate. Ma per l’hardware “in campo” ci sono molte più restrizioni. RAM limitata, potenza di calcolo della CPU limitata o addirittura diversa architettura della CPU, versioni software più vecchie o incompatibili, mancanza di una connessione internet ad alta velocità e così via. Un altro grande problema dell’infrastruttura cloud è il suo costo. Supponiamo che stiamo realizzando un campanello intelligente e vogliamo aggiungere il rilevamento delle persone. Possiamo eseguire un modello nel cloud, ma ogni chiamata API costa denaro, e chi pagherà? Non tutti i clienti sarebbero felici di avere un abbonamento mensile per il campanello o qualsiasi altro dispositivo “smart”, quindi può essere fondamentale eseguire un modello localmente, anche se i risultati potrebbero non essere così buoni.

Per questo test, eseguirò il modello YOLO v8 su un Raspberry Pi:

Raspberry Pi 4, Fonte immagine https://en.wikipedia.org/wiki/Raspberry_Pi

Il Raspberry Pi è un computer economico di dimensioni simili a una carta di credito che esegue Raspbian o Ubuntu Linux. Testerò due versioni diverse:

  • Raspberry Pi 3 Model B, realizzato nel 2015. Ha una CPU ARM Cortex-A53 da 1,2 GHz e 1 GB di RAM.
  • Raspberry Pi 4, realizzato nel 2019. Ha una CPU ARM Cortex-A72 da 1,8 GHz e 1, 4 o 8 GB di RAM.

I computer Raspberry Pi sono ampiamente utilizzati al giorno d’oggi, non solo per progetti hobbistici e fai-da-te, ma anche per applicazioni industriali embedded (è stato appositamente progettato un modulo di calcolo Raspberry Pi per questo). Quindi, è interessante vedere come queste schede possono gestire operazioni computazionalmente impegnative come il rilevamento degli oggetti. Per tutti i test successivi, utilizzerò questo…