exponenta event banner

trainFasterRCNNObjectDetector

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

Описание

Обучение детектора

пример

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

Эта функция требует наличия Toolbox™ глубокого обучения. Рекомендуется также иметь Toolbox™ параллельных вычислений для использования с графическим процессором NVIDIA ® с поддержкой CUDA ®. Сведения о поддерживаемых вычислительных возможностях см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox).

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

Возобновление обучения детектору

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

Тонкая настройка детектора

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

Дополнительные свойства

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

Примеры

свернуть все

Загрузить данные обучения.

data = load('fasterRCNNVehicleTrainingData.mat');

trainingData = data.vehicleTrainingData;

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

Случайная перетасовка данных для обучения.

rng(0);
shuffledIdx = randperm(height(trainingData));
trainingData = trainingData(shuffledIdx,:);

Создайте хранилище данных изображения, используя файлы из таблицы.

imds = imageDatastore(trainingData.imageFilename);

Создайте хранилище данных меток поля, используя столбцы меток из таблицы.

blds = boxLabelDatastore(trainingData(:,2:end));

Объединение хранилищ данных.

ds = combine(imds, blds);

Настройте сетевые уровни.

lgraph = layerGraph(data.detector.Network);

Настройка параметров обучения.

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

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

detector = trainFasterRCNNObjectDetector(ds, lgraph, options, ...
        'NegativeOverlapRange',[0 0.3], ...
        'PositiveOverlapRange',[0.6 1]);
*************************************************************************
Training a Faster R-CNN Object Detector for the following object classes:

* vehicle

Training on single GPU.
Initializing input data normalization.
|=============================================================================================================================================|
|  Epoch  |  Iteration  |  Time Elapsed  |  Mini-batch  |  Mini-batch  |  Mini-batch  |  RPN Mini-batch  |  RPN Mini-batch  |  Base Learning  |
|         |             |   (hh:mm:ss)   |     Loss     |   Accuracy   |     RMSE     |     Accuracy     |       RMSE       |      Rate       |
|=============================================================================================================================================|
|       1 |           1 |       00:00:00 |       0.8771 |       97.30% |         0.83 |           91.41% |             0.71 |          0.0010 |
|       1 |         200 |       00:01:15 |       0.5324 |      100.00% |         0.15 |           88.28% |             0.70 |          0.0010 |
|       2 |         400 |       00:02:40 |       0.4732 |      100.00% |         0.15 |           92.19% |             0.63 |          0.0010 |
|       3 |         600 |       00:04:03 |       0.4776 |       97.14% |         0.09 |           96.88% |             0.59 |          0.0010 |
|       3 |         800 |       00:05:23 |       0.5269 |       97.44% |         0.18 |           89.06% |             0.68 |          0.0010 |
|       4 |        1000 |       00:06:44 |       0.9749 |      100.00% |              |           85.16% |             1.00 |          0.0010 |
|       5 |        1200 |       00:08:07 |       1.1952 |       97.62% |         0.13 |           77.34% |             1.27 |          0.0010 |
|       5 |        1400 |       00:09:24 |       0.6577 |      100.00% |              |           76.38% |             0.72 |          0.0010 |
|       6 |        1600 |       00:10:46 |       0.6951 |      100.00% |              |           90.62% |             0.94 |          0.0010 |
|       7 |        1800 |       00:12:08 |       0.5341 |       96.08% |         0.09 |           86.72% |             0.53 |          0.0010 |
|       7 |        2000 |       00:13:26 |       0.3333 |      100.00% |         0.12 |           94.53% |             0.61 |          0.0010 |
|       7 |        2065 |       00:13:52 |       1.0564 |      100.00% |              |           71.09% |             1.23 |          0.0010 |
|=============================================================================================================================================|
Detector training complete.
*******************************************************************

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

img = imread('highway.png');

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

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

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

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

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

свернуть все

Помеченная истинность основания, заданная как хранилище данных или таблица.

