🌱

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

1 min read

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

(30)までに書籍学習終わらせたい!(願望)
なるべく集中してがんばります😠

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

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

6章演習 1

  • 行列の練習
    • 相関行列
      • 要素間の相関を求める
      • np.corrcoef
      • 対角行列は同じ要素のため1となる
    • 分散共分散行列
      • 要素間の共分散を求める
      • np.cov
      • 対角行列は要素の分散
    • グラム行列
      • np.dot(X.T,X)
      • グラム行列を利用した分散共分散行列の算出
      • グラム行列を利用した相関行列の算出
  • P-Convの簡易実装
    • TensorFlow Flower Datasetからマスク済みデータの作成
      • ランダムに白線を加えて加工
    • P-Convレイヤーの実装
    • モデルの作成
      • 3層のEncorder
      • 1層の中間層
      • 3層のDecoder
      • Total params: 1,409,856
    • モデルの訓練
      • 損失関数は単純にL1 Lossで訓練
      • オプティマイザー : adam
      • 評価関数 : PSNR
      • バッチサイズ : 64
      • エポック : 30
      • 結果
        • loss: 0.0728 - psnr: 19.6940
        • 実行時間 12分(GPU使用)
  • P-Convネットワークにるマスク解除

良いですね~😄
損失関数がしょぼくても十分な品質に感じます。

  • 考察
    • 簡易実装だけど直線で追加されたマスク領域が十分回復できている
    • 画像は全体的にややぼやける&若干暗くなる

演習2

  • P-Convの実装
    • 著者が構築したネットワークで学習
    • 転移学習あり
      • 60-70Epoch単位で訓練する事が多いとのこと
      • だいたい6時間前後できりが良いから?
  • 学習結果
    • 10Epoch
    • 実行時間37分
    • loss = 0.4029289484024048, val_loss = 0.7791348695755005, val_psnr = 26.08512306213379, val_msssim = 0.9289102554321289
  • 画像にモザイクを追加し、回復させた結果
    • 元画像(GrandTruth) -> モザイク追加 -> P-Convでの回復 -> P-Conv + Region-wise



あんまり良くないです😓

  • 考察
    • 配色が単純なものはなんとなく回復している
      • 十分な品質ではないが…
    • 着衣形状が複雑なものは結果が良くない
      • P-Convでは形状の回復ができていない
      • 元画像に無い形状が発生してしまっている
    • モザイク境界部分に境界線が発生してしまっている

終わりに

演習で記載されていたP-Convの本気実装はかなり複雑でした。
これを自分で組めるかというとちょっと自信ないですね…。
簡易版ならなんとなく理解できたので、少しずつでも知識を深めていきたいです。

次回から念願のGANに入門していきます。

Discussion

ログインするとコメントできます