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

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

Создайте новый алгоритм

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

Чтобы определить и использовать пользовательский алгоритм автоматизации, необходимо сначала определить класс для своего алгоритма и сохранить его в соответствующей папке.

Создайте папку автоматизации

Создайте +vision/+labeler/ папка в папке, расположенной в MATLAB® путь. Для примера, если папка /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 метод, чтобы проверить, правильно ли настроены все условия, необходимые для пользовательского алгоритма. Например, перед запуском алгоритма проверьте, что сцена содержит хотя бы одну метку информация только для чтения.

  • Используйте initialize метод для инициализации состояния пользовательского алгоритма при помощи системы координат.

  • Используйте run метод для реализации ядра алгоритма, который вычисляет и возвращает метки для каждой системы координат.

  • Используйте terminate метод для очистки или прекращения состояния алгоритма автоматизации после запусков алгоритма.

См. также

Приложения

Функции

Похожие примеры

Подробнее о