Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Classer une image avec un réseau préentraîné

Cet exemple indique comment classer une image avec le réseau de neurones à convolution préentraîné GoogLeNet.

GoogLeNet a été entraîné sur plus d’un million d'images et peut classer des images dans 1 000 catégories d’objets (par exemple un clavier, une tasse à café, un crayon et de nombreux animaux). Ce réseau a appris des représentations avec de nombreuses caractéristiques pour une grande variété d’images. Le réseau utilise une image comme entrée puis produit une étiquette pour l’objet dans l’image avec les probabilités pour chaque catégorie d’objet.

Charger un réseau préentraîné

Chargez le réseau GoogLeNet préentraîné. Vous pouvez également choisir de charger un autre réseau préentraîné pour la classification des images. Cette opération nécessite le support package Deep Learning Toolbox™ Model for GoogLeNet Network. Si les support packages requis ne sont pas installés, le logiciel propose un lien de téléchargement.

net = googlenet;

Lire et redimensionner une image

L’image que vous voulez classer doit avoir la même taille que la taille en entrée du réseau. Pour GoogLeNet, la taille des entrées du réseau est la propriété InputSize de la couche d’entrée des images.

Lisez l’image que vous voulez classer et redimensionnez-la à la taille en entrée du réseau. Ce redimensionnement modifie légèrement le ratio d’aspect de l’image.

I = imread("peppers.png");
inputSize = net.Layers(1).InputSize;
I = imresize(I,inputSize(1:2));

Classer et afficher une image

Classez et affichez l’image avec l’étiquette prédite.

label = classify(net,I);
figure
imshow(I)
title(string(label))

Figure contains an axes object. The axes object with title bell pepper contains an object of type image.

Vous trouverez un exemple plus détaillé indiquant comment afficher également les meilleurs prédictions avec leurs probabilités sous Classer une image avec GoogLeNet.

Pour les étapes suivantes du Deep Learning, vous pouvez utiliser le réseau préentraîné pour d’autres tâches. Résolvez de nouveaux problèmes de classification sur vos images avec l’apprentissage par transfert ou l’extraction de caractéristiques. Vous trouverez des exemples dans Start Deep Learning Faster Using Transfer Learning et Train Classifiers Using Features Extracted from Pretrained Networks. Pour essayer d’autres réseaux préentraînés, consultez Pretrained Deep Neural Networks.

Références

  1. Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke et Andrew Rabinovich. « Going deeper with convolutions. » Dans Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1-9. 2015.

  2. BVLC GoogLeNet Model. https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet

Voir aussi

| |

Sujets associés