darknet53

Cверточная нейронная сеть DarkNet-53

Описание

DarkNet-53 является сверточной нейронной сетью, глубина которой составляет 53 слоя. Можно загрузить предварительно обученную версию сети, обученной больше чем на миллионе изображений от базы данных ImageNet [1]. Предварительно обученная сеть может классифицировать изображения в 1 000 категорий объектов, таких как клавиатура, мышь, карандаш и многие животные. В результате сеть изучила богатые представления функции для широкого спектра изображений. Сеть имеет входной размер изображений 256 256. Для большего количества предварительно обученных сетей в MATLAB® смотрите Предварительно обученные Глубокие нейронные сети.

Можно использовать classify классифицировать новые изображения с помощью модели DarkNet-53. Выполните шаги, Классифицируют Изображение Используя GoogLeNet и заменяют GoogLeNet на DarkNet-53.

Чтобы переобучить сеть на новой задаче классификации, выполните шаги, Обучают Нейронную сеть для глубокого обучения Классифицировать Новые Изображения и загружать DarkNet-53 вместо GoogLeNet.

DarkNet-53 часто используется в качестве основы для проблем обнаружения объектов и рабочих процессов YOLO [2]. Для примера того, как обучить вы только смотрите однажды (YOLO) v2 детектор объектов, смотрите, что Обнаружение объектов Использует глубокое обучение YOLO v2. Этот пример использует ResNet-50 для извлечения признаков. Можно также использовать другие предварительно обученные сети, такие как даркнет 19, DarkNet-53, MobileNet-v2 или ResNet-18 в зависимости от требований к приложению.

пример

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

Эта функция требует Модели Deep Learning Toolbox™ для пакета Сетевой поддержки DarkNet-53. Если этот пакет поддержки не установлен, то функция обеспечивает ссылку на загрузку.

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

lgraph = darknet53('Weights','none') возвращает нетренированную архитектуру сети DarkNet-53. Нетренированная модель не требует пакета поддержки.

Примеры

свернуть все

Загрузите и установите Модель Deep Learning Toolbox для пакета Сетевой поддержки DarkNet-53.

Введите darknet53 в командной строке.

darknet53

Если Модель Deep Learning Toolbox для пакета Сетевой поддержки DarkNet-53 не установлена, то функция обеспечивает ссылку на необходимый пакет поддержки в Add-On Explorer. Чтобы установить пакет поддержки, щелкните по ссылке, и затем нажмите Install. Проверяйте, что установка успешна путем ввода darknet53 в командной строке. Если необходимый пакет поддержки установлен, то функция возвращает DAGNetwork объект.

darknet53
ans = 

  DAGNetwork with properties:

         Layers: [184×1 nnet.cnn.layer.Layer]
    Connections: [206×2 table]
     InputNames: {'input'}
    OutputNames: {'output'}

Можно использовать передачу обучения, чтобы переобучить сеть, чтобы классифицировать новый набор изображений.

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

Загрузите сеть DarkNet-53 вместо GoogLeNet.

net = darknet53

Выполните остающиеся шаги в примере, чтобы переобучить вашу сеть. Необходимо заменить последний learnable слой и слой классификации в сети с новыми слоями для обучения. Пример показывает вам, как найти который слои заменить.

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

свернуть все

Предварительно обученная сверточная нейронная сеть DarkNet-53, возвращенная как DAGNetwork объект.

Нетренированная архитектура сверточной нейронной сети DarkNet-53, возвращенная как LayerGraph объект.

Ссылки

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

[2] Redmon, Джозеф. “Даркнет: Нейронные сети С открытым исходным кодом в C.” https://pjreddie.com/darknet.

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

Введенный в R2020a