Запуск с Image Labeler

Приложение Image Labeler предоставляет простой способ интерактивного создания разнообразных фигур для маркировки как видимая область (ROI) меток. Можно создать прямоугольные, полилинейные, пиксельные и многоугольные метки информация только для чтения и метки сцены в последовательности изображений или изображений.

Можно использовать маркированные данные для проверки или обучения алгоритмов, таких как классификаторы изображений, детекторы объектов и сети семантической и образцы. Рассмотрите приложение при выборе инструмента для создания меток информация только для чтения. Дополнительные сведения о том, как выбрать правильный тип метки и инструмент рисования для приложения, см. в разделах Метки информация только для чтения, Подметки и Атрибуты.

Этот пример поможет вам начать использовать приложение, показав, как:

  • Загрузка немаркированных данных

  • Вручную пометьте систему координат изображения из коллекции изображений.

  • Автоматическая метка между системами координат изображения с помощью алгоритма автоматизации.

  • Экспорт маркированных достоверных данных.

Информации только для чтения и сцен

  • Значение ROI label соответствует либо прямоугольной, либо полилинейной, либо пиксельной области, представляющей интерес. Эти метки содержат два компонента: имя метки, например «автомобили», и область, которую вы создаете.

  • A Scene label описывает характер сцены, например «sunny». Вы можете связать эту метку с системой координат.

Загрузка немаркированных данных

Можно загрузить изображения, хранящиеся в datastore, из папки или загрузить предыдущий сеанс маркера. Изображения должны быть считываемыми imread.

Загрузка данных программно

Чтобы программно загрузить изображения из datastore:

  1. Создайте datastore из папки изображений:

    imageFolder = fullfile(toolboxdir('vision'),'visiondata','boats.png')
    imds = imageDatastore(imageFolder)
    

  2. Загрузите datastore:

    imageLabeler(imds)

Чтобы программно загрузить папку изображений:

imageFolder = fullfile(toolboxdir('vision'),'visiondata','boats.png')
imageLabeler(imageFolder)

Загрузка данных непосредственно из приложения

Откройте приложение из вкладки Apps, под Image Processing and Computer Vision. Щелкните Import, чтобы загрузить изображения или нажмите Open Session, чтобы открыть сохраненный сеанс.

Создание определений меток

Задайте метки, которые вы хотите нарисовать. В этом примере метки задаются непосредственно в приложении Для определения меток из MATLAB® вместо этого используйте командную строку labelDefinitionCreator.

Создание метки информация только для чтения

ROI label является меткой, которая соответствует видимой области (ROI) в изображении. Можно задать эти типы меток информация только для чтения.

  • Rectangle - Нарисуйте 2-D прямоугольные ограничительные прямоугольные метки вокруг объектов на изображении, такие как транспортные средства, лодки, создания.

  • Projected cuboid - Нарисуйте 3-D ограничительные прямоугольные метки вокруг объектов на изображении, такие как транспортные средства, лодки, создания.

  • Line - Нарисуйте линейные ROI для маркировки линий, такие как контуры маршрута.

  • Pixel label - Рисуйте пиксели для маркировки различных классов, таких как дорога или небо, для семантической сегментации. Для получения дополнительной информации о маркировке пикселей смотрите Пиксели меток для семантической сегментации.

  • Polygon - Рисование многоугольников вокруг объектов. Можно пометить отдельные образцы одного и того же класса. Для получения дополнительной информации о чертежах меток ROI многоугольника, например, и семантических сетей сегментации, см. «Маркировка объектов с использованием многоугольников»

Для получения дополнительной информации об этих информациях только для чтения определениях меток смотрите информацию только для чтения «Метки», «Подметки» и «Атрибуты».

В этом примере вы задаете Boat группа для маркировки типов лодок, а затем создайте Rectangle Информация только для чтения для Sailboat и a Tanker. Чтобы контролировать отображение имен меток информация только для чтения во время маркировки, выберите On Hover, Always или Never из раскрывающегося меню Show ROI Labels.

  1. На панели ROI Labels слева нажмите Label.

  2. Создайте Rectangle тип метки с именем Sailboat.

  3. Вы можете изменить цвет метки, щелкнув на цвете предварительного просмотра.

  4. Из Group раскрывающееся меню, выберите New Group ... и назовите группу Boats

  5. Нажмите OK.

    Имя Boats группы появляется на панели ROI Labels с созданной Sailboat метки. Можно переместить метку в списке в другое положение или группу списка, щелкнув левой кнопкой мыши и перетащив метку вверх или вниз.

  6. Чтобы добавить метку второго типа Boats, выберите Boats группы и нажмите Label. Назовите Tanker метки. Нажмите OK.

  7. Выберите Sailboat подметку, затем используйте мышь, чтобы нарисовать прямоугольный информация только для чтения вокруг парусника. Выберите подметку Tanker, чтобы нарисовать информация только для чтения вокруг танкера.

    Sailboat in the foreground and tanker ship in the background

