exponenta event banner

vgg19

VGG-19 сверточная нейронная сеть

Описание

VGG-19 - сверточная нейронная сеть глубиной 19 слоев. Предварительно подготовленную версию сети можно загрузить на более чем миллион изображений из базы данных ImageNet [1]. Предварительно обученная сеть может классифицировать изображения на 1000 категорий объектов, таких как клавиатура, мышь, карандаш и многие животные. В результате сеть получила богатые представления элементов для широкого спектра изображений. Сеть имеет размер входного изображения 224 на 224. Дополнительные сведения о предварительно подготовленных сетях в MATLAB ® см. в разделе Предварительно обученные глубокие нейронные сети.

Вы можете использовать classify для классификации новых образов с использованием сети VGG-19. Выполните шаги команды «Классифицировать изображение с помощью GoogLeNet» и замените GoogLeNet на VGG-19.

Чтобы переобучить сеть на новой задаче классификации, следуйте шагам Train Deep Learning Network по классификации новых образов и загрузке VGG-19 вместо GoogLeNet.

пример

net = vgg19 возвращает VGG-19 сеть, обученную набору данных ImageNet.

Для этой функции требуется модель Deep Learning Toolbox™ для пакета поддержки VGG-19 Network. Если этот пакет поддержки не установлен, функция предоставляет ссылку для загрузки.

net = vgg19('Weights','imagenet') возвращает VGG-19 сеть, обученную набору данных ImageNet. Этот синтаксис эквивалентен net = vgg19.

layers = vgg19('Weights','none') возвращает необученную VGG-19 сетевую архитектуру. Неподготовленная модель не требует пакета поддержки.

Примеры

свернуть все

В этом примере показано, как загрузить и установить модель Deep Learning Toolbox Model для пакета поддержки VGG-19 Network.

Напечатать vgg19 в командной строке.

vgg19

Если модель Deep Learning Toolbox Model для пакета поддержки VGG-19 Network не установлена, функция предоставляет ссылку на требуемый пакет поддержки в обозревателе надстроек. Чтобы установить пакет поддержки, щелкните ссылку и нажмите кнопку Установить. Убедитесь, что установка выполнена успешно, введя vgg19 в командной строке.

vgg19
ans = 

  SeriesNetwork with properties:

    Layers: [47×1 nnet.cnn.layer.Layer]

Визуализация сети с помощью Deep Network Designer.

deepNetworkDesigner(vgg19)

Изучите другие предварительно подготовленные сети в Deep Network Designer, нажав кнопку Создать.

Если необходимо загрузить сеть, нажмите кнопку Установить, чтобы открыть обозреватель надстроек.

Загрузите предварительно обученную VGG-19 сверточную нейронную сеть и изучите слои и классы.

Использовать vgg19 для загрузки предварительно обученной сети VGG-19. Продукция net является SeriesNetwork объект.

net = vgg19
net = 
  SeriesNetwork with properties:

    Layers: [47×1 nnet.cnn.layer.Layer]

Просмотр сетевой архитектуры с помощью Layers собственность. Сеть насчитывает 47 уровней. Существует 19 слоев с обучаемыми весами: 16 сверточных слоев и 3 полностью соединенных слоя.

