主要内容

このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

semanticseg

深層学習を使用したセマンティック邮箱メ邮箱ジセグメンテ邮箱ション

説明

C= semanticseg (网络は,深層学習を使用した入力。入力网络SeriesNetwork(深度学习工具箱)またはDAGNetwork(深度学习工具箱)オブジェクトでなければなりません。

C分数allScores= semantiseg (网络は,Cで各カテゴリカルラベルの分類スコアと共に入力イメージのセマンティックセグメンテーションを返します。関数は、入力。allScoresは,入力ネットワクが分類できるすべてのラベルカテゴリのスコアを含みます。

___= semantiseg (网络roiは,入力。

pxds= semanticseg (ds网络は,dsに含まれる邮箱メ邮箱ジコレクションであるデ邮箱タストアオブジェクトdsのセマンティックセグメンテションを返します。

この関数は,複数のmatlab®ワカを使用する並列計算をサポトします。计算机视觉工具箱の基本設定ダ邮箱アログを使用して並列計算を有効にできます。

___= semantiseg (___名称,值は1つ以上の名前と値のペアの引数で指定された追加オプションを使用してセマンティックセグメンテーションを返します。

すべて折りたたむ

セグメンテション結果を。

事前学習済みのネットワクを読み込みます。

数据=负载(“triangleSegmentationNetwork”);Net = data.net
net = SeriesNetwork属性:Layers: [10x1 nnet.cnn.layer.Layer] InputNames: {'imageinput'} OutputNames: {'classoutput'}

ネットワク層をリストします。

网layers
ans = 10x1带有图层的图层数组:1“imageinput”图像输入32 x32x1图像“zerocenter”正常化2 conv_1卷积64 3 x3x1旋转步[1]和填充[1 1 1 1]3‘relu_1 ReLU ReLU 4“maxpool”马克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]5 conv_2卷积64 3 x3x64旋转步[1]和填充[1 1 1 1]6‘relu_2 ReLU ReLU 7 transposed-conv转置卷积64 4 x4x64转置运算与步幅2[2]和裁剪(1 1 1)8“conv_3”卷积2 1x1x64卷积与stride[1 1]和填充[0 0 0 0 0]9 'softmax' softmax softmax 10 'classoutput'像素分类层类加权交叉熵损失与类'triangle'和'background'

テスト邮箱メ邮箱ジを読み取って表示します。

I = imread(“triangleTest.jpg”);图imshow(我)

セマンティック邮箱メ邮箱ジセグメンテ邮箱ションを実行します。

[C,分数]= semantiseg (I,net, net)“MiniBatchSize”、32);

セグメンテション結果を。

B = labeloverlay(I, C);图imshow (B)

分類スコアを表示します。

图imagesc(scores)轴广场colorbar

三角形のみを使用するバ邮箱ナリマスクを作成します。

Bw = c ==“三角形”;图imshow (BW)

イメージのテストセットに対してセマンティックセグメンテーションを実行し,結果をグラウンドトゥルースデータと比較します。

事前学習済みのネットワクを読み込みます。

数据=负载(“triangleSegmentationNetwork”);Net = data.net;

imageDatastoreを使用してテスト邮箱メ邮箱ジを読み取ります。

dataDir = fullfile(toolboxdir)“愿景”),“visiondata”“triangleImages”);testImageDir = fullfile(dataDir,“testImages”);imds = imageDatastore(testImageDir)
imds = ImageDatastore属性:Files:{'…/toolbox/vision/visiondata/triangleImages/testImages/image_001.jpg';’……/工具箱/视觉/ visiondata / triangleImages / testImages / image_002.jpg”;“…/toolbox/vision/visiondata/triangleImages/testImages/image_003.jpg”…和97多个}文件夹:{'…/build/matlab/toolbox/vision/visiondata/triangleImages/testImages'} AlternateFileSystemRoots: {} ReadSize: 1 Labels: {} S金宝appupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage . txt

グラウンドトゥルステストラベルを読み込みます。

testLabelDir = fullfile(dataDir,“testLabels”);classNames = [“三角形”“背景”];pixelLabelID = [255 0];pxdsTruth = pixelLabelDatastore(testLabelDir,classNames,pixelLabelID);

すべてのテストイメージに対してセマンティックセグメンテーションをバッチサイズ4で実行します。バッチサイズを大きくして,スループットをシステムのメモリリソースに応じて向上させることができます。

pxdsResults = semantiseg (imds,net,“MiniBatchSize”4“WriteLocation”, tempdir);
运行的语义分割网络  ------------------------------------- * 100张图片处理。

結果をグラウンドトゥルスと比較します。

metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTruth)
评估语义分割结果---------------------------------------- *选择的指标:全局精度、类精度、IoU、加权IoU、BF评分。*处理了100张图像。*完成……完成了。*数据集指标:GlobalAccuracy MeanAccuracy MeanIoU WeightedIoU MeanBFScore  ______________ ____________ _______ ___________ ___________ 0.90624 0.95085 0.61588 0.87529 0.40652
metrics = semanticSegmentationMetrics with properties: ConfusionMatrix: [2x2 table] NormalizedConfusionMatrix: [2x2 table] DataSetMetrics: [1x5 table] ClassMetrics: [2x3 table] ImageMetrics: [100x5 table]

