Приложение Image Labeler предоставляет простой способ интерактивного создания различных форм для маркировки в качестве меток области интересов (ROI). Можно создавать прямоугольные, полилинии, пиксельные и многоугольные метки окупаемости инвестиций и метки сцен в последовательности изображений или изображений.
Помеченные данные можно использовать для проверки или обучения алгоритмов, таких как классификаторы изображений, детекторы объектов и семантические сети и сети сегментации экземпляров. Рассмотрите приложение при выборе инструмента рисования меток для создания меток окупаемости инвестиций. Дополнительные сведения о выборе правильного типа метки и инструмента рисования для приложения см. в разделах Метки окупаемости инвестиций, Поднаклейки и Атрибуты.
В этом примере показано, как начать использовать приложение:
Загрузить немаркированные данные
Маркировка кадра изображения из коллекции изображений вручную.
Автоматическая маркировка кадров изображения с помощью алгоритма автоматизации.
Экспортируйте помеченные данные истинности грунта.
Определения окупаемости инвестиций и меток сцен
Метка ROI соответствует либо прямоугольной, полилинии, пикселю, либо многоугольнику, представляющему интерес. Эти метки содержат два компонента: имя метки, например «автомобили», и создаваемый регион.
Метка Сцена описывает характер сцены, например «солнечный». Эту метку можно связать с рамкой.
Можно загрузить изображения, хранящиеся в хранилище данных, из папки или загрузить предыдущий сеанс работы с метками. Изображения должны быть доступны для чтения imread.
Для программной загрузки изображений из хранилища данных:
Создайте хранилище данных из папки изображений:
imageFolder = fullfile(toolboxdir('vision'),'visiondata','boats.png')
imds = imageDatastore(imageFolder)
Загрузите хранилище данных:
imageLabeler(imds)
Для программной загрузки папки изображений:
imageFolder = fullfile(toolboxdir('vision'),'visiondata','boats.png')
imageLabeler(imageFolder)Откройте приложение на вкладке Приложения в разделе Обработка изображений и компьютерное зрение. Щелкните Импорт (Import), чтобы загрузить изображения, или Открыть сессию (Open Session), чтобы открыть сохраненную сессию.
Определите метки, которые требуется нарисовать. В этом примере метки определяются непосредственно в приложении. Чтобы определить метки из командной строки MATLAB ®, используйте labelDefinitionCreator.
Метка ROI - это метка, которая соответствует области, представляющей интерес (ROI) в изображении. Можно определить эти типы меток ROI.
Rectangle - Рисование 2-D прямоугольных меток ограничивающих рамок вокруг объектов на изображении, таких как транспортные средства, лодки, здания.
Projected cuboid - Рисование меток 3-D ограничивающих рамки вокруг объектов на изображении, таких как транспортные средства, лодки, здания.
Line - вычерчивание линейных ROI для меток линий, таких как границы полос движения.
Pixel label - Рисование пикселов для маркировки различных классов, например дорог или неба, для семантической сегментации. Дополнительные сведения о маркировке пикселей см. в разделе Пиксели меток для семантической сегментации.
Polygon - Рисование меток полигонов вокруг объектов. Можно маркировать отдельные экземпляры одного класса. Дополнительные сведения о рисовании меток окупаемости инвестиций для полигонов и семантических сетей сегментации см. в разделе Объекты-метки с использованием полигонов.
Дополнительные сведения об этих определениях меток окупаемости инвестиций см. в разделах Метки окупаемости инвестиций, Субкниги и Атрибуты.
В этом примере определяется Boat группа для маркировки типов лодок, а затем создать Rectangle Метка окупаемости инвестиций для Sailboat и Tanker. Чтобы управлять отображением имен меток ROI во время создания меток, выберите в раскрывающемся меню Показать метки ROI (Show ROI Labels) команду При наведении (On Hover), Всегда (Always) или Никогда (Never).
На панели «Метки окупаемости инвестиций» слева нажмите «Метка».
Создать Rectangle тип метки с именем Sailboat.
При необходимости измените цвет метки, щелкнув цвет предварительного просмотра.
![]()
От Group раскрывающееся меню, выберите New Group ... и назовите группу Boats
Нажмите кнопку ОК.
Название группы Boats появляется на панели ROI Labels с созданным лейблом Sailboat. Можно переместить метку из списка в другую позицию или группу в списке, щелкнув левой кнопкой мыши и перетащив метку вверх или вниз.
Чтобы добавить второй тип наклейки Лодки, выберите группу Лодки и щелкните Наклейка. Назови лейбл Танкер. Нажмите кнопку ОК.
Выберите субаренду парусника, затем с помощью мыши нарисуйте прямоугольную окупаемость инвестиций вокруг парусника. Выберите субаренду танкера, чтобы нарисовать окупаемость инвестиций вокруг танкера.

