Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fcnLayers

セマンティック セグメンテーション用の完全畳み込みネットワーク層の作成

説明

lgraph = fcnLayers(imageSize,numClasses) は、FCN 8s として構成された、セマンティック セグメンテーション用の完全畳み込みネットワーク (FCN) を返します。FCN は、VGG-16 ネットワークの層と重みで事前に初期化されています。

fcnLayers は、入力イメージ内のすべてのピクセルのカテゴリカル ラベルを予測するための pixelClassificationLayer を含んでいます。ピクセル分類層は、RGB イメージのみをサポートします。

この関数には、Deep Learning Toolbox™ Model for VGG-16 Network サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数 vgg16 (Deep Learning Toolbox) によってダウンロード用リンクが表示されます。

lgraph = fcnLayers(imageSize,numClasses,'Type',type) は、type で指定されたタイプとして構成された FCN を返します。

すべて折りたたむ

イメージ サイズとクラス数を定義した後、ネットワークを作成します。

imageSize = [480 640];
numClasses = 5;
lgraph = fcnLayers(imageSize,numClasses)

ネットワークを表示します。

plot(lgraph)

FCN 16s を作成します。

imageSize = [480 640];
numClasses = 5;
lgraph = fcnLayers(imageSize,numClasses,'Type','16s')

ネットワークを表示します。

plot(lgraph)

入力引数

すべて折りたたむ

ネットワーク入力のイメージ サイズ。[height, width] という形式で、2 要素のベクトルとして指定します。FCN は VGG-16 ネットワークをベースにしているため、最小イメージ サイズは [224 224] です。

セマンティック セグメンテーションのクラス数。1 より大きい整数で指定します。

FCN モデルのタイプ。次のいずれかを指定します。

FCN モデル説明
'32s'

係数 32 で最終特徴マップをアップサンプリングします。このオプションは、計算コストの低い大まかなセグメンテーションを提供します。

'16s'

4 番目のプーリング層から特徴マップを結合した後、係数 16 で最終特徴マップをアップサンプリングします。以前の層からのこの追加情報は、計算コストを追加しますが、中粒度のセグメンテーションを提供します。

'8s'

3 番目と 4 番目の最大プーリング層から特徴マップを結合した後、係数 8 で最終特徴マップをアップサンプリングします。以前の層からのこの追加情報は、計算コストを追加しますが、より細粒度のセグメンテーションを提供します。

出力引数

すべて折りたたむ

FCN ネットワーク アーキテクチャを表す層。layerGraph (Deep Learning Toolbox) オブジェクトとして返されます。

すべての転置畳み込み層は双一次内挿の重みを使用して初期化されます。すべての転置畳み込み層のバイアス項はゼロに固定されます。

ヒント

  • fcnLayers によって生成されたネットワークは、trainNetwork (Deep Learning Toolbox) で学習を行った後、深層学習用の GPU コード生成をサポートします。詳細と例についてはコード生成 (Deep Learning Toolbox)を参照してください。

参照

[1] Long, J., E. Shelhamer, and T. Darrell. "Fully Convolutional Networks for Semantic Segmentation." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 3431–3440.

バージョン履歴

R2017b で導入