この例では,Tversky損失を使用するカスタムピクセル分類層を定義および作成する方法を説明します。

この層を使用して,セマンティックセグメンテションネットワクに学習させることができます。カスタム深層学習層の作成の詳細にいては,カスタム深層学習層の定義(深度学习工具箱)を参照してください。

特沃斯基損失

特沃斯基損失は,セグメント化された2つのイメージの間のオーバーラップを測定するTversky指数に基づきます[1]。1つのイメージ Y と対応するグラウンドトゥルス T の間の特沃斯基指数 “透明国际” c は,次のようになります。

“透明国际” c 1 Y 厘米 T 厘米 1 Y 厘米 T 厘米 + α 1 Y 厘米 T c + β 1 Y c T 厘米

  • c はクラスに対応し, c はクラス c 以外に対応します。

  • は, Y の最初の2の次元に沿った要素の数です。

  • α β は,各クラス偽陽性と偽陰性の損失に対する寄与を制御する重み係数です。

クラス数 C に対する損失 l は,次のようになります。

l c 1 C 1 - “透明国际” c

分類層テンプレト

分類層のテンプレトをmatlab®の新しいファ。このテンプレトは,分類層の構造の概要を示しており,層の動作を定義する関数が含まれます。この例の残りの部分では,tverskyPixelClassificationLayerを完成する方法を示します。

classdeftverskyPixelClassificationLayer < nnet.layer.ClassificationLayer . tverskyPixelClassificationLayer属性%可选属性结束方法函数loss (layer, Y, T)%层正向损失函数在这里结束结束结束

層のプロパティの宣言

既定では,カスタム出力層には次のプロパティがあります。

  • 的名字-層の名前。文字ベクトルまたは字符串スカラとして指定します。層グラフにこの層を含めるには,空ではない一意の層の名前を指定しなければなりません。この層が含まれる系列ネットワクに学習させて的名字に設定すると,学習時に層に名前が自動的に割り当てられます。

  • 描述—層に1。文字ベクトルまたは字符串スカラとして指定します。この説明は,層が配列に表示されるときに表示されます。層の説明を指定しない場合,層のクラス名が表示されます。

  • 类型—層のタ邮箱プ。文字ベクトルまたは字符串スカラとして指定します。类型の値は,層が配列に表示されるときに表示されます。層のタプを指定しない場合,“分类层”または“回归层”が表示されます。

カスタム分類層には次のプロパティもあります。

  • -出力層のクラス。categorical ベクトル、string 配列、文字ベクトルの cell 配列、または“汽车”として指定します。“汽车”の場合,学習時にクラスが自動的に設定されます。str我ng 配列または文字ベクトルの cell 配列strを指定すると,出力層のクラスが分类(str, str)に設定されます。既定値は“汽车”です。

層にその他のプロパティがない場合は,属性セクションを省略できます。

特沃斯基損失には,ゼロ除算を防止するために小さい定数値が必要です。プロパティεを指定して,この値を保持します。2の可変プロパティalphaβも必要です。それぞれ,偽陽性と偽陰性の重みを制御します。

classdeftverskyPixelClassificationLayer < nnet.layer.ClassificationLayer . tverskyPixelClassificationLayer属性(常量)小常数,防止被零除。= 1e-8;结束属性假阳性和假阴性的默认加权系数Alpha = 0.5;Beta = 0.5;结束...结束

