加载训练数据
该示例使用 32×32 三角形图像的简单数据集进行说明。该数据集包括附带的像素标签真实值数据。使用 imageDatastore 和 pixelLabelDatastore 加载训练数据。
dataFolder = fullfile(toolboxdir('vision'),'visiondata','triangleImages');
imageFolderTrain = fullfile(dataFolder,'trainingImages');
labelFolderTrain = fullfile(dataFolder,'trainingLabels');
为图像创建一个 imageDatastore。
imdsTrain = imageDatastore(imageFolderTrain);
为真实值像素标签创建一个 pixelLabelDatastore。
classNames = ["triangle" "background"];
labels = [255 0];
pxdsTrain = pixelLabelDatastore(labelFolderTrain,classNames,labels)
pxdsTrain =
PixelLabelDatastore with properties:
Files: {200x1 cell}
ClassNames: {2x1 cell}
ReadSize: 1
ReadFcn: @readDatastoreImage
AlternateFileSystemRoots: {}
创建语义分割网络
此示例使用一个基于扩张卷积的简单语义分割网络。
创建一个用于训练数据的数据源,并获取每个标签的像素计数。
pximdsTrain = pixelLabelImageDatastore(imdsTrain,pxdsTrain);
tbl = countEachLabel(pximdsTrain)
tbl=2×3 table
Name PixelCount ImagePixelCount
______________ __________ _______________
{'triangle' } 10326 2.048e+05
{'background'} 1.9447e+05 2.048e+05
大多数像素标签