Classificazione di immagini con una rete preaddestrata
Questo esempio mostra come classificare un’immagine con la rete neurale convoluzionale profonda preaddestrata GoogLeNet.
GoogLeNet è stata addestrata su oltre un milione di immagini ed è in grado di classificare le immagini in 1000 categorie di oggetti (ad esempio, tastiera, tazza da caffè, matita e molti animali). La rete ha appreso ricche rappresentazioni di feature per un’ampia gamma di immagini. La rete prende un’immagine come input e produce come output un’etichetta per l’oggetto all’interno dell’immagine, insieme alle probabilità che l’oggetto appartenga a ciascuna delle altre categorie di oggetti.
Caricamento della rete preaddestrata
Carica la rete preaddestrata GoogLeNet. Si può anche scegliere di caricare una rete preaddestrata diversa per la classificazione delle immagini. Per questa fase è necessario il pacchetto assistenza Deep Learning Toolbox™ Model for GoogLeNet Network. Se non si dispone del pacchetto assistenza necessario installato, il software fornisce un link di download.
net = googlenet;
Lettura e ridimensionamento delle immagini
Le dimensioni dell’immagine da classificare devono coincidere con le dimensioni di input della rete. Per GoogLeNet, le dimensioni di input della rete corrispondono alla proprietà InputSize
del livello di input dell’immagine.
Leggi l’immagine che desideri classificare e ridimensionala con le dimensioni di input della rete. Il ridimensionamento modifica leggermente il rapporto d’aspetto dell’immagine.
I = imread("peppers.png");
inputSize = net.Layers(1).InputSize;
I = imresize(I,inputSize(1:2));
Classificazione e visualizzazione delle immagini
Classifica e visualizza l’immagine con l’etichetta prevista.
label = classify(net,I); figure imshow(I) title(string(label))
Per un esempio più dettagliato su come visualizzare anche le previsioni principali con le relative probabilità, vedere Classificazione di immagini utilizzando GoogLeNet.
Per le fasi successive del Deep Learning si può utilizzare la rete preaddestrata per altre attività. Risolvi nuovi problemi di classificazione sui dati di immagini con il transfer learning o l’estrazione di feature. Per consultare gli esempi, vedere Start Deep Learning Faster Using Transfer Learning e Train Classifiers Using Features Extracted from Pretrained Networks. Per provare altre reti preaddestrate, vedere Reti neurali deep preaddestrate.
Bibliografia
Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. "Going deeper with convolutions." In 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
Vedi anche
googlenet
| classify
| Deep Network Designer
Argomenti complementari
- Classificazione di immagini utilizzando GoogLeNet
- Prova il Deep Learning in 10 righe di codice MATLAB
- Come iniziare a utilizzare il transfer learning
- Creazione di una rete di classificazione di immagini semplice con Deep Network Designer
- Transfer Learning with Deep Network Designer
- Creazione di una rete di classificazione di immagini semplice
- Creazione di una rete di classificazione di sequenze semplice con Deep Network Designer