Sélection

Computer Vision: Classification Binaire avec TensorFlow 2

 Computer Vision(Vision par ordinateur): Classification binaire avec TensorFlow 2 

Bonjour ou bonsoir selon l'heure à laquelle vous lisez cet article, C'est avec plaisir que je vous retrouve pour parler de la vision par ordinateur qui est un domaine du Machine Learning. 

Dans cet article, nous verrons comment faire de la classification d'images avec TensorFlow 2. 

Google lens computer vision balise alt blogger optimisation seo



Alors, prenez place et on y va !!! 

Computer vision

Prenons un exemple tout simple tout simple. 

Vous êtes sur votre balcon et vous admirez le paysage: les passants, les voitures qui circulent, les oiseaux qui volent...etc. Vos yeux captent toutes ces choses, tous ces mouvements et vos facultés cognitives vous en donnent le sens à travers ce que vos yeux voient.   

La machine essaie d'imiter les capacités visuelles de l'être humain en fournissant des méthodes de formation d'images. 

La classification binaire

La classification binaire consiste à classer en 2 groupes (Bi) les éléments d'un ensemble à l'aide d'une règle de classification. Nous verrons un exemple dans la section suivante.

Ainsi, en machine Learning, nous utilisons des algorithmes de classification pour traiter ce genre de problème. Pour en savoir plus sur quelques algorithmes, veuillez voir mon précédent article sur LES METHODES D'APPRENTISSAGE EN MACHINE LEARNING. 

Classification binaire avec TensorFlow 2

Alors, après un aperçu sur les notions de computer vision et de classification binaire, nous allons maintenant voir l'exemple d'un modèle Machine Learning de classification binaire d'image de plante. 

Il s'agit d'un ensemble de données labélisées (Immeuble & forêt) sur lequel nous allons appliquer un algorithmes de Machine Learning. 

           Jeu de données(Dataset)  

Jeu de données pour classification binaire balise alt blogger optimisation seo

Nous avons notre jeu de données labélisées forêt et immeuble qui correspond à un problème de classification binaire et nous utilisons la méthode d'apprentissage supervisé. 

            Code TensorFlow en python

Importation des packages et chemin d'accès balise alt blogger optimisation seo


Tout d'abord, nous allons importer les packages python et définir le chemin d'accès au dossier du jeu de données.


Chemin d'accès dossier en python balise alt blogger optimisation seo

Ensuite, nous affichons les 10 premiers éléments de chaque catégorie pour vérification.



Affichage du nombre d'image en python de chaque dossier balise alt blogger optimisation seo


Pour terminer cette première partie, nous vérifions le nombre total d'image d'immeuble et de forêt dans les dossiers d'entrainement (train) et de validation(Test).


Couche de convolution avec Keras en Python balise alt blogger optimisation seo



Après, nous allons mettre en place notre modèle avec Keras et TensorFlow. 

Nous utilisons les couches de convolution qui vont nous permettre d'extraire les caractéristiques des images sans toutefois les dénaturer. 

            Compilation du Modèle avec Keras

Algorithme machine learning RMSprop balise alt blogger optimisation seo

 
Au niveau de l'algorithme, nous allons utiliser RMSprop(Root Mean Square propagation) qui est implémenté par un optimiseur. 

L'optimiseur est l'un des 2 arguments nécessaire pour compiler un modèle Machine Learning avec Keras.
           
            Entrainement du modèle Machine Learning

Entrainement du modèle Machine Learning balise alt blogger optimisation seo


Et enfin, l'entrainement du modèle machine learning. 

Pour l'entrainement de ce modèle, j'ai mis le nombre d'époque à 50, le train_dir est le dossier où sont stockés les données d'entrainement et le test_dir, les données de test. Ces derniers sont des données qui n'ont pas été utilisées pendant l'entrainement et serviront à évaluer notre modèle. 

            Visualisation du Loss et Accuracy des données avec Matplolib


Sur cette figure, nous avons 2 courbes qui représentent les données d'entrainement et les données de validation. On voit bien qu'ils convergent pratiquement, ce qui signifie que le modèle est capable de reconnaitre des images qu'il n'a pas vu à l'entrainement.


Sur cette seconde figure, la conclusion est que notre modèle n'est ni surentrainé ni sous-entrainé. les erreurs d'entrainement sont légèrement bas que celles de validation.  

Retrouvez le modèle Machine Learning sur Google Colab

Par ailleurs, certaines applications utilisent le computer vision pour la reconnaissance faciale, suivre des d'objet, la détection de texte sur une image, la reconnaissance des émotions...etc. 
Quelques exemples d'application utilisant le computer vision: 
  • Google Lens
  • Snapchat
  • Pinterest
  • Vivino

Ce fût un plaisir de partager avec vous ce contenu, prenez soin de vous. 😎


  


 

Commentaires

Articles les plus consultés