trainFasterRCNNObjectDetector

Обучите Более быстрый детектор объекта глубокого обучения R-CNN

Синтаксис

trainedDetector = trainFasterRCNNObjectDetector(trainingData,network,options)
trainedDetector = trainFasterRCNNObjectDetector(trainingData,checkpoint,options)
trainedDetector = trainFasterRCNNObjectDetector(trainingData,detector,options)
trainedDetector = trainFasterRCNNObjectDetector(___,Name,Value)
[trainedDetector,info] = trainFasterRCNNObjectDetector(___)

Описание

пример

trainedDetector = trainFasterRCNNObjectDetector(trainingData,network,options) обучает Более быстрый R-CNN (области с нейронными сетями свертки) объектный детектор с помощью переменного учебного метода с четырьмя шагами в глубоком обучении [1]. Можно обучить Более быстрый детектор R-CNN обнаруживать несколько классов объектов.

Эта функция требует, чтобы у вас был Deep Learning Toolbox™. Рекомендуется, чтобы у вас также был Parallel Computing Toolbox™, чтобы использовать с графическим процессором CUDA®-enabled NVIDIA® с, вычисляют возможность 3.0 или выше.

trainedDetector = trainFasterRCNNObjectDetector(trainingData,checkpoint,options) обучение резюме от контрольной точки детектора.

trainedDetector = trainFasterRCNNObjectDetector(trainingData,detector,options) продолжает обучение детектор объекта Faster R-CNN. Используйте этот синтаксис для подстройки детектора.

