主要内容

segnetLayers

创建SegNet层语义分割

描述

例子

lgraph= segnetLayers (图象尺寸,numClasses,模型)返回SegNet层,lgraph,从pretrained preinitialized层和权重模型

SegNet是语义的卷积神经网络图像分割。网络使用pixelClassificationLayer预测分类标签输入图像中的每个像素。

使用segnetLayers为SegNet创建网络体系结构。你必须训练网络使用深度学习工具箱™函数trainNetwork(深度学习工具箱)

lgraph= segnetLayers (图象尺寸,numClasses,encoderDepth)返回未初始化SegNet层配置使用指定的深度编码器。

lgraph= segnetLayers (图象尺寸,numClasses,encoderDepth,名称,值)返回一个SegNet层由一个或多个指定附加选项名称,值对参数。

例子

全部折叠

负荷训练图像和像素标签。

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

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

imd = imageDatastore (imageDir);

定义类名和它们相关的标签id。

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

创建一个像素标签数据存储着地面真理训练图像像素标签。

一会,pxds = pixelLabelDatastore (labelDir labelIDs);

创建SegNet层。

图象尺寸= [32 32];numClasses = 2;lgraph = segnetLayers (numClasses图象尺寸,2)
lgraph = LayerGraph属性:层:[31 x1 nnet.cnn.layer.Layer]连接:[34 x2表]InputNames: {“inputImage”} OutputNames: {“pixelLabels”}

结合语义分割图像和像素标签数据训练网络。

ds =结合(imd, pxds);

建立培训选项。

选择= trainingOptions (“个”,“InitialLearnRate”1 e - 3,“MaxEpochs”,20岁,“VerboseFrequency”10);

培训网络。

净= trainNetwork (ds、lgraph选项)
培训在单CPU。初始化输入数据规范化。| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | |时代迭代时间| Mini-batch | Mini-batch |基地学习| | | | (hh: mm: ss) | | |损失精度率| | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 | 1 | 00:00:04 | 39.86% | 0.7677 | 0.0010 | | 10 | | 00:00:25 | 50.15% | 0.7397 | 0.0010 | | 20 | 20 | 00:00:50 | 67.35% | 0.6898 | 0.0010 | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |培训完成:马克思时代完成。
网= DAGNetwork属性:层:[31 x1 nnet.cnn.layer.Layer]连接:[34 x2表]InputNames: {“inputImage”} OutputNames: {“pixelLabels”}

显示网络。

情节(lgraph)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

用一个编码器/解码器创建SegNet层深度为4。

图象尺寸= (480 640 3);numClasses = 5;encoderDepth = 4;lgraph = segnetLayers(图象尺寸、numClasses encoderDepth)
lgraph = LayerGraph属性:层:[59 x1 nnet.cnn.layer.Layer]连接:[66 x2表]InputNames: {“inputImage”} OutputNames: {“pixelLabels”}

显示网络。

图绘制(lgraph)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

输入参数

全部折叠

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

  • 2-element矢量格式(高度,宽度]。

  • 转换矢量格式(高度,宽度,深度]。深度是图像通道的数量。集深度3RGB图像,1对灰度图像或渠道的数量多光谱和高光谱图像。

类的语义分割,指定为一个比1大的整数。

Pretrained网络模型,指定为“vgg16”“vgg19”。这些模型有一个编码器5的深度。当你使用“vgg16”模型中,您必须指定RGB输入。您可以使用的灰度图像转换为RGBim2gray函数。

编码器深度,指定为一个正整数。

SegNet由相应的编码器和解码器子网。这些网络的深度决定了输入图像的次数是downsampled或upsampled处理。编码器网络downsamples输入图像的2倍D,在那里D的值是encoderDepth。译码器网络upsamples编码器网络输出的2倍D

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“NumConvolutionLayers”, 1

每个编码器和解码器的卷积层部分,指定为一个正整数或向量的正整数。

NumConvolutionLayers 描述
标量 相同数量的层是用于所有编码器和译码器部分。
向量 kth元素NumConvolutionLayers卷积层的数量吗k编码器部分和相应的译码器部分。典型值在[1,3]。

每个部分的输出通道数SegNet编码器网络,指定为一个正整数或向量的正整数。segnetLayers集的输出通道解码器来匹配相应的编码器部分。

NumOutputChannels 描述
标量 相同数量的输出通道用于所有编码器和译码器部分。
向量 kth元素NumOutputChannels输出通道的数量吗k编码器部分和相应的译码器部分。

卷积层过滤大小,指定为一个积极的奇数或2-element积极的奇数行向量。典型值的范围(3、7)。

FilterSize 描述
标量 过滤器是广场。
2-element行向量

过滤器的大小(高度宽度]。

输出参数

全部折叠

层代表SegNet网络架构,作为一个返回layerGraph(深度学习工具箱)对象。

提示

  • SegNet编码器和解码器子网内的部分由卷积、批正常化,和ReLU层。

  • 所有卷积层配置这种偏差项固定为零。

  • 卷积在编码器和解码器子网层权重初始化使用'同行的体重初始化方法。为“vgg16”“vgg19”初始化模型,只有解码器子网使用同行。[1]

  • 网络所产生的segnetLayers金宝app支持GPU代码生成深度学习一旦训练trainNetwork(深度学习工具箱)。看到深度学习代码生成(深度学习工具箱)细节和例子。

引用

他[1],K。,X. Zhang, S. Ren, and J. Sun. "Delving Deep Into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification."《IEEE计算机视觉国际会议。2015年,1026 - 1034。

[2]Badrinarayanan, V。,A. Kendall, and R. Cipolla. "Segnet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation."arXiv。预印本arXiv: 1511.0051, 2015。

扩展功能

版本历史

介绍了R2017b

另请参阅

对象

功能