Обучение более быстрому детектору объекта глубокого обучения R-CNN
тренирует детектор объектов Faster R-CNN (области со сверточными нейронными сетями), используя глубокое обучение. Можно обучить более быстрый детектор R-CNN обнаруживать несколько классов объектов.trainedDetector = trainFasterRCNNObjectDetector(trainingData,network,options)
Эта функция требует наличия Toolbox™ глубокого обучения. Рекомендуется также иметь Toolbox™ параллельных вычислений для использования с графическим процессором NVIDIA ® с поддержкой CUDA ®. Сведения о поддерживаемых вычислительных возможностях см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox).
[ также возвращает информацию о ходе обучения, такую как потеря и точность обучения, для каждой итерации.trainedDetector,info] = trainFasterRCNNObjectDetector(___)
возобновляет обучение с контрольной точки детектора.trainedDetector = trainFasterRCNNObjectDetector(trainingData,checkpoint,options)
продолжает обучение более быстрому детектору объектов R-CNN с дополнительными опциями тонкой настройки. Используйте этот синтаксис с дополнительными данными обучения или для выполнения дополнительных итераций обучения для повышения точности детектора.trainedDetector = trainFasterRCNNObjectDetector(trainingData,detector,options)
использует дополнительные параметры, указанные одним или несколькими trainedDetector = trainFasterRCNNObjectDetector(___,Name,Value)Name,Value пары аргументов и любого из предыдущих входных данных.
Для ускорения предварительной обработки данных для обучения, trainFastRCNNObjectDetector автоматически создает и использует параллельный пул на основе настроек параллельной настройки. Дополнительные сведения о настройке этих настроек см. в разделе Параметры параллельных настроек. Для использования настроек параллельных вычислений требуется панель инструментов параллельных вычислений.
VGG-16, VGG-19, ResNet-101 и Inception-ResNet-v2 - это большие модели. Обучение с большими изображениями может привести к ошибкам «из памяти». Чтобы устранить эти ошибки, попробуйте один или несколько из следующих вариантов:
Уменьшите размер изображений с помощью 'SmallestImageDimension"аргумент.
Уменьшите значение 'NumRegionsToSampleаргумент «имя-значение».
Эта функция поддерживает обучение переносу. При вводе network по имени, например 'resnet50', то функция автоматически преобразует сеть в действительную модель сети Faster R-CNN на основе предварительно подготовленного resnet50(Панель инструментов глубокого обучения). Либо вручную укажите пользовательскую сеть более быстрого R-CNN с помощью LayerGraph (Deep Learning Toolbox) извлекается из предварительно подготовленной сети DAG. Дополнительные сведения см. в разделе Создание более быстрой сети обнаружения объектов R-CNN.
В этой таблице описывается, как преобразовать каждую именованную сеть в более быструю сеть R-CNN. Имя уровня извлечения элементов определяет уровень для обработки на уровне пула ROI. Размер выходных данных ROI определяет размер карт элементов, выводимых уровнем объединения ROI.
| Сетевое имя | Имя слоя извлечения элементов | Размер выходного сигнала уровня пула ROI | Описание |
|---|---|---|---|
alexnet (инструментарий для глубокого обучения) | 'relu5' | [6 6] | Последний уровень максимального пула заменяется уровнем максимального пула ROI |
vgg16 (инструментарий для глубокого обучения) | 'relu5_3' | [7 7] | |
vgg19 (инструментарий для глубокого обучения) | 'relu5_4' | ||
squeezenet (инструментарий для глубокого обучения) | 'fire5-concat' | [14 14] | |
resnet18 (инструментарий для глубокого обучения) | 'res4b_relu' | Слой объединения ROI вставляется после слоя извлечения элементов. | |
resnet50 (инструментарий для глубокого обучения) | 'activation_40_relu' | ||
resnet101 (инструментарий для глубокого обучения) | 'res4b22_relu' | ||
googlenet (инструментарий для глубокого обучения) | 'inception_4d-output' | ||
mobilenetv2 (инструментарий для глубокого обучения) | 'block_13_expand_relu' | ||
inceptionv3 (инструментарий для глубокого обучения) | 'mixed7' | [17 17] | |
inceptionresnetv2 (инструментарий для глубокого обучения) | 'block17_20_ac' |
Сведения об изменении способа преобразования сети в более быструю сеть R-CNN см. в разделе Проектирование R-CNN, Fast R-CNN и более быстрой модели R-CNN.
Во время обучения несколько областей изображения обрабатываются из обучающих изображений Количество областей изображения на изображение управляется NumRegionsToSample собственность. PositiveOverlapRange и NegativeOverlapRange определяет, какие области изображения используются для обучения. Положительные обучающие образцы - это те, которые перекрываются с полями истинности земли на 0,6-1,0, что измеряется метрикой пересечения ограничивающей рамки и объединения (IoU). Отрицательные обучающие образцы - это те, которые пересекаются по 0 с 0,3. Выберите значения для этих свойств путем тестирования обученного детектора на наборе проверки.
| Перекрывающиеся значения | Описание |
|---|---|
PositiveOverlapRange установить в значение [0.6 1] | Положительные обучающие выборки устанавливаются равными выборкам, которые перекрываются с полями истинности земли на 0,6-1,0, измеряемыми метрикой IoU ограничивающей рамки. |
NegativeOverlapRange установить в значение [0 0.3] | Отрицательные обучающие пробы устанавливаются равными выборкам, перекрывающимся с полями истинности земли по 0 к 0,3. |
Если установить PositiveOverlapRange кому [0.6 1], то функция устанавливает положительные обучающие выборки равными выборкам, которые перекрываются с полями истинности земли на 0,6-1,0, измеренные метрикой IoU ограничивающего параллелепипеда. Если установить NegativeOverlapRange кому [0 0.3], то функция устанавливает отрицательные обучающие выборки равными выборкам, которые перекрываются с полями истинности земли по 0 к 0,3.
Используйте trainingOptions Функция (Deep Learning Toolbox) для включения или отключения подробной печати.
[1] Рен, С., К. Он, Р. Гирщик и Дж. Сан. «Более быстрое обнаружение объектов R-CNN: на пути к реальному времени с помощью региональных сетей предложений». Достижения в системах обработки нейронной информации. Том 28, 2015.
[2] Гиршик, Р. «Быстрый R-CNN». Материалы Международной конференции IEEE по компьютерному зрению, 1440-1448. Сантьяго, Чили: IEEE, 2015.
[3] Гиршик, Р., Дж. Донахью, Т. Даррелл и Дж. Малик. «Богатые иерархии элементов для точного обнаружения объектов и семантической сегментации». Материалы Конференции IEEE 2014 года по компьютерному зрению и распознаванию образов, 580-587. Колумбус, ОН: IEEE, 2014.
[4] Цитник, К. Л. и П. Доллар. «Поля ребер: поиск предложений объектов из ребер». Компьютерное зрение-ECCV 2014, 391-405. Цюрих, Швейцария: ECCV, 2014.
estimateAnchorBoxes | fasterRCNNLayers | objectDetectorTrainingData | trainFastRCNNObjectDetector | trainRCNNObjectDetector | trainingOptions (инструментарий для глубокого обучения)boxLabelDatastore | fasterRCNNObjectDetector | averagePooling2dLayer (инструментарий глубокого обучения) | Layer (инструментарий для глубокого обучения) | layerGraph (инструментарий для глубокого обучения) | maxPooling2dLayer (инструментарий для глубокого обучения) | SeriesNetwork (инструментарий для глубокого обучения)