Accueil

Prise en main de la reconnaissance d’image avec TensorFlow et Raspberry Pi

Added 2018-12-30


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

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

Commencer

Pour débuter avec la reconnaissance d’image, vous aurez besoin d’un Raspberry Pi (n’importe quel modèle) et d’une carte SD avec le système d’exploitation Raspbian Stretch (9.0+) (si vous débutez avec le Raspberry Pi, utilisez notre Comment installer un système d'exploitation sur un Raspberry Pi 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 à la fois Python 2.7 ou Python 3.4+ pour ce tutoriel. Cet exemple concerne Python 3. Pour Python 2.7, remplacez Python3  avec Python , et pip3  avec pépin  tout au long de ce tutoriel.

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

Installation de 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 tutoriel sans aucune connaissance préalable, il peut être intéressant de comprendre la 6 Didacticiels et cours utiles sur l'apprentissage automatique Apprenez l'essentiel bases de l'apprentissage automatique  avant de l'essayer.

Avant d’installer TensorFlow, installez le logiciel Atlas  bibliothèque.


sudo apt installer libatlas-base-dev

Une fois que cela est terminé, installez TensorFlow via pip3


pip3 install --user tensorflow

Test de TensorFlow

Une fois installé, vous pouvez vérifier s'il fonctionne avec l'équivalent TensorFlow d'un Bonjour le monde!

A 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 facilement.


sudo nano tftest.py

Entrez ce code, fourni par Google pour tester TensorFlow:


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

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

Exécutez le code depuis le terminal:


python3 tftest.py

Vous devriez voir «Bonjour, 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 conseillent de l'ignorer.

Erreur ignorable TensorFlow et Python3.5

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

Installation du classificateur d'images

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


mkdir tf1
cd tf1

TensorFlow a un référentiel git avec des exemples de modèles à essayer. Clonez le référentiel dans le nouveau répertoire:


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

Vous souhaitez utiliser l'exemple de classification d'images, qui se trouve à l'adresse modèles / tutoriels / image / imagenet . Naviguez maintenant vers ce dossier:


modèles cd / tutoriels / image / imagenet

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

Petit Panda TensorFlow

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


python3 classify_image.py

Cela transmet une image d'un panda au réseau de neurones, qui renvoie des suppositions sur la nature de l'image avec une valeur pour son niveau de certitude.

TensorFlow Panda Classifiant la sortie

Comme le montre l'image de sortie, le réseau de neurones a bien deviné, avec une certitude de près de 90%. Elle pensait également que l’image pouvait contenir une pomme à la crème, mais elle n’était pas très confiante avec 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é l'exemple fourni par le projet. Pour un meilleur test, vous pouvez donner votre propre image au réseau neuronal pour la classification.

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

George le dinosaure

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


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

le image_file =  le fait de suivre le nom du script permet d'ajouter n'importe quelle image par chemin. Permet de voir comment ce réseau de neurones a fait.

Résultat de la classification de dinosaure TensorFlow

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

TensorFlow et Raspberry Pi, prêts à partir

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 Comment configurer un module de caméra Raspberry Pi Module caméra Raspberry Pi  et un 3 Batteries Raspberry Pi pour projets portables Unité de 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.






Nuage de tags

Choix de L'éditeur


Thomas Becket

Je suis un écrivain indépendant qui couvre la programmation et les logiciels.
Je suis étudiant en informatique et je m'intéresse à la programmation, aux logiciels et à la technologie
Gadgets technologiques et critiques 2019