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

Image Labeler, Video Labeler и Ground Truth Labeler (требует Automated Driving Toolbox™) приложения позволяют вам пометить достоверные данные в коллекции изображений, видео или последовательности изображений. Можно использовать алгоритм автоматизации, чтобы автоматически пометить данные путем создания и импорта пользовательского алгоритма автоматизации.

Создайте пользовательский алгоритм автоматизации метки для приложения для маркировки

vision.labeler.AutomationAlgorithm класс позволяет вам задать пользовательский алгоритм автоматизации метки для использования в приложениях для маркировки. Можно использовать класс, чтобы задать интерфейс, используемый приложением, чтобы запустить алгоритм автоматизации.

Задавать и использовать пользовательский алгоритм автоматизации с вашим загруженным источником данных:

  1. Создайте папку автоматизации: Создайте +vision/+labeler/ папка в папке, которая находится на пути MATLAB®. Например, если папка /local/MyProject находится на пути MATLAB, затем создайте +vision/+labeler/ иерархия папок можно следующим образом:

    projectFolder = fullfile('local','MyProject');
    automationFolder = fullfile('+vision','+labeler');
    mkdir(projectFolder,automationFolder)

  2. Задайте класс, который наследовался классу AutomationAlgorithm: В командной строке MATLAB введите соответствующую команду, чтобы открыть приложение для маркировки, которое вы хотите: imageLabeler, videoLabeler, или groundTruthLabeler. Затем нажмите Select Algorithm> Add Algorithm> Create new algorithm , чтобы открыть vision.labeler.AutomationAlgorithm шаблон класса. Задайте свой алгоритм путем следования инструкциям в заголовке и комментариям в классе.

  3. Сохраните файл: Сохраните файл к +vision/+labeler папка пакета, чтобы использовать ваш пользовательский алгоритм из приложения. Чтобы добавить папку в путь, используйте addpath функция.

  4. Обновите список алгоритмов: Чтобы начать использовать ваш пользовательский алгоритм, обновите список алгоритмов для него, чтобы отобразиться в списке алгоритмов. В приложении нажмите 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 метод, чтобы вымыться или отключить состояние после запусков алгоритма.

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

Приложения

Функции

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

Больше о