Boostcamper's TIL (16)


Segmentation


Recative Fieldのモデルを拡張

1. DeepLab v2


1) DeepLab v2?


ResNet-101を使用すると、
  • Backboneのパフォーマンスが向上します.
  • Atrous空間ピラミッド投影(ASPP)は、異なるサイズの受信ドメインを有する情報
  • を用いる.

    2) Atrous Spatial Pyramid Pooling (ASPP)



    複数の
  • 遅延速度の大きさによって異なる受信シーンが得られ、
  • 特徴が抽出される

    3) Architecture

  • Backbone ResNet構造(Resideual Block,Skip Connection)を使用
  • conv1_block = nn.Sequential(
       nn.Conv2d(3, 64, 7, 2, 3),
       nn.BatchNorm2d(64),
       nn.ReLU()
    )
    
    conv2_sub_block = nn.Sequential(
       nn.Conv2d(64, 64, 1, 1, 0),
       nn.BatchNorm2d(64),
       nn.ReLU(),
       
       nn.Conv2d(64, 64, 3, 1, 1),
       nn.BatchNorm2d(64),
       nn.ReLU(),
       
       nn.Conv2d(64, 256, 1, 1, 0),
       nn.BatchNorm2d(256)
    ) # conv2_sub_block을 3회 반복
    
    identity_block = nn.Sequential(
       nn.Conv2d(64, 256, 1, 1, 0),
       nn.BatchNorm2d(256)
    )
  • は、まず、Conv 1ブロックにより、512 x 512サイズの画像特徴マッピングを256 x 256サイズの
  • に低減する.
  • MaxPoyoung機能図サイズを128 x 128に縮小
  • Conv 2ブロックは3つのConv 2-sub-blockを含み、
  • を繰り返す.
  • Blockで入力入力入力とBlock(この過程ではチャネルが一致しないため1 x 1 convでチャネルカスタマイズ)

  • 2. PSPNet


    1) PSPNet?


  • 不整合関係:周囲の特徴を考慮してexを予測)湖周辺の船をcarと予測する場合がある.

  • Confusionカテゴリ:カテゴリ間の関係を使用して混乱予測を回避

  • 独立した評価:より小さなオブジェクトがグローバルコンテキスト情報を使用してよりよく予測できるようにする
  • 2) Pyramid Pooling Module


  • 1 x 1、2 x 2、3 x 3、6 x 6 Average Portlingを使用して
  • サブエリアを作成
  • sub-regionにconvを適用してチャネル1のフィーチャーマッピング(concatをスケールするための)
  • を生成する.
  • Feature MapとPyrame Poungモジュールを接続した結果、
  • は、予測対象
  • のための周囲の情報(コンテキスト)を理解する.

    3. DeepLab v3


    1) DeepLab v3?

  • Atrous Spatial Pytame Poyoungを用いて異なるサイズの受信場
  • を得る.

    2) Architecture


  • 既存のDeepLab v 2で使用されているASPPから3 x 3(レート=24)を削除し、
  • 追加のグローバルAverage冷却を追加
  • の1 x 1サイズの画像投影を二重線形補間して
  • 拡大する.

    4. DeepLab v3+


    1) DeepLab v3+?

  • エンコーダ-Decoder構造
  • エンコーダは、折りたたみによって失われた情報をDecoderから
  • に復元する.
  • DeepLab v 3 ASPP構造
  • を用いる
  • XceptionをBackboneとして使用

    2) Architecture



    Encoder

  • エンコーダは改良されたXceptionをメインとして使用する
  • ASPPモジュール拡張受付野
  • を使用
  • Backboneの低レベル特性とASPP出力Deocder

    Decoder

  • ASPPモジュール出力は二重線形(アップサンプリング)を採用して低層特徴の
  • を結合する.
  • の組合せ情報を畳み込みアップサンプリングことにより、最終的に
  • が出力.
  • の単純なアップサンプリング(二重線形補間)演算を改良し、
  • の詳細を保持した.

    3) Xception

  • Depthwise Separable Convolution(チャネルごとに異なるフィルタを使用して畳み込み演算を行った後にマージ)
  • を使用します.
  • Depthwise + Pointwise = Depthwise Separable Convolution
  • は、2つの分離操作により効率的な演算
  • を実現する.

    Depthwise Convolution
    nn.Conv2d(in_channels=128, out_channels=256, kernel_size=3, stride=1, groups=128)
    # in_channels와 groups를 같게 (Depthwise Convolution)

    Pointwise Convolution
    nn.Conv2d(in_channels=256, out_channels=256, kernel_size=1, stride=1
    # kernel_size가 1, (Pointwise Convolution)

    5. Implementation


    6. Reference