При создании и экспорте пиксельных меток из приложения Image Labeler, Video Labeler или Ground Truth Labeler (Automated Driving Toolbox) (требует Automated Driving Toolbox™) сохраняются два набора данных.
Папка с именем PixelLabelData
, который содержит файлы информации о пиксельных метках. Эти метки кодируются как индексированные значения.
MAT-файл, содержащий данные о пиксельных метках, вместе с любыми другими данными о метках. Эти данные хранятся в groundTruth
объект, или, если вы используете приложение Ground Truth Labeler, groundTruthMultisignal
(Automated Driving Toolbox) объект. Для данных о пиксельных метках объект также хранит соответствия между изображением или видеокадрами и файлами PNG.
Файлы PNG в PixelLabelData
папка хранится как категориальная матрица. categorical
матрицы содержат значения, присвоенные категориям. Категориальным является тип данных. Категориальная матрица обеспечивает эффективное хранение и удобную манипуляцию нечисловыми данными, а также сохраняет значимые имена для значений. Эти матрицы являются естественными представлениями для семантической сегментации основная истина, где каждый пиксель является одной из предопределенной категории меток.
Объект основная истина хранит путь к папке и имя для папки данных о пиксельных метках. The LabelData
свойство groundTruth
объект или ROILabelData
свойство groundTruthMultisignal
объект содержит информацию в 'PixelLabelData'
столбец. Если вы меняете расположение пиксельных файлов данных, необходимо также обновить связанную информацию в объекте основной истины. Вы можете использовать changeFilePaths
функция для обновления информации.
Приложения labeler сохраняют semantic segmentation основная истина как файлы без потерь с uint8
значение, представляющее каждую категорию. Приложение использует categorical
функция для связи uint8
значений в категорию. Чтобы просмотреть данные пикселя, можно либо наложить категории на изображения, либо создать datastore из маркированных изображений.
Используйте imread
с функцией categorical
и labeloverlay
функций. Вы не можете просмотреть пиксельные данные непосредственно из категориальной матрицы. См. «Просмотр экспортированных данных о пиксельных метках».
Используйте pixelLabelDatastore
функция для создания datastore из набора маркированных изображений. Используйте read
функция для чтения данных о пиксельных метках. Смотрите Пиксельные Данные о Пиксельных Метках Чтения и Отображения.
Считайте изображение и соответствующие данные о пиксельных метках, которые были экспортированы из приложения labeler.
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);
Создайте хранилище данных меток пикселей.
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
{'sky' }
{'grass' }
{'building'}
{'sidewalk'}
Наложите и отобразите данные о пиксельных метках на изображение.
B = labeloverlay(I,C{1}); figure imshow(B)
groundTruth
| pixelLabelImageDatastore
| groundTruthMultisignal
(Automated Driving Toolbox)changeFilePaths
(groundTruth)
| changeFilePaths
(groundTruthMultisignal)
(Automated Driving Toolbox)