Создание подметок

Подметка является типом метки информация только для чтения, которая соответствует родительской метке информация только для чтения. Каждая подметка должна принадлежать определенной метке, заданной на панели Метки информация только для чтения, или быть ее дочерним элементом. Например, в океанской сцене метка парусника может иметь подметки для парусов. Для получения дополнительной информации о подметках см. Информацию только для чтения Меток, подметки и атрибуты.

Задайте подметку для парусов.

  1. На панели ROI Labels слева щелкните метку Sailboat.

  2. Нажмите Sublabel.

  3. Создайте Rectangle подметка с именем sail и опционально напишите описание. Нажмите OK.

    Подметка sail появится на панели ROI Labels. Подметка вложена в выбранную метку информация только для чтения, Sailboat, и по умолчанию имеет тот же цвет, что и родительская метка.

    Под меткой можно добавить несколько подметок. Можно также перетащить подметки в список и щелкнуть правой кнопкой мыши любую метку для дополнительных правок.

  4. На панели ROI Labels выберите подметку sail.

  5. В системе координат изображения выберите метку Sailboat. Метка становится желтой при выборе. Необходимо выбрать метку Sailboat (родительский информация только для чтения), прежде чем вы сможете нарисовать для нее подметку.

    Нарисуйте sail подметки для каждого из парусов.

Подметки не могут иметь собственных подметок, и они могут использоваться только с прямоугольными или полилинейными метками ROI.

Создайте атрибут ROI

ROI attribute задает дополнительные сведения о метке информация только для чтения или подметке. Для примера в сцене вождения атрибуты могут включать тип или цвет транспортного средства. В океанской сцене атрибуты могут включать тип парусника или количество парусов. Можно задать атрибуты ROI этих типов.

  • Numeric Value - Задайте численный скалярный атрибут, такой как количество дверей на маркированном транспортном средстве или количество парусов на паруснике.

  • String - Задайте строковый скалярный атрибут, такой как цвет транспортного средства или лодки.

  • Logical - Задайте логический атрибут true или false, например, находится ли транспортное средство в движении или лодка пробивается.

  • List - Задайте атрибут раскрывающегося списка предопределенных строк, таких как марка или модель транспортного средства или лодки.

Для получения дополнительной информации об этих типах атрибутов см. «Метки информация только для чтения», «Подметки» и «Атрибуты».

Добавьте атрибут к метке.

  1. На панели ROI Labels слева выберите метку Sailboat и нажмите Attribute.

  2. В Attribute Name поле введите sailboatType. Установите тип атрибута равным List.

  3. В List Items разделе введите различные типы парусников, такие как Monohull, Catamaran, и Multi-hull, каждый по своей линии. Опционально дайте атрибуту описание и нажатие кнопки OK.

  4. Выберите Sailboat метку информация только для чтения. На панели Attributes and Sublabels выберите соответствующее значение атрибута sailboatType для этого транспортного средства.

Можно также добавить атрибуты в подметки. Добавьте атрибут для подметки sail, чтобы указать, является ли это предвидением или mainsail.

  1. На панели ROI Labels слева выберите подметку sail и нажмите Attribute.

  2. В Attribute Name поле введите sailRaised. Установите тип атрибута равным Logical. Оставьте набор Default Value равным Empty, опционально напишите описание и нажатие кнопки OK.

  3. Выберите парус в сцене. На правой панели установите соответствующее значение атрибута isOn или оставьте значение атрибута установленным на Empty.

    The "Attributes and Sublabels" pane showing the sailRaised attribute with "True" selected

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

Создание меток сцен