コンストラクタ関数の作成

層を構築する関数を作成し,層のプロパティを初期化します。層を作成するために必要な変数をコンストラクタ関数への入力として指定します。

作成時に的名字プロパティを割り当てるオプションの入力引数nameを指定します。

函数layer = tverskyPixelClassificationLayer(name, alpha, beta)% layer = tverskyPixelClassificationLayer(name)创建一个Tversky使用指定名称的%像素分类层。设置图层名称层。的名字=name;%设置图层属性层。α = α;层。β=beta;设置图层描述层。描述=“特沃斯基损失”结束

順方向損失関数の作成

ネットワクで行った予測と学習タゲットの間の重み付き交差エントロピ損失を返す,forwardLossという名前の関数を作成します。forwardLossの構文はloss (layer,Y,T)です。ここで,Yは前の層の出力であり,Tは学習タゲットを表します。

セマンティックセグメンテションの問題の場合,Tの次元はYの次元と一致する必要があります。Yは,HxWxKxNの4次元配列です。Kはクラスの数,Nはミニバッチサ邮箱ズです。

Yのサ邮箱ズは前の層の出力によって異なります。YTと同じサereplicationズになるように,正しいサereplicationズを出力する層を出力層の前に含めなければなりません。たとえば,Yを必ずK個のクラスの予測スコアを持4次元配列にするために,サズがKの全結合層かK個のフィルターを持つ畳み込み層を含め,その後にソフトマックス層,出力層の順に配置することができます。

函数loss (layer, Y, T)% loss = forwardLoss(layer, Y, T)返回之间的Tversky损失预测Y和训练目标T。Pcnot = 1-Y;Gcnot = 1-T;TP = sum(sum(y *T,1),2);FP = sum(sum(Y.*Gcnot,1),2);FN = sum(sum(Pcnot.*T,1),2);number = TP + layer.Epsilon;denom = TP + layer。Alpha*FP +图层。β*FN + layer.Epsilon;%计算特维斯基指数lossTIc = 1 - number ./denom;lossTI = sum(lossTIc,3);回报率平均特维斯基指数损失N = size(Y,4);损失= sum(lossTI)/N;结束

逆方向損失関数

関数forwardLossは自動微分を完全にサポトしているため,逆方向損失の関数を作成する必要はありません。

自動微分をサポトする関数の一覧にいては,Dlarrayをサポトする関数の一覧(深度学习工具箱)を参照してください。

完成した層

完成した層は,tverskyPixelClassificationLayer.mで提供されています。

classdeftverskyPixelClassificationLayer < nnet.layer.ClassificationLayer . tverskyPixelClassificationLayer这一层实现了训练用的Tversky损失函数%语义分割网络。%的引用萨利希,赛义德·萨德格·莫赫塞尼,丹尼斯·埃尔多格摩斯和阿里·戈里波尔。Tversky损失函数用于三维完整图像分割卷积深度网络。”国际机器研讨会医学影像学习。施普林格,Cham, 2017。% ----------属性(常量)小常数,防止被零除。= 1e-8;结束属性%假阳性和假的默认权重系数%底片Alpha = 0.5;Beta = 0.5;结束方法函数layer = tverskyPixelClassificationLayer(name, alpha, beta)% layer = tverskyPixelClassificationLayer(name, alpha, beta)创建一个Tversky%像素分类层的指定名称和属性alpha和beta。设置图层名称。层。的名字=name; layer.Alpha = alpha; layer.Beta = beta;设置层描述。层。描述=“特沃斯基损失”结束函数loss (layer, Y, T)% loss = forwardLoss(layer, Y, T)返回之间的Tversky损失预测Y和训练目标T。Pcnot = 1-Y;Gcnot = 1-T;TP = sum(sum(y *T,1),2);FP = sum(sum(Y.*Gcnot,1),2);FN = sum(sum(Pcnot.*T,1),2);number = TP + layer.Epsilon;denom = TP + layer。Alpha*FP +图层。β*FN + layer.Epsilon;%计算tversky索引lossTIc = 1 - number ./denom;lossTI = sum(lossTIc,3);返回平均特维斯基指数损失。N = size(Y,4);损失= sum(lossTI)/N;结束结束结束

