Обучите детектор объектов глубокого обучения Faster R-CNN
обучает Faster R-CNN (области с нейронными сетями свертки) детектор объектов с помощью глубокого обучения. Можно обучить детектор Faster R-CNN обнаруживать несколько классов объектов.trainedDetector
= trainFasterRCNNObjectDetector(trainingData
,network
,options
)
Эта функция требует, чтобы у вас был Deep Learning Toolbox™. Рекомендуется, чтобы у вас также был Parallel Computing Toolbox™, чтобы использовать с помощью графического процессора CUDA®-enabled NVIDIA®. Для получения информации о поддерживаемом вычислите возможности, смотрите Поддержку графического процессора Релизом (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 выходной размер задает размер карт признаков выходного слоя ROI.
Сетевое имя | Имя слоя извлечения признаков | Слой объединения ROI OutputSize | Описание |
---|---|---|---|
alexnet (Deep Learning Toolbox) | 'relu5' | [6 6] | В последний раз макс. объединение слоя заменяется ROI, макс. объединяющим слой |
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, Быстрый R-CNN и Модель Faster 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] Жэнь, S. K. Он, Р. Джиршик и J. Sun. "Faster R-CNN: к обнаружению объектов в реальном времени с сетями предложения по области". Усовершенствования в нейронных системах обработки информации. Издание 28, 2015.
[2] Girshick, R. "Быстрый R-CNN". Продолжения международной конференции IEEE по вопросам компьютерного зрения, 1440-1448. Сантьяго, Чили: IEEE, 2015.
[3] Girshick, R., Дж. Донахью, Т. Даррелл и Дж. Малик. "Богатые Иерархии Функции для Точного Обнаружения объектов и Семантической Сегментации". Продолжения 2 014 Конференций по IEEE по Компьютерному зрению и Распознаванию образов, 580-587. Колумбус, OH: IEEE, 2014.
[4] Zitnick, C. L. и P. Доллар. "Поля ребра: определение местоположения объектных предложений от ребер". Компьютерное-зрение-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)