Deep Learning

Exemple guidé pour l’inspection visuelle

Implémenter un workflow courant d'inspection visuelle et identifier les défauts d'après le contenu des images.

Pour démarrer :

  1. Téléchargez le code
  2. Ouvrez le code dans MATLAB
  3. Suivez les étapes ci-dessous

Vous n’avez pas accès à MATLAB ?

Temps nécessaire pour compléter le tutoriel :
15–30 minutes
Niveau :
Débutant/Intermédiaire

Besoin d'un rappel sur les connaissances ? Essayez un tutoriel interactif gratuit.

Étape 1

Charger et prétraiter les données

Vous pouvez être amené à utiliser des jeux de données volumineux avec le Deep Learning. Une bonne gestion des données est donc importante. Cet exemple utilise toutefois un jeu de données volontairement petit à des fins de démonstration.

  • Importez les données. 
  • Les données sont labellisées avec les étiquettes « good » ou « bad » Utilisez le Deep Learning pour effectuer la distinction entre les deux catégories.
  • La fonction imageDatastore permet de labelliser automatiquement les images d'après les noms de dossier.
  • Pour entraîner le modèle, divisez vos données en deux catégories : les « données d'apprentissage » servant à entraîner le modèle, et les « données de test » visant à vérifier le bon fonctionnement du modèle sur de nouvelles données (à utiliser dans l'étape 4 : Tester le modèle et visualiser les résultats).
  • Ajoutez plus d’images en augmentant les images. Pour le code dans cet exemple, utilisez la réflexion le long des axes x et y, et effectuez une rotation jusqu’à 180 degrés des images.
  • Cliquez sur Run Section pour exécuter le code.

Étape 2

Importer un modèle

Vous pouvez importer et modifier un réseau pour travailler avec vos donnés de test.

  • Importez un modèle en appelant le nom du réseau sur votre ordinateur. Si le réseau n’est pas encore installé, cliquez sur le lien qui s’affiche et téléchargez le réseau.
  • Préparez votre modèle en remplaçant les dernières couches par de nouvelles couches spécifiques à vos données. Par exemple, remplacez la couche finale entièrement connectée par une couche dont la taille de sortie est de deux, correspondant aux deux classes de données que vous souhaitez utiliser pour la classification. Veuillez noter que vous pouvez utiliser une application pour réaliser cette étape à l’aide d’une méthode glisser-déposer.
  • Cliquez sur Run Section pour exécuter le code.

Étape 3

Entraîner le modèle

Vous pouvez utiliser les données et le réseau modifié pour entraîner un nouveau classificateur d'images. Vous pouvez effectuer votre choix parmi une variété d’options d’apprentissage. L’exemple utilisé dans cette étape est une configuration d’apprentissage simple comprenant l’optimisateur, le nombre d’epoch, le taux d'apprentissage initial et le tracé. L’apprentissage d'un modèle peut demander beaucoup de temps en fonction de vos ressources GPU et CPU.

  • Si vous souhaitez entraîner le modèle, enlever les signes indiquant un commentaire sur les lignes de code appropriées et cliquer sur Run Section.
  • Si vous ne souhaitez pas entraîner le modèle, vous pouvez ignorer cette étape et charger un réseau pré-entraîné à l’étape 4 : Tester le modèle et visualiser les résultats. 

Étape 4

Tester le modèle et visualiser les résultats

Pour l’étape finale, Il vous faut charger le modèle et utiliser les données de test pour vérifier la précision du modèle.

  • Classer les données de test (créées dans l’étape 1 : charger et prétraiter les données), en utilisant la fonction classify pour classer toutes les images en une ligne de code.
  • Visualisez et comparez les résultats par rapport aux valeurs attendues. La précision correspond au calcul des réponses correctes par rapport au nombre total d’échantillons du test.
  • Lisez et classez les images individuelles, puis visualisez les résultats. Si le modèle détecte un défaut, utilisez les techniques d’IA explicable comme GradCAM pour visualiser l’emplacement du défaut dans l’image.

Points importants à retenir :

  • Utilisez un modèle flexible qui fonctionne avec de nouvelles données ou de nouvelles circonstances, et pas seulement avec les données apprises pendant l'apprentissage. 
  • Vous pouvez utiliser des techniques de visualisation pour comprendre ce que le réseau voit et ajouter une fonctionnalité de débuggage pour déterminer pourquoi le réseau se comporte de cette manière.

Vous pouvez également retrouver les étapes explicitées précédemment dans la vidéo ci-dessous :

La vidéo dure 5:18
Johanna Pingel

Contactez Johanna, experte MathWorks dans le domaine du Deep Learning