FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Premiers pas avec la reconnaissance d'images à l'aide de TensorFlow et de Raspberry Pi

TensorFlow est la bibliothèque de réseaux neuronaux de Google. Étant donné que l'apprentissage automatique est la chose la plus en vogue actuellement, il n'est pas surprenant que Google figure parmi les leaders de cette nouvelle technologie.

Dans cet article, vous apprendrez à installer TensorFlow sur le Raspberry Pi et à exécuter une classification d'images simple sur un réseau de neurones pré-formé.

Premiers pas

Pour démarrer avec la reconnaissance d'image, vous aurez besoin d'un Raspberry Pi (n'importe quel modèle fonctionnera) et d'une carte SD avec le système d'exploitation Raspbian Stretch (9.0+) (si vous êtes nouveau sur le Raspberry Pi, utilisez notre guide d'installation).

Démarrez le Pi et ouvrez une fenêtre de terminal. Assurez-vous que votre Pi est à jour et vérifiez votre version de Python.

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

Vous pouvez utiliser Python 2.7 ou Python 3.4+ pour ce didacticiel. Cet exemple concerne Python 3. Pour Python 2.7, remplacez Python3 avec Python , et pip3 avec pip tout au long de ce didacticiel.

Pip est un gestionnaire de packages pour Python, généralement installé en standard sur les distributions Linux.

Si vous constatez que vous ne l'avez pas, suivez les instructions d'installation pour Linux de cet article pour l'installer.

Installer TensorFlow

L'installation de TensorFlow était un processus assez frustrant, mais une mise à jour récente le rend incroyablement simple. Bien que vous puissiez suivre ce didacticiel sans aucune connaissance préalable, il peut être utile de comprendre les bases de l'apprentissage automatique avant de l'essayer.

Avant d'installer TensorFlow, installez Atlas bibliothèque.

sudo apt install libatlas-base-dev 

Une fois cela terminé, installez TensorFlow via pip3

installation pip3 --user tensorflow 

Cela installera TensorFlow pour l'utilisateur connecté. Si vous préférez utiliser un environnement virtuel, modifiez votre code ici pour refléter cela.

Tester TensorFlow

Une fois installé, vous pouvez tester s'il fonctionne avec l'équivalent TensorFlow d'un Hello, world !

À partir de la ligne de commande, créez un nouveau script Python en utilisant nano ou vim (Si vous ne savez pas lequel utiliser, ils ont tous deux des avantages) et nommez-le quelque chose de facile à retenir.

sudo nano tftest.py 

Saisissez ce code, fourni par Google pour tester TensorFlow :

importer tensorflow en tant que tf 
bonjour =tf.constant('Bonjour, TensorFlow !')
sess =tf.Session()
print(sess.run(hello))

Si vous utilisez nano, quittez en appuyant sur Ctrl + X et enregistrez votre fichier en tapant Y lorsque vous y êtes invité.

Exécutez le code depuis le terminal :

python3 tftest.py 

Vous devriez voir "Hello, TensorFlow" imprimé.

Si vous exécutez Python 3.5, vous recevrez plusieurs avertissements d'exécution. Les didacticiels officiels de TensorFlow reconnaissent que cela se produit et vous recommandent de l'ignorer.

Premiers pas avec la reconnaissance d images à l aide de TensorFlow et de Raspberry Pi

Ça marche! Maintenant, faisons quelque chose d'intéressant avec TensorFlow.

Installer le classificateur d'images

Dans le terminal, créez un répertoire pour le projet dans votre répertoire personnel et accédez-y.

mkdir tf1 
cd tf1

TensorFlow dispose d'un référentiel git avec des exemples de modèles à essayer. Clonez le dépôt dans le nouveau répertoire :

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

Vous souhaitez utiliser l'exemple de classification d'image, qui peut être trouvé sur models/tutorials/image/imagenet . Accédez à ce dossier maintenant :

modèles cd/tutoriels/image/imagenet 

Le script de classification d'image standard s'exécute avec une image fournie d'un panda :

Premiers pas avec la reconnaissance d images à l aide de TensorFlow et de Raspberry Pi

Pour exécuter le classificateur d'image standard avec l'image panda fournie, entrez :

python3 classify_image.py 

Cela envoie une image d'un panda au réseau de neurones, qui renvoie des suppositions sur ce qu'est l'image avec une valeur pour son niveau de certitude.

Premiers pas avec la reconnaissance d images à l aide de TensorFlow et de Raspberry Pi

Comme le montre l'image de sortie, le réseau neuronal a deviné correctement, avec une certitude de près de 90 %. Il pensait également que l'image pouvait contenir une pomme cannelle, mais il n'était pas très sûr de cette réponse.

Utiliser une image personnalisée

L'image du panda prouve que TensorFlow fonctionne, mais ce n'est peut-être pas surprenant étant donné qu'il s'agit de l'exemple fourni par le projet. Pour un meilleur test, vous pouvez donner votre propre image au réseau de neurones pour la classification.

Dans ce cas, vous verrez si le réseau neuronal TensorFlow peut identifier George.

Premiers pas avec la reconnaissance d images à l aide de TensorFlow et de Raspberry Pi

Rencontrez Georges. George est un dinosaure. Pour alimenter cette image (disponible ici sous forme recadrée) dans le réseau de neurones, ajoutez des arguments lors de l'exécution du script.

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

Le image_file= suivre le nom du script permet l'ajout de n'importe quelle image par chemin. Voyons comment ce réseau de neurones s'est comporté.

Premiers pas avec la reconnaissance d images à l aide de TensorFlow et de Raspberry Pi

Pas mal! Bien que George ne soit pas un tricératops, le réseau neuronal a classé l'image comme un dinosaure avec un degré élevé de certitude par rapport aux autres options.

TensorFlow et Raspberry Pi, prêts à l'emploi

Cette implémentation de base de TensorFlow a déjà du potentiel. Cette reconnaissance d'objet se produit sur le Pi et ne nécessite aucune connexion Internet pour fonctionner. Cela signifie qu'avec l'ajout d'un module de caméra Raspberry Pi et d'une batterie compatible Raspberry Pi, l'ensemble du projet pourrait devenir portable.

La plupart des tutoriels ne font qu'effleurer la surface d'un sujet, mais cela n'a jamais été aussi vrai que dans ce cas. L'apprentissage automatique est un sujet incroyablement dense.

Une façon d'approfondir vos connaissances serait de suivre un cours dédié. En attendant, familiarisez-vous avec l'apprentissage automatique et le Raspberry Pi avec ces projets TensorFlow que vous pouvez essayer vous-même.


[]