net.Layers
ans = 
  47x1 Layer array with layers:

     1   'input'     Image Input             224x224x3 images with 'zerocenter' normalization
     2   'conv1_1'   Convolution             64 3x3x3 convolutions with stride [1  1] and padding [1  1  1  1]
     3   'relu1_1'   ReLU                    ReLU
     4   'conv1_2'   Convolution             64 3x3x64 convolutions with stride [1  1] and padding [1  1  1  1]
     5   'relu1_2'   ReLU                    ReLU
     6   'pool1'     Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0  0  0]
     7   'conv2_1'   Convolution             128 3x3x64 convolutions with stride [1  1] and padding [1  1  1  1]
     8   'relu2_1'   ReLU                    ReLU
     9   'conv2_2'   Convolution             128 3x3x128 convolutions with stride [1  1] and padding [1  1  1  1]
    10   'relu2_2'   ReLU                    ReLU
    11   'pool2'     Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0  0  0]
    12   'conv3_1'   Convolution             256 3x3x128 convolutions with stride [1  1] and padding [1  1  1  1]
    13   'relu3_1'   ReLU                    ReLU
    14   'conv3_2'   Convolution             256 3x3x256 convolutions with stride [1  1] and padding [1  1  1  1]
    15   'relu3_2'   ReLU                    ReLU
    16   'conv3_3'   Convolution             256 3x3x256 convolutions with stride [1  1] and padding [1  1  1  1]
    17   'relu3_3'   ReLU                    ReLU
    18   'conv3_4'   Convolution             256 3x3x256 convolutions with stride [1  1] and padding [1  1  1  1]
    19   'relu3_4'   ReLU                    ReLU
    20   'pool3'     Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0  0  0]
    21   'conv4_1'   Convolution             512 3x3x256 convolutions with stride [1  1] and padding [1  1  1  1]
    22   'relu4_1'   ReLU                    ReLU
    23   'conv4_2'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    24   'relu4_2'   ReLU                    ReLU
    25   'conv4_3'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    26   'relu4_3'   ReLU                    ReLU
    27   'conv4_4'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    28   'relu4_4'   ReLU                    ReLU
    29   'pool4'     Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0  0  0]
    30   'conv5_1'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    31   'relu5_1'   ReLU                    ReLU
    32   'conv5_2'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    33   'relu5_2'   ReLU                    ReLU
    34   'conv5_3'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    35   'relu5_3'   ReLU                    ReLU
    36   'conv5_4'   Convolution             512 3x3x512 convolutions with stride [1  1] and padding [1  1  1  1]
    37   'relu5_4'   ReLU                    ReLU
    38   'pool5'     Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0  0  0]
    39   'fc6'       Fully Connected         4096 fully connected layer
    40   'relu6'     ReLU                    ReLU
    41   'drop6'     Dropout                 50% dropout
    42   'fc7'       Fully Connected         4096 fully connected layer
    43   'relu7'     ReLU                    ReLU
    44   'drop7'     Dropout                 50% dropout
    45   'fc8'       Fully Connected         1000 fully connected layer
    46   'prob'      Softmax                 softmax
    47   'output'    Classification Output   crossentropyex with 'tench' and 999 other classes

Для просмотра имен классов, полученных сетью, можно просмотреть Classes свойство выходного уровня классификации (конечный уровень). Просмотрите первые 10 классов, указав первые 10 элементов.

net.Layers(end).Classes(1:10)
ans = 10×1 categorical array
     tench 
     goldfish 
     great white shark 
     tiger shark 
     hammerhead 
     electric ray 
     stingray 
     cock 
     hen 
     ostrich 

Выходные аргументы

свернуть все

Предварительно обученная VGG-19 сверточная нейронная сеть вернулась в качестве SeriesNetwork объект.

Необученная VGG-19 сверточная нейронная сетевая архитектура, возвращенная как Layer массив.

Ссылки

[1] ImageNet. http://www.image-net.org

[2] Руссаковский, О., Денг, Дж., Су, Х., и др. «Задача масштабного визуального распознавания ImageNet». Международный журнал компьютерного зрения (IJCV). Том 115, выпуск 3, 2015, стр. 211-252

[3] Симоньян, Карен и Эндрю Зиссерман. «Очень глубокие сверточные сети для крупномасштабного распознавания изображений» .arXiv препринт arXiv:1409.1556 (2014).

[4] Очень глубокие сверточные сети для масштабного визуального распознавания http://www.robots.ox.ac.uk/~vgg/research/very_deep/

Расширенные возможности

..
Представлен в R2017a