Каждая ограничительная рамка должна иметь формат [x y width height].

  • При использовании хранилища данных данные должны быть настроены таким образом, чтобы вызывать хранилище данных с помощью read и readall функция возвращает массив ячеек или таблицу с двумя или тремя столбцами. Если выходные данные содержат два столбца, первый столбец должен содержать ограничивающие рамки, а второй столбец должен содержать метки {поля, метки}. Если выходные данные содержат три столбца, второй столбец должен содержать ограничивающие рамки, а третий столбец должен содержать метки. В этом случае первый столбец может содержать данные любого типа. Например, первый столбец может содержать изображения или данные облака точек.

    данныекоробкиэтикетки
    Первый столбец может содержать данные, например данные облака точек или изображения.Второй столбец должен быть массивом ячеек, содержащим M-by-5 матрицы ограничивающих прямоугольников вида [xcenter, ycenter, width, height, yaw]. Векторы представляют расположение и размер ограничивающих рамок для объектов на каждом изображении.Третий столбец должен быть массивом ячеек, содержащим M-by-1 категориальных векторов, содержащих имена классов объектов. Все категориальные данные, возвращаемые хранилищем данных, должны содержать одинаковые категории.

    Дополнительные сведения см. в разделе Хранилища данных для глубокого обучения (панель инструментов глубокого обучения).

  • При использовании таблицы таблица должна иметь два или более столбцов. Первый столбец таблицы должен содержать имена файлов изображений с путями. Изображения должны иметь оттенки серого или цветные (RGB) и могут быть в любом формате, поддерживаемом imread. Каждый из оставшихся столбцов должен быть вектором ячейки, который содержит M-by-4 матрицы, представляющие один класс объектов, такие как транспортное средство, цветок или знак остановки. Столбцы содержат 4-элементные двойные массивы M ограничивающих рамок в формате [x, y, width, height]. Формат определяет расположение верхнего левого угла и размер ограничивающей рамки на соответствующем изображении. Чтобы создать таблицу истинности земли, можно использовать приложение Image Labeler или приложение Video Labeler. Чтобы создать таблицу обучающих данных из сгенерированной истинности земли, используйте objectDetectorTrainingData функция.

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

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

  • Массив Layer Объекты (Deep Learning Toolbox) должны содержать классификационный слой, поддерживающий количество классов объектов, а также фоновый класс. Этот тип ввода используется для настройки показателей обучения каждого уровня. Пример массива Layer (Deep Learning Toolbox) Объекты:

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

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

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

    Сетевое имяИмя слоя извлечения элементовРазмер выходного сигнала уровня пула 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'

  • LayerGraph объект должен быть допустимой сетью более быстрого обнаружения объектов R-CNN. Вы можете использовать fasterRCNNLayers для создания функции LayerGraph объект для обучения пользовательской сети более быстрого R-CNN.

    Совет

    Если ваша сеть является DAGNetwork, используйте layerGraph Функция (Deep Learning Toolbox) для преобразования сети в LayerGraph объект. Затем создайте пользовательскую сеть Faster R-CNN, как описано в примере Создать более быструю сеть обнаружения объектов R-CNN.

Дополнительные сведения о создании более быстрой сети R-CNN см. в разделе Начало работы с R-CNN, Fast R-CNN и Faster R-CNN.

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

Примечание

trainFasterRCNNObjectDetector не поддерживает следующие варианты обучения:

  • Входные данные хранилища данных не поддерживаются при установке DispatchInBackground вариант обучения для true.

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

  • 'once' и 'every-epoch' значения для 'Shuffleаргумент '

  • 'parallel' и 'multi-gpu' значения для 'ExecutionEnvironmentаргумент '

Сохраненная контрольная точка детектора, указанная как 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 является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

Метод обучения, указанный как разделенная запятыми пара, состоящая из 'TrainingMethod«и либо» 'end-to-end' или 'four-step'.

  • 'end-to-end' - Одновременное обучение подсетям предложений по регионам и классификации регионов.

  • 'four-step' - Отдельно обучить региональные сети предложений и классификации регионов в четыре этапа.

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

  • 2-элементный вектор, задающий идентичный коэффициент перекрытия для всех четырех этапов обучения.

  • Матрица 2 на 2, используемая только для сквозного обучения. Первая строка матрицы определяет коэффициенты перекрытия для подсети предложения региона. Вторая строка определяет коэффициенты перекрытия для подсети классификации регионов.

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

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

Коэффициент перекрытия, используемый для обоих PositiveOverlapRange и NegativeOverlapRange определяется как:

область (A∩B) область (A∪B)


A и B - ограничивающие рамки.

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

  • 2-элементный вектор, задающий коэффициент перекрытия.

  • Матрица 2 на 2, используемая только для сквозного обучения. Первая строка матрицы определяет коэффициенты перекрытия для подсети предложения региона. Вторая строка определяет коэффициенты перекрытия для подсети классификации регионов.

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

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

Коэффициент перекрытия, используемый для обоих PositiveOverlapRange и NegativeOverlapRange определяется как:

область (A∩B) область (A∪B)


A и B - ограничивающие рамки.

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

Число предложений области для случайной выборки из каждого обучающего изображения, указанное как целое число, вектор 1 на 2 или вектор 1 на 4. Используйте вектор 1 на 2 для сквозного обучения. Используйте вектор 1 на 4 для четырехэтапного обучения. Сократите количество областей для выборки, чтобы сократить использование памяти и ускорить обучение. Уменьшение значения может также снизить точность обучения.

