Обучите детектор объектов глубокого обучения 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)