Обучите детектор объектов глубокого обучения Faster R-CNN
обучает детектор объектов Faster R-CNN (области со сверточными нейронными сетями) с помощью глубокого обучения. Можно обучить детектор Faster R-CNN обнаруживать несколько классов объектов.trainedDetector
= trainFasterRCNNObjectDetector(trainingData
,network
,options
)
Эта функция требует, чтобы у вас были Deep Learning Toolbox™. Рекомендуется также иметь Parallel Computing Toolbox™ для использования с CUDA®-активный NVIDIA® ГРАФИЧЕСКИЙ ПРОЦЕССОР. Для получения информации о поддерживаемых вычислительных возможностях смотрите Поддержку GPU by Release (Parallel Computing Toolbox).
[
также возвращает информацию о процессе обучения, таком как потеря обучения и точность, для каждой итерации.trainedDetector
,info
] = trainFasterRCNNObjectDetector(___)
возобновляет обучение с контрольной точки детектора.trainedDetector
= trainFasterRCNNObjectDetector(trainingData
,checkpoint
,options
)
продолжает обучение детектора объектов Faster R-CNN с дополнительными опциями подстройки. Используйте этот синтаксис с дополнительными обучающими данными или чтобы выполнить больше итераций обучения, чтобы улучшить точность детектора.trainedDetector
= trainFasterRCNNObjectDetector(trainingData
,detector
,options
)
использует дополнительные опции, заданные одним или несколькими trainedDetector
= trainFasterRCNNObjectDetector(___,Name,Value
)Name,Value
аргументы в виде пар и любой из предыдущих входов.
Чтобы ускорить предварительную обработку данных для обучения, trainFastRCNNObjectDetector
автоматически создает и использует параллельный пул на основе параметров параллельных выборов. Для получения дополнительной информации о настройке этих настроек см. параметры параллельных выборов. Для использования настроек параллельных вычислений требуется Parallel Computing Toolbox.
VGG-16, VGG-19, ResNet-101 и Inception-ResNet-v2 являются большими моделями. Обучение с большими изображениями может привести к ошибкам «out-of-memory». Чтобы уменьшить эти ошибки, попробуйте один или несколько из следующих опций:
Уменьшите размер изображений при помощи 'SmallestImageDimension
'аргумент.
Уменьшите значение 'NumRegionsToSample
'имя-значение аргумента.
Эта функция поддерживает передачу обучения. Когда вы вводите network
по имени, такому как 'resnet50'
, затем функция автоматически преобразует сеть в действительную модель сети Faster R-CNN на основе предварительно обученной resnet50
(Deep Learning Toolbox) модель. Кроме того, вручную задайте пользовательскую сеть Faster R-CNN при помощи LayerGraph
(Deep Learning Toolbox) извлечен из предварительно обученной сети DAG. Для получения дополнительной информации смотрите Создание сети обнаружения объектов Faster R-CNN.
Эта таблица описывает, как преобразовать каждую именованную сеть в сеть Faster R-CNN. Имя слоя редукции данных задает слой для обработки слоем объединения ROI. Выходной размер информации только для чтения задает размер карт функций, выводимых слоем объединения информации только для чтения.
Имя сети | Имя слоя редукции данных | ROI Booling Layer OutputSize (Выходной размер слоя объединения ROI) | Описание |
---|---|---|---|
alexnet (Deep Learning Toolbox) | 'relu5' | [6 6] | Последний максимальный слой объединения заменяется информацией только для чтения максимальный слой объединения |
vgg16 (Deep Learning Toolbox) | 'relu5_3' | [7 7] | |
vgg19 (Deep Learning Toolbox) | 'relu5_4' | ||
squeezenet (Deep Learning Toolbox) | 'fire5-concat' | [14 14] | |
resnet18 (Deep Learning Toolbox) | 'res4b_relu' | Слой объединения ROI вставляется после слоя редукции данных. | |
resnet50 (Deep Learning Toolbox) | 'activation_40_relu' | ||
resnet101 (Deep Learning Toolbox) | 'res4b22_relu' | ||
googlenet (Deep Learning Toolbox) | 'inception_4d-output' | ||
mobilenetv2 (Deep Learning Toolbox) | 'block_13_expand_relu' | ||
inceptionv3 (Deep Learning Toolbox) | 'mixed7' | [17 17] | |
inceptionresnetv2 (Deep Learning Toolbox) | 'block17_20_ac' |
Для получения информации об изменении преобразования сети в сеть Faster R-CNN, смотрите Проект R-CNN, Fast R-CNN и Модель Faster R-CNN.
Во время обучения из обучающих изображений обрабатываются несколько областей изображения. Количество регионов изображения на изображение контролируется NumRegionsToSample
свойство. The 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] Ren, S., K. He, R. Girschick, and J. Sun. «Faster R-CNN: To Real-Time Обнаружения объектов with Области Opporation Networks». Усовершенствования в системах нейронной обработки информации. Том 28, 2015.
[2] Гиршик, Р. «Быстрый R-CNN». Материалы Международной конференции IEEE по компьютерному зрению, 1440-1448. Сантьяго, Чили: IEEE, 2015.
[3] Гиршик, Р., Дж. Донахью, Т. Даррелл и Дж. Малик. «Богатые иерархии функций для точного обнаружения объектов и семантической сегментации». Материалы Конференции IEEE по компьютерному зрению и распознаванию шаблонов 2014 года, 580-587. Columbus, OH: IEEE, 2014.
[4] Zitnick, C. L., and P. Dollar. «Краевые рамки: определение местоположения предложений объектов с ребер». Computer Vision-ECCV 2014, 391-405. Цюрих, Швейцария: ECCV, 2014.
estimateAnchorBoxes
| fasterRCNNLayers
| objectDetectorTrainingData
| trainFastRCNNObjectDetector
| trainRCNNObjectDetector
| trainingOptions
(Deep Learning Toolbox)boxLabelDatastore
| fasterRCNNObjectDetector
| averagePooling2dLayer
(Deep Learning Toolbox) | Layer
(Deep Learning Toolbox) | layerGraph
(Deep Learning Toolbox) | maxPooling2dLayer
(Deep Learning Toolbox) | SeriesNetwork
(Deep Learning Toolbox)