Gpu互換性

tverskyPixelClassificationLayerforwardLossで使用するmatlab関数はすべて,gpuArray入力をサポトしているため,層はgpu互換です。

出力層の有効性のチェック

層の邮箱ンスタンスを作成します。

图层= tverskyPixelClassificationLayer(“特沃斯基”, 0.7, 0.3);

checkLayer(深度学习工具箱)を使用して,層の有効性をチェックします。層への典型的な入力における1。層にはHxWxKxNの配列を入力する必要があります。Kはクラスの数,Nはミニバッチ内の観測値の数です。

numClasses = 2;validInputSize = [4 4 numClasses];validInputSize checkLayer(层,“ObservationDimension”4)
跳过GPU测试。没有找到兼容的GPU设备。跳过代码生成兼容性测试。要检查代码生成层的有效性,请指定“CheckCodegenCompatibility”和“ObservationDimension”选项。运行nnet.checklayer.TestOutputLayerWithoutBackward ........完成nnet.checklayer.TestOutputLayerWithoutBackward __________测试总结:8通过,0失败,0不完整,2跳过。时间流逝:1.8745秒。

テストの概要では,パスしたテスト,失敗したテスト,不完全なテスト,およびスキップされたテストの数が報告されます。

セマンティックセグメンテションネットワクでのカスタム層の使用

tverskyPixelClassificationLayerを使用するセマンティックセグメンテションネットワクを作成します。

layers = [imageInputLayer([32 32 1]) convolution2dLayer(3,64,“填充”1) batchNormalizationLayer reluLayer maxPooling2dLayer;“步”, 2) convolution2dLayer (64,“填充”,1) reluLayer转置conv2dlayer (4,64,“步”2,“种植”,1) convolution2dLayer(1,2) softmaxLayer (tverskyPixelClassificationLayer)“特沃斯基”, 0.3, 0.7)
带有图层的图层数组:1”的形象输入32 x32x1图像zerocenter正常化2”64 3 x3的卷积,卷积步伐[1]和填充[1 1 1 1]3“批量标准化批量标准化4”ReLU ReLU 5”麦克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]6”64 3 x3的卷积,卷积步伐[1]和填充[1 1 1 1]7“ReLU ReLU 8”调换卷积64 4 x4转置运算与步幅2[2]和裁剪[1 1 1 1]9“卷积2 1 x1卷积与步幅[1 1]和填充[0 0 0 0]10 " Softmax Softmax 11 'tversky'分类输出tversky丢失

imageDatastorepixelLabelDatastoreを使用してセマンティックセグメンテション用の学習デタを読み込みます。

dataSetDir = fullfile(toolboxdir)“愿景”),“visiondata”“triangleImages”);imageDir = fullfile(dataSetDir,“trainingImages”);labelDir = fullfile(dataSetDir,“trainingLabels”);imds = imageDatastore(imageDir);classNames = [“三角形”“背景”];labelIDs = [255 0];pxds = pixelLabelDatastore(labelDir, classNames, labelIDs);

pixelLabelImageDatastoreを使用して邮箱メ邮箱ジとピクセルラベルデ邮箱タを関連付けます。

ds = pixelLabelImageDatastore(imds,pxds);

学習オプションを設定し,ネットワクに学習させます。

options = trainingOptions(“亚当”...“InitialLearnRate”1 e - 3,...“MaxEpochs”, 100,...“LearnRateDropFactor”, 5 e 1,...“LearnRateDropPeriod”, 20岁,...“LearnRateSchedule”“分段”...“MiniBatchSize”, 50);net = trainNetwork(ds,layers,options);
单CPU训练。初始化输入数据规范化。|========================================================================================| | 时代| |迭代时间| Mini-batch | Mini-batch |基地学习  | | | | ( hh: mm: ss) | | |丧失准确性  | |========================================================================================| | 1 | 1 | 00:00:02 | 50.32% | 1.2933 | 0.0010 | | 13 | 50 | 00:00:36 | 98.83% | 0.0987 | 0.0010 | | 25 | 100 | 00:01:06 | 99.33% | 0.0547 | 0.0005 | | | 150 | 00:01:31 | 99.37% | 0.0473 |0.0005 | | 200 | | 00:01:53 | 99.48% | 0.0401 | 0.0003 | 63 | 250 | | 00:02:16 | 99.48% | 0.0384 | 0.0001 | 75 | 300 | | 00:02:37 | 99.54% | 0.0348 | 0.0001 | 88 | 350 | | 00:02:57 | 99.51% | 0.0352 | 6.2500 e-05 | | 100 | 400 | 00:03:14 | | 0.0330 | 6.2500 e-05 99.56%  | |========================================================================================|

