Inizia con il riconoscimento dell'immagine usando TensorFlow e Raspberry Pi

Inizia con il riconoscimento dell'immagine usando TensorFlow e Raspberry Pi / Fai da te

TensorFlow è la libreria della rete neurale di Google. Dato che attualmente l'apprendimento automatico è la cosa più eccitante, non sorprende che Google sia tra i leader di questa nuova tecnologia.

In questo articolo imparerai come installare TensorFlow sul Raspberry Pi ed esegui una semplice classificazione delle immagini su una rete neurale pre-addestrata.

Iniziare

Per iniziare con il riconoscimento delle immagini, avrai bisogno di un Raspberry Pi (qualsiasi modello funzionerà) e una scheda SD con il sistema operativo Raspbian Stretch (9.0+) (se sei nuovo nel Raspberry Pi, usa la nostra guida all'installazione). Avvia il Pi e apri una finestra di terminale. Assicurati che il tuo Pi sia aggiornato e controlla la tua versione di Python.

sudo apt-get update python --version python3 --version

Puoi usare sia Python 2.7 o Python 3.4+ per questo tutorial. Questo esempio è per Python 3. Per Python 2.7, sostituire python3 con Pitone, e PIP3 con seme durante questo tutorial.

Pip è un gestore di pacchetti per Python, solitamente installato come standard sulle distribuzioni Linux. Se trovi che non ce l'hai, segui le istruzioni di installazione per Linux Come installare PIP per Python su Windows, Mac e Linux Come installare PIP per Python su Windows, Mac e Linux Molti sviluppatori Python si affidano a uno strumento chiamato PIP per Python per rendere tutto molto più semplice e veloce. Ecco come installare PIP. Leggi di più in questo articolo per installarlo.

Installazione di TensorFlow

L'installazione di TensorFlow era un processo abbastanza frustrante, ma un recente aggiornamento lo rende incredibilmente semplice. Mentre è possibile seguire questo tutorial senza alcuna conoscenza precedente, potrebbe essere utile comprendere le basi dell'apprendimento automatico prima di provarlo.

Prima di installare TensorFlow, installare il Atlante biblioteca.

sudo apt installa libatlas-base-dev

Al termine, installare TensorFlow tramite pip3

pip3 install --user tensorflow

Questo installerà TensorFlow per l'utente che ha effettuato l'accesso. Se si preferisce utilizzare un ambiente virtuale Impara come usare l'ambiente virtuale Python Impara come usare l'ambiente virtuale Python Se sei uno sviluppatore Python esperto, o sei appena iniziato, imparare come configurare un ambiente virtuale è essenziale per qualsiasi Progetto Python. Leggi di più, modifica il tuo codice qui per riflettere questo.

Test di TensorFlow

Una volta installato, è possibile verificare se sta funzionando con l'equivalente TensorFlow di a Ciao mondo!

Dalla riga di comando crea un nuovo script Python usando nano o vim (Se non si è sicuri di quale utilizzare, entrambi hanno vantaggi nano rispetto a vim: Terminale Editor di testo Confronto tra nano e vim: Terminale Editor di testo a confronto Sebbene Linux sia diventato abbastanza facile da essere praticamente usato da chiunque senza doverlo mai usare il Terminale, ci sono alcuni di noi che lo usano regolarmente o sono curiosi di sapere come si può controllare ... Leggi altro) e nominarlo qualcosa di facile da ricordare.

sudo nano tftest.py 

Inserisci questo codice, fornito da Google per testare TensorFlow:

import tensorflow as tf hello = tf.constant ('Hello, TensorFlow!') sess = tf.Session () print (sess.run (ciao)) 

Se stai usando nano, esci premendo Ctrl + X e salva il tuo file digitando Y quando richiesto.

Esegui il codice dal terminale:

python3 tftest.py 

Tu dovresti vedere “Ciao, TensorFlow” stampato. Se stai usando Python 3.5, riceverai diversi avvisi di runtime. Le esercitazioni ufficiali di TensorFlow riconoscono che ciò accade e di ignorarlo.

Funziona! Ora per fare qualcosa di interessante con TensorFlow.

Installazione di Image Classifier

Nel terminale, crea una directory per il progetto nella tua home directory e naviga in essa.

mkdir tf1 cd tf1 

TensorFlow ha un repository git con modelli di esempio da provare. Clona il repository nella nuova directory:

git clone https://github.com/tensorflow/models.git 

Si desidera utilizzare l'esempio di classificazione delle immagini, che può essere trovato in modelli / tutorial / immagine / IMAGEnet. Vai a quella cartella ora:

modelli di cd / tutorial / immagine / imagenet 

Lo script di classificazione dell'immagine standard viene eseguito con un'immagine fornita di un panda:

Per eseguire il classificatore di immagini standard con l'immagine panda fornita, inserisci:

python3 classify_image.py 

Questo alimenta un'immagine di un panda alla rete neurale, che restituisce ipotesi su ciò che l'immagine è con un valore per il suo livello di certezza.

Come mostra l'immagine di output, la rete neurale ha indovinato correttamente, con una certezza quasi del 90%. Pensava anche che l'immagine potesse contenere una mela cotta, ma non era molto sicura di quella risposta.

Utilizzando un'immagine personalizzata

L'immagine del panda dimostra che TensorFlow funziona, ma forse non sorprende visto che è l'esempio fornito dal progetto. Per un test migliore, puoi dare la tua immagine alla rete neurale per la classificazione. In questo caso, vedrai se la rete neurale di TensorFlow è in grado di identificare George.

Ti presento George. George è un dinosauro. Per alimentare questa immagine (disponibile in forma ritagliata qui) nella rete neurale, aggiungi argomenti durante l'esecuzione dello script.

python3 classify_image.py --image_file = / home / pi / george.jpg 

Il file_immagine = seguendo il nome dello script si consente l'aggiunta di qualsiasi immagine per tracciato. Vediamo come ha fatto questa rete neurale.

Non male! Mentre George non è un triceratopo, la rete neurale ha classificato l'immagine come un dinosauro con un alto grado di certezza rispetto alle altre opzioni.

TensorFlow e Raspberry Pi, Ready to Go

Questa implementazione di base di TensorFlow ha già delle potenzialità. Questo riconoscimento di oggetti sta avvenendo sul Pi e non ha bisogno di alcuna connessione a Internet per funzionare. Ciò significa che con l'aggiunta di un modulo fotocamera Raspberry Pi e un'unità batteria adatta a Raspberry Pi, l'intero progetto potrebbe diventare portatile.

La maggior parte dei tutorial graffia solo la superficie di un soggetto, ma non è mai stato più vero che in questo caso. L'apprendimento automatico è un argomento incredibilmente denso. Un modo per approfondire ulteriormente le tue conoscenze è partecipare a un corso dedicato Questi corsi di apprendimento automatico prepareranno un percorso di carriera per te Questi corsi di apprendimento automatico ti prepareranno un percorso di carriera Questi eccellenti corsi online di apprendimento automatico ti aiuteranno a capire le abilità necessarie per iniziare una carriera nell'apprendimento automatico e nell'intelligenza artificiale. Leggi di più . Nel frattempo, mettiti alla prova con l'apprendimento automatico e il Raspberry Pi con questi progetti TensorFlow puoi provarlo tu stesso.

Scopri di più su: Google TensorFlow, Image Recognition, Raspberry Pi.