Как приложения Labeler хранят экспортированные пиксельные метки

При создании и экспорте пиксельных меток из приложения 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 функций. Вы не можете просмотреть пиксельные данные непосредственно из категориальной матрицы. См. «Просмотр экспортированных данных о пиксельных метках».

Просмотр экспортированных данных о пиксельных метках из Datastore маркированных изображений

Используйте 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))

Figure contains an axes. The axes contains an object of type image.

Чтение и отображение данных о пиксельных метках

Наложите данные о пиксельных метках на изображение.

Установите местоположение изображения и данные о пиксельных метках.

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)

Figure contains an axes. The axes contains an object of type image.

См. также

Приложения

Объекты

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте