В этом примере показано, как классифицировать изображение с помощью предварительно обученной глубокой сверточной нейронной сети GoogLeNet.
GoogLeNet был обучен более чем миллиону изображений и может классифицировать изображения на 1000 категорий объектов (таких как клавиатура, кофейная кружка, карандаш и многие животные). Сеть изучила богатые представления функций для широкого спектра изображений. Сеть принимает изображение в качестве входного, а затем выводит метку для объекта в изображении вместе с вероятностями для каждой из категорий объектов.
Загрузите предварительно подготовленную сеть GoogLeNet. Можно также загрузить другую предварительно подготовленную сеть для классификации изображений. Для выполнения этого шага требуется модель Deep Learning Toolbox™ для пакета поддержки сети GoogLeNet. Если необходимые пакеты поддержки не установлены, программа предоставляет ссылку для загрузки.
net = googlenet;
Изображение, которое требуется классифицировать, должно иметь тот же размер, что и входной размер сети. Для GoogLeNet размер сетевого входа равен InputSize свойство слоя ввода изображения.
Прочитайте изображение, которое требуется классифицировать, и измените его размер до входного размера сети. Это изменение размера немного изменяет пропорции изображения.
I = imread("peppers.png");
inputSize = net.Layers(1).InputSize;
I = imresize(I,inputSize(1:2));Классифицируйте и отображайте изображение с прогнозируемой меткой.
label = classify(net,I); figure imshow(I) title(string(label))

Более подробный пример отображения верхних прогнозов с соответствующими вероятностями см. в разделе Классификация изображения с помощью GoogLeNet.
Для последующих шагов глубокого обучения можно использовать предварительно подготовленную сеть для других задач. Решите новые проблемы классификации данных изображения с помощью обучения переносу или извлечения функций. Примеры см. в разделах Ускоренное начало глубокого обучения с использованием обучающих программ и подготовка классификаторов с использованием функций, извлеченных из предварительно подготовленных сетей. Чтобы попробовать другие предварительно обученные сети, см. Предварительно обученные глубокие нейронные сети.
Сегеди, Кристиан, Вэй Лю, Янцин Цзя, Пьер Серманет, Скотт Рид, Драгомир Ангуэлов, Думитру Эрхан, Венсан Ванхуке, и Эндрю Рабинович. «Углубляюсь со свертками.» В материалах конференции IEEE по компьютерному зрению и распознаванию образов, стр. 1-9. 2015.
Модель GoogLeNet BVLC. https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
classify | Конструктор глубоких сетей | googlenet