主要内容

deeplabv3pluslayers.

为语义图像分割创建Deeplab V3 +卷积神经网络

描述

例子

分层图= deeplabv3pluslayers(图片尺寸numclasses.网络使用指定的基本网络,类和图像大小返回Deeplab V3 +层。

分层图= deeplabv3pluslayers(___,'downsamplingfactor',价值)另外设置下采样因子(输出步幅)[1]到任一8.要么16.。下采样因子设置Deeplav V3 + Downsples的编码器部分的量。

例子

全部收缩

基于Reset-18创建Deeplab V3 +网络。

图像= [480 640 3];numclasses = 5;网络='resnet18';Lgraph = deeplabv3pluslayers(图像化,numcrasses,网络,......'downsamplingfactor',16);

显示网络。

分析(LGROPH)

使用图像数据存储加载三角数据集图像。数据存储区包含200个随机三角形的灰度图像。每个图像都是32×32。

datasetdir = fullfile(toolboxdir('想象'),'VisionData''triangleimages');imagedir = fullfile(datasetdir,'培训码');IMDS = IMAGEDATASTORE(IMAGEDIR);

使用像素标签数据存储加载三角数据集像素标签。

labeldir = fullfile(datasetdir,'训练标签');ClassNames = [“三角形”“背景”];labelids = [255 0];pxds = pixellabeldataStore(Labeldir,ClassNames,LabelIds);

创建DEEPLAB V3 +网络。

图像= [256 256];numclasses = numel(classnames);Lgraph = deeplabv3pluslayers(图像化,numcrasses,'resnet18');

组合图像和像素标签数据进行培训。将图像输出大小设置为网络的输入大小,以在培训期间自动调整图像大小。

pximds = pixellabelimagedataStore(IMDS,PXD,'输出',图片尺寸,......'ColorPrepessing''gray2rgb');

指定培训选项。降低迷你批量尺寸以减少内存使用情况。

选择=培训选项('sgdm'......'minibatchsize',8,......'maxepochs',3);

训练网络。

net = trainnetwork(pximds,lggraph,opts);
单CPU培训。| ========================================================================================|时代|迭代|经过时间的时间迷你批量|迷你批量|基础学习|| | | (hh:mm:ss) | Accuracy | Loss | Rate | |========================================================================================| | 1 | 1 | 00:00:08 | 57.31% | 0.7145 | 0.0100 | | 2 | 50 | 00:06:05 | 99.23% | 0.0198 | 0.0100 | | 3 | 75 | 00:09:05 | 99.12% | 0.0214 | 0.0100 | |========================================================================================|

读取测试图像。

我= imread('triangletest.jpg');

通过等于输入图像尺寸的因子调节测试图像的大小,使得在训练期间测试图像中的三角形大致等于三角形的大小。

我= imresize(我,'规模',图像化。/ 32);

分段图像。

C = SemanticSeg(I,Net);

显示结果。

B = Labeloverlay(I,C);图imshow(b)

输入参数

全部收缩

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

  • 格式的2元素矢量[高度宽度]。

  • 格式的3个元素矢量[高度宽度3.]。第三个元素3对应于RGB。

网络分类的类数量,指定为大于1的整数。

基础网络,指定为resnet18(深度学习工具箱)resnet50(深度学习工具箱)MobileNetv2.(深度学习工具箱)Xcepion.(深度学习工具箱), 要么InceptionResNetv2.(深度学习工具箱)。您必须安装相应的网络加载项。

输出参数

全部收缩

DEEPLAB V3 +网络,返回作为语义图像分割的卷积神经网络。网络使用编码器解码器架构,扩展卷积和跳过与段图像的连接。你必须使用Trainnetwork.(深度学习工具箱)功能(需要深度学习工具箱™)培训网络,然后才能使用网络进行语义分割。

算法

  • 当你使用的时候Xcepion.(深度学习工具箱)要么MobileNetv2.(深度学习工具箱)基础网络创建DEEPLAB V3 +网络,深度可分离卷积用于ATROUS空间金字塔池(ASPP)和解码器子网。对于所有其他基础网络,使用卷积层。

  • DEEPLAB V3 +的这种实现不包括ASPP中的全局平均池层。

参考

[1] Chen,L.,Y.Zhu,G.Papandreou,F. Schroff和H. Adam。“编码器 - 解码器具有可见的可分离卷积,用于语义图像分割。”计算机愿景 - ECCV 2018,833-851。市,德国:ECCV,2018。

扩展能力

也可以看看

对象

功能

在R2019B中介绍