Когда вы устанавливаете 'TrainingMethodКому 'end-to-end'число предложений области может быть установлено в вектор 1 на 2. Первым элементом вектора должно быть количество областей, выбранных для подсети предложения области. Вторым элементом должно быть количество областей, выбранных для подсети классификации областей.

Когда вы устанавливаете 'TrainingMethodКому 'four-step'число предложений области может быть установлено в вектор 1 на 4. i-й элемент определяет количество областей для выборки для i-го шага обучения.

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

Зависимости

  • SmallestImageDimension поддерживает только входные учебные данные таблицы. Чтобы изменить размер входных данных хранилища данных, используйте transform функция.

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

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

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

round(MinBoxSizes(i,:) .* BoxPyramidScale ,^ (0:NumBoxPyramidLevels-1)')

Зависимости

  • Это свойство нельзя использовать, если сеть указана как LayerGraph объект или если вы возобновите обучение с контрольной точки детектора.

  • MinBoxSizes свойство поддерживает только обучение вводу в формате таблицы. Чтобы оценить поля привязки для входных данных хранилища данных, используйте estimateAnchorBoxes функция.

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

Зависимости

  • BoxPyramidScale поддерживает только входные данные обучения в формате таблицы. Чтобы оценить поля привязки для входных данных хранилища данных, используйте estimateAnchorBoxes функция.

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

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

Зависимости

  • NumBoxPyramidLevels поддерживает только входные данные обучения в формате таблицы. Чтобы оценить поля привязки для входных данных хранилища данных, используйте estimateAnchorBoxes функция.

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

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

  • true если "MiniBatchSizeаргумент «имя-значение» для trainingOptions Функция (Deep Learning Toolbox) меньше 8.

  • false если "MiniBatchSizeаргумент «имя-значение» для trainingOptions Функция (Deep Learning Toolbox) больше или равна 8.

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

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

свернуть все

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

Информация о ходе обучения, возвращенная в виде структурного массива с восемью полями. Каждое поле соответствует этапу обучения.

  • TrainingLoss - Учебные потери на каждой итерации - это среднеквадратичная ошибка (MSE), вычисленная как сумма ошибки локализации, потери достоверности и потери классификации. Дополнительные сведения о функции потери при обучении см. в разделе Потеря при обучении.

  • TrainingAccuracy - Точность набора обучения на каждой итерации.

  • TrainingRMSE - среднеквадратичная ошибка (RMSE) - это значение RMSE, вычисленное на основе потерь при каждой итерации.

  • BaseLearnRate - Скорость обучения на каждой итерации.

  • ValidationLoss - Потеря проверки на каждой итерации.

  • ValidationAccuracy - Точность проверки на каждой итерации.

  • ValidationRMSE - Проверка RMSE на каждой итерации.

  • FinalValidationLoss - Окончательная потеря подтверждения в конце обучения.

  • FinalValidationRMSE - Окончательная проверка RMSE в конце обучения.

Каждое поле является числовым вектором с одним элементом на учебную итерацию. Значения, которые не были рассчитаны в определенной итерации, назначаются как NaN. Структура содержит ValidationLoss, ValidationAccuracy, ValidationRMSE, FinalValidationLoss, и FinalValidationRMSE поля только тогда, когда options указывает данные проверки.

Совет

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

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

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

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

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

  • В этой таблице описывается, как преобразовать каждую именованную сеть в более быструю сеть 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'

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

  • Используйте trainingOptions Функция (Deep Learning Toolbox) для включения или отключения подробной печати.

Вопросы совместимости

развернуть все

В R2019b изменилось поведение

Ссылки

[1] Рен, С., К. Он, Р. Гирщик и Дж. Сан. «Более быстрое обнаружение объектов R-CNN: на пути к реальному времени с помощью региональных сетей предложений». Достижения в системах обработки нейронной информации. Том 28, 2015.

[2] Гиршик, Р. «Быстрый R-CNN». Материалы Международной конференции IEEE по компьютерному зрению, 1440-1448. Сантьяго, Чили: IEEE, 2015.

[3] Гиршик, Р., Дж. Донахью, Т. Даррелл и Дж. Малик. «Богатые иерархии элементов для точного обнаружения объектов и семантической сегментации». Материалы Конференции IEEE 2014 года по компьютерному зрению и распознаванию образов, 580-587. Колумбус, ОН: IEEE, 2014.

[4] Цитник, К. Л. и П. Доллар. «Поля ребер: поиск предложений объектов из ребер». Компьютерное зрение-ECCV 2014, 391-405. Цюрих, Швейцария: ECCV, 2014.

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

См. также

Приложения

Функции

Объекты

Представлен в R2017a