テストイメージをセグメント化し,セグメンテーション結果を表示して,学習済みネットワークを評価します。

I = imread(“triangleTest.jpg”);[C,scores] =语义组(I,net);B = labeloverlay(I,C);蒙太奇({B}我)

参考文献

[1] Salehi, Seyed Sadegh Mohseni, Deniz Erdogmus和Ali Gholipour。利用三维全卷积深度网络进行图像分割的Tversky损失函数。机器学习在医学成像中的国际研讨会.施普林格,Cham, 2017。

膨張畳み込みを使用してセマンティックセグメンテションネットワクに学習させます。

セマンティックセグメンテーションネットワークはイメージ内のすべてのピクセルを分類して,クラスごとにセグメント化されたイメージを作成します。セマンティックセグメンテションの応用例としては、自動運転のための道路セグメンテーションや医療診断のための癌細胞セグメンテーションなどがあります。詳細は、深層学習を使用したセマンティックセグメンテション入門を参照してください。

DeepLab[1]などのセマンティックセグメンテーションネットワークでは,膨張畳み込み(深黑色的畳み込みとも呼ばれる)が広範に使用されます。これはパラメーターの数や計算量を増やさずに,層の受容野(層で確認できる入力の領域)を増やすことができるからです。

学習デタの読み込み

例では,説明のために32 × 32の三角形のeconf。デタセットには,付随するピクセルラベルグラウンドトゥルタが含まれます。imageDatastorepixelLabelDatastoreを使用して学習デタを読み込みます。

dataFolder = fullfile(toolboxdir)“愿景”),“visiondata”“triangleImages”);imageFolderTrain = fullfile(dataFolder,“trainingImages”);labelFolderTrain = fullfile(dataFolder,“trainingLabels”);

帐号メ帐号ジのimageDatastoreを作成します。

imdsTrain = imageDatastore(imageFolderTrain);

グラウンドトゥルスピクセルラベル用のpixelLabelDatastoreを作成します。

classNames = [“三角形”“背景”];标签= [255 0];pxdsTrain = pixelLabelDatastore(labelFolderTrain,classNames,labels)
pxdsTrain = PixelLabelDatastore属性:Files: {200x1 cell} ClassNames: {2x1 cell} ReadSize: 1 ReadFcn: @readDatastoreImage AlternateFileSystemRoots: {}

セマンティックセグメンテションネットワクの作成

この例では,膨張畳み込みに基づく単純なセマンティックセグメンテーションネットワークを使用します。

学習デタのデタソスを作成して,各ラベルのピクセル数を取得します。

