メインコンテンツ

dnCNNLayers

ノイズ除去畳み込みニューラル ネットワークの層の取得

説明

layers = dnCNNLayers は、グレースケール イメージのためのノイズ除去畳み込みニューラル ネットワーク (DnCNN) の層を返します。

この関数には Deep Learning Toolbox™ が必要です。

layers = dnCNNLayers(NetworkDepth=networkDepth) は、networkDepth 個の畳み込み層をもつノイズ除去畳み込みニューラル ネットワークを返します。

R2021a より前では、等価の構文 layers = dnCNNLayers("NetworkDepth",networkDepth) を使用します。

すべて折りたたむ

ノイズ除去畳み込みニューラル ネットワーク「DnCNN」の層を取得します。既定の層の数を要求します。これにより、20 個の畳み込み層が返されます。

layers = dnCNNLayers
ans = 
  1×58 Layer array with layers:

     1   'InputLayer'   Image Input           50×50×1 images
     2   'Conv1'        2-D Convolution       64 3×3×1 convolutions with stride [1  1] and padding [1  1  1  1]
     3   'ReLU1'        ReLU                  ReLU
     4   'Conv2'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
     5   'BNorm2'       Batch Normalization   Batch normalization with 64 channels
     6   'ReLU2'        ReLU                  ReLU
     7   'Conv3'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
     8   'BNorm3'       Batch Normalization   Batch normalization with 64 channels
     9   'ReLU3'        ReLU                  ReLU
    10   'Conv4'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    11   'BNorm4'       Batch Normalization   Batch normalization with 64 channels
    12   'ReLU4'        ReLU                  ReLU
    13   'Conv5'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    14   'BNorm5'       Batch Normalization   Batch normalization with 64 channels
    15   'ReLU5'        ReLU                  ReLU
    16   'Conv6'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    17   'BNorm6'       Batch Normalization   Batch normalization with 64 channels
    18   'ReLU6'        ReLU                  ReLU
    19   'Conv7'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    20   'BNorm7'       Batch Normalization   Batch normalization with 64 channels
    21   'ReLU7'        ReLU                  ReLU
    22   'Conv8'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    23   'BNorm8'       Batch Normalization   Batch normalization with 64 channels
    24   'ReLU8'        ReLU                  ReLU
    25   'Conv9'        2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    26   'BNorm9'       Batch Normalization   Batch normalization with 64 channels
    27   'ReLU9'        ReLU                  ReLU
    28   'Conv10'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    29   'BNorm10'      Batch Normalization   Batch normalization with 64 channels
    30   'ReLU10'       ReLU                  ReLU
    31   'Conv11'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    32   'BNorm11'      Batch Normalization   Batch normalization with 64 channels
    33   'ReLU11'       ReLU                  ReLU
    34   'Conv12'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    35   'BNorm12'      Batch Normalization   Batch normalization with 64 channels
    36   'ReLU12'       ReLU                  ReLU
    37   'Conv13'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    38   'BNorm13'      Batch Normalization   Batch normalization with 64 channels
    39   'ReLU13'       ReLU                  ReLU
    40   'Conv14'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    41   'BNorm14'      Batch Normalization   Batch normalization with 64 channels
    42   'ReLU14'       ReLU                  ReLU
    43   'Conv15'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    44   'BNorm15'      Batch Normalization   Batch normalization with 64 channels
    45   'ReLU15'       ReLU                  ReLU
    46   'Conv16'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    47   'BNorm16'      Batch Normalization   Batch normalization with 64 channels
    48   'ReLU16'       ReLU                  ReLU
    49   'Conv17'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    50   'BNorm17'      Batch Normalization   Batch normalization with 64 channels
    51   'ReLU17'       ReLU                  ReLU
    52   'Conv18'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    53   'BNorm18'      Batch Normalization   Batch normalization with 64 channels
    54   'ReLU18'       ReLU                  ReLU
    55   'Conv19'       2-D Convolution       64 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]
    56   'BNorm19'      Batch Normalization   Batch normalization with 64 channels
    57   'ReLU19'       ReLU                  ReLU
    58   'Conv20'       2-D Convolution       1 3×3×64 convolutions with stride [1  1] and padding [1  1  1  1]

入力引数

すべて折りたたむ

畳み込み層の数。3 以上の値を持つ正の整数として指定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

出力引数

すべて折りたたむ

ノイズ除去畳み込みニューラル ネットワークの層。Layer (Deep Learning Toolbox) オブジェクトとして返されます。

ヒント

  • これらの層を trainnet (Deep Learning Toolbox) 関数に与えることで、カスタム イメージ ノイズ除去ネットワークに学習させます (R2024b 以降)。回帰の損失関数を "mse" として指定します。

    layers = dnCNNLayers;
    net = trainnet(data,layers,"mse",options);

  • DnCNN ネットワークは、ノイズおよびその他の高周波数イメージ アーティファクトを検出できます。たとえば、イメージの解像度を高めたり、JPEG 圧縮アーティファクトを取り除いたりするために、DnCNN ネットワークに学習させることができます。深層学習を使用した JPEG イメージのデブロックの例では、DnCNN に学習させて、イメージの JPEG 圧縮アーティファクトを低減する方法を説明しています。

参照

[1] Zhang, K., W. Zuo, Y. Chen, D. Meng, and L. Zhang. "Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising." IEEE Transactions on Image Processing. Vol. 26, Issue 7, 2017, pp. 3142–3155.

バージョン履歴

R2017b で導入

すべて展開する