You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yagami360
changed the title
[Deepfillv2] Free-Form Image Inpainting with Gated Convolution
<In progress> [Deepfillv2] Free-Form Image Inpainting with Gated Convolution
Oct 10, 2019
Yagami360
changed the title
<In progress> [Deepfillv2] Free-Form Image Inpainting with Gated Convolution
[Deepfillv2] Free-Form Image Inpainting with Gated Convolution
Oct 11, 2019
0. 論文情報・リンク
1. どんなもの?
inpainting タスクにおいて、gated convolution や SN-PatchGAN のアーキテクチャを採用することで、自由形式 [free-form] の inpainting タスクへの対応を実現した inpainting 手法。
2. 先行研究と比べてどこがすごいの?
一方、この問題を解決するために部分的に畳み込みを行う partial convolution の方法では、ユーザーがスケッチしたイラストで穴埋めを行うような自由形式の inpainting タスクではうまく機能しない問題があった。
本手法では、動的に特徴量を選択して畳み込みを行う gated convolution や自由形式の inpatinting タスクに適した識別器である SN-PatchGAN のアーキテクチャ採用することで、このような修復領域、非修復領域間での不自然な inpainting 問題や自由形式の inpainting タスクへの対応を実現している。
3. 技術や手法の"キモ"はどこにある?
gated convolutions
inpainting タスクにおいて、通常の畳み込みでは、修復領域・非修復領域に関わらず全てのピクセルを畳み込んでしまうために、穴領域の inpainting に色違いやぼやけ、境界での不自然な切れ目が発生してしまう。
この問題を解決するために、partial convolution と呼ばれる下図のようなアーキテクチャが提案されている。

しかしながら、ユーザーがスケッチしたイラストで穴埋めを行うような自由形式の inpainting タスクにおいては、
この partial convolution での畳み込み層を重ねて使用すると、以下の図のように深い層での中間出力値が全て1となり、ネットワークがうまく学習できない結果となってしまう。
本手法では、このような問題を解決するために、以下の図のような gated convolution と呼ばれるアーキテクチャで、動的に特徴量を選択して畳み込みを行う手法を提案している。
この gated convolution は、partial convolution のようなマスクの静的な Update 規則による畳み込みではなく、データから学習して動的に変化する畳み込みになっているので、この gated convolution での畳み込みを重ねても、以下の図のように、深い層で情報を失うことなくネットワーク全体に情報を伝搬でき、ネットワークをうまく学習できるようになる。
SN-PatchGAN(識別器)

従来の blobal and local GAN は、短形領域の inpainting タスクを想定して設計されており、自由形式の inpainting タスクは適していない問題が存在する。
本手法では、上図のような SN-PatchGAN のアーキテクチャを導入している。この SN-PatchGAN は、自由形式の inpainting タスクに適した識別器となっており、又、学習も安定しており処理も高速である。
内部のアーキテクチャの詳細は、以下のようになる。
カーネルサイズ5、ストライド幅2の6つの畳み込み層(Markovian Discriminator)から構成され、PatchGANのように、この Markovian Discriminator から出力された各特徴マップに対して、本物か偽物かの GAN 判定を行う。
ここで、Markovian Discriminator の各層では、学習の安定化を目的として spectral normalization を行っている。
inpainting ネットワーク(生成器)の全体像

上図は、本手法での生成器のアーキテクチャの全体像を示している。
このネットワークは、既存の coarse and refinement networks をベースラインとして、通常の畳み込みの箇所を全て前述の gated convolutions に置き換えている。
※ coarse and refinement networks : 論文 「Generative Image Inpainting with Contextual Attention」 で提案されているネットワーク。
※ 上図のアーキテクチャ図では、簡易表示のため refinement networks の記載は除外し、coarse network のみ記載している。
※ UNet を採用しなかったのは、UNet における skip connection が自由形式の inpainting のような狭いマスクでは有効ではなくなるため?
損失関数
本手法の損失関数は、adversarial loss のみによって行われる。
但し、学習を安定化させることを目的として行われる、負の対数尤度計算の最小二乗誤差関数への置き換え(LS-GAN)は行わず、代わりに、ヒンジ損失関数項で置き換える。(※ ヒンジ損失関数では、ある範囲外からは勾配が0になるので、生成器と識別器の不健全な競争の結果として、識別器が不本意に強くなりすぎることを防止でき、結果して学習を安定化させる効果があると考えられる。)
※ perceptual loss を使用していないのは、よく似た情報が SN-PatchGAN でエンコードされているため?
4. どうやって有効だと検証した?
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献
The text was updated successfully, but these errors were encountered: