主要内容

pixelLabelImageDatastore

(删除)语义分割数据存储网络

描述

pixelLabelImageDatastore将在将来的版本中被删除。使用imageDatastorepixelLabelDatastore对象和结合函数来代替。

创建

描述

例子

pximds= pixelLabelImageDatastore (gTruth)返回一个数据存储培训语义分割网络根据输入groundTruth对象或数组的groundTruth对象。使用输出pixelLabelImageDatastore对象的深度学习工具箱™函数trainNetwork(深度学习工具箱)训练卷积神经网络的语义分割。

pximds= pixelLabelImageDatastore (洛桑国际管理发展学院,pxds)返回一个基于输入图像数据存储和数据存储像素标签数据存储对象。洛桑国际管理发展学院是一个ImageDatastore对象代表了训练网络的输入。pxds是一个PixelLabelDatastore对象,该对象代表所需的网络输出。

pximds= pixelLabelImageDatastore (___,名称,值)此外使用名称-值对集合DispatchInBackgroundOutputSizeMode属性。对于二维数据,还可以使用指定名称-值对ColorPreprocessing,DataAugmentation,OutputSize增加属性。您可以指定多个名称-值对。在报价附上每个属性的名字。

例如,pixelLabelImageDatastore (gTruth PatchesPerImage, 40)创建一个随机生成的像素标签图像数据存储40补丁从每个地面实况对象gTruth

输入参数

全部展开

地面实况数据,指定为一个groundTruth对象或数组groundTruth对象。每一个groundTruth对象包含关于数据源的信息,标签的列表定义和一套地面真理所有标记标签标签。

收藏的图片,作为一个指定ImageDatastore对象。

集合的像素标记图像,作为指定PixelLabelDatastore对象。对象包含了像素标记为每个图像中包含的图片洛桑国际管理发展学院输入对象。

属性

全部展开

这个属性是只读的。

图像文件名称用作地面实况图像源,指定为一个字符特征向量的向量或一个单元阵列。

这个属性是只读的。

像素标签数据文件名称用作地面真理源标签图片,指定为一个字符或一个细胞的字符数组。

这个属性是只读的。

类名称,指定为一个单元阵列的特征向量。

颜色通道二维数据的预处理,指定为“没有”,“gray2rgb”,或“rgb2gray”。使用这个属性当你需要图像数据创建的数据源必须只有颜色或灰度,但训练集包括。假设您需要训练一个网络,预计颜色但是你的一些训练图像灰度图像。集ColorPreprocessing“gray2rgb”复制的颜色通道灰度图像在输入图像集。使用“gray2rgb”选项创建——- - - - - -N3输出图像。

ColorPreprocessing属性不支持3 d数据。金宝app执行颜色通道三维数据的预处理,使用变换函数。

预处理应用到输入图像,作为指定imageDataAugmenter(深度学习工具箱)对象或“没有”。当DataAugmentation“没有”,不应用于输入图像预处理。培训在实时数据可以增强培训。

DataAugmentation属性不支持3 d数据。金宝app对三维数据进行预处理,使用变换函数。

派遣观察期间在后台培训、预测和分类,指定为真正的。使用背景调度,必须并行计算工具箱™。如果DispatchInBackground真正的并行计算工具箱,然后pixelLabelImageDatastore异步读取补丁,补丁对增加了噪音,和队列。

在每一批数量的观察返回。默认值等于ReadSize图像数据存储洛桑国际管理发展学院。你可以改变的价值MiniBatchSize只有在您创建数据存储。培训、预测或分类,MiniBatchSize中定义的属性设置为mini-batch大小trainingOptions(深度学习工具箱)

这个属性是只读的。

总数量的观察去噪图像数据存储。观察的数量的长度是一个培训的时代。

这个属性是只读的。

大小的输出图像,指定为一个向量的两个正整数。第一个元素指定了输出图像的行数,第二个元素指定列的数量。当你指定OutputSize根据需要,调整图像大小。默认情况下,这个属性是空的,这意味着图像不调整。

OutputSize属性不支持3 d数据。金宝app设置三维数据的输出大小,使用变换函数。

方法用于调整输出图像,指定为以下之一。这个属性只适用于当您设置OutputSize以外的一个值[]

  • “调整”——规模图像适合大小的输出。有关更多信息,请参见imresize

  • “centercrop”——把农作物从训练中心的形象。作物具有相同的大小作为输出大小。

  • “randcrop”——从训练图像随机作物。随机作物具有相同的大小作为输出大小。

