Приложение Image Labeler обеспечивает простой способ в интерактивном режиме создать множество форм, чтобы отметить как метки видимой области (ROI). Можно создать прямоугольный, полилинейный, пиксель, и метки ROI многоугольника и метки сцены в последовательности изображений или последовательности изображений.
Можно использовать маркированные данные, чтобы подтвердить или обучить алгоритмы, такие как классификаторы изображений, детекторы объектов, и семантический и сети сегментации экземпляра. Рассмотрите свое заявление при выборе инструмента для рисования маркировки, чтобы создать метки ROI. Для получения дополнительной информации о том, как выбрать правильный тип метки и инструмент для рисования для вашего приложения, смотрите Метки ROI, Подметки и Атрибуты.
Этот пример поможет вам начать использовать приложение, показав, как:
Загрузите непомеченные данные
Вручную пометьте рамку изображения из коллекции изображений.
Автоматическая метка между кадрами изображения с помощью алгоритма автоматизации.
Экспортируйте помеченные достоверные данные.
ROI и Определение меток сцен
ROI label соответствует или прямоугольному, полилинейному, пикселю или необходимой области многоугольника. Эти метки содержат два компонента: имя метки, такое как "автомобили" и область вы создаете.
Scene label описывает характер сцены, например "sunny" Вы можете связать эту метку с рамкой.
Можно загрузить изображения, сохраненные в datastore, от папки, или загрузить предыдущий сеанс этикетировочной машины. Изображения должны быть читаемыми imread
.
Программно загружать изображения от datastore:
Создайте datastore из папки изображений:
imageFolder = fullfile(toolboxdir('vision'),'visiondata','bookcovers') imds = imageDatastore(imageFolder)
Загрузите datastore:
imageLabeler(imds)
Программно загружать папку изображений:
imageFolder = fullfile(toolboxdir('vision'),'visiondata','bookcovers') imageLabeler(imageFolder)
В этом примере вы запускаете и загружаете изображение в интерактивном режиме из приложения. Откройте приложение от вкладки Apps под Image Processing and Computer Vision. Нажмите Import, чтобы загрузить изображения или нажать Open Session, чтобы открыть сохраненный сеанс.
Чтобы загрузить изображение, используемое для этого примера, нажмите Import и затем выберите From File. Выберите boats.png
изображение:
matlab/toolbox/vision/visiondata/boats.png
Задайте метки, которые вы намереваетесь чертить. В этом примере вы задаете метки непосредственно в рамках приложения. Задавать метки из MATLAB® командная строка вместо этого, используйте labelDefinitionCreator
.
ROI label является меткой, которая соответствует видимой области (ROI) в изображении. Можно задать эти типы метки ROI.
Rectangle
— Чертите 2D прямоугольные метки ограничительной рамки вокруг объектов в изображении, таких как транспортные средства, лодки, создания.
Projected cuboid
— Чертите 3-D метки ограничительной рамки вокруг объектов в изображении, таких как транспортные средства, лодки, создания.
Line
— Чертите линейные ROI, чтобы пометить линии, такие как контуры маршрута.
Pixel label
— Чертите пиксели, чтобы пометить различные классы, такие как дорога или небо, для семантической сегментации. Для получения дополнительной информации о пиксельной маркировке, смотрите, Маркируют Pixels for Semantic Segmentation.
Polygon
— Чертите метки многоугольника вокруг объектов. Можно пометить отличные экземпляры того же класса. Для получения дополнительной информации о рисовании меток ROI многоугольника, например, и сетей семантической сегментации, смотрите, Маркируют Objects Using Polygons
Для получения дополнительной информации об этих определениях метки ROI, смотрите Метки ROI, Подметки и Атрибуты.
В этом примере вы задаете Boat
группа для маркировки типов лодок, и затем создает Rectangle
Метка ROI для Sailboat
и Tanker
. Чтобы управлять показом имен метки ROI во время маркировки, выберите On Hover, Always или Never от Show ROI Labels выпадающее меню.
В панели ROI Labels слева, нажмите Label.
Создайте Rectangle
пометьте тип под названием Sailboat
.
Опционально, измените цвет метки путем нажатия на цвет предварительного просмотра.
От Group
выпадающее меню, выберите New Group ...
и назовите группу Boats
Нажмите OK.
Название группы Boats появляется в панели ROI Labels с созданной меткой Sailboat. Можно переместить метку в список к различной позиции или группе в списке путем щелчка левой кнопкой и вытаскивания метки или вниз.
Чтобы добавить второй тип метки Boats, выберите группу Boats, затем нажмите Label. Назовите метку Tanker. Нажмите OK.
Выберите подметку Sailboat, затем используйте мышь, чтобы чертить прямоугольный ROI вокруг парусная лодка. Выберите подметку Tanker, чтобы чертить ROI вокруг поставки танкера.
Подметка является типом метки ROI, которая соответствует родительской метке ROI. Каждая подметка должна принадлежать или быть дочерним элементом, определенная метка, заданная в панели Меток ROI. Например, в океанской сцене, метка парусной лодки может иметь подметки для парусов. Для получения дополнительной информации о подметках, смотрите Метки ROI, Подметки и Атрибуты.
Задайте подметку для парусов.
В панели ROI Labels слева, кликните по метке Sailboat.
Нажмите Sublabel.
Создайте Rectangle
подпометьте названный sail
и опционально запишите описание. Нажмите OK.
Подметка sail появляется в панели ROI Labels. Подметка вкладывается под выбранной маркой ROI, Sailboat, и по умолчанию имеет тот же цвет как своя родительская метка.
Можно добавить несколько подметок под маркой. Можно также перетащить подметки, чтобы переупорядочить их в списке и щелкнуть правой кнопкой по любой метке для дополнительных редактирований.
В панели ROI Labels выберите подметку sail.
Во фрейме изображения выберите метку Sailboat. Метка становится желтой, когда выбрано. Необходимо выбрать метку Sailboat (родительский ROI), прежде чем можно будет чертить подметку для него.
Чертите подметки sail для каждого из парусов.
Подметки не могут иметь своих собственных подметок, и они могут только использоваться с прямоугольным или метками ROI ломаной линии.
Можно показать или скрыть метки или подметки в помеченном изображении при помощи значка на панели ROI Labels. Появляться только после того, как вы задаете метку или подметку. По умолчанию, отображения приложения все метки и подметки.
Чтобы скрыть метку или подпометить, нажмите на значок вдоль стороны метка или подпометьте имя. Приложение скрывает соответствующую метку или подметку и отображает значок.
Показ или скрывается, опция доступна только для Rectangle
строка
, Polygon
, и Projected cuboid
Метки ROI.
|
|
ROI attribute указывает дополнительную информацию о метке ROI или подметке. Например, в ведущей сцене, атрибуты могут включать тип или цвет транспортного средства. В океанской сцене атрибуты могут включать тип парусной лодки или количество парусов. Можно задать атрибуты ROI этих типов.
Numeric Value
— Задайте атрибут числового скаляра, такой как количество дверей на помеченном транспортном средстве или количество парусов на парусной лодке.
String
— Задайте атрибут строкового скаляра, такой как цвет транспортного средства или лодки.
Logical
— Задайте логический истинный или ложный атрибут, такой как, находится ли транспортное средство в движении, или лодка пробивается.
List
— Задайте выпадающий атрибут списка предопределенных строк, тех, которые делают или модель транспортного средства или лодки.
Для получения дополнительной информации об этих типах атрибута, смотрите Метки ROI, Подметки и Атрибуты.
Добавьте атрибут в Метку.
В панели ROI Labels слева, выберите метку Sailboat и нажмите Attribute.
В поле Attribute Name введите sailboatType
. Установите тип атрибута на List
.
В разделе List Items введите различные типы парусных лодок, такие как Monohull
, Catamaran
, и Multihull
, каждый на его собственной линии. Опционально дайте атрибуту описание и нажмите OK. Можно навести информационный значок, который, кажется, рядом с полем атрибута отображает добавленное описание.
Выберите метку Sailboat ROI. В панели Attributes and Sublabels выберите соответствующее значение атрибута sailboatType для того транспортного средства.
Можно также добавить атрибуты в подметки. Добавьте атрибут для подметки sail, чтобы указать, является ли это фоком или гротом.
В панели ROI Labels слева, выберите подметку sail и нажмите Attribute.
В поле Attribute Name введите sailRaised
. Установите тип атрибута на Logical
. Оставьте набор Default Value Empty
, опционально запишите описание и нажмите OK.
Выберите парус в сцене. В правой панели, набор соответствующее значение атрибута isOn или отпуск набор значения атрибута к Empty
.
Чтобы удалить атрибут, щелкните правой кнопкой по метке ROI или подметке, и выберите атрибут, чтобы удалить. Удаление атрибута удаляет информационные признаки из всех ранее созданных аннотаций метки ROI.
scene label задает дополнительную информацию для целой сцены. Используйте метки сцены, чтобы описать условия, такие как подсветка и погода или события, такие как изменения маршрута или точка паруса.
Создайте метку сцены, чтобы примениться к изображению.
На левой панели приложения выберите Scene Labels рядом с вкладкой ROI Labels.
Нажмите Define new scene label, и в поле Label Name, введите метку сцены, названную daytime
.
Измените цвет определения метки голубому, чтобы отразить природу метки сцены. Под параметром Color кликните по просмотру цветов и выберите стандартные голубые цвета. Затем нажмите OK, чтобы закрыть окно выбора цвета.
Оставьте набор параметров Group значению по умолчанию None
и нажмите OK. Панель Scene Labels показывает определение меток сцены.
Нажмите Apply to Image, чтобы применить daytime
пометьте к сцене. Галочка появляется для метки сцены.
Чтобы отредактировать или удалить метку сцены, щелкните правой кнопкой по метке и выберите Edit Label или Delete Label.
Можно пометить изображения вручную, использовать подходящий встроенный алгоритм автоматизации, создать новый алгоритм или импортировать алгоритм.
ROI и метки Сцены заданы для вашего целого сеанса и всех изображений, но необходимо чертить метки и подметки для каждого изображения и обновить информационные признаки.
Чтобы ускорить процесс маркировки, можно использовать алгоритм автоматизации, чтобы пометить остаток от изображений. Выберите один из этих типов алгоритмов автоматизации от раздела Automate Labeling> Select Algorithm панели инструментов приложения.
Встроенный алгоритм автоматизации — Выбор подходящий алгоритм. Выполните шаги, которые появляются на правой панели.
Add algorithm — Создайте автоматизацию. Для получения дополнительной информации о том, как задать ваш собственный алгоритм авто-Матино, смотрите, Создают Алгоритм Автоматизации для Маркировки.
Import algorithm — Импортируйте пользовательский алгоритм автоматизации. Для получения дополнительной информации об импорте алгоритма автоматизации, смотрите, Создают Алгоритм Автоматизации для Маркировки.
После использования алгоритма автоматизации можно вручную пометить остающиеся системы координат подметкой и информационными признаками.
Чтобы далее оценить ваши марки, можно просмотреть визуальные сводные данные помеченной основной истины. От панели инструментов приложения выберите View Label Summary. Используйте эти сводные данные, чтобы сравнить системы координат, частоту меток и условия сцены. Для получения дополнительной информации, Сводные данные вида на море Меток Основной истины. Эти сводные данные не показывают подметки или атрибуты.
Можно экспортировать помеченную основную истину в MAT-файл или в переменную в рабочем пространстве MATLAB. В обоих случаях помеченная основная истина хранится как groundTruth
объект. Можно использовать этот объект обучить основанный на глубоком обучении алгоритм компьютерного зрения. Для получения дополнительной информации смотрите Обучающие данные для Обнаружения объектов и Семантической Сегментации.
Примечание
Если вы экспортируете пиксельные данные, данные о пиксельных метках и достоверные данные сохранены в отдельных файлах, но в той же папке. Для факторов при работе с экспортируемыми пиксельными метками смотрите Как Магазин приложений Этикетировочной машины Экспортируемые Пиксельные Метки.
В этом примере вы экспортируете помеченную основную истину в рабочее пространство 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.
Отобразите таблицу определений метки. Каждая строка содержит информацию об определении метки ROI или определении меток сцены. Если вы экспортировали данные о пиксельных метках, 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}.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-файл сеанса приложения является отдельным от MAT-файла основной истины, который экспортируется, когда вы выбираете Export> From File. Чтобы совместно использовать помеченные достоверные данные, как лучшая практика, совместно используют MAT-файл основной истины, содержащий groundTruth
объект, не MAT-файл сеанса приложения. Для получения дополнительной информации смотрите Долю, и Хранилище Пометило Ground Truth Data.
groundTruth
| imageDatastore
| groundTruthDataSource
| labelDefinitionCreator
| vision.labeler.AutomationAlgorithm