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.
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)
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
Tout d'abord, nous allons importer les packages python et définir le chemin d'accès au dossier du jeu de données.
Ensuite, nous affichons les 10 premiers éléments de chaque catégorie pour vérification.
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).
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
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
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.
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
Enregistrer un commentaire
Merci cher(ère) ami(e), tout le plaisir est pour moi.