trainedDetector = trainFasterRCNNObjectDetector(___,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары Name,Value и любыми из предыдущих входных параметров.

[trainedDetector,info] = trainFasterRCNNObjectDetector(___) также возвращает информацию об учебном прогрессе, таком как учебная потеря и точность, для каждой итерации.

Примеры

свернуть все

Загрузите данные тренировки.

data = load('fasterRCNNVehicleTrainingData.mat');

trainingData = data.vehicleTrainingData;

trainingData.imageFilename = fullfile(toolboxdir('vision'),'visiondata', ...
    trainingData.imageFilename);

Слои сети Setup.

layers = data.layers
layers = 

  11x1 Layer array with layers:

     1   ''   Image Input             32x32x3 images with 'zerocenter' normalization
     2   ''   Convolution             32 3x3 convolutions with stride [1  1] and padding [1  1  1  1]
     3   ''   ReLU                    ReLU
     4   ''   Convolution             32 3x3 convolutions with stride [1  1] and padding [1  1  1  1]
     5   ''   ReLU                    ReLU
     6   ''   Max Pooling             3x3 max pooling with stride [2  2] and padding [0  0  0  0]
     7   ''   Fully Connected         64 fully connected layer
     8   ''   ReLU                    ReLU
     9   ''   Fully Connected         2 fully connected layer
    10   ''   Softmax                 softmax
    11   ''   Classification Output   crossentropyex

Сконфигурируйте опции обучения.

  • Понизьте InitialLearnRate, чтобы уменьшать уровень, на котором изменяются сетевые параметры.

  • Установите CheckpointPath сохранять контрольные точки детектора во временную директорию. Измените это на другое местоположение при необходимости.

  • Установите MaxEpochs на 1 уменьшать время обучения в качестве примера. Увеличьте это до 10 для соответствующего обучения.

 options = trainingOptions('sgdm', ...
      'MiniBatchSize', 1, ...
      'InitialLearnRate', 1e-3, ...
      'MaxEpochs', 5, ...
      'VerboseFrequency', 200, ...
      'CheckpointPath', tempdir);

Обучите детектор. Обучение займет несколько минут.

detector = trainFasterRCNNObjectDetector(trainingData, layers, options)
Starting parallel pool (parpool) using the 'local' profile ...
connected to 12 workers.
*************************************************************************
Training a Faster R-CNN Object Detector for the following object classes:

* vehicle

Step 1 of 4: Training a Region Proposal Network (RPN).
Training on single GPU.
|=======================================================================================================|
|  Epoch  |  Iteration  |  Time Elapsed  |  Mini-batch  |  Mini-batch  |  Mini-batch  |  Base Learning  |
|         |             |   (hh:mm:ss)   |     Loss     |   Accuracy   |     RMSE     |      Rate       |
|=======================================================================================================|
|       1 |           1 |       00:00:06 |       1.5273 |       53.91% |         0.92 |          0.0010 |
|       1 |         200 |       00:00:27 |       1.6777 |       50.00% |         0.83 |          0.0010 |
|       2 |         400 |       00:00:48 |       1.1392 |      100.00% |         1.05 |          0.0010 |
|       3 |         600 |       00:01:08 |       1.8571 |      100.00% |         1.50 |          0.0010 |
|       3 |         800 |       00:01:27 |       2.4457 |      100.00% |         1.82 |          0.0010 |
|       4 |        1000 |       00:01:48 |       0.5591 |      100.00% |         0.66 |          0.0010 |
|       5 |        1200 |       00:02:11 |       2.4903 |      100.00% |         1.93 |          0.0010 |
|       5 |        1400 |       00:02:30 |       0.7697 |      100.00% |         0.84 |          0.0010 |
|       5 |        1475 |       00:02:37 |       0.5513 |      100.00% |         0.68 |          0.0010 |
|=======================================================================================================|

Step 2 of 4: Training a Fast R-CNN Network using the RPN from step 1.
*******************************************************************
Training a Fast R-CNN Object Detector for the following object classes:

* vehicle

--> Extracting region proposals from 295 training images...done.

Training on single GPU.
|=======================================================================================================|
|  Epoch  |  Iteration  |  Time Elapsed  |  Mini-batch  |  Mini-batch  |  Mini-batch  |  Base Learning  |
|         |             |   (hh:mm:ss)   |     Loss     |   Accuracy   |     RMSE     |      Rate       |
|=======================================================================================================|
|       1 |           1 |       00:00:02 |       0.9051 |       75.78% |         0.93 |          0.0010 |
|       1 |         200 |       00:00:19 |       0.2377 |       92.31% |         0.71 |          0.0010 |
|       2 |         400 |       00:00:37 |       0.2268 |       92.45% |         0.53 |          0.0010 |
|       3 |         600 |       00:00:54 |       0.3148 |       89.92% |         0.70 |          0.0010 |
|       3 |         800 |       00:01:11 |       0.2093 |       91.41% |         0.56 |          0.0010 |
|       4 |        1000 |       00:01:27 |       0.1125 |       97.66% |         1.02 |          0.0010 |
|       5 |        1200 |       00:01:46 |       0.4125 |       91.41% |         0.82 |          0.0010 |
|       5 |        1400 |       00:02:03 |       0.2403 |       91.41% |         0.64 |          0.0010 |
|       5 |        1445 |       00:02:07 |       0.9817 |       76.56% |         0.82 |          0.0010 |
|=======================================================================================================|

Step 3 of 4: Re-training RPN using weight sharing with Fast R-CNN.
Training on single GPU.
|=======================================================================================================|
|  Epoch  |  Iteration  |  Time Elapsed  |  Mini-batch  |  Mini-batch  |  Mini-batch  |  Base Learning  |
|         |             |   (hh:mm:ss)   |     Loss     |   Accuracy   |     RMSE     |      Rate       |
|=======================================================================================================|
|       1 |           1 |       00:00:00 |       1.0772 |      100.00% |         1.01 |          0.0010 |
|       1 |         200 |       00:00:18 |       2.4481 |      100.00% |         1.86 |          0.0010 |
|       2 |         400 |       00:00:36 |       1.3111 |       50.78% |         0.72 |          0.0010 |
|       3 |         600 |       00:00:54 |       0.5687 |      100.00% |         0.71 |          0.0010 |
|       3 |         800 |       00:01:12 |       0.7452 |       97.66% |         0.81 |          0.0010 |
|       4 |        1000 |       00:01:30 |       0.8767 |       97.66% |         0.82 |          0.0010 |
|       5 |        1200 |       00:01:49 |       1.2515 |       94.53% |         1.15 |          0.0010 |
|       5 |        1400 |       00:02:07 |       0.6098 |       98.44% |         0.73 |          0.0010 |
|       5 |        1475 |       00:02:14 |       0.5851 |      100.00% |         0.73 |          0.0010 |
|=======================================================================================================|

Step 4 of 4: Re-training Fast R-CNN using updated RPN.
*******************************************************************
Training a Fast R-CNN Object Detector for the following object classes:

* vehicle

--> Extracting region proposals from 295 training images...done.

Training on single GPU.
|=======================================================================================================|
|  Epoch  |  Iteration  |  Time Elapsed  |  Mini-batch  |  Mini-batch  |  Mini-batch  |  Base Learning  |
|         |             |   (hh:mm:ss)   |     Loss     |   Accuracy   |     RMSE     |      Rate       |
|=======================================================================================================|
|       1 |           1 |       00:00:00 |       0.1679 |       96.88% |         0.51 |          0.0010 |
|       1 |         200 |       00:00:15 |       0.1168 |       96.40% |         0.64 |          0.0010 |
|       2 |         400 |       00:00:31 |       0.1058 |       97.66% |         0.57 |          0.0010 |
|       3 |         600 |       00:00:47 |       0.1568 |       95.31% |         0.45 |          0.0010 |
|       3 |         800 |       00:01:03 |       0.0710 |       99.22% |         0.65 |          0.0010 |
|       4 |        1000 |       00:01:18 |       0.1159 |       93.75% |         0.55 |          0.0010 |
|       5 |        1200 |       00:01:36 |       0.0874 |       98.44% |         0.59 |          0.0010 |
|       5 |        1400 |       00:01:51 |       0.0827 |       99.22% |         0.69 |          0.0010 |
|       5 |        1470 |       00:01:57 |       0.0778 |       99.22% |         0.43 |          0.0010 |
|=======================================================================================================|

Detector training complete.
*******************************************************************



detector = 

  fasterRCNNObjectDetector with properties:

        ModelName: 'vehicle'
          Network: [1×1 DAGNetwork]
      AnchorBoxes: [5×2 double]
       ClassNames: {'vehicle'  'Background'}
    MinObjectSize: [1 1]

Протестируйте Быстрый детектор R-CNN на тестовом изображении.

img = imread('highway.png');

Запустите детектор.

[bbox, score, label] = detect(detector, img);

Отобразите результаты обнаружения.

detectedImg = insertShape(img, 'Rectangle', bbox);
figure
imshow(detectedImg)

Входные параметры

свернуть все

Маркированные наземные изображения истины, заданные как таблица с двумя или больше столбцами. Первый столбец должен содержать пути и имена файлов к полутоновому или истинному цвету (RGB) изображения. Остальные столбцы должны содержать ограничительные рамки, связанные с соответствующим изображением. Каждый столбец представляет класс отдельного объекта, такой как автомобиль, собака, цветок или знак Стоп.

Каждая ограничительная рамка должна быть в формате [x y width height]. Формат задает местоположение верхнего левого угла и размер объекта в соответствующем изображении. Имя табличной переменной задает имя класса объекта. Чтобы создать наземную таблицу истинности, используйте приложение Video Labeler или Image Labeler.

Сеть, заданная как SeriesNetwork, массив объектов Layer, объекта layerGraph, или сетевым именем. Сеть обучена, чтобы классифицировать классы объектов, заданные на таблицу trainingData. SeriesNetwork, Layer и объекты layerGraph доступны в Deep Learning Toolbox.

  • Когда вы задаете сеть как SeriesNetwork, массив объектов Layer, или сетевым именем, сеть автоматически преобразовывается в сеть Faster R-CNN путем добавления сети предложения по области (RPN), ROI, макс. объединяющий слой, и новую классификацию и слои регрессии, чтобы поддержать обнаружение объектов. Кроме того, свойство GridSize ROI, макс. объединяющего слой, установлено в выходной размер последнего макс. слоя объединения в сети.

  • Массив объектов Layer должен содержать слой классификации, который поддерживает количество классов объектов плюс фоновый класс. Используйте этот входной тип, чтобы настроить темпы обучения каждого слоя. Пример массива объектов Layer:

    layers = [imageInputLayer([28 28 3])
            convolution2dLayer([5 5],10)
            reluLayer()
            fullyConnectedLayer(10)
            softmaxLayer()
            classificationLayer()];
    

  • Когда вы задаете сеть как SeriesNetwork, массив Layer, или сеть по наименованию, веса для дополнительной свертки и полносвязных слоев инициализируются к 'narrow-normal'. Функция добавляет эти веса, чтобы создать сеть.

  • Сетевое имя должно быть одним из следующих допустимых имен сетей. Необходимо также установить соответствующее Дополнение.

    Сетевое имяИмя слоя выделения признаковСлой объединения ROI OutputSizeОписание
    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'

  • Объект LayerGraph должен быть допустимой Более быстрой сетью обнаружения объектов R-CNN. Можно также использовать объект LayerGraph обучить пользовательскую сеть Faster R-CNN.

    Совет

    Если вашей сетью является DAGNetwork, используйте функцию layerGraph, чтобы преобразовать сеть в объект LayerGraph. Затем создайте пользовательскую сеть Faster R-CNN, как описано Создаванием Более быстрого примера Сети Обнаружения объектов R-CNN.

Смотрите R-CNN, Быстрый R-CNN и Более быстрые Основы R-CNN, чтобы узнать больше, как создать сеть Faster R-CNN.

Опции обучения, возвращенные trainingOptions, функционируют от Deep Learning Toolbox. Чтобы задать решатель и другие опции для сетевого обучения, используйте trainingOptions.

Примечание

trainFasterRCNNObjectDetector не поддерживает эти опции обучения:

  • Значение Plots: 'training-progress'

  • ValidationData, ValidationFrequency или опции ValidationPatience

  • Опция OutputFcn.

Сохраненная контрольная точка детектора, заданная как объект fasterRCNNObjectDetector. Чтобы сохранить детектор после каждой эпохи, установите свойство 'CheckpointPath' при использовании функции trainingOptions. При сохранении контрольной точки после того, как рекомендуется каждая эпоха, потому что сетевое обучение может занять несколько часов.

Чтобы загрузить контрольную точку для ранее обученного детектора, загрузите MAT-файл от пути к контрольной точке. Например, если свойством 'CheckpointPath' options является '/tmp', загрузите использование MAT-файла контрольной точки:

data = load('/tmp/faster_rcnn_checkpoint__105__2016_11_18__14_25_08.mat');

Имя MAT-файла включает номер итерации и метку времени того, когда контрольная точка детектора была сохранена. Детектор сохранен в переменной detector файла. Пасуйте назад этот файл в функцию trainFasterRCNNObjectDetector:

frcnn = trainFasterRCNNObjectDetector(stopSigns,...
                           data.detector,options);

Ранее обученный детектор объекта Faster R-CNN, заданный как объект fasterRCNNObjectDetector. Используйте этот синтаксис, чтобы продолжить обучение детектор с дополнительными данными тренировки или выполнить больше учебных итераций, чтобы улучшить точность детектора.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'PositiveOverlapRange',[0.75 1]

Отношения перекрытия ограничительной рамки для положительных учебных выборок, заданных как пара, разделенная запятой, состоящая из 'PositiveOverlapRange' и одно из следующего:

  • Двухэлементный вектор, который задает идентичное отношение перекрытия для всех четырех учебных этапов.

  • 4 2 матрица, где каждая строка задает отношение перекрытия для каждого из четырех учебных этапов.

Значения находятся в области значений [0,1]. Предложения по области, которые накладываются с наземными ограничительными рамками истины в заданной области значений, используются в качестве положительных учебных выборок.

Отношение перекрытия, используемое и для PositiveOverlapRange и для NegativeOverlapRange, задано как:

area(AB)area(AB)


A и B являются ограничительными рамками.

Отношения перекрытия ограничительной рамки для отрицательных учебных выборок, заданных как пара, разделенная запятой, состоящая из NegativeOverlapRange и одно из следующих.

  • Двухэлементный вектор, который задает идентичное отношение перекрытия для всех четырех учебных этапов.

  • 4 2 матрица, где каждая строка задает отношение перекрытия для каждого из четырех учебных этапов.

Значения являются областью значений [0,1]. Предложения по области, которые накладываются с наземными ограничительными рамками истины в заданной области значений, используются в качестве отрицательных учебных выборок.

Отношение перекрытия, используемое и для PositiveOverlapRange и для NegativeOverlapRange, задано как:

area(AB)area(AB)


A и B являются ограничительными рамками.

Максимальное количество самых сильных предложений по области использовать для генерации учебных выборок, заданных как пара, разделенная запятой, состоящая из 'NumStrongestRegions' и положительного целого числа. Уменьшайте это значение, чтобы ускорить время вычислений за счет учебной точности. Чтобы использовать все предложения по области, установите это значение к Inf.

Количество предложений по области к случайным образом демонстрационному от каждого учебного изображения, заданного как целое число. Сократите количество областей к выборке, чтобы уменьшать обучение ускорения и использование памяти. Сокращение значения может также уменьшить учебную точность.

Длина самого маленького размера изображения, или ширина или высота, заданная как пара, разделенная запятой, состоящая из 'SmallestImageDimension' и положительного целого числа. Учебные изображения изменены таким образом, что длина самой короткой размерности равна заданному целому числу. По умолчанию учебные изображения не изменены. Изменение размеров учебных изображений помогает уменьшать вычислительные затраты и память, используемую, когда учебные изображения являются большими. Типичные значения колеблются от 400-600 пикселей.

Минимальные размеры поля привязки раньше создавали пирамиду поля привязки сети предложения по области (RPN), заданной как пара, разделенная запятой, состоящая of'MinBoxSizes' и m-by-2 матрица. Каждая строка задает [height width] поля привязки.

Установка 'auto' по умолчанию использует минимальный размер и среднее соотношение сторон от ограничительных рамок для каждого класса в наземных данных об истине. Чтобы удалить избыточные размеры поля, функция сохраняет поля, которые имеют пересечение по объединению, которое меньше чем или равно 0,5. Это поведение гарантирует, что минимальное количество полей привязки используется, чтобы покрыть все размеры объекта и соотношения сторон.

Когда поля привязки вычисляются на основе MinBoxSizes, i th размер поля привязки:

round(MinBoxSizes(i,:) .* BoxPyramidScale ,^ (0:NumBoxPyramidLevels-1)')
Вы не можете использовать это свойство, если вы устанавливаете сеть на объект LayerGraph или если вы возобновляете обучение от контрольной точки детектора.

Масштабный коэффициент пирамиды поля привязки, используемый, чтобы последовательно увеличить масштаб размеры поля привязки, заданные как пара, разделенная запятой, состоящая из 'BoxPyramidScale' и скаляра. Рекомендуемые значения от 1 до 2. Увеличьте это значение для более быстрых результатов. Сократите число для большей точности.

Количество уровней в пирамиде поля привязки, заданной как пара, разделенная запятой, состоящая из 'NumBoxPyramidLevels' и скаляра. Выберите значение, которое гарантирует, что многошкальные поля привязки сопоставимы в размере с размером объектов в наземных данных об истине.

Настройка по умолчанию, 'auto', выбирает количество уровней на основе размера объектов в наземных данных об истине. Количество уровней выбрано таким образом, что оно покрывает область значений размеров объекта.

Замороженная пакетная нормализация во время обучения, заданного как пара, разделенная запятой, состоящая из 'FreezeBatchNormalization' и true или false. Значение указывает, замораживаются ли входные слои к сети во время обучения. Установите это значение к true, если вы - обучение с небольшим мини-пакетным размером. Небольшие пакетные размеры приводят к плохим оценкам пакетного среднего значения и отклонения, которое требуется для эффективной пакетной нормализации.

Если вы не задаете значение для 'FreezeBatchNormalization', функция устанавливает свойство на

  • true, если аргумент значения имени 'MiniBatchSize' для функции trainingOptions является меньше, чем 8.

  • false, если аргумент значения имени 'MiniBatchSize' для функции trainingOptions больше, чем или равен 8.

Необходимо задать значение для 'FreezeBatchNormalization' сверхъязю это поведение по умолчанию.

Выходные аргументы

свернуть все

Обученный детектор объекта Faster R-CNN, возвращенный как объект fasterRCNNObjectDetector.

Учебная информация, возвращенная как массив структур с четырьмя элементами. Каждый элемент соответствует этапу учебного Более быстрого R-CNN и имеет следующие поля. Каждое поле является числовым вектором с одним элементом на учебную итерацию. Значения, которые не были вычислены в определенной итерации, представлены NaN.

  • TrainingLoss — Учебная потеря в каждой итерации. Это - комбинация классификации, и потеря регрессии раньше обучала сеть Faster R-CNN.

  • TrainingAccuracy — Точность набора обучающих данных в каждой итерации

  • TrainingRMSE — Учебная среднеквадратичная ошибка (RMSE) для слоя регрессии поля

  • BaseLearnRate — Темп обучения в каждой итерации

Советы

  • Чтобы ускорить предварительную обработку данных для обучения, trainFastRCNNObjectDetector автоматически создает и использует параллельный пул на основе ваших параллельных настроек настройки. Для получения дополнительной информации об установке этих настроек, смотрите параллельные настройки настройки. Используя параллельные вычисления настройки требует Parallel Computing Toolbox.

  • VGG-16, VGG-19, ResNet-101 и Inception-ResNet-v2 являются большими моделями. Обучение с большими изображениями может произвести "Из Памяти" ошибки. Чтобы смягчить эти ошибки, попробуйте один или несколько из этих опций:

    • Уменьшайте размер своих изображений при помощи аргумента 'SmallestImageDimension'.

    • Уменьшите значение аргумента значения имени 'NumRegionsToSample'.

  • Эта функция поддерживает изучение передачи. При вводе network по наименованию, такой как 'resnet50', затем функция автоматически преобразовывает сеть в допустимую Более быструю сетевую модель R-CNN на основе предварительно обученной модели resnet50. Также вручную задайте пользовательскую сеть Faster R-CNN при помощи LayerGraph, извлеченного от предварительно обученной сети DAG. Для получения дополнительной информации смотрите, Создают Более быструю Сеть Обнаружения объектов R-CNN.

  • Эта таблица описывает, как преобразовать каждую именованную сеть в сеть Fast R-CNN. Имя слоя выделения признаков задает, какой слой обрабатывается слоем объединения ROI. ROI размер вывода задает размер карт функции, выведенных слоем объединения ROI.

    Сетевое имяИмя слоя выделения признаковСлой объединения ROI OutputSizeОписание
    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'

    Если вы хотите изменить, как сеть преобразовывается в сеть Faster R-CNN, см. Проект R-CNN, Быстрый 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, измеренный пересечением ограничительной рамки по метрике объединения. Если вы устанавливаете NegativeOverlapRange на [0 0.3], то отрицательные учебные выборки наборов функции - те, которые накладываются 0 к 0,3, если NegativeOverlapRange является [0 0.3].

  • Используйте функцию trainingOptions, чтобы включить или отключить многословную печать.

Алгоритмы

Функция trainFasterRCNNObjectDetector обучает детектор объекта Faster R-CNN на четырех этапах с переменной оптимизацией [1].

Ссылки

[1] Жэнь, Shaoqing, Kaiming он, Росс Джиршик и Цзянь Sun. "Более быстрый R-CNN: к обнаружению объектов в реальном времени с сетями предложения по области". Усовершенствования в нейронных системах обработки информации. Издание 28, 2015.

[2] Girshick, Росс. "Быстрое r-cnn". Продолжения Международной конференции IEEE по вопросам Компьютерного зрения. 2015

[3] Girshick, R., Дж. Донахью, Т. Даррелл и Дж. Малик. "Богатые иерархии функции для точного обнаружения объектов и семантической сегментации". CVPR '14 продолжений 2 014 конференций по IEEE по компьютерному зрению и распознаванию образов. Страницы 580-587. 2014

[4] Zitnick, К. Лоуренс и П. Доллэр. "Поля ребра: Определение местоположения объектных предложений от ребер". Компьютерное-зрение-ECCV. Springer International Publishing. Страницы 391-4050. 2014.

Расширенные возможности

Введенный в R2017a