A scene label определяет дополнительную информацию для всей сцены. Используйте метки сцены, чтобы описать условия, такие как подсветки и погода, или события, такие как изменения маршрута или точка плавания.

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

  1. На левой панели приложения выберите Scene Labels рядом с вкладкой ROI Labels.

  2. Щелкните Define new scene label и в Label Name поле введите метку сцены с именем daytime.

  3. Измените цвет определения метки на светло-синий, чтобы отразить характер метки сцены. Под параметром Color щелкните предворительный просмотр цвета и выберите стандартные светло-синие цвета. Затем нажмите кнопку OK, чтобы закрыть окно выбора цвета.

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

  5. Нажмите Apply to Image, чтобы применить daytime пометить на сцену. Для метки сцены появляется флажок.

  6. Чтобы отредактировать или удалить метку сцены, щелкните правой кнопкой мыши метку и выберите Edit Label или Delete Label.

Пометьте Основная Истина

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

Пометьте Основная Истина вручную

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

Пометьте Основная Истина с помощью алгоритма автоматизации

Чтобы ускорить процесс маркировки, вы можете использовать алгоритм автоматизации, чтобы пометить оставшуюся часть ваших изображений. Выберите один из следующих типов алгоритмов автоматизации на панели инструментов приложения Automate Labeling > Select Algorithm раздел.

  • Встроенный алгоритм автоматизации - Выбор подходящего алгоритма. Следуйте инструкциям, отображаемым на правой панели.

  • Add algorithm - Создайте автоматизацию. Для получения дополнительной информации о том, как определить свой собственный алгоритм автоматизации, смотрите, Создают Алгоритм Автоматизации для Маркировки.

  • Import algorithm - Импорт пользовательского алгоритма автоматизации. Для получения дополнительной информации об импорте алгоритма автоматизации смотрите, Создают Алгоритм Автоматизации для Маркировки.

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

Для дальнейшей оценки меток можно просмотреть визуальные сводные данные маркированной основной истины. На панели инструментов приложения выберите View Label Summary. Используйте эти сводные данные для сравнения систем координат, частоты меток и условий сцены. Для получения дополнительной информации смотрите View Summary of Основная Истина Labels. В этих сводных данных не отображаются подметки или атрибуты.

Экспорт маркированная основная истина

Можно экспортировать помеченную основную истину в MAT-файл или в переменную в рабочем пространстве MATLAB. В обоих случаях маркированная основная истина сохранена как groundTruth объект. Можно использовать этот объект для обучения алгоритма компьютерного зрения на основе глубокого обучения. Для получения дополнительной информации смотрите Обучающие данные для обнаружения объектов и семантической сегментации.

Примечание

Если вы экспортируете пиксельные данные, данные о пиксельных метках и достоверные данные сохраняются в отдельных файлах, но в одной папке. Для факторов о работе с экспортированными метками пикселей см. раздел «Как Приложения Labeler хранят Экспортированные метки пикселей».

В этом примере вы экспортируете метку основная истина в рабочее пространство MATLAB. На панели инструментов приложения выберите Export Labels > To Workspace. Экспортированный переменный 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-файле, на панели инструментов приложения выберите Save > Label Definitions. Затем можно импортировать эти определения меток в другой сеанс приложения, выбрав Import Files.

Отобразите таблицу определений меток. Каждая строка содержит информацию об определении метки информация только для чтения или о определении метки сцены. Если вы экспортировали данные о пиксельных метках, 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 в столбце хранится информация о подметке и определениях атрибутов родительской метки информация только для чтения.

Отображение подметки и информации атрибута для 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}.headlight
ans = 

  struct with fields:
           Type: Rectangle
    Description: ''
          Color: [0.5862 0.8276 0.3103]
           isOn: [1×1 struct]

Отображение информации о carType атрибут.

gTruth.LabelDefinitions.Hierarchy{1}.carType
ans = 

  struct with fields:

      ListItems: {3×1 cell}
    Description: ''

Сохранение сеанса приложения

На панели инструментов приложения выберите Save и сохраните MAT-файл сеанса приложения. Сохраненный сеанс включает источник данных, определения меток и помеченную основную истину. Он также включает настройки вашего сеанса, такие как размещение приложения. Чтобы изменить опции размещения, выберите Layout.

В любое время сеанса можно выбрать New Session, чтобы начать новый сеанс. У вас есть опция сохранить текущий сеанс или отменить.

MAT-файл сеанса приложения отделен от основной истины, который экспортируется при выборе Export > From File. Чтобы поделиться маркированными достоверными данными, как лучшая практика, поделитесь основной истиной MAT-файлом, содержащим groundTruth объект, а не MAT-файл сеанса приложения. Для получения дополнительной информации смотрите Share and Store Labeled Ground Truth Data.

См. также

Приложения

Объекты

Похожие темы