Open Yagami360 opened 5 years ago
アーキテクチャ全体
本手法のアーキテクチャは、WGAN のアーキテクチャをベースとしている。 まず、inpainting 対象の未知の領域を 0、既知の領域を 1 としたバイナリマスク M と元の画像 x をピクセル単位で乗算した z を生成器に入力する。
次に、以下の式のように、生成器からの生成画像 G に対して、マスクされていない既知の領域を本物画像 z で置き換えたものを識別器に入力するようにする。
Genereator : 本手法の生成器のアーキテクチャは、Deepfillv2(Free-form image inpainting with gated convolution)のアーキテクチャをベースとしている。
gated convolutional layer と dilated convolutions の採用 ベースラインとしている Deppfillv2 のアーキテクチャと同じく、各畳込み層は、"gated convolutional layer" で構成され、内側のネットワーク(上図緑部分)では、"dilated convolutions" で広範囲の受容野で畳み込みを行うようにする。 ※ この "gated convolutional layer" により、ネットワークが画像のピクセル位置とチャンネル数に関する特徴量を選択することを学習できるようになる? → 詳細は、Deepfillv2の論文 「Free-form image inpainting with gated convolution」 に記述されている?
活性化関数として ELU を使用 出力層以外の層の活性化関数は、Relu ではなく ELU を使用し、出力層では、出力を [-1,1] にクリップする。 ※ 活性化関数 ELU を使用するのは、論文 「Generative image inpainting with contextual attention」 の inpainting ガイダンスに従った方法。
refinement network を除外 本手法は行うタスクは、inpainting ではなく image extension なので、ベースラインとしている Deepfillv2 から refinement network のアーキテクチャを除外する。
これは、Deepfillv2 における refinement network は、attention 構造をもち、マスクされていない領域へ画像パッチをコピーするように動作する。このような画像パッチのコピーは、inpainting タスクでは役立つが、image extension タスクにおいては、画像パッチのコピーによる繰り返しパターンが下図のように逆効果となるためである。
Discriminator : 一般的に、識別器の役割は、生成画像が本物か偽物かを判別することであるが、image extension タスクにおいては、生成器が出力する画像が本物かだけではなく、妥当な image extension になっているかも評価できるようにする必要がある。そのために、特定の以下の2つの工夫を行う。
① まず先に述べたように、識別器への入力は、生成器からの生成画像 G に対して、マスクされていない既知の領域を本物画像 z で置き換えたものを識別器に入力するようにする。
これにより、修復領域と非修復領域の間に急激な変換が生じるので、識別器はそのような画像が偽物であると容易に判断できるようになる。 その結果として、ネットワーク全体は、このような境目から優先的に修復するような動作となるが、このような修復では、境目から離れるにつれて生成画像の品質が低下している画像が生成されてしまうという問題がある。
本手法ではこのような問題を解決するために、cGAN のような条件付け構造を利用する。 但し、今考えている image extension タスクでは、cGAN のように条件づけクラスラベル y は利用できず、又、クラスラベルよりも多くの情報を条件づけに含める必要もある。 そのためクラスラベル y ではなく、事前学習された画像分類ネットワークからの活性化出力 C を入力条件として利用するようにする。 ※ この事前学習された画像分類ネットワークとしては、ImageNet で事前学習された InceptionV3 を使用
損失関数 本手法での損失関数は、以下の式のように、"adversarial loss" と "reconstruction loss" の線形結合となる。
いくつかの image extension タスクで、既存の inpainting 手法や image extension 手法と比較して、本手法での生成画像の品質がよりも優れていることを定性的に検証している。
※ NoCond : 本手法のモデルから識別器への条件付けを除外したモデル
又、本手法で採用した各アーキテクチャの効果を、Ablation study で定性的に比較している。
又、image extension タスクではなく inpainting タスクで、既存の inpainting 手法と定性的に比較している。
動画における image extension 処理結果も確認している。 https://drive.google.com/open?id=1x6FCYPmoqSuCdeLJTD0UpQ_MQhBPv7_e
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
3. 技術や手法の"キモ"はどこにある?
アーキテクチャ全体
本手法のアーキテクチャは、WGAN のアーキテクチャをベースとしている。 まず、inpainting 対象の未知の領域を 0、既知の領域を 1 としたバイナリマスク M と元の画像 x をピクセル単位で乗算した z を生成器に入力する。
次に、以下の式のように、生成器からの生成画像 G に対して、マスクされていない既知の領域を本物画像 z で置き換えたものを識別器に入力するようにする。
Genereator : 本手法の生成器のアーキテクチャは、Deepfillv2(Free-form image inpainting with gated convolution)のアーキテクチャをベースとしている。
gated convolutional layer と dilated convolutions の採用 ベースラインとしている Deppfillv2 のアーキテクチャと同じく、各畳込み層は、"gated convolutional layer" で構成され、内側のネットワーク(上図緑部分)では、"dilated convolutions" で広範囲の受容野で畳み込みを行うようにする。 ※ この "gated convolutional layer" により、ネットワークが画像のピクセル位置とチャンネル数に関する特徴量を選択することを学習できるようになる? → 詳細は、Deepfillv2の論文 「Free-form image inpainting with gated convolution」 に記述されている?
活性化関数として ELU を使用 出力層以外の層の活性化関数は、Relu ではなく ELU を使用し、出力層では、出力を [-1,1] にクリップする。 ※ 活性化関数 ELU を使用するのは、論文 「Generative image inpainting with contextual attention」 の inpainting ガイダンスに従った方法。
refinement network を除外 本手法は行うタスクは、inpainting ではなく image extension なので、ベースラインとしている Deepfillv2 から refinement network のアーキテクチャを除外する。
これは、Deepfillv2 における refinement network は、attention 構造をもち、マスクされていない領域へ画像パッチをコピーするように動作する。このような画像パッチのコピーは、inpainting タスクでは役立つが、image extension タスクにおいては、画像パッチのコピーによる繰り返しパターンが下図のように逆効果となるためである。
Discriminator : 一般的に、識別器の役割は、生成画像が本物か偽物かを判別することであるが、image extension タスクにおいては、生成器が出力する画像が本物かだけではなく、妥当な image extension になっているかも評価できるようにする必要がある。そのために、特定の以下の2つの工夫を行う。
① まず先に述べたように、識別器への入力は、生成器からの生成画像 G に対して、マスクされていない既知の領域を本物画像 z で置き換えたものを識別器に入力するようにする。
これにより、修復領域と非修復領域の間に急激な変換が生じるので、識別器はそのような画像が偽物であると容易に判断できるようになる。 その結果として、ネットワーク全体は、このような境目から優先的に修復するような動作となるが、このような修復では、境目から離れるにつれて生成画像の品質が低下している画像が生成されてしまうという問題がある。
本手法ではこのような問題を解決するために、cGAN のような条件付け構造を利用する。 但し、今考えている image extension タスクでは、cGAN のように条件づけクラスラベル y は利用できず、又、クラスラベルよりも多くの情報を条件づけに含める必要もある。 そのためクラスラベル y ではなく、事前学習された画像分類ネットワークからの活性化出力 C を入力条件として利用するようにする。 ※ この事前学習された画像分類ネットワークとしては、ImageNet で事前学習された InceptionV3 を使用
損失関数 本手法での損失関数は、以下の式のように、"adversarial loss" と "reconstruction loss" の線形結合となる。
4. どうやって有効だと検証した?
いくつかの image extension タスクで、既存の inpainting 手法や image extension 手法と比較して、本手法での生成画像の品質がよりも優れていることを定性的に検証している。
※ NoCond : 本手法のモデルから識別器への条件付けを除外したモデル
又、本手法で採用した各アーキテクチャの効果を、Ablation study で定性的に比較している。
又、image extension タスクではなく inpainting タスクで、既存の inpainting 手法と定性的に比較している。
動画における image extension 処理結果も確認している。 https://drive.google.com/open?id=1x6FCYPmoqSuCdeLJTD0UpQ_MQhBPv7_e
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献