Image Labeler, Video Labeler и Ground Truth Labeler (требует Automated Driving Toolbox™) приложения позволяют вам маркировать наземные данные об истине в наборе изображений, видео или последовательности изображений. Можно использовать алгоритм автоматизации, чтобы автоматически маркировать данные путем создания и импорта пользовательского алгоритма автоматизации.
Класс vision.labeler.AutomationAlgorithm
позволяет вам задать пользовательский алгоритм автоматизации метки для использования в приложениях маркировки. Можно использовать класс, чтобы задать интерфейс, используемый приложением, чтобы запустить алгоритм автоматизации.
Задавать и использовать пользовательский алгоритм автоматизации с вашим загруженным источником данных:
Создайте папку автоматизации: Создайте папку +vision/+labeler/
в папке, которая находится на пути MATLAB®. Например, если папка /local/MyProject
находится на пути MATLAB, то создайте иерархию папок +vision/+labeler/
можно следующим образом:
projectFolder = fullfile('local','MyProject'); automationFolder = fullfile('+vision','+labeler'); mkdir(projectFolder,automationFolder)
Задайте класс, который наследовался классу AutomationAlgorithm: В подсказке команды MATLAB введите соответствующую команду, чтобы открыть приложение маркировки, которое вы хотите: imageLabeler
, videoLabeler
или groundTruthLabeler
. Затем нажмите Select Algorithm> Add Algorithm> Create new algorithm , чтобы открыть шаблон класса vision.labeler.AutomationAlgorithm
. Задайте свой алгоритм путем следования инструкциям в заголовке и комментариям в классе.
Сохраните файл: Сохраните файл к папке пакета +vision/+labeler
, чтобы использовать ваш пользовательский алгоритм из приложения. Чтобы добавить папку в путь, используйте функцию addpath
.
Обновите список алгоритмов: Чтобы начать использовать ваш пользовательский алгоритм, обновите список алгоритмов для него, чтобы отобразиться в списке алгоритмов. В приложении нажмите Select Algorithm> Refresh list в приложении.
Также, чтобы импортировать ваш пользовательский алгоритм, нажмите Select Algorithm> Add Algorithm> Import Algorithm и затем обновите список.
Свойства и методы в вашем классе алгоритма автоматизации задают, как класс взаимодействует с кнопкой Automate в приложении этикетировочной машины.
Когда вы нажимаете Automate, приложение проверяет каждое определение метки в ROI Label Definition и панели Scene Label Definition при помощи метода checkLabelDefinition
, заданного в вашем пользовательском алгоритме. Маркируйте определения, которые возвращаются, true
сохраняются для автоматизации. Маркируйте определения, которые возвращаются, false
отключены и не включены. Используйте метод checkLabelDefinition
, чтобы выбрать подмножество определений метки, которые допустимы для вашего пользовательского алгоритма. Например, если ваш пользовательский алгоритм является семантическим алгоритмом сегментации, используйте этот метод, чтобы возвратить false
для определений метки, которые не имеют типа PixelLabel
.
После того, как вы выберете алгоритм, нажмите Automate, чтобы запустить сеанс автоматизации. Затем нажмите Settings, который позволяет вам изменить настройки пользовательского приложения. Чтобы управлять опциями Settings, используйте метод settingsDialog
.
Когда вы первый показ, который алгоритм, приложение вызывает метод checkSetup
, чтобы проверять, готово ли это к выполнению. Если метод возвращает true
, приложение вызывает метод initialize
и затем метод run
на каждом изображении, выбранном для автоматизации. Затем приложение вызывает метод terminate
.
Используйте метод checkSetup
, чтобы проверять, настраиваются ли все условия, необходимые для вашего пользовательского алгоритма, правильно. Например, прежде, чем запустить алгоритм, проверяйте, что сцена содержит по крайней мере одну метку ROI прежде, чем запустить алгоритм. Используйте метод initialize
, чтобы инициализировать состояние для вашего пользовательского алгоритма при помощи изображения. Используйте метод run
, чтобы реализовать ядро алгоритма, который вычисляет и возвращает метки для каждого изображения. Используйте метод terminate
, чтобы вымыться или отключить состояние после выполнений алгоритма.
groundTruth
| groundTruthDataSource
| vision.labeler.AutomationAlgorithm
| vision.labeler.mixin.Temporal