Обучение детектору объекта глубокого обучения Fast R-CNN
тренирует детектор объектов Fast R-CNN (области со сверточными нейронными сетями), используя глубокое обучение. Можно обучить детектор Fast R-CNN обнаруживать несколько классов объектов.trainedDetector = trainFastRCNNObjectDetector(trainingData,network,options)
Эта функция требует наличия Toolbox™ глубокого обучения. Рекомендуется также иметь Toolbox™ параллельных вычислений для использования с графическим процессором NVIDIA ® с поддержкой CUDA ®. Сведения о поддерживаемых вычислительных возможностях см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox).
[ также возвращает информацию о ходе обучения, такую как потеря и точность обучения, для каждой итерации.trainedDetector,info] = trainFastRCNNObjectDetector(___)
возобновляет обучение с контрольной точки детектора.trainedDetector = trainFastRCNNObjectDetector(trainingData,checkpoint,options)
продолжает обучение детектора с дополнительными данными обучения или выполняет больше итераций обучения для повышения точности детектора.trainedDetector = trainFastRCNNObjectDetector(trainingData,detector,options)
дополнительно обучает функцию предложения пользовательской области, trainedDetector = trainFastRCNNObjectDetector(___,'RegionProposalFcn',proposalFcn)proposalFcn, используя любой из предыдущих входных данных. Если функция предложения не указана, то функция использует вариант алгоритма Edge Boxes [2].
использует дополнительные параметры, указанные одним или несколькими trainedDetector = trainFastRCNNObjectDetector(___,Name,Value)Name,Value аргументы пары.
Для ускорения предварительной обработки данных для обучения, trainFastRCNNObjectDetector автоматически создает и использует параллельный пул на основе настроек параллельной настройки. Дополнительные сведения о настройке этих настроек см. в разделе Параметры параллельных настроек. Для использования настроек параллельных вычислений требуется панель инструментов параллельных вычислений.
VGG-16, VGG-19, ResNet-101 и Inception-ResNet-v2 - это большие модели. Обучение с большими изображениями может привести к ошибкам «Недостаточно памяти». Чтобы устранить эти ошибки, попробуйте один или несколько из следующих вариантов:
Уменьшите размер изображений с помощью 'SmallestImageDimension"аргумент.
Уменьшите значение 'NumRegionsToSample«Значение аргумента» имя-значение «».
Эта функция поддерживает обучение переносу. При вводе network по имени, например 'resnet50', то функция автоматически преобразует сеть в действительную модель сети Fast R-CNN на основе предварительно обученной resnet50(Панель инструментов глубокого обучения). Либо вручную укажите пользовательскую сеть Fast R-CNN с помощью LayerGraph (Deep Learning Toolbox) извлекается из предварительно подготовленной сети DAG. Дополнительные сведения см. в разделе Создание сети быстрого обнаружения объектов R-CNN.
В этой таблице описывается, как преобразовать каждую именованную сеть в сеть Fast 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' |
Сведения об изменении и преобразовании сети в сеть Fast R-CNN см. в разделе Проектирование модели R-CNN, Fast R-CNN и более быстрой модели R-CNN.
Используйте trainingOptions Функция (Deep Learning Toolbox) для включения или отключения подробной печати.
[1] Гиршик, Росс. «Быстрый R-CNN». Материалы Международной конференции IEEE по компьютерному зрению. 2015.
[2] Цитник, К. Лоуренс и Петр Доллар. «Поля ребер: поиск предложений объектов из ребер». Компьютерное зрение-ECCV 2014. Springer International Publishing, 2014, стр. 391-405.
estimateAnchorBoxes | objectDetectorTrainingData | trainFasterRCNNObjectDetector | trainRCNNObjectDetector | trainingOptions (инструментарий для глубокого обучения)boxLabelDatastore | fastRCNNObjectDetector | Layer (инструментарий глубокого обучения) | SeriesNetwork (инструментарий для глубокого обучения)