Классифицируйте изображение Используя предварительно обученную сеть

В этом примере показано, как классифицировать изображение с помощью предварительно обученной глубокой сверточной нейронной сети GoogLeNet.

GoogLeNet был обучен на более чем миллионе изображений и может классифицировать изображения в 1 000 категорий объектов (таких как клавиатура, кофейная кружка, карандаш и многие животные). Сеть изучила богатые представления функции для широкого спектра изображений. Сеть берет изображение в качестве входа, и затем выводит метку для объекта в изображении вместе с вероятностями для каждой из категорий объектов.

Загрузите предварительно обученную сеть

Загрузите предварительно обученную сеть 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);
Warning: Support for GPU devices with Compute Capability 3.0 will be removed in a future MATLAB release. For more information on GPU support, see <a href="matlab:web('http://www.mathworks.com/help/parallel-computing/gpu-support-by-release.html','-browser')">GPU Support by Release</a>.
figure
imshow(I)
title(string(label))

Для более подробного примера, показывающего, как также отобразить главные предсказания с их связанными вероятностями, смотрите, Классифицируют Изображение Используя GoogLeNet.

Для следующих шагов в глубоком обучении можно использовать предварительно обученную сеть в других задачах. Решите новые задачи классификации на своих данных изображения с передачей обучения или извлечением признаков. Для примеров смотрите, Запускают Глубокое обучение Быстрее Используя Передачу обучения и Обучают Классификаторы, использующие Функции, Извлеченные из Предварительно обученных сетей. Чтобы попробовать другие предварительно обученные сети, смотрите Предварительно обученные Глубокие нейронные сети.

Ссылки

  1. Szegedy, христианин, Вэй Лю, Янцин Цзя, Пьер Сермане, Скотт Рид, Драгомир Ангуелов, Dumitru Erhan, Винсент Вэнхук и Эндрю Рэбинович. "Идя глубже со свертками". В Продолжениях конференции по IEEE по компьютерному зрению и распознаванию образов, стр 1-9. 2015.

  2. Модель BVLC GoogLeNet. https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet

Смотрите также

| |

Похожие темы