При создании и экспорте пиксельных меток из приложения Image Labeler, Video Labeler или Ground Truth Labeler (требует Automated Driving Toolbox™), приложение, сохраняются два набора данных.
Папка под названием PixelLabelData
, который содержит файлы PNG пиксельной информации о метке. Эти метки закодированы как индексированные значения.
MAT-файл, содержащий groundTruth
объект, который хранит соответствия между фреймами изображения или видеокадрами и файлами PNG. Объект также содержит любые отмеченные прямоугольники или полилинии.
Файлы PNG в PixelLabelData
папка хранится как категориальная матрица. categorical
матрицы содержат значения, присвоенные категориям. Категориальный тип данных. Категориальная матрица обеспечивает эффективное устройство хранения данных и удобную манипуляцию нечисловых данных, также обеспечивая понятные имена для значений. Эти матрицы являются естественными представлениями для основной истины семантической сегментации, где каждый пиксель является одной из предопределенной категории меток.
groundTruth
объектно-ориентированная память путь к папке и имя для папки данных о пиксельных метках. Основная истина LabelData
свойство этого объекта содержит информацию в 'PixelLabelData'
столбец. Если вы изменяете местоположение файла пиксельных данных, необходимо также обновить сопутствующую информацию в groundTruth
объект. Можно использовать changeFilePaths
функционируйте, чтобы обновить информацию.
Магазин приложений этикетировочной машины основная истина семантической сегментации как файлы PNG без потерь, с uint8
значение, представляющее каждую категорию. Приложение использует categorical
функционируйте, чтобы сопоставить uint8
значения к категории. Чтобы просмотреть ваши пиксельные данные, можно или наложить категории на изображениях или создать datastore из помеченных изображений.
Используйте imread
функция с categorical
и labeloverlay
функции. Вы не можете просмотреть пиксельные данные непосредственно из категориальной матрицы. Вид на море Экспортируемые Данные о пиксельных метках.
Используйте pixelLabelDatastore
функция, чтобы создать datastore из набора помеченных изображений. Используйте read
функционируйте, чтобы считать данные о пиксельных метках. Смотрите Пиксельные Данные о Метке Чтения и Отображения.
Считайте изображение и соответствующие данные о пиксельных метках, который экспортировался из приложения этикетировочной машины.
visiondatadir = fullfile(toolboxdir('vision'),'visiondata'); buildingImage = imread(fullfile(visiondatadir,'building','building1.JPG')); buildingLabels = imread(fullfile(visiondatadir,'buildingPixelLabels','Label_1.png'));
Задайте категории для каждого пиксельного значения в buildingLabels
.
labelIDs = [1,2,3,4]; labelcats = ["sky" "grass" "building" "sidewalk"];
Создайте категориальную матрицу с помощью изображения и определений.
buildingLabelCats = categorical(buildingLabels,labelIDs,labelcats);
Отобразите категории, наложенные на изображении.
figure imshow(labeloverlay(buildingImage,buildingLabelCats))
Наложите данные о пиксельных метках на изображении.
Установите местоположение изображения и данных о пиксельных метках.
dataDir = fullfile(toolboxdir('vision'),'visiondata'); imDir = fullfile(dataDir,'building'); pxDir = fullfile(dataDir,'buildingPixelLabels');
Создайте datastore изображений.
imds = imageDatastore(imDir);
Создайте пиксельный datastore метки.
classNames = ["sky" "grass" "building" "sidewalk"]; pixelLabelID = [1 2 3 4]; pxds = pixelLabelDatastore(pxDir,classNames,pixelLabelID);
Считайте изображение и данные о пиксельных метках. read(pxds)
возвращает категориальную матрицу, C
. Элемент C (i, j) в матрице является категориальной меткой, присвоенной пикселю в местоположении l (i, j).
I = read(imds); C = read(pxds);
Отобразите категории метки в C
.
categories(C{1})
ans = 4x1 cell array
{'sky' }
{'grass' }
{'building'}
{'sidewalk'}
Наложите и отобразите данные о пиксельных метках на изображение.
B = labeloverlay(I,C{1}); figure imshow(B)