Clasificar una imagen con una red preentrenada
Este ejemplo muestra cómo clasificar una imagen usando una red neuronal convolucional profunda preentrenada, GoogLeNet.
GoogLeNet se ha entrenado con más de un millón de imágenes y puede clasificarlas en 1000 categorías de objetos (como teclado, taza de café, lápiz y muchos animales). La red ha aprendido representaciones ricas en características para una amplia gama de imágenes. La red toma una imagen como entrada y, a continuación, emite una etiqueta para el objeto de la imagen junto con las probabilidades de cada una de las categorías de objetos.
Cargar una red preentrenada
Cargue la red preentrenada GoogLeNet. También puede cargar una red preentrenada diferente para clasificar imágenes. Este paso requiere el paquete de soporte Deep Learning Toolbox™ Model for GoogLeNet Network. Si no ha instalado los paquetes de soporte requeridos, el software proporciona un enlace de descarga.
net = googlenet;
Leer una imagen y cambiar su tamaño
El tamaño de la imagen que desea clasificar debe coincidir con el tamaño de entrada de la red. El tamaño de entrada de la red GoogLeNet es la propiedad InputSize
de la capa de entrada de imagen.
Lea la imagen que desea clasificar y cambie su tamaño para que coincida con el tamaño de entrada de la red. Si cambia el tamaño, también se modificará ligeramente la relación de aspecto de la imagen.
I = imread("peppers.png");
inputSize = net.Layers(1).InputSize;
I = imresize(I,inputSize(1:2));
Clasificar y mostrar una imagen
Clasifique y muestre la imagen con la etiqueta predicha.
label = classify(net,I); figure imshow(I) title(string(label))
Para obtener un ejemplo más detallado de cómo mostrar también las predicciones más relevantes y las probabilidades asociadas a ellas, consulte Clasificar una imagen con GoogLeNet.
En los siguientes pasos de deep learning, podrá usar la red preentrenada para otras tareas. Resuelva nuevos problemas de clasificación en los datos de imagen mediante la transferencia del aprendizaje o la extracción de características. Para ver ejemplos, consulte Start Deep Learning Faster Using Transfer Learning y Train Classifiers Using Features Extracted from Pretrained Networks. Para probar otras redes preentrenadas, consulte Redes neuronales profundas preentrenadas.
Referencias
Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke y Andrew Rabinovich. "Going deeper with convolutions". 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
Consulte también
googlenet
| classify
| Deep Network Designer
Temas relacionados
- Clasificar una imagen con GoogLeNet
- Pruebe deep learning en 10 líneas de código de MATLAB
- Introducción a la transferencia del aprendizaje
- Crear una red de clasificación de imágenes sencilla utilizando Deep Network Designer
- Transferencia del aprendizaje con Deep Network Designer
- Crear una red de clasificación de imágenes sencilla
- Create Simple Sequence Classification Network Using Deep Network Designer