主要内容GydF4y2Ba

unetLayersGydF4y2Ba

创建用于语义分段的U-Net层GydF4y2Ba

描述GydF4y2Ba

实例GydF4y2Ba

lgraphGydF4y2Ba=无误驾驶员(GydF4y2Ba图像大小GydF4y2Ba,GydF4y2BanumClassesGydF4y2Ba)GydF4y2Ba返回U-Net网络。GydF4y2BaunetLayersGydF4y2Ba在网络中包括像素分类层,用于预测输入图像中每个像素的分类标签。GydF4y2Ba

使用GydF4y2BaunetLayersGydF4y2Ba创建U-Net网络架构。您必须使用深度学习工具箱培训网络™ 作用GydF4y2Ba列车网络GydF4y2Ba(深度学习工具箱)GydF4y2Ba.GydF4y2Ba

[GydF4y2BalgraphGydF4y2Ba,GydF4y2Ba输出大小GydF4y2Ba) = unetLayers (GydF4y2Ba图像大小GydF4y2Ba,GydF4y2BanumClassesGydF4y2Ba)GydF4y2Ba也返回U-Net网络的输出大小。GydF4y2Ba

___GydF4y2Ba=无误驾驶员(GydF4y2Ba图像大小GydF4y2Ba,GydF4y2BanumClassesGydF4y2Ba,GydF4y2Ba名称、值GydF4y2Ba)GydF4y2Ba使用一个或多个名称-值对参数指定选项。用引号将每个属性名称括起来。例如GydF4y2BaunetLayers(图象尺寸、numClasses NumFirstEncoderFilters, 64)GydF4y2Ba另外设置输出通道的数量为GydF4y2Ba64GydF4y2Ba对于第一个编码器阶段。GydF4y2Ba

例子GydF4y2Ba

全部崩溃GydF4y2Ba

创建一个编码-解码器深度为3的U-Net网络。GydF4y2Ba

imageSize=[480 640 3];numClasses=5;encoderDepth=3;lgraph=unetLayers(imageSize,numClasses,GydF4y2Ba“EncoderDepth”GydF4y2Ba,encoderDepth)GydF4y2Ba
lgraph=LayerGraph,属性为:层:[46x1 nnet.cnn.layer.layer]连接:[48x2表]输入名称:{'ImageInputLayer'}输出名称:{'Segmentation-layer'}GydF4y2Ba

显示网络。GydF4y2Ba

绘图(lgraph)GydF4y2Ba

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。GydF4y2Ba

将训练图像和像素标签加载到工作区中。GydF4y2Ba

dataSetDir=fullfile(toolboxdir(GydF4y2Ba“愿景”GydF4y2Ba),GydF4y2Ba“visiondata”GydF4y2Ba,GydF4y2Ba“三角形图像”GydF4y2Ba);imageDir = fullfile (dataSetDir,GydF4y2Ba“培训图像”GydF4y2Ba);labelDir=fullfile(dataSetDir,GydF4y2Ba“trainingLabels”GydF4y2Ba);GydF4y2Ba

创建一个GydF4y2Ba图像数据存储GydF4y2Ba对象来存储训练图像。GydF4y2Ba

imds=图像数据存储(imageDir);GydF4y2Ba

定义类名及其关联的标签ID。GydF4y2Ba

一会= [GydF4y2Ba“三角形”GydF4y2Ba,GydF4y2Ba“背景”GydF4y2Ba]; labelIDs=[255 0];GydF4y2Ba

创建一个GydF4y2Ba像素标签数据库GydF4y2Ba对象存储训练图像的地面真值像素标签。GydF4y2Ba

pxds=像素标签数据存储(标签、类名、标签);GydF4y2Ba

创建U-Net网络。GydF4y2Ba

imageSize = [32 32];numClasses = 2;lgraph = unetLayers(imageSize, numClasses)GydF4y2Ba
LGRAPHE=LayerGraph,属性为:Layers:[58×1 nnet.cnn.layer.layer]连接:[61×2表格]输入名称:{'ImageInputLayer'}输出名称:{'SECTION-layer'}GydF4y2Ba

为网络创建一个数据存储。GydF4y2Ba

ds =结合(imd, pxds);GydF4y2Ba

设置培训选项。GydF4y2Ba

选项=培训选项(GydF4y2Ba“sgdm”GydF4y2Ba,GydF4y2Ba...GydF4y2Ba“初始学习率”GydF4y2Ba1 e - 3,GydF4y2Ba...GydF4y2Ba“MaxEpochs”GydF4y2Ba, 20岁,GydF4y2Ba...GydF4y2Ba“详细频率”GydF4y2Ba,10);GydF4y2Ba

培训网络。GydF4y2Ba

净= trainNetwork (ds、lgraph选项)GydF4y2Ba
在单CPU上进行培训。初始化输入数据规范化。|=================================================================================================================================================================================历元|迭代|时间经过|小批量|基础学习|第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第二种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第二种第四种第四种第四种第四种第二种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第四种第|0.0010 | 20 | 20 | 00:01:13 | 97.62%| 0.2324 | 0.0010 ||========================================================================================|GydF4y2Ba
net=DAG网络,属性:层:[58×1 nnet.cnn.layer.layer]连接:[61×2表]输入名称:{'ImageInputLayer'}输出名称:{'Segmentation-layer'}GydF4y2Ba

输入参数GydF4y2Ba

全部崩溃GydF4y2Ba

网络输入图像大小,指定为:GydF4y2Ba

  • 形式中的2元向量[GydF4y2Ba高度GydF4y2Ba,GydF4y2Ba宽度GydF4y2Ba].GydF4y2Ba

  • 形式为[GydF4y2Ba高度GydF4y2Ba,GydF4y2Ba宽度GydF4y2Ba,GydF4y2Ba深度GydF4y2Ba].GydF4y2Ba深度GydF4y2Ba为图像通道的个数。集GydF4y2Ba深度GydF4y2Ba来GydF4y2Ba3.GydF4y2Ba对于RGB图像,要GydF4y2Ba1.GydF4y2Ba对于灰度图像,或多光谱和高光谱图像的通道数。GydF4y2Ba

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双重的GydF4y2Ba|GydF4y2Baint8GydF4y2Ba|GydF4y2Baint16GydF4y2Ba|GydF4y2Baint32GydF4y2Ba|GydF4y2Baint64GydF4y2Ba|GydF4y2Bauint8GydF4y2Ba|GydF4y2Bauint16GydF4y2Ba|GydF4y2Bauint32GydF4y2Ba|GydF4y2Bauint64GydF4y2Ba

语义分段中的类数,指定为大于1的整数。GydF4y2Ba

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双重的GydF4y2Ba|GydF4y2Baint8GydF4y2Ba|GydF4y2Baint16GydF4y2Ba|GydF4y2Baint32GydF4y2Ba|GydF4y2Baint64GydF4y2Ba|GydF4y2Bauint8GydF4y2Ba|GydF4y2Bauint16GydF4y2Ba|GydF4y2Bauint32GydF4y2Ba|GydF4y2Bauint64GydF4y2Ba

名称值参数GydF4y2Ba

例子:GydF4y2Ba“EncoderDepth”,3GydF4y2Ba

编码器深度,指定为正整数。U-Net由编码器子网络和相应的解码器子网络组成。这些网络的深度决定了处理过程中输入图像的下采样或上采样次数。编码器网络将输入图像的下采样倍数为2GydF4y2BaDGydF4y2Ba哪里GydF4y2BaDGydF4y2Ba价值是多少GydF4y2Ba编码深度GydF4y2Ba. 解码器网络将编码器网络输出的采样率提高2倍GydF4y2BaDGydF4y2Ba.GydF4y2Ba

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双重的GydF4y2Ba|GydF4y2Baint8GydF4y2Ba|GydF4y2Baint16GydF4y2Ba|GydF4y2Baint32GydF4y2Ba|GydF4y2Baint64GydF4y2Ba|GydF4y2Bauint8GydF4y2Ba|GydF4y2Bauint16GydF4y2Ba|GydF4y2Bauint32GydF4y2Ba|GydF4y2Bauint64GydF4y2Ba

笔记GydF4y2Ba

NumoutputChannelGydF4y2Ba重命名为GydF4y2BaNumFirstEncoderFiltersGydF4y2Ba并且在未来的版本中将不会被支持。金宝app使用GydF4y2BaNumFirstEncoderFiltersGydF4y2Ba相反GydF4y2Ba

第一个编码器级的输出通道数,指定为正整数或正整数向量。在每个后续编码器级中,输出通道数加倍。GydF4y2BaunetLayersGydF4y2Ba设置每个解码器阶段的输出通道数量,以匹配相应的编码器阶段的数量。GydF4y2Ba

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双重的GydF4y2Ba|GydF4y2Baint8GydF4y2Ba|GydF4y2Baint16GydF4y2Ba|GydF4y2Baint32GydF4y2Ba|GydF4y2Baint64GydF4y2Ba|GydF4y2Bauint8GydF4y2Ba|GydF4y2Bauint16GydF4y2Ba|GydF4y2Bauint32GydF4y2Ba|GydF4y2Bauint64GydF4y2Ba

