trainPointPillarsObjectDetector

Обучите детектор объектов PointPillars

Описание

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

detector = trainPointPillarsObjectDetector(trainingData,detector,options) обучает детектор объектов PointPillars с помощью глубокого обучения и заданных опций обучения для сети обнаружения.

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

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

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

Можно использовать этот синтаксис для:

  • Добавьте больше обучающих данных и продолжите обучение.

  • Улучшите учебную точность путем увеличения максимального числа итераций.

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

свернуть все

Обучающие данные в виде допустимого объекта datastore или таблицы.

  • Если вы используете объект datastore, ваши данные должны быть настроены таким образом что использование read функция на объекте datastore возвращает массив ячеек или таблицу с тремя столбцами. Каждая строка соответствует облаку точек, и столбцы должны следовать за этим форматом.

    • Первый столбец — Организованные или неорганизованные данные об облаке точек в виде pointCloud объект.

    • Второй столбец — Ограничительные рамки в виде массива ячеек, содержащего M-by-9 матрица. Каждая строка матрицы имеет форму [x y z width length height roll pitch yaw], представляя местоположение и размерность ограничительной рамки. M является количеством ограничительных рамок.

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

    Можно использовать combine функционируйте, чтобы объединить два или больше хранилища данных. Для получения дополнительной информации о создании объектов datastore смотрите datastore функция.

  • Если вы используете таблицу, таблица должна иметь два или больше столбца. Первый столбец должен содержать имена файлов облака точек. Файлы облака точек могут быть в любом формате, поддержанном pcread функция. Каждый из остальных столбцов представляет класс отдельного объекта, такой как Car или Truck, содержащий векторы ячейки. Каждая ячейка содержит M-by-9 матрица, M является количеством ограничительных рамок. Столбцы каждой матрицы имеют форму [x y z width length height roll pitch yaw], задавая местоположение и размерности ограничительной рамки в соответствующем облаке точек.

Детектор объектов PointPillars в виде pointPillarsObjectDetector объект.

  • Можно обучить нетренированный детектор объектов с помощью опций обучения.

  • Можно продолжить обучение предварительно обученный детектор с дополнительными обучающими данными или выполнить больше учебных итераций, чтобы улучшить точность детектора.

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

Примечание

trainPointPillarsObjectDetector функционируйте поддерживает эти опции обучения.

Аргументы name-valueПоддерживаемые опции
ExecutionEnvironment
  • "auto", "gpu", "cpu"

  • Для "multi-gpu", "parallel" установите DispatchInBackground аргумент к false.

Plots"none"
ResetInputNormalizationfalse
BatchNormalizationStatistics"moving"
OutputNetwork"last-iteration"

Сохраненная контрольная точка детектора в виде pointPillarsObjectDetector объект. Чтобы сохранить детектор после каждой эпохи, задайте CheckpointPath аргумент значения имени при создании опций обучения с помощью trainingOptions (Deep Learning Toolbox) функция. При сохранении контрольной точки после того, как рекомендуется каждая эпоха, потому что сетевое обучение может занять несколько часов.

Чтобы загрузить контрольную точку для ранее обученного детектора, сначала загрузите соответствующий файл MAT из пути контрольной точки. Затем извлеките детектор объектов из загруженных данных. Например, если CheckpointPath свойство вашего options объектом является '/checkpath', можно загрузить файл MAT контрольной точки при помощи этого кода.

data = load("/checkpath/pointpillars_checkpoint__216__2018_11_16__13_34_30.mat");
checkpoint = data.detector;

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

pointPillarsDetector = trainPointPillarsObjectDetector(trainingData,checkpoint,options);

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

свернуть все

Обученный детектор объектов PointPillars, возвращенный как pointPillarsObjectDetector объект.

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

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

  • ValidationLoss — Потеря валидации в каждой итерации.

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

Введенный в R2021b