Создайте алгоритм автоматизации для маркировки

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 метод, чтобы вымыться или отключить состояние алгоритма автоматизации после запусков алгоритма.

Смотрите также

Приложения

Функции

Связанные примеры

Больше о