pximdsTrain = pixelLabelImageDatastore(imdsTrain,pxdsTrain);tbl = countEachLabel(pximdsTrain)
台=2×3表名字PixelCount ImagePixelCount  ______________ __________ _______________ {' 三角形的}10326 2.048 e + 05年{‘背景’}1.9447 e + 05年2.048 e + 05

ピクセルラベルの大部分は背景用です。このクラスの不均衡によって、上位クラスを優先して学習プロセスにバ以及アスがかけられます。これを修正するには,クラスの重み付けを使用してクラスのバランスを調整します。クラスの重みの計算にはいくかの方法を使用できます。一般的な方法の1は,クラスの重みがクラスの頻度の逆となる逆頻度重み付けです。この方法では,過少に表現されたクラスに与えられる重みが増えます。逆頻度重み付けを使用してクラスの重みを計算します。

numberPixels = sum(tbl.PixelCount);频率= tbl。PixelCount / numberPixels;classWeights = 1 ./ frequency;

入力サイズが入力イメージのサイズに対応するイメージ入力層を使用して,ピクセル分類用ネットワークを作成します。次に,畳み込み層,バッチ正規化層,およびReLU層の3。各畳み込み層で,膨張係数を増加させながら3行3列のフィルタ32個指定します。また,“填充”オプションを“相同”に設定して、出力と同じサ以及ズになるように入力をパディングします。ピクセルを分類するにはKと1行1列の畳み込みを使用する畳み込み層を含め(Kはクラスの数)、その後にソフトマックス層と逆のクラスの重みを持pixelClassificationLayerを含めます。

inputSize = [32 32 1];filterSize = 3;numFilters = 32;numClasses = numel(classNames);layers = [imageInputLayer(inputSize) convolution2dLayer(filterSize,numFilters,“DilationFactor”, 1“填充”“相同”(filterSize,numFilters,“DilationFactor”2,“填充”“相同”(filterSize,numFilters,“DilationFactor”4“填充”“相同”(1,numClasses)“类”一会,“ClassWeights”classWeights)];

ネットワクの学習

学習オプションを指定します。

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

trainNetworkを使用してネットワクに学習させます。

net = trainNetwork(pximdsTrain,layers,options);
单CPU训练。初始化输入数据规范化。|========================================================================================| | 时代| |迭代时间| Mini-batch | Mini-batch |基地学习  | | | | ( hh: mm: ss) | | |丧失准确性  | |========================================================================================| | 1 | 1 |就是91.62% | | 1.6825 | 0.0010 | | 17 | 50 | 00:00:22 | 88.56% | 0.2393 | 0.0010 | | 100 | | 00:00:49 | 92.08% | 0.1672 | 0.0010 | | 150 | | 00:01:08 | 93.17% | 0.1472 |0.0010 | 67 | 200 | | 00:01:29 | 94.15% | 0.1313 | 0.0010 | 84 | 250 | | 00:01:52 | 94.47% | 0.1167 | 0.0010 | 100 | 300 | | 00:02:15 | | 0.1100 | 0.0010 95.04%  | |========================================================================================|

ネットワクのテスト

テストデタを読み込みます。帐号メ帐号ジのimageDatastoreを作成します。グラウンドトゥルスピクセルラベル用のpixelLabelDatastoreを作成します。

imageFolderTest = fullfile(dataFolder,“testImages”);imdsTest = imageDatastore(imageFolderTest);labelFolderTest = fullfile(dataFolder,“testLabels”);pxdsTest = pixelLabelDatastore(labelFolderTest,classNames,labels);

テストデタと学習済みネットワクを使用して,予測を実行します。

pxdsPred = semantiseg (imdsTest,net,“MiniBatchSize”32岁的“WriteLocation”, tempdir);
运行的语义分割网络  ------------------------------------- * 100张图片处理。

evaluateSemanticSegmentationを使用して予測精度を評価します。

metrics = evaluateSemanticSegmentation(pxdsPred,pxdsTest);
评估语义分割结果---------------------------------------- *选择的指标:全局精度、类精度、IoU、加权IoU、BF评分。*处理了100张图像。*完成……完成了。*数据集指标:GlobalAccuracy MeanAccuracy MeanIoU WeightedIoU MeanBFScore  ______________ ____________ _______ ___________ ___________ 0.95237 0.97352 0.72081 0.92889 0.46416

セマンティックセグメンテションネットワクの評価の詳細に,evaluateSemanticSegmentationを参照してください。

新しい邮箱メ邮箱ジのセグメンテ邮箱ション

テスト邮箱メ邮箱ジtriangleTest.jpgを読み取って表示します。

imgTest = imread(“triangleTest.jpg”);图imshow (imgTest)

semanticsegを使用してテスト邮箱メ邮箱ジをセグメント化し,labeloverlayを使用して結果を表示します。

C = semantiseg (imgTest,net);B = labeloverlay(imgTest,C);图imshow (B)

入力引数

すべて折りたたむ

入力邮箱メ邮箱ジ。次のいずれかに指定します。

ereplicationメereplicationジタereplicationプ デタ形式
1 2次元グレ H行w列の2次元行列
1 2次元カラ2次元マルチスペクトル H x W x Cの3次元配列。カラ,カラcは3です。
一連のp 2次元 H x W x C x Pの4次元配列。カラーチャネル数Cはグレースケールイメージの場合は1になり,カラーイメージの場合は3になります。
深さdの1の3次元グレ 高x宽x深の3次元配列
1の3次元カラ3次元マルチスペクトル 高x宽x深x Cの4次元配列。カラ,カラcは3です。
一連のp 3次元 高x宽x深x C x Pの5次元配列

入力openstackメopenstackジは,前述のopenstackメopenstackジタopenstackプのいずれかを含むgpuArray(并行计算工具箱)にすることができます(并行计算工具箱™が必要)。

デタ型:uint8|uint16|int16|||逻辑

ネットワク。SeriesNetwork(深度学习工具箱)またはDAGNetwork(深度学习工具箱)オブジェクトとして指定します。

関心領域。次のいずれかに指定します。

ereplicationメereplicationジタereplicationプ ROIの形式
2次元邮箱メ邮箱ジ [x,y,宽度,高度]形式の4要素ベクトル
3次元邮箱メ邮箱ジ [x,y,z,宽度,高度,深度]形式の6要素ベクトル

このベクトルは、入力。関心領域外部のメジピクセルは,<未定义的>カテゴリカルラベルが割り当てられます。入力邮箱メ邮箱ジが一連のイメージで構成される場合、semanticsegは同じroiを一連のすべての邮箱メ邮箱ジに適用します。

帐号メ帐号ジコレクション。デタストアオブジェクトとして指定します。デタストアの関数は数値配列,单元格配列または表を返さなければなりません。複数の列を持细胞配列または表の場合,関数は最初の列のみを処理します。

詳細にいては,深層学習用のデタストア(深度学习工具箱)を参照してください。

名前と値のペアの引数

オプションの引数名称,值のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:“ExecutionEnvironment”“图形”

返されるセグメンテションのタ。“分类”“双”または“uint8”として指定します。“双”または“uint8”を指定した場合,関数はセグメンテションの結果をラベルidを含むラベル配列として返します。Idは,入力ネットワクで使用される分類層で定義されたクラス名に対応する整数値です。

OutputTypeプロパティをImageDatastoreオブジェクト入力と一緒に使用することはできません。

econメジのグルプ。整数で指定します。メジは,バッチとしてグルプ化され,まとめて処理されます。バッチは大規模なメジコレクションの処理に使用され,計算効率を向上させます。”MiniBatchSizeの値を大きくすると効率は向上しますが,メモリ消費量も増加します。

ネットワ。“汽车”“图形”または“cpu”として指定します。

ExecutionEnvironment 説明
“汽车” 利用可能な場合,gpuを使用します。そうでない場合,cpuを使用します。GPUを使用する場合,并行计算工具箱および计算能力3.0以上のCUDA®対応nvidia®Gpuが必要です。
“图形” Gpuを使用します。適切なgpuが利用できない場合,関数はエラジを返します。
“cpu” CPUを使用します。

パフォマンスの最適化。“汽车”墨西哥人的または“没有”として指定します。

高速化 説明
“汽车” 入力ネットワクとハドウェアリソスに適した最適化の回数を自動的に適用します。
墨西哥人的 Mex関数をコンパルして実行します。このオプションはgpuの使用時にのみ利用できます。GPUを使用するには,并行计算工具箱および计算能力3.0以上のCUDA対応NVIDIA GPUが必要です。并行计算工具箱または適切なGPUが利用できない場合,関数はエラーを返します。
“没有” すべての高速化を無効にします。

既定のオプションは“汽车”です。“汽车”オプションを使用する場合,matlabはmex関数を生成しません。

“加速”オプション“汽车”および墨西哥人的を使用すると,パフォ,マンス上のメリットが得られますが,初期実行時間が長くなります。互換性のあるパラメタを使用した後続の呼び出しは,より高速になります。新しい入力デタを使用して関数を複数回呼び出す場合は,パフォマンスの最適化を使用してください。

墨西哥人的オプションは,関数の呼び出しに使用されたネットワークとパラメーターに基づいて墨西哥人関数を生成し,実行します。複数のmex関数を一度に1のネットワクに関連付けることができます。ネットワクの変数をクリアすると、そのネットワークに関連付けられている MEX 関数もクリアされます。

墨西哥人的オプションは,gpuの使用時にのみ利用できます。また,C/C++ コンパイラがインストールされていなければなりません。設定手順については、Mexの設定(GPU编码器)を参照してください。

墨西哥人的による高速化ではサポトされていない層があります。サポトされている層の一覧にいては,サポトされている層(GPU编码器)を参照してください。

フォルダの場所。松材线虫病(現在の作業フォルダ),字符串スカラ,または文字ベクトルを指定します。指定されたフォルダが存在している必要があります。また,そのフォルダへの書き込み権限が必要です。

このプロパティは,ImageDatastoreオブジェクト入力を使用する場合にのみ適用されます。

出力ファ邮箱ル名に適用する接頭辞。字符串スカラまたは文字ベクトルとして指定します。イメージ ファイルは次のように命名されます。

  • 前缀_N. pngNは入力openstackメopenstackジファopenstackルのopenstackンデックス洛桑国际管理发展学院。文件(n)に対応します。

このプロパティは,ImageDatastoreオブジェクト入力を使用する場合にのみ適用されます。

進行状況の表示。“真正的”または“假”を指定します。

このプロパティは,ImageDatastoreオブジェクト入力を使用する場合にのみ適用されます。

出力引数

すべて折りたたむ

カテゴリカルラベル。categorical 配列として返されます。categorical 配列は、ラベルを入力イメージの各ピクセルまたはボクセルに関連付けます。readall数据存储)によって返されるメジはreadallpixelLabelDatastore)によって返される分类行列と1対1で対応しています。ラベル配列の要素は、入力。ROIを選択すると,ラベルはROI内の領域に制限されます。関心領域外部のメジピクセルおよびボクセルは,<未定义的>カテゴリカルラベルが割り当てられます。

ereplicationメereplicationジタereplicationプ カテゴリカルラベルの形式
1の2次元 H行w列の2次元行列。要素Cj)は,ピクセルjに割り当てられたカテゴリカルラベルです。
一連のp 2次元 H x W x Pの3次元配列。要素Cjp)は,ピクセルjpに割り当てられたカテゴリカルラベルです。
1の3次元 高x宽x深の3次元配列。要素Cjk)は,ボクセルjkに割り当てられたカテゴリカルラベルです。
一連のp 3次元 高x宽x深x Pの4次元配列。要素Cjkp)は,ボクセルjkpに割り当てられたカテゴリカルラベルです。

