Sommario:
- Passaggio 1: aggiorna Raspberry Pi
- Passaggio 2: installa TensorFlow
- Passaggio 3: installa OpenCV
- Passaggio 4: installa Protobuf
- Passaggio 5: impostare la struttura di directory TensorFlow
- Passaggio 6: Rileva oggetto
- Passaggio 7: problemi e grazie
Video: Rilevamento di oggetti Raspberry Pi: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Questa guida fornisce istruzioni dettagliate su come configurare l'API di rilevamento degli oggetti di TensorFlow sul Raspberry Pi. Seguendo i passaggi di questa guida, sarai in grado di utilizzare il tuo Raspberry Pi per eseguire il rilevamento di oggetti su video live da una Picamera o da una webcam USB. L'apprendimento automatico manuale non è richiesto in quanto utilizzato nel database online per il rilevamento degli oggetti. È possibile rilevare la maggior parte degli oggetti comunemente utilizzati in tutto il mondo.
Si prega di fare riferimento alla mia immagine sopra, abbiamo usato un mouse, Apple e forbici e abbiamo rilevato perfettamente l'oggetto.
La guida segue i seguenti passaggi:
Aggiorna il Raspberry Pi
Installa TensorFlowInstalla OpenCV
Compila e installa Protobuf
Imposta la struttura delle directory di TensorFlow
Rileva gli oggetti
Passaggio 1: aggiorna Raspberry Pi
Il tuo Raspberry Pi deve essere aggiornato
Passo 1:
Digita nel terminale di comando, sudo apt-get update
E poi digita
sudo apt-get dist-upgrade
Questo potrebbe richiedere molto tempo dipende da Internet e Raspberry pi
Questo è tutto ciò di cui hai bisogno, hai finito di aggiornare il tuo Raspberry pi
Passaggio 2: installa TensorFlow
Ora installeremo Tensorflow.
Digita questo comando seguente, pip3 installa TensorFlow
TensorFlow necessita anche del pacchetto LibAtlas, digita il seguente comando
sudo apt-get install libatlas-base-dev
E digita anche questo comando seguente, sudo pip3 install pillow lxml jupyter matplotlib cythonsudo apt-get install python-tk
Ora abbiamo terminato l'installazione di Tensorflow.
Passaggio 3: installa OpenCV
Ora stiamo lavorando per installare la libreria OpenCV perché gli esempi di rilevamento degli oggetti di TensorFlow usano matplotlib per mostrare le immagini, ma scelgo di fare pratica con OpenCV poiché è più facile da lavorare e meno errori. Quindi, dobbiamo installare OpenCV. Ora OpenCV non supporta l'RPI, quindi installeremo la versione precedente.
Ora stiamo lavorando per installare alcune dipendenze che devono essere installate tramite apt-get
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install qt4-dev-tools libatlas-base-dev
Infine, ora possiamo installare OpenCV digitando, pip3 install opencv-python==3.4.6.27
Questo è tutto, ora abbiamo installato OpenCV
Passaggio 4: installa Protobuf
L'API di rilevamento degli oggetti TensorFlow utilizza Protobuf, un pacchetto che fornisce il formato dati del buffer di protocollo di Google. Devi compilare dal sorgente, ora puoi installarlo facilmente.
sudo apt-get install protobuf-compiler
Esegui protoc --version una volta fatto. Dovresti ottenere una risposta di libprotoc 3.6.1 o simile.
Passaggio 5: impostare la struttura di directory TensorFlow
Abbiamo installato tutti i pacchetti, vogliamo impostare una directory per TensorFlow. Dalla home directory, crea un nome di directory chiamato "tensorflow1", Digita quanto segue, mkdir tensorflow1cd tensorflow1
Ora scarica TensorFlow digitando, git clone --depth 1
Vogliamo modificare la variabile d'ambiente PYTHONPATH per indirizzare ad alcune directory all'interno del repository TensorFlow. Abbiamo bisogno che PYTHONPATH sia impostato ogni volta. Dobbiamo regolare il file.bashrc. Dobbiamo aprirlo digitando
sudo nano ~/.bashrc
Alla fine del file e nell'ultima riga aggiungi il comando, come nell'immagine in alto che è contrassegnata nella casella di colore rosso.
export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim
Ora salva ed esci. È necessario utilizzare Protoc per compilare i file Protocol Buffer (.proto) utilizzati dall'API Object Detection. I file.proto si trovano in /research/object_detection/protos, vogliamo eseguire il comando dalla directory /research. Digita il seguente comando
cd /home/pi/tensorflow1/models/researchprotoc object_detection/protos/*.proto --python_out=.
Questo comando cambia tutti i file "name".proto in file "name_pb2".py.
cd /home/pi/tensorflow1/models/research/object_detection
Dobbiamo scaricare il modello SSD_Lite dallo zoo del modello TensorFlowdetection. Per questo, vogliamo usare SSDLite-MobileNet, che è il modello più veloce esistente per l'RPI.
Google rilascia continuamente modelli con velocità e prestazioni migliorate, quindi controlla spesso se ci sono modelli migliorati.
Digita il seguente comando per scaricare il modello SSDLite-MobileNet.
wget
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
Ora possiamo fare pratica con i modelli Object_Detction!
Abbiamo quasi finito!
Passaggio 6: Rileva oggetto
Ora il tutto è impostato per il rilevamento dell'oggetto di esecuzione sul Pi!
Object_detection_picamera.py rileva gli oggetti in tempo reale da una webcam Picamera o USB.
Se stai utilizzando una Picamera, modifica la configurazione del Raspberry Pi in un menu come nell'immagine sopra contrassegnata nella casella di colore rosso.
Digita il seguente comando per scaricare il file Object_detection_picamera.py nella directory object_detection.
wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Object-Detection-on-the-Raspberry-Pi/master/Object_detection_picamera.py
python3 Object_detection_picamera.py
Digita il seguente comando per la fotocamera USB
python3 Object_detection_picamera.py --usbcam
Il proprio comando viene eseguito, dopo 1 minuto si apre una nuova finestra che inizierà a rilevare gli oggetti!!!
Passaggio 7: problemi e grazie
Per favore fatemi sapere se avete domande
E-mail: [email protected]
Grazie, Rithik
Consigliato:
Rilevamento di oggetti con schede Sipeed MaiX (Kendryte K210): 6 passaggi
Rilevamento di oggetti con le schede Sipeed MaiX (Kendryte K210): come continuazione del mio precedente articolo sul riconoscimento delle immagini con le schede Sipeed MaiX, ho deciso di scrivere un altro tutorial, incentrato sul rilevamento di oggetti. Recentemente è apparso un hardware interessante con il chip Kendryte K210, incluso S
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento utilizzando Shape Puncher: 5 passaggi
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento utilizzando Shape Puncher: metodo di apprendimento/insegnamento per studenti nuovi alla programmazione orientata agli oggetti. Questo è un modo per consentire loro di visualizzare e vedere il processo di creazione di oggetti dalle classi.Parti:1. EkTools punzone grande da 2 pollici; le forme solide sono le migliori.2. Pezzo di carta o c
Sensore di visione Micro:bit MU - Rilevamento di oggetti: 6 passaggi
Micro:bit MU Vision Sensor - Tracking Objects: Questa è la mia quarta guida al sensore di visione MU per micro:bit. Qui esaminerò come tracciare oggetti con il micro: bit e scrivere le coordinate su uno schermo OLED. Nelle mie altre guide ho esaminato come collegare il micro: bit al
RASPBERRY PI Pi RILEVAMENTO DI OGGETTI CON PI FOTOCAMERE: 3 passaggi
RASPBERRY PI Pi RILEVAMENTO DI OGGETTI CON PI FOTOCAMERE: Terrò breve l'introduzione, poiché il titolo stesso suggerisce quale sia lo scopo principale dell'istruibile. In questa guida passo passo, ti spiegherò come collegare più fotocamere come 1-pi cam e almeno una fotocamera USB o 2 fotocamere USB
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento con le forbici: 5 passaggi
Programmazione orientata agli oggetti: creazione di oggetti Metodo/tecnica di apprendimento/insegnamento Utilizzo delle forbici: metodo di apprendimento/insegnamento per studenti nuovi alla programmazione orientata agli oggetti. Questo è un modo per consentire loro di visualizzare e vedere il processo di creazione di oggetti dalle classi. Parti: 1. Forbici (va bene qualsiasi tipo). 2. Pezzo di carta o cartoncino. 3. Indicatore