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))
Vous trouverez un exemple plus détaillé indiquant comment afficher également les meilleurs prédictions avec leurs probabilités sous Classify Image Using 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
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.
BVLC GoogLeNet Model. https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
Voir aussi
googlenet
| classify
| Deep Network Designer
Sujets associés
- Classify Image Using GoogLeNet
- Essayer le Deep Learning en 10 lignes de code MATLAB
- En savoir plus sur l’apprentissage par transfert
- Créer un réseau simple de classification d’images avec Deep Network Designer
- Transfer Learning with Deep Network Designer
- Créer un réseau simple de classification d’image
- Utiliser Deep Network Designer pour créer un réseau simple de classification de séquences