trainFasterRCNNObjectDetector

Обучите детектор объектов глубокого обучения Faster R-CNN

Описание

пример

trainedDetector = trainFasterRCNNObjectDetector(trainingData,network,options) обучает Faster R-CNN (области с нейронными сетями свертки) детектор объектов с помощью глубокого обучения. Можно обучить детектор Faster 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);

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

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

Создайте datastore изображений с помощью файлов из таблицы.

imds = imageDatastore(trainingData.imageFilename);

Создайте datastore метки поля с помощью столбцов меток из таблицы.

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

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

ds = combine(imds, blds);

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

lgraph = layerGraph(data.detector.Network)
lgraph = 
  LayerGraph with properties:

         Layers: [21×1 nnet.cnn.layer.Layer]
    Connections: [22×2 table]

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

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

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

detector = trainFasterRCNNObjectDetector(trainingData, 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.
|=============================================================================================================================================|
|  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 |       1.3189 |      100.00% |         0.61 |           68.75% |             1.08 |          0.0010 |
|       1 |         200 |       00:00:57 |       0.5058 |       97.50% |         0.21 |           90.62% |             0.64 |          0.0010 |
|       2 |         400 |       00:02:01 |       1.0283 |       94.03% |         0.12 |           91.41% |             1.02 |          0.0010 |
|       3 |         600 |       00:03:03 |       0.9443 |      100.00% |              |           81.25% |             1.20 |          0.0010 |
|       3 |         800 |       00:04:01 |       1.3437 |      100.00% |              |           62.50% |             1.32 |          0.0010 |
|       4 |        1000 |       00:05:03 |       1.4966 |      100.00% |              |           42.19% |             0.83 |          0.0010 |
|       5 |        1200 |       00:06:06 |       0.4891 |      100.00% |         0.15 |           93.75% |             0.68 |          0.0010 |
|       5 |        1400 |       00:07:04 |       0.8458 |      100.00% |              |           92.97% |             1.01 |          0.0010 |
|       6 |        1600 |       00:08:06 |       1.0399 |      100.00% |              |           73.44% |             1.08 |          0.0010 |
|       7 |        1800 |       00:09:09 |       0.5232 |       95.24% |         0.22 |           91.41% |             0.68 |          0.0010 |
|       7 |        2000 |       00:10:07 |       0.6197 |      100.00% |         0.20 |           79.69% |             0.66 |          0.0010 |
|       7 |        2065 |       00:10:25 |       0.4209 |      100.00% |         0.24 |           88.28% |             0.61 |          0.0010 |
|=============================================================================================================================================|
Detector training complete.
*******************************************************************

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

img = imread('highway.png');

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

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

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

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

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

свернуть все

Помеченная основная истина, заданная как datastore или таблица.

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

  • Если вы используете datastore, вызывая datastore с read и readall функции должны возвратить массив ячеек или таблицу с тремя столбцами, {images, boxes, labels}.

    • изображения Первый столбец должен быть вектором ячейки изображений, которые могут быть шкалой полутонов, RGB или M-by-N-by-P многоканальное изображение.).

    • boxes — Второй столбец должен быть вектором ячейки, который содержит M-by-4 матрицы ограничительных рамок в формате [x, y, width, height]. Векторы представляют местоположение и размер ограничительных рамок для объектов в каждом изображении.

    • labels — Третий столбец должен быть вектором ячейки, который содержит M-by-1 категориальные векторы, содержащие имена класса объекта. Все категориальные данные, возвращенные datastore, должны содержать те же категории.

    Можно использовать combine функция, чтобы создать datastore, чтобы использовать в обучении.

    • imageDatastore — Создайте datastore, содержащий изображения.

    • boxLabelDatastore — Создайте datastore, содержащий ограничительные рамки и метки.

    • combineimds , blds) — Комбинируют изображения, ограничительные рамки и метки в один datastore.

    Для получения дополнительной информации смотрите Хранилища данных для Глубокого обучения (Deep Learning Toolbox).

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

Сеть, заданная как 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 объект должен быть допустимой сетью обнаружения объектов Faster R-CNN. Можно использовать fasterRCNNLayers функция, чтобы создать LayerGraph объект обучить пользовательскую сеть Faster R-CNN.

    Совет

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

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

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

Примечание

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

  • 'training-progress' значение для 'Plots'аргумент

  • 'ValidationData', 'ValidationFrequency', и 'ValidationPatience'аргумент

  • 'OutputFcn' 'аргумент.

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

  • '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 задан как:

area(AB)area(AB)


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

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

  • Вектор с 2 элементами, который задает отношение перекрытия.

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

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

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

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

area(AB)area(AB)


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

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

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

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

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

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

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

свернуть все

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

Учебная информация, возвращенная как массив структур с четырьмя элементами. Каждый элемент соответствует этапу в обучении сети Faster 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', затем функция автоматически преобразовывает сеть в допустимую сетевую модель Faster R-CNN на основе предварительно обученного resnet50 модель. В качестве альтернативы вручную задайте пользовательскую сеть Faster R-CNN при помощи LayerGraph извлеченный из предварительно обученной сети DAG. Для получения дополнительной информации смотрите, Создают Сеть Обнаружения объектов Faster R-CNN.

  • Эта таблица описывает, как преобразовать каждую именованную сеть в сеть Faster 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 и Модель 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 функция, чтобы включить или отключить многословную печать.

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

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

Поведение изменяется в R2019b

Ссылки

[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.

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

Введенный в R2017a