Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

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))

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

Per un esempio più dettagliato su come visualizzare anche le previsioni principali con le relative probabilità, vedere Classify Image Using 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 Pretrained Deep Neural Networks.

Bibliografia

  1. 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.

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

Vedi anche

| |

Argomenti complementari