Подмаркировка - это тип метки ROI, соответствующий родительской метке ROI. Каждая подмаркировка должна принадлежать определенной метке, определенной на панели «Метки окупаемости инвестиций», или быть дочерней. Например, в океанской сцене на этикетке парусника могут быть субаренды для парусов. Дополнительные сведения о суббаллах см. в разделах Метки окупаемости инвестиций, Суббалли и Атрибуты.
Определите субкнигу для парусов.
На панели ROI Labels слева щелкните на этикетке парусника.
Щелкните Подмаркировка (Sublabel).
Создать Rectangle подмаркировка с именем sail и опционально написать описание. Нажмите кнопку ОК.
На панели Метки окупаемости инвестиций (ROI Labels) появится подмаркировка паруса. Подмаркировка вложена под выбранной ROI-меткой «Парусник» и по умолчанию имеет тот же цвет, что и родительская метка.
Под меткой можно добавить несколько суббнаков. Можно также перетащить подмаркеры, чтобы изменить их порядок в списке, и щелкнуть правой кнопкой мыши любую метку для дополнительных правок.

На панели «ROI Labels» (Метки окупаемости инвестиций) выберите подмаркировку паруса.
В рамке изображения выберите этикетку «Парусник». При выборе метка становится желтой. Вы должны выбрать этикетку парусника (родитель ROI), прежде чем вы можете нарисовать для нее субкнигу.
Нарисуйте субкниги парусов для каждого из парусов.

Поднаклейки не могут иметь свои собственные поднаклейки и могут использоваться только с прямоугольными или полилиничными метками окупаемости инвестиций.
Атрибут ROI указывает дополнительную информацию о метке ROI или субкниге. Например, в сцене вождения атрибуты могут включать тип или цвет транспортного средства. В океанской сцене атрибуты могут включать тип парусника или количество парусов. Для этих типов можно определить атрибуты окупаемости инвестиций.
Numeric Value - укажите числовой скалярный атрибут, например, количество дверей на помеченном транспортном средстве или количество парусов на паруснике.
String - укажите строковый скалярный атрибут, например цвет транспортного средства или лодки.
Logical - укажите логический атрибут true или false, например, находится ли транспортное средство в движении или лодка продвигается.
List - укажите атрибут раскрывающегося списка предопределенных строк, таких как марка или модель транспортного средства или лодки.
Дополнительные сведения об этих типах атрибутов см. в разделах Метки окупаемости инвестиций, Поднаклейки и Атрибуты.
Добавление атрибута к метке.
На панели ROI Labels слева выберите этикетку Sailboat и нажмите Attribute.
В поле Наименование атрибута (Attribute Name) введите sailboatType. Задайте тип атрибута как List.
В разделе «Элементы списка» введите различные типы парусников, например: Monohull, Catamaran, и Multi-hull, каждый на своей линии. При необходимости введите описание атрибута и нажмите кнопку ОК.
Выберите этикетку окупаемости инвестиций парусника. На панели Атрибуты и субкниги (Attributes and Sublabels) выберите соответствующее значение атрибута sailboatType для данного транспортного средства.
Можно также добавить атрибуты к субблицам. Добавьте атрибут для субблицы паруса, чтобы указать, является ли она предикалом или главным портом.
На панели «ROI Labels» (Метки окупаемости инвестиций), расположенной слева, выберите подмаркировку паруса и щелкните Атрибут (Attribute).
В поле Наименование атрибута (Attribute Name) введите sailRaised. Задайте тип атрибута как Logical. Оставьте значение по умолчанию равным Emptyпри необходимости напишите описание и нажмите кнопку «ОК».
Выберите парус в сцене. На правой панели задайте соответствующее значение атрибута isOn или оставьте значение атрибута равным Empty.

