Vous êtes sur la page 1sur 5

Initiation aux outils et Frameworks 2019-2020

HANDS ON AI – Certificat IA de l’UMONS


Initiation aux outils et frameworks
Initiation : Vision par ordinateur et premier classifieur avec Pyhton

• Introduction :
L’objectif ce cette séance est de se familiariser avec l’environnement Jupyter Notebook et le langage Python via la
plateforme Google Colab. On commencera par création d’un nouveau fichier Jupyter Notebook avec l’utilisation du
processeur Graphique GPU sur le cloud. Ensuite, nous verrons ensemble comment charger (upload) des fichiers dans
Google Colab ainsi que les librairies nécessaires. Par la suite, vous allez commencer à manipuler et traiter des images et
vidéos avec des différents algorithmes. A la fin de cet exercice, vous pourrez faire votre premier classifieur avec la librairie
Keras en passant par les étapes de chargement et normalisation de données, entrainement du modèle et test du modèle.
Cette séance d’initiation présente quatre parties : préparation de l’environnement, traitement d’images, traitement de
vidéo et développement d’un premier classifieur d’images.

1. Préparation de l’environnement :

a. Se connecter : Pour commencer, il faut utiliser un navigateur (de préférence Chrome) et lancer Google colab :
https://colab.research.google.com. Il faudra ensuite se connecter avec votre adresse Gmail.

b. Charger le fichier de démarrage : charger le code de démarrage « initiation.ipynb », disponible sur Moodle,
depuis votre environnement Google Colab (Figure 1).

c. Vérifier le matériel réservé : vérifier que le GPU est bien sélectionné en allant sur : Exécution ->Modifier le
type d’exécution. Sélectionnez le GPU si ce n’est pas encore fait (Figure 2).

d. Charger les librairies nécessaires (OpenCV, matplotlib, numpy, etc.)

e. Vérifier le chargement des librairies : par exemple, récupérer la version de la librairie OpenCV

Figure 1: Importation d’un notebook avec Google colab


1
Sidi Ahmed Mahmoudi, Mohammed Amin Belarbi Hand on AI - Introduction
Initiation aux outils et Frameworks 2019-2020

2. Traitement d’images avec Python :


Avant de répondre aux questions de l’exercice 01, nous invitons à réaliser les neuf (09) tâches décrites ci-dessous afin
de prendre la main avec les différentes fonctions nécessaires pour réaliser un algorithme de traitement d’images avec
Python.

2.1. Charger une image couleur de votre choix sur l’environnement Google colab : en utilisant soit l’interface
google colab, soit la commande « files.upload() », soit la commande wget pour récupérer une image
depuis internet
2.2. Vérifier le bon chargement de l’image : en tapant tous simplement la commande : ls -l
2.3. Afficher l’image chargée : en utilisant soit IPython ou OpenCV
2.4. Convertir l’image en noir et blanc (niveau de gris) : en utilisant la fonction OpenCV « cv2.cvtColor »
2.5. Enregistrer l’image : en utilisant la fonction OpenCV « imwrite »
2.6. Vérifier si l’image est bien enregistrée
2.7. Réduire les bruits de l’image : en appliquant des filtres de convolutions tels que : le filtre Gaussien, filtre
Médian, filtre Blur, etc.
Remarque : le principe de convolution sera expliqué théoriquement lors de la séance prochaine (09/10)
2.8. Détecter les contours présents dans l’image : en utilisant la méthode Canny (fonction cv2.Canny). Notons
que cet algorithme ne peut être appliqué que sur une image en niveau de gris.
2.9. Détecter les points d’intérêts (coins) présents dans l’image : en utilisant la méthode Harris (fonction
cv2.cornerHarris)

• Exercice N° 01 : développer votre premier algorithme de traitement d’images en appliquant les fonctions

suivantes :
- Convertir l’image en noir et blanc.
- Réduire les bruits de l’image en utilisant un filtre de convolution
- Détecter les contours de l’image
- Détecter les points d’intérêts
- Afficher le résultat

Remarque : le traitement pourrait être appliqué sur l’image partagée via Moodle « umons.jpg »

2
Sidi Ahmed Mahmoudi, Mohammed Amin Belarbi Hand on AI - Introduction
Initiation aux outils et Frameworks 2019-2020

3. Traitement d’images avec Python :


De même, avant de répondre aux questions de l’exercice 02, nous invitons à réaliser les ? ( ?) tâches décrites ci-
dessous afin de prendre la main avec les différentes fonctions nécessaires pour réaliser un algorithme de traitement
de vidéos avec Python.
3.1. Télécharger et afficher la vidéo « video.mp4 » depuis Moodle avant de la charger sur Google colab : le
chargement se fait avec la fonction OpenCV « open »
3.2. Découper la vidéo en un ensemble d’images (frames) successives avant de les enregistrer : une vidéo
est représentée par une suite d’images et pour appliquer un traitement sur la vidéo, il faudra traiter toutes
les images dans le bon ordre.
3.3. Vérifier si les images (frames) sont bien enregistrées
3.4. Créer une nouvelle vidéo composée des images enregistrées dans point 3.3
3.5. Afficher la nouvelle vidéo. Il faudra trier (fonction sort) les frames avant de les afficher.

Remarque : lors de l’affichage de vidéo, vous constaterez des interruptions d’affichage, ce qui est du au fait que la
vidéo doit être enregistrée en spécifiant le format d’encodage. Dans le cadre de cet exercice, nous ne vous
demandons pas cette tâche.

• Exercice N° 02 : développer votre premier algorithme de traitement de vidéo en appliquant les mêmes

fonctions demandées dans l’exercice 01 sur une vidéo cette fois-ci.

Figure 2: vérification de la sélection de GPU


3
Sidi Ahmed Mahmoudi, Mohammed Amin Belarbi Hand on AI - Introduction
Initiation aux outils et Frameworks 2019-2020

4. Premier classifieur :
Après avoir manipulé, les différents outils et méthodes de traitement d’images et vidéos avec le langage Pyhton, vous
pouvez développer votre premier classifieur d’images. Nous vous proposons de travailler sur la classification d’images de
chiffres manuscrits provenant de la base de données MNIST. Le but est de reconnaitre la valeur du chiffre à base de son
image. Pour réaliser cela, nous vous proposons de suivre les étapes suivantes :
4.1. Créer un nouveau notebook sous Pyhton 3 et sélectionner le GPU comme ressource de calcul
4.2. Importer les fonctions Keras

4.3. Télécharger la base de données mnist : depuis Keras

4.4. Vérifiez le format des données : en utilisant l’attribut « shape »

4.5. Redimensionner les données : pour représenter chaque image sous forme d’un vecteur

4
Sidi Ahmed Mahmoudi, Mohammed Amin Belarbi Hand on AI - Introduction
Initiation aux outils et Frameworks 2019-2020

4.6. Normaliser les données : pour avoir des valeurs de pixels compris entre 0 et 1.

4.7. Encodez et normaliser les données de sorties (labels)

4.8. Vérifier de nouveau le format de données ?

4.9. Définir le premier modèle avec une seule couche cachée

4.10. Compiler le modèle :

4.11. Entrainer le modèle sur les données d’entrainement :

4.12. Calculer la prédiction sur des nouvelles données

4.13. Changer le nombre d’epochs et analyser le changement de précision « Accuracy ». Que


constatez-vous ?
4.14. Que proposez vous pour améliorer ce modèle ?
5
Sidi Ahmed Mahmoudi, Mohammed Amin Belarbi Hand on AI - Introduction

Vous aimerez peut-être aussi