🌱
えっちなサイトを作る(23)
引き続きえっちなゲームがプレイできちゃうサイトを作ろうと頑張ります。
体調が良くなかったので、ちょっと進捗が悪い…😒
Datasetについての情報収集 (1)
国内情報だとキーワードDataset
よりもカタカナデータセット
のが記事が引っかかりやすい。
- 国内
- Zenn
- Qiita
- 最新ソートだと100件までしか遡れない
- hatena bookmark
- twitter
- 通常検索だとちょっと無理っぽい
- インフルエンサーを見つけてフォローする方が良さそう
海外情報はまだ調査中。
まずはkerasに固まってるやつを一通り見てからのほうが良いかも。
モザイク除去から学ぶ最先端のディープラーニング本をやる(9)
6章
- Inpaintingの手法
- GANベース
- Non-GANベース
- P-Conv
- P-Conv
- マスク領域を回復できる
- DeepCreamPy ver.1の手法
- パターンスタンプツール的な動きする
- 不規則なマスクは得意
- 規則的で大きなマスクは苦手
- U-Net強化版
- 訓練が早い
- 勾配消失の回避
- 学習が進まない
- モード崩壊の回避
- 同一画像ばかり生成する
- Validationが明確に定義できる
- モデルの評価がしやすい
- マスク領域を回復できる
- P-Convの実装
- 入力、カーネル、マスクの3要素から計算
- マスクにも畳み込みを行う
- つまり、段階的にマスクを減らしていくことになる
- マスク要素が増えた分、メモリ消費は増える
- 損失関数にVGGが使われている
- 他で訓練済みのNNの一部(いらない全結合層を排除したもの)
- 入力画像、予測画像をVGGに入れて出力の差を見る損失関数
- GANでもVGGを使うが、Non-GANではVGG自体は訓練しない
- 損失関数のStyle Loss
- VGGとグラム行列を利用する
- ネットワークはU-NetをP-Convレイヤーで置き換えたもの
- 入力、カーネル、マスクの3要素から計算
- グラム行列
-
が与えられたときX をグラム行列と呼ぶX^TX - 単一要素に周囲の情報を含むので、損失関数にて利用すると周囲の情報も参照しているとみなせる
- 共分散と相関
- いまいち分からんので演習する
- グラム行列を利用して共分散と相関を求められる
- 単一要素(画像の単一ピクセル)間の相関のようなものを算出できる
-
- P-Convの損失関数の実装
- 6項から成り立つ
- Valid Loss : マスクされていない部分のL1 Loss
- Hole Loss : マスク部分の L1 Loss
- Perceptual Loss : VGGネットワークの特徴量に対する L1 Loss
- Style Loss 1 : VGGネットワークの特徴量とグラム行列をあわせたもののL1 Loss
- Style Loss 2 : 同じ
- Total Varidation Loss : 画像をなめらかにする処理
- ハイパーパラメータを含む統合式
L_{total} = L_{valid} + 6L_{hole} + 0.05L_{perceptual} + 120L_{style} + 0.1L{tv} - 重みを見ると殆どがStyleLoss。
のマスク部分をやや強めに見るが、ボヤけない程度。L_{hole}
- P-Convを強化する
- Region-wise Conv
- マスク領域と非マスク領域でカーネルやNormalizationを共通化するのは良くないのではというアイデア
- 単純に取り入れると畳み込み層が2倍、係数2倍になるので注意
- Region Normalization
- マスク領域と非マスク領域でそれぞれ統計量計算しNormalizationする
- Normalization方式はInstance Normalization
- これらを導入すると良くなるか?
- P-Convはマスク領域をほとんど捨てているため、ぼかしモザイクの情報を活かしてない
- ぼかしモザイク情報を利用したい場合は、これらの方法は有効
- ぼかしモザイクに対する計測結果では改善が見られる
- Region-wise Conv
- P-Convの超解像アプローチ
- 低解像度画像を穴開き画像に拡大し、穴部分をすべてマスクにすると超解像の画像が出力される
- モザイク除去に使えるかというと、出力がくすんでしまう
- (筆者の意見)超解像ベースのモザイク除去の方法は限界がある
- 強化したP-Convの測定
- 出力結果を見ると、狭い領域でベタ塗りは回復できても衣服の形状回復が難しい
- 大きい領域になると出力結果があまり良くない
- 損失関数を組み合わせたNon-GANの限界か?
- Region-wise Conv / Normはモザイクの場合歪み軸について性能向上した
- 白抜きの場合は逆に性能が低下した
- 他統計量の説明が難しい
- 演習後に見直す
- 出力結果を見ると、狭い領域でベタ塗りは回復できても衣服の形状回復が難しい
終わりに
内容が結構難しいです。
今日は途中までで終わろうと思いましたが、zenn記事書きながら内容まとめてたら何とか終わりまで読めました。
次回演習やってもう一度見直すとよさそうです。
Discussion