数据类型:字符|字符串

对象的功能

结合 合并来自多个数据存储的数据
countEachLabel 数出现的像素或盒标签
hasdata 确定数据可用来读
partitionByIndex 分区pixelLabelImageDatastore根据指数
预览 预览数据存储中数据的子集
从数据存储中读取数据
readall 读取所有数据存储中的数据
readByIndex 指定的索引读取数据pixelLabelImageDatastore
重置 数据存储重置为初始状态
洗牌 返回版本的数据存储
变换 变换数据存储

例子

全部折叠

加载训练数据。

dataSetDir = fullfile (toolboxdir (“愿景”),“visiondata”,“triangleImages”);imageDir = fullfile (dataSetDir,“trainingImages”);labelDir = fullfile (dataSetDir,“trainingLabels”);

创建一个图像的图像数据存储。

imd = imageDatastore (imageDir);

创建一个pixelLabelDatastore地面真理像素标签。

一会= [“三角形”,“背景”];labelIDs = (255 0);一会,pxds = pixelLabelDatastore (labelDir labelIDs);

想象训练图像和地面实况像素标签。

我=读(imd);C =阅读(pxds);I = imresize (5);L = imresize (uint8 (C {1}), 5);imshowpair (L,我“蒙太奇”)

创建一个语义分割网络。这个网络使用一个简单的语义分割网络基于一个将采样和upsampling设计。

numFilters = 64;filterSize = 3;numClasses = 2;32 32层= [imageInputLayer ([1]) convolution2dLayer (filterSize numFilters,“填充”(1)reluLayer) maxPooling2dLayer (2,“步”(2)convolution2dLayer filterSize numFilters,“填充”(1)reluLayer) transposedConv2dLayer (4 numFilters“步”2,“种植”1);numClasses convolution2dLayer(1日);pixelClassificationLayer softmaxLayer () ()];

设置培训选项。

选择= trainingOptions (“个”,“InitialLearnRate”1 e - 3,“MaxEpochs”,100,“MiniBatchSize”,64);

结合图像和像素标签数据存储进行训练。

pxds trainingData =结合(imd);

培训网络。

网= trainNetwork (trainingData层,选择);
培训在单CPU。初始化输入数据规范化。| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | |时代迭代时间| Mini-batch | Mini-batch |基地学习| | | | (hh: mm: ss) | | |损失精度率| | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 | 1 |就是58.11% | | 1.3458 | 0.0010 | | 17 | 50 | 00:00:12 | 97.30% | 0.0924 | 0.0010 | | 100 | | 00:00:24 | 98.09% | 0.0575 | 0.0010 | | 150 | | 00:00:37 | 98.56% | 0.0424 | 0.0010 | 67 | 200 | | 00:00:49 | 98.48% | 0.0435 | 0.0010 | 84 | 250 | | 00:01:02 | 98.66% | 0.0363 | 0.0010 | 100 | 300 | | 00:01:14 | 98.90% | 0.0310 | 0.0010 | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |培训完成:达到最终的迭代。

读取和显示测试图像。

testImage = imread (“triangleTest.jpg”);imshow (testImage)

段测试图像和显示结果。

C = semanticseg (testImage,净);B = labeloverlay (testImage C);imshow (B)

提示

  • pixelLabelDatastorepxdsimageDatastore洛桑国际管理发展学院位于一个文件夹的文件存储在辞典编纂的秩序。例如,如果您有十二个文件命名“file1.jpg”,“file2.jpg”、…“file11.jpg”,“file12.jpg”在这个订单,那么文件存储:

    “file1.jpg”“file10.jpg”“file11.jpg”“file12.jpg”“file2.jpg”“file3.jpg”“file9.jpg”
    文件存储在一个单元阵列读取存储在相同的顺序。

    如果订单的文件pxds洛桑国际管理发展学院是不一样的,那么你可能会遇到当你读不匹配和相应的地面实况图像标签数据使用pixelLabelImageDatastore。如果发生这种情况,然后重命名像素标签文件,以便他们有正确的顺序。例如,重命名“file1.jpg”、…“file9.jpg”“file01.jpg”、…“file09.jpg”

  • 提取语义分割的数据groundTruth生成的对象贴标签机视频,可以使用pixelLabelTrainingData函数。

版本历史

介绍了R2018a

全部展开

不推荐在R2022b_plus开始