🌱

えっちなサイトを作る(27)

2021/09/01に公開

引き続きえっちなゲームがプレイできちゃうサイトを作ろうと頑張ります。

引き続きAttentionやっていきます🤯

モザイク除去から学ぶ最先端のディープラーニング本をやる(12)

https://qiita.com/koshian2/items/aefbe4b26a7a235b5a5e

演習問題8-2

  • Gated Convレイヤーの実装
  • U-NetにGated Convの搭載
    • パラメータ数 1.47MB
  • データ作成
  • 損失関数・評価関数の実装
  • 訓練
    • GPUメモリがギリギリ
    • GPUランタイムが何度も切断されたので中断

演習問題 8-3

  • Gated Convによるモザイク除去
    • 学習済みデータの利用
    • 10epoch訓練
    • psnr = 26.906307220458984, msssim = 0.948480486869812
      • 10epochのデータ消失したので2epoch目のデータ

モザイク回復結果

  • 元画像 -> モザイク化 -> モザイク除去 -> 元画像とモザイク回復部分の合成
    • 合成部分の式はp97にあるやつ
    • 馴染み具合、なめらかさは結構良い感じ
    • 衣服の形状回復は難しい

9章 PEPSI

  • PEPSI概要
    • Gated Convの改良、GANベースのモデル
    • DeeepCreamPy v2で利用
    • Contextual Attention の類似度にユークリッド距離を用いる
      • その後tanh,sofmax
    • PNSR,SSIMで改善
    • 出力層に全結合層を利用
      • Perception軸で有利になる
    • Coarse to fine 構造で重みを共有するネットワーク構造
      • 推論時の計算量の削減
      • 係数を使いまわして、削減しているDiet-PEPSI-Unitのモデルもある
  • 損失関数
    • Contextual Attention Module = CAM
    • G
      • Coarse側ロス L_C
        • L_C = \frac{1}{N}\sum_{i=1}^{N}||I_C^{(i)}-G^{(i)}||_1
        • CAMなしCoarse側出力 : I_c
      • Fine側ロス LK_F
        • L_F = \frac{\lambda_{L1}}{N}\sum_{i=1}^{N}|I_F^{(i)}-G^{(i)}|-\lambda_{adv}L_{adv}
        • CAMありFine側出力 : I_F
        • L_{adv} はHinge Loss
        • \lambda_{L1},\lambda{adv}はハイパーパラメータ
          • L1 Lossの重みは100倍
      • G全体のロスL_G
        • L_G = L_F + \lambda(1-\frac{k}{k_{max}})L_C
        • \lambda はハイパーパラメータ
          • 5
        • kはエポック数
          • 学習が進むにつれてCoarse側のロスを減らす
      • D
        • L_D = L_{adv}
  • 実装結果
    • モザイク、白抜きケースでP-ConvよりもPNSR,FIDで改善
    • ヒストグラムで確認するとP-Convで低下していたPNSR低下がなくなっている
    • PEPSIはモザイク境界での馴染みぐあいがよい
      • 出力層に全結合層を利用しているため
    • ハードサンプルの回復はPEPSIでも難しい
    • 類似度判定で利用するユークリッド距離とコサインでは得意不得意があるかも

演習 9

  • PEPSIの実装
    • 学習済みデータの利用
    • 5 epoch
      • TPU使用で89分
      • ユークリッド距離の演算とTPUの相性が悪いらしい
    • val_psnr = 27.153867721557617, val_msssim = 0.945689857006073

モザイク回復結果

  • 元画像 -> モザイク化 -> モザイク除去 -> 元画像とモザイク回復部分の合成
    • 合成部分の式はp97にあるやつ
    • PEPSIの場合は、元画像との合成やらないほうが境界が綺麗かも
    • 目で見た品質(perseption軸)的にはGated Convとそう変わらない印象
      • やっぱり衣服の形状回復は難しい…

終わりに

P-Convよりは流石に品質は良かったですが、Attentionベースだと形状回復に限界ありそうです。
次回はEdge Connect見ていきます。

Discussion