Создайте данные тренировки для объектного детектора
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 | trainRCNNObjectDetector1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.