exponenta event banner

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

Приложения Image Labeler, Video Labeler, Lidar Labeler (Lidar Toolbox) и 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)
Результирующая папка находится в /local/MyProject/+vision/+labeler.

Определение класса, наследующего от AutomationAlgorithm Класс

В командной строке MATLAB введите соответствующую команду для открытия приложения маркировки:

  • imageLabeler

  • videoLabeler

  • lidarLabeler

  • groundTruthLabeler

Затем загрузите источник данных, создайте хотя бы одно определение метки и на панели инструментов приложения выберите Выбрать алгоритм > Добавить алгоритм > Создать новый алгоритм. В vision.labeler.AutomationAlgorithm в открывшемся шаблоне класса определите пользовательский алгоритм автоматизации. Следуйте инструкциям в заголовке и комментариям в классе.

Если алгоритм зависит от времени, то есть зависит от временной метки выполнения, пользовательский алгоритм автоматизации должен также наследовать от vision.labeler.mixin.Temporal класс. Дополнительные сведения о реализации зависящих от времени или временных алгоритмов см. в разделе Временные алгоритмы автоматизации.

Если алгоритм основан на блокированном образе, пользовательский алгоритм автоматизации должен также наследовать от vision.labeler.mixin.BlockedImageAutomation класс. Дополнительные сведения о реализации алгоритмов заблокированных изображений см. в разделе Алгоритмы автоматизации блокированных изображений.

Сохранить файл класса в папку автоматизации

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

Обновить список алгоритмов в приложении для маркировки

Чтобы начать использовать пользовательский алгоритм, обновите список алгоритмов так, чтобы он отображался в приложении для маркировки. На панели инструментов приложения выберите Выбрать алгоритм > Обновить список.

Импорт существующего алгоритма

Чтобы импортировать существующий пользовательский алгоритм в приложение для маркировки, на панели инструментов приложения выберите Выбрать алгоритм > Добавить алгоритм > Импортировать алгоритм, а затем обновите список.

Выполнение пользовательского алгоритма

При запуске сеанса автоматизации в приложении для маркировки свойства и методы в классе алгоритмов автоматизации управляют поведением приложения.

Проверить определения меток

Если щелкнуть Автоматизировать (Automate), приложение проверяет каждое определение метки в областях Метки окупаемости инвестиций (ROI Labels) и Метки сцены (Scene Labels) с помощью checkLabelDefinition метод, определенный в пользовательском алгоритме. Определения меток, возвращающие true сохраняются для автоматизации. Определения меток, возвращающие false отключены и не включены. Этот метод используется для выбора подмножества определений меток, допустимых для пользовательского алгоритма. Например, если пользовательский алгоритм является алгоритмом семантической сегментации, используйте этот метод для возврата false для определений меток, не относящихся к типу PixelLabel.

Параметры управления

После выбора алгоритма щелкните Автоматизировать (Automate), чтобы начать сеанс автоматизации. Затем щелкните Параметры, чтобы изменить пользовательские настройки приложения. Для управления параметрами настройки используйте settingsDialog способ.

Выполнение алгоритма управления

Когда вы открываете сеанс алгоритма автоматизации в приложении и нажимаете кнопку Выполнить, приложение вызывает checkSetup способ проверки готовности к выполнению. Если метод возвращает значение false, приложение не выполняет алгоритм автоматизации. Если метод возвращает значение true, приложение вызывает initialize метод, а затем run СПОСОБ НА КАЖДОМ КАДРЕ, ВЫБРАННОМ ДЛЯ АВТОМАТИЗАЦИИ. Затем, в конце запуска автоматизации, приложение вызывает terminate способ.

На диаграмме показан этот поток выполнения для приложений маркировки.

  • Используйте checkSetup для проверки правильности настройки всех условий, необходимых для пользовательского алгоритма. Например, перед запуском алгоритма проверьте, содержит ли сцена хотя бы одну метку окупаемости инвестиций.

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

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

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

См. также

Приложения

Функции

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

Подробнее