Чтобы удалить атрибут, щелкните правой кнопкой мыши метку ROI или подаблицу и выберите атрибут для удаления. Удаление атрибута удаляет информацию об атрибуте из всех ранее созданных аннотаций меток окупаемости инвестиций.
Метка сцены определяет дополнительную информацию для всей сцены. Метки сцен используются для описания таких условий, как освещение и погода, или событий, таких как изменение полосы движения или точки паруса.
Создайте метку сцены для применения к изображению.
На левой панели приложения выберите Метки сцен рядом с вкладкой Метки окупаемости инвестиций.
Щелкните Определить новую метку сцены (Define new scene label) и в поле Имя метки (Label Name) введите метку сцены с именем daytime.
Измените цвет определения метки на светло-синий, чтобы отразить характер метки сцены. Под параметром Цвет (Color) щелкните предварительный просмотр цвета и выберите стандартные светло-синие цвета. Затем нажмите кнопку ОК, чтобы закрыть окно выбора цвета.

Оставьте для параметра Group значение по умолчанию None и нажмите кнопку OK. На панели «Метки сцены» отображается определение метки сцены.

Нажмите кнопку «Применить к изображению», чтобы применить daytime метка к сцене. Для метки сцены появится флажок.
Чтобы отредактировать или удалить метку сцены, щелкните ее правой кнопкой мыши и выберите «Редактировать метку» или «Удалить метку».
Можно пометить изображения вручную, использовать подходящий встроенный алгоритм автоматизации, создать новый алгоритм или импортировать алгоритм.
Метки окупаемости инвестиций (ROI) и сцены (Scene) определяются для всей сессии и всех изображений, но необходимо нарисовать метки и подмаркировки для каждого изображения и обновить информацию об атрибутах.
Чтобы ускорить процесс маркировки, можно использовать алгоритм автоматизации для маркировки остальных изображений. Выберите один из этих типов алгоритмов автоматизации на панели инструментов приложения Automate Labeling > Select Algorithm.
Встроенный алгоритм автоматизации - выберите подходящий алгоритм. Выполните шаги, отображаемые на правой панели.
Добавить алгоритм - создание автоматизации. Дополнительные сведения об определении собственного алгоритма автоматизации см. в разделе Создание алгоритма автоматизации для маркировки.
Алгоритм импорта - импорт пользовательского алгоритма автоматизации. Дополнительные сведения об импорте алгоритма автоматизации см. в разделе Создание алгоритма автоматизации для маркировки.
После использования алгоритма автоматизации можно вручную пометить оставшиеся кадры подметкой и информацией об атрибутах.
Для дальнейшей оценки меток можно просмотреть визуальную сводку помеченной истинности грунта. На панели инструментов приложения выберите Просмотр сводки меток. Эта сводка используется для сравнения кадров, частоты меток и условий сцены. Дополнительные сведения см. в разделе Просмотр сводки меток истинности грунта. Эта сводка не отображает суббнаки или атрибуты.
Помеченную истину основания можно экспортировать в MAT-файл или в переменную в рабочей области MATLAB. В обоих случаях маркированная истина основания сохраняется как groundTruth объект. Этот объект можно использовать для обучения алгоритму компьютерного зрения на основе глубокого обучения. Дополнительные сведения см. в разделе Обучающие данные для обнаружения объектов и семантической сегментации.
Примечание
При экспорте пиксельных данных данные метки пикселя и данные истинности земли сохраняются в отдельных файлах, но в одной и той же папке. Дополнительные сведения о работе с экспортированными метками пикселей см. в разделе Как приложения Labeler хранят экспортированные метки пикселей.
В этом примере в рабочую область MATLAB экспортируется помеченная истина основания. На панели инструментов приложения выберите Экспорт меток > В рабочую область. Экспортируемая переменная MATLAB: gTruth.
Отображение свойств экспортируемого groundTruth объект. Информация в экспортируемом объекте может отличаться от представленной здесь.
gTruth
gTruth =
groundTruth with properties:
DataSource: [1×1 groundTruthDataSource]
LabelDefinitions: [2x6 table]
LabelData: [531×3 timetable]DataSource является groundTruthDataSource объект, содержащий путь к изображениям или видео и меткам времени. Отображение свойств этого объекта.
gTruth.DataSource
ans =
groundTruthDataSource for a video file with properties
Source: ...matlab\toolbox\vision\visiondata\visiontraffic.avi
TimeStamps: [531×1 duration]LabelDefinitions - таблица, содержащая информацию об определениях меток. Эта таблица не содержит информации о метках, нанесенных на видеокадры. Чтобы сохранить определения меток в собственном MAT-файле, на панели инструментов приложения выберите «Сохранить» > «Определения меток». Затем можно импортировать эти определения меток в другой сеанс приложения, выбрав Импортировать файлы.
Отображение таблицы определений меток. Каждая строка содержит информацию об определении метки окупаемости инвестиций или определении метки сцены. При экспорте данных пиксельной метки LabelDefinitions таблица также включает PixelLabelID содержит идентификационные номера для каждого определения метки пикселя.
gTruth.LabelDefinitions
ans =
3×6 table
Name Type LabelColor Group Description Hierarchy
_________ _________ ____________ ___________ ___________ ____________
{'Car' } Rectangle {1×3 double} {'Vehicle'} {0×0 char} {1×1 struct}
{'Truck'} Rectangle {1×3 double} {'Vehicle'} {0×0 char} {0×0 double}
{'Sunny'} Scene {1×3 double} {'Weather'} {0×0 char} {0×0 double} В LabelDefinitions, Hierarchy в столбце хранится информация об определениях суббнаков и атрибутов родительской метки ROI.
Отображение информации о подмаркировке и атрибутах для Car этикетка.
gTruth.LabelDefinitions.Hierarchy{1}ans =
struct with fields:
numDoors: [1×1 struct]
color: [1×1 struct]
inMotion: [1×1 struct]
carType: [1×1 struct]
headlight: [1×1 struct]
Type: Rectangle
Description: ''Отображение информации о headlight субмаркировка.
gTruth.LabelDefinitions.Hierarchy{1}.headlightans =
struct with fields:
Type: Rectangle
Description: ''
Color: [0.5862 0.8276 0.3103]
isOn: [1×1 struct]Отображение информации о carType атрибут.
gTruth.LabelDefinitions.Hierarchy{1}.carTypeans =
struct with fields:
ListItems: {3×1 cell}
Description: ''На панели инструментов приложения выберите Сохранить и сохранить MAT-файл сеанса приложения. Сохраненный сеанс включает в себя источник данных, определения меток и маркированную истинность грунта. Он также включает настройки сеанса, такие как макет приложения. Чтобы изменить параметры макета, выберите Макет.
В любое время во время сеанса можно выбрать Новый сеанс (New Session), чтобы начать новый сеанс. Имеется возможность сохранения текущего сеанса или отмены.
MAT-файл сеанса приложения отделен от основного MAT-файла, который экспортируется при выборе «Экспорт» > «Из файла». Для совместного использования помеченных данных истинности земли, в качестве наилучшей практики, используйте файл MAT истинности земли, содержащий groundTruth объект, а не MAT-файл сеанса приложения. Дополнительные сведения см. в разделе Обмен и хранение помеченных данных о истинности земли.
groundTruth | groundTruthDataSource | imageDatastore | labelDefinitionCreator | vision.labeler.AutomationAlgorithm