第一个编码器级的输出通道数,指定为正整数或正整数向量。在每个后续编码器级中,输出通道数加倍。的GydF4y2BaunetLayersGydF4y2Ba函数设置每个解码器级中输出通道的数量,以匹配相应编码器级中的数量。GydF4y2Ba

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双重的GydF4y2Ba|GydF4y2Baint8GydF4y2Ba|GydF4y2Baint16GydF4y2Ba|GydF4y2Baint32GydF4y2Ba|GydF4y2Baint64GydF4y2Ba|GydF4y2Bauint8GydF4y2Ba|GydF4y2Bauint16GydF4y2Ba|GydF4y2Bauint32GydF4y2Ba|GydF4y2Bauint64GydF4y2Ba

卷积层过滤器的大小,指定为正奇数或正奇数的2元素行向量。典型值在[3,7]范围内。GydF4y2Ba

过滤GydF4y2Ba 描述GydF4y2Ba
标量GydF4y2Ba 过滤器是方形的。GydF4y2Ba
二元行向量GydF4y2Ba

过滤器的大小不一样[GydF4y2Ba高度GydF4y2Ba宽度GydF4y2Ba].GydF4y2Ba

数据类型:GydF4y2Ba单GydF4y2Ba|GydF4y2Ba双重的GydF4y2Ba|GydF4y2Baint8GydF4y2Ba|GydF4y2Baint16GydF4y2Ba|GydF4y2Baint32GydF4y2Ba|GydF4y2Baint64GydF4y2Ba|GydF4y2Bauint8GydF4y2Ba|GydF4y2Bauint16GydF4y2Ba|GydF4y2Bauint32GydF4y2Ba|GydF4y2Bauint64GydF4y2Ba

填充的类型,指定为GydF4y2Ba“一样”GydF4y2Ba或GydF4y2Ba“有效”GydF4y2Ba.属性的填充类型指定填充样式GydF4y2Baconvolution2dLayerGydF4y2Ba(深度学习工具箱)GydF4y2Ba在编码器和解码器子网中。输出特征映射的空间大小取决于填充类型。如果将填充类型指定为:GydF4y2Ba

  • “一样”GydF4y2Ba0填充应用到卷积层的输入,这样输出和输入特征映射是相同的大小。GydF4y2Ba

  • “有效”GydF4y2Ba0填充不应用于卷积层的输入。卷积层只返回没有零填充的卷积值。输出特征图小于输入特征图。GydF4y2Ba

笔记GydF4y2Ba

确保GydF4y2Ba高度GydF4y2Ba和GydF4y2Ba宽度GydF4y2Ba如果最大池层的输入为偶数,请选择网络输入图像大小以确认符合以下任一标准:GydF4y2Ba

  • 如果您指定GydF4y2Ba“卷积填充”GydF4y2Ba像GydF4y2Ba“一样”GydF4y2Ba,那么GydF4y2Ba高度GydF4y2Ba和GydF4y2Ba宽度GydF4y2Ba输入图像的大小必须是2的倍数GydF4y2BaDGydF4y2Ba.GydF4y2Ba

  • 如果您指定GydF4y2Ba“卷积填充”GydF4y2Ba像GydF4y2Ba“有效”GydF4y2Ba,那么GydF4y2Ba高度GydF4y2Ba和GydF4y2Ba宽度GydF4y2Ba必须选择输入图像的GydF4y2Ba HGydF4y2Ba EGydF4y2Ba 我GydF4y2Ba GGydF4y2Ba HGydF4y2Ba TGydF4y2Ba −GydF4y2Ba ∑GydF4y2Ba 我GydF4y2Ba =GydF4y2Ba 1.GydF4y2Ba DGydF4y2Ba 2.GydF4y2Ba 我GydF4y2Ba (GydF4y2Ba FGydF4y2Ba HGydF4y2Ba −GydF4y2Ba 1.GydF4y2Ba )GydF4y2Ba 和GydF4y2Ba WGydF4y2Ba 我GydF4y2Ba DGydF4y2Ba TGydF4y2Ba HGydF4y2Ba −GydF4y2Ba ∑GydF4y2Ba 我GydF4y2Ba =GydF4y2Ba 1.GydF4y2Ba DGydF4y2Ba 2.GydF4y2Ba 我GydF4y2Ba (GydF4y2Ba FGydF4y2Ba WGydF4y2Ba −GydF4y2Ba 1.GydF4y2Ba )GydF4y2Ba 是2的倍数吗GydF4y2BaDGydF4y2Ba.GydF4y2Ba

    在哪里GydF4y2BaFGydF4y2BaHGydF4y2Ba和GydF4y2BaFGydF4y2BaWGydF4y2Ba为二维卷积核的高度和宽度。GydF4y2BaDGydF4y2Ba是编码器的深度。GydF4y2Ba

