Image Labeler, Video Labeler, Lidar Labeler (Lidar Toolbox) и приложения Ground Truth Labeler (Automated Driving Toolbox) позволяют вам пометить основную истину для множества источников данных. Можно использовать алгоритм автоматизации, чтобы автоматически пометить данные путем создания и импорта пользовательского алгоритма автоматизации.
vision.labeler.AutomationAlgorithm
класс позволяет вам задать пользовательский алгоритм автоматизации метки для использования в приложениях для маркировки. Можно использовать класс, чтобы задать интерфейс, используемый приложением, чтобы запустить алгоритм автоматизации.
Чтобы задать и использовать пользовательский алгоритм автоматизации, необходимо сначала задать класс для алгоритма и сохранить его в соответствующую папку.
Создайте +vision/+labeler/
папка в папке, которая находится на MATLAB® path. Например, если папка /local/MyProject
находится на пути MATLAB, затем создайте +vision/+labeler/
иерархия папок можно следующим образом:
projectFolder = fullfile('local','MyProject'); automationFolder = fullfile('+vision','+labeler'); mkdir(projectFolder,automationFolder)
/local/MyProject/+vision/+labeler
.AutomationAlgorithm
КлассВ командной строке MATLAB введите соответствующую команду, чтобы открыть приложение для маркировки:
imageLabeler
videoLabeler
lidarLabeler
groundTruthLabeler
Затем загрузите источник данных, создайте по крайней мере одно определение метки, и на панели инструментов приложения, выберите Select Algorithm> Add Algorithm> Create New Algorithm. В vision.labeler.AutomationAlgorithm
шаблон класса, который открывается, задает ваш пользовательский алгоритм автоматизации. Следуйте инструкциям в заголовке и комментариям в классе.
Если алгоритмом является time-dependent, то есть, имеет зависимость от метки времени выполнения, ваш пользовательский алгоритм автоматизации должен также наследоваться vision.labeler.mixin.Temporal
класс. Для получения дополнительной информации о реализации зависящих от времени, или временных, алгоритмов см. Временные Алгоритмы Автоматизации.
Если алгоритмом является базирующийся blocked image, ваш пользовательский алгоритм автоматизации должен также наследоваться vision.labeler.mixin.BlockedImageAutomation
класс. Для получения дополнительной информации о реализации блокированных алгоритмов изображений см. Блокированные Алгоритмы Автоматизации Изображений.
Чтобы использовать ваш пользовательский алгоритм из приложения для маркировки, сохраните файл к +vision/+labeler
папка, которую вы создали. Убедитесь, что эта папка находится на пути поиска файлов MATLAB. Чтобы добавить папку в путь, используйте addpath
функция.
Чтобы начать использовать ваш пользовательский алгоритм, обновите список алгоритмов так, чтобы алгоритм отобразился в приложении для маркировки. На панели инструментов приложения выберите Select Algorithm> Refresh list.
Чтобы импортировать существующий пользовательский алгоритм в приложение для маркировки, на панели инструментов приложения, выбирают Select Algorithm> Add Algorithm> Import Algorithm и затем обновляют список.
Когда вы запускаете сеанс автоматизации в приложении для маркировки, свойства и методы в вашем классе алгоритма автоматизации управляют поведением приложения.
Когда вы нажимаете Automate, приложение проверяет каждое определение метки в ROI Labels и панели Scene Labels при помощи checkLabelDefinition
метод задан в вашем пользовательском алгоритме. Пометьте определения, которые возвращают true
сохраняются для автоматизации. Пометьте определения, которые возвращают false
отключены и не включены. Используйте этот метод, чтобы выбрать подмножество определений метки, которые допустимы для вашего пользовательского алгоритма. Например, если ваш пользовательский алгоритм является алгоритмом семантической сегментации, используйте этот метод, чтобы возвратить false
для определений метки, которые не имеют типа PixelLabel
.
После того, как вы выберете алгоритм, нажмите Automate, чтобы запустить сеанс автоматизации. Затем нажмите Settings, который позволяет вам изменить настройки пользовательского приложения. Чтобы управлять опциями Settings, используйте settingsDialog
метод.
Когда вы открываете сеанс алгоритма автоматизации в приложении и затем нажимаете Run, приложение вызывает checkSetup
метод, чтобы проверять, готово ли это к выполнению. Если метод возвращает false
, приложение не выполняет алгоритм автоматизации. Если метод возвращает true
, приложение вызывает initialize
метод и затем run
метод на каждой системе координат выбран для автоматизации. Затем в конце запущенной автоматизации приложение вызывает terminate
метод.
Схема показывает этот поток выполнения для приложений для маркировки.
Используйте checkSetup
метод, чтобы проверять, настраиваются ли все условия, необходимые для вашего пользовательского алгоритма, правильно. Например, прежде, чем запустить алгоритм, проверяйте, что сцена содержит по крайней мере одну метку ROI.
Используйте initialize
метод, чтобы инициализировать состояние для вашего пользовательского алгоритма при помощи системы координат.
Используйте run
метод, чтобы реализовать ядро алгоритма, который вычисляет и возвращает метки для каждой системы координат.
Используйте terminate
метод, чтобы вымыться или отключить состояние алгоритма автоматизации после запусков алгоритма.
vision.labeler.AutomationAlgorithm
| vision.labeler.mixin.Temporal
| vision.labeler.mixin.BlockedImageAutomation