Создайте данные тренировки для объектного детектора
trainingData = objectDetectorTrainingData(gTruth)
trainingData = objectDetectorTrainingData(gTruth,Name,Value)
возвращает таблицу данных тренировки от заданной наземной истины. Таблица может использоваться, чтобы обучить объектный детектор с помощью учебных функций, таких как trainingData
= objectDetectorTrainingData(gTruth
)trainACFObjectDetector
, trainRCNNObjectDetector
, trainFastRCNNObjectDetector
и trainFasterRCNNObjectDetector
.
Эта функция поддерживает параллельные вычисления с помощью нескольких рабочих MATLAB®. Включите параллельные вычисления с помощью диалогового окна Настроек Computer Vision Toolbox.
возвращает таблицу данных тренировки с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Если объекты trainingData
= objectDetectorTrainingData(gTruth
,Name,Value
)groundTruth
в gTruth
были созданы с помощью видеофайла или пользовательского источника данных, то можно задать любую комбинацию аргументов пары "имя-значение". Если объекты groundTruth
были созданы из набора изображений или источника данных последовательности изображений, то можно задать только аргумент пары "имя-значение" SamplingFactor
.
Используйте данные тренировки, чтобы обучить основанный на ACF детектор.
Добавьте папку, содержащую изображения к пути MATLAB.
imageDir = fullfile(matlabroot, 'toolbox', 'vision', 'visiondata', 'stopSignImages'); addpath(imageDir);
Загрузите groundTruth данные. Основывайтесь истина содержит данные для знаков остановок и автомобилей.
load('stopSignsAndCarsGroundTruth.mat','stopSignsAndCarsGroundTruth')
Просмотрите определения метки, чтобы видеть типы метки в наземной истине.
stopSignsAndCarsGroundTruth.LabelDefinitions
ans=3×3 table
Name Type Group
__________ _________ ______
'stopSign' Rectangle 'None'
'carRear' Rectangle 'None'
'carFront' Rectangle 'None'
Выберите данные о знаке Стоп для обучения.
stopSignGroundTruth = selectLabels(stopSignsAndCarsGroundTruth,'stopSign');
Создайте данные тренировки для детектора объекта автомобиля.
trainingData = objectDetectorTrainingData(stopSignGroundTruth); summary(trainingData)
Variables: imageFilename: 41x1 cell array of character vectors stopSign: 41x1 cell
Обучите детектор объекта ACF автомобилям.
acfDetector = trainACFObjectDetector(trainingData,'NegativeSamplesFactor',2);
ACF Object Detector Training The training will take 4 stages. The model size is 34x31. Sample positive examples(~100% Completed) Compute approximation coefficients...Completed. Compute aggregated channel features...Completed. -------------------------------------------- Stage 1: Sample negative examples(~100% Completed) Compute aggregated channel features...Completed. Train classifier with 42 positive examples and 84 negative examples...Completed. The trained classifier has 19 weak learners. -------------------------------------------- Stage 2: Sample negative examples(~100% Completed) Found 84 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 42 positive examples and 84 negative examples...Completed. The trained classifier has 20 weak learners. -------------------------------------------- Stage 3: Sample negative examples(~100% Completed) Found 84 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 42 positive examples and 84 negative examples...Completed. The trained classifier has 54 weak learners. -------------------------------------------- Stage 4: Sample negative examples(~100% Completed) Found 84 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 42 positive examples and 84 negative examples...Completed. The trained classifier has 61 weak learners. -------------------------------------------- ACF object detector training is completed. Elapsed time is 17.4819 seconds.
Протестируйте детектор ACF на демонстрационном изображении.
I = imread('stopSignTest.jpg');
bboxes = detect(acfDetector,I);
Отобразите обнаруженный объект.
annotation = acfDetector.ModelName;
I = insertObjectAnnotation(I,'rectangle',bboxes,annotation);
figure
imshow(I)
Удалите папку изображений из пути.
rmpath(imageDir);
Добавьте папку изображений в путь MATLAB.
imageDir = fullfile(matlabroot,'toolbox','driving','drivingdata','vehiclesSequence'); addpath(imageDir);
Загрузите данные groundTruth
.
load vehicleGroundTruth.mat
Создайте данные тренировки для детектора объекта автомобиля.
trainingData = objectDetectorTrainingData(gTruth,'SamplingFactor',2);
Обучите детектор объекта ACF автомобилям.
acfDetector = trainACFObjectDetector(trainingData,'ObjectTrainingSize',[20 20]);
ACF Object Detector Training The training will take 4 stages. The model size is 20x20. Sample positive examples(~100% Completed) Compute approximation coefficients...Completed. Compute aggregated channel features...Completed. -------------------------------------------- Stage 1: Sample negative examples(~100% Completed) Compute aggregated channel features...Completed. Train classifier with 71 positive examples and 355 negative examples...Completed. The trained classifier has 68 weak learners. -------------------------------------------- Stage 2: Sample negative examples(~100% Completed) Found 76 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 71 positive examples and 355 negative examples...Completed. The trained classifier has 120 weak learners. -------------------------------------------- Stage 3: Sample negative examples(~100% Completed) Found 54 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 71 positive examples and 355 negative examples...Completed. The trained classifier has 170 weak learners. -------------------------------------------- Stage 4: Sample negative examples(~100% Completed) Found 63 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 71 positive examples and 355 negative examples...Completed. The trained classifier has 215 weak learners. -------------------------------------------- ACF object detector training is completed. Elapsed time is 6.4979 seconds.
Протестируйте детектор ACF на тестовом изображении.
I = imread('highway.png'); [bboxes, scores] = detect(acfDetector,I,'Threshold',1);
Выберите самое сильное обнаружение.
[~,idx] = max(scores);
Отобразите обнаруженный объект.
annotation = acfDetector.ModelName;
I = insertObjectAnnotation(I,'rectangle',bboxes(idx,:),annotation);
figure
imshow(I)
Удалите папку изображений из пути.
rmpath(imageDir);
gTruth
— Оснуйте данные об истинеgroundTruth
Оснуйте данные об истине, заданные как массив объектов groundTruth
. Можно создать наземные объекты истины из существующих наземных данных об истине при помощи объекта groundTruth
.
Если вы будете использовать пользовательские источники данных в groundTruth
с включенными параллельными вычислениями, то функция читателя, как ожидают, будет работать с пулом работников MATLAB, чтобы считать изображения из источника данных параллельно.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'SamplingFactor'
, 5
'SamplingFactor'
— Фактор, в котором можно подвыбрать изображения'auto'
(значение по умолчанию) | целое число | вектор целых чиселФактор, в котором можно подвыбрать изображения в наземном источнике данных истины, заданном как 'auto'
, целое число или вектор целых чисел. Для фактора выборки N возвращенные данные тренировки включают каждый N th изображение в наземном источнике данных истины, игнорируя наземные изображения истины с пустыми данными о метке.
SamplingFactor | Выборка прикладного фактора |
---|---|
'auto' | Выбирающим факторным N является 5 для источников данных с метками времени и 1 для набора изображений. |
Целое число | Все наземные источники данных истины в gTruth выбираются с тем же фактором выборки, N. |
Вектор целых чисел | k th наземный источник данных истины в gTruth выбирается с фактором выборки N (k). |
'WriteLocation'
— FolderName pwd
(текущая рабочая папка) (значение по умолчанию) | представляет скаляр в виде строки | вектор символовИмя папки, чтобы записать извлеченные изображения в, заданный как скаляр строки или вектор символов. Заданная папка должна существовать и иметь полномочия записи. Это свойство применяется только для объектов groundTruth
, созданных с помощью видеофайла или пользовательского источника данных.
'imageFormat'
Формат файла изображенияPNG
(значение по умолчанию) | представляет скаляр в виде строки | вектор символовФормат файла изображения, заданный как скаляр строки или вектор символов. Форматы файлов должны поддерживаться imwrite
. Этот аргумент применяется только для объектов groundTruth
, созданных с помощью видеофайла или пользовательского источника данных.
'NamePrefix'
— Снабдите префиксом применился к именам файлов выходного изображенияПрефикс применился к именам файлов выходного изображения, заданным как скаляр строки или вектор символов. Файлы изображений называют как:
<name_prefix><image_number>.<image_format>
Значение по умолчанию использует имя источника данных, что изображения были извлечены от, strcat(sourceName,'_')
. Это свойство применяется только для объектов groundTruth
, созданных с помощью видеофайла или пользовательского источника данных.
'Verbose'
— Отобразите учебный прогрессtrue
(значение по умолчанию) | false
Отобразите учебные достижения по командной строке MATLAB, заданной или как true
или как false
. Это свойство применяется только для объектов groundTruth
, созданных с помощью видеофайла или пользовательского источника данных.
trainingData
— Данные тренировкиДанные тренировки, возвращенные как таблица с двумя или больше столбцами. Первый столбец таблицы содержит имена файла образа. Остальные столбцы содержат положения объекта для прямоугольных меток ROI, найденных в наземном входе объекта истины, gTruth
. Прямоугольными метками ROI должен быть [x, y, width, height] ограничительные рамки, которые задают положения объекта в каждом изображении. Только метки, соответствующие прямоугольным меткам ROI, возвращены в trainingData
. Другие метки проигнорированы. Выходная таблица игнорирует любую подметку и/или данные об атрибуте, существующие в объекте входа gTruth
.
trainACFObjectDetector
| trainFastRCNNObjectDetector
| trainFasterRCNNObjectDetector
| trainRCNNObjectDetector
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.