数据类型:GydF4y2Ba烧焦GydF4y2Ba|GydF4y2Ba字符串GydF4y2Ba

输出参数GydF4y2Ba

全部崩溃GydF4y2Ba

表示U-Net网络体系结构的层,返回为GydF4y2Ba分层图GydF4y2Ba(深度学习工具箱)GydF4y2Ba对象。GydF4y2Ba

网络输出图像的大小,以三元素向量的形式返回[GydF4y2Ba高度GydF4y2Ba,GydF4y2Ba宽度GydF4y2Ba,GydF4y2Ba渠道GydF4y2Ba].GydF4y2Ba渠道GydF4y2Ba是输出通道的数量,它等于在输入端指定的类的数量GydF4y2Ba高度GydF4y2Ba和GydF4y2Ba宽度GydF4y2Ba从网络输出图像的大小取决于填充卷积的类型。GydF4y2Ba

  • 如果您指定GydF4y2Ba“卷积填充”GydF4y2Ba像GydF4y2Ba“一样”GydF4y2Ba,那么GydF4y2Ba高度GydF4y2Ba和GydF4y2Ba宽度GydF4y2Ba网络输出图像的大小与网络输入图像的大小相同。GydF4y2Ba

  • 如果您指定GydF4y2Ba“卷积填充”GydF4y2Ba像GydF4y2Ba“有效”GydF4y2Ba,那么GydF4y2Ba高度GydF4y2Ba和GydF4y2Ba宽度GydF4y2Ba的网络输出图像小于网络输入图像。GydF4y2Ba

数据类型:GydF4y2Ba双重的GydF4y2Ba

更多关于GydF4y2Ba

全部崩溃GydF4y2Ba

U-Net体系结构GydF4y2Ba

  • U-Net架构由编码器子网和解码器子网组成,它们通过桥接段连接。GydF4y2Ba

  • U-Net体系结构中的编码器和解码器子网由多个阶段组成。GydF4y2Ba编码深度GydF4y2Ba,它指定编码器和解码器子网的深度,并设置级的数量。GydF4y2Ba

  • U-Net编码器子网内的级由两组卷积层和ReLU层组成,然后是2×2最大池层。解码器子网络包括用于上采样的转置卷积层,然后是两组卷积层和ReLU层。GydF4y2Ba

  • 桥接部分由两组卷积层和ReLU层组成。GydF4y2Ba

  • 所有卷积层的偏置项初始化为零。GydF4y2Ba

  • 方法初始化编码器和解码器子网中的卷积层权重GydF4y2Ba“他”GydF4y2Ba权重初始化方法GydF4y2Ba[2]GydF4y2Ba.GydF4y2Ba

提示GydF4y2Ba

  • 使用GydF4y2Ba“一样”GydF4y2Ba在卷积层中填充,以保持从输入到输出的相同数据大小,并允许使用广泛的输入图像大小集。GydF4y2Ba

  • 使用基于patch的方法无缝分割大图像。您可以提取图像补丁使用GydF4y2BarandomPatchExtractionDatastoreGydF4y2Ba图像处理工具箱中的函数™.GydF4y2Ba

  • 使用GydF4y2Ba“有效”GydF4y2Ba填充以防止在使用基于面片的方法进行分割时出现边界瑕疵。GydF4y2Ba

  • 您可以使用使用创建的网络GydF4y2BaunetLayersGydF4y2Ba用于在使用进行培训后生成GPU代码的功能GydF4y2Ba列车网络GydF4y2Ba(深度学习工具箱)GydF4y2Ba。有关详细信息和示例,请参阅GydF4y2Ba深度学习代码生成GydF4y2Ba(深度学习工具箱)GydF4y2Ba.GydF4y2Ba

兼容性考虑GydF4y2Ba

全部展开GydF4y2Ba

不建议从R2019b开始GydF4y2Ba

工具书类GydF4y2Ba

Ronneberger, O., P. Fischer和T. Brox。U-Net:用于生物医学图像分割的卷积网络。GydF4y2Ba医学图像计算和计算机辅助干预(MICCAI)GydF4y2Ba2015年第9351卷,第234-241页。GydF4y2Ba

[2] 深入研究整流器:在ImageNet分类上超越人类水平的性能GydF4y2BaIEEE计算机视觉国际会议论文集GydF4y2Ba. 2015, 1026–1034.GydF4y2Ba

扩展功能GydF4y2Ba

另见GydF4y2Ba

物体GydF4y2Ba

功能GydF4y2Ba

在R2018b中引入GydF4y2Ba