C内の各カテゴリカルラベルの信頼度スコア。01の値の配列として返されます。このスコアは,予測されるラベルCの信頼度を表します。スコア値が大きいほど,予測ラベルの信頼度が高いことを示します。

ereplicationメereplicationジタereplicationプ スコアの形式
1の2次元 H行w列の2次元行列。要素分数j)は,ピクセルjの分類スコアです。
一連のp 2次元 H x W x Pの3次元配列。要素分数jp)は,ピクセルjpの分類スコアです。
1の3次元 高x宽x深の3次元配列。要素分数jkはボクセルjkの分類スコアです。
一連のp 3次元 高x宽x深x Pの4次元配列。要素分数jkp)は,ボクセルjkpの分類スコアです。

入力ネットワクが分類できるすべてのラベルカテゴリのスコア。数値配列として返されます。次の表で配列の形式にいて説明します。lはラベル カテゴリの総数を表します。

ereplicationメereplicationジタereplicationプ 全スコアの形式
1の2次元 高x宽x长の3次元配列。要素allScoresj)は,ピクセルj)におけるq番目のラベルのスコアです。
一連のp 2次元 高x宽x长x Pの4次元配列。要素allScoresjp)は,ピクセルjp)におけるq番目のラベルのスコアです。
1の3次元 高x宽x深x长の4次元配列。要素allScoresjk)は,ボクセルjk)におけるq番目のラベルのスコアです。
一連のp 3次元 高x宽x深x长x长の5次元配列。要素allScoresjkp)は,ボクセルjkp)におけるq番目のラベルのスコアです。

セマンティックセグメンテションの結果。pixelLabelDatastoreオブジェクトとして返されます。このオブジェクトには,ds入力オブジェクトに含まれるすべての邮箱メ邮箱ジのセマンティックセグメンテ邮箱ションの結果が含まれます。各econeconメジの結果は,png econeconメジの個別のuint8ラベル行列として保存されます。pxds)を使用して,ds内の邮箱メ邮箱ジに割り当てられたカテゴリカルラベルを返すことができます。

readallds)の出力内のメジはreadallpxds)の出力内の分类行列と1対1で対応しています。

拡張機能

R2017bで導入