SinGAN

Abst
 我々は、条件無しの一枚の自然画像から学習する生成モデルのSinGANを紹介します。我々のモデルは、画像内のパッチの内部分布を学習し、そこから画像のビジュアルコンテキストを含む高品質で、多様な画像を生成する。SinGANは、full convnoltional GANのピラミッドを含み、それぞれは様々なスケールの画像のパッチの分布を学習する為に反応する。これにより、任意のサイズや、アス比の、多様性があるが、学習画像の全体的な構造やテクスチャを維持した画像を生成できる。これまでのGANと比べて、我々の手法はテクスチャ画像に限定されず、条件付けもされない(ノイズから画像を作れる)。生成された画像は、リアルな画像と区別がつかない。SinGANを幅広い画像操作に利用できるをことを図示する。

 

1. Intoroduction

 GANは画像の高次分布をモデル化するのに、革新をもたらした。とりわけ、クラスが限定されて下で(顔やベッドなど)、条件無しGANはリアルでハイクォリティな画像生成で成功を納めた。でも色々なクラスのあるデータセット(ImageNetなど)ではまだ困難で、他の入力信号や特定タスク(超解像、inpainting, retargeting)などの条件付けが必要だ。

 ここで、我々はGANを新たな領域に適応する:条件無しの生成を一枚の自然画像から学習する。特に、パワフルな生成モデルを学習するのに、自然画像に含まれるパッチの内部統計量は十分な情報を運べる。SinGA、我々の新たな一枚の画像からの学習は、同じクラスからのデータセットの画像無しに、複雑な構造とテクスチャのある自然画像を扱うことを可能にする。これは、軽量のfully covolutionalのGANのピラミッドにより達成され、それぞれは異なるスケールのパッチの分布に対して、責任を持つ。一度学習されると、SinGANは、意味的には学習画像に似ているが、新しい物体の状態や構造を持つ、多様なハイクオリティな画像(任意の次元の)を生成できる。
 一枚の画像のパッチの内部統計量のモデル化は長い間、パワフルな事前分布だと、コンピュータビジョンの問題では認識されていた。クラシカルな例だと、denoising、denlurring、 超解像、dehazing、画像編集。一番近い今期ストの研究は[48]で、双方向のパッチの類似度の計量が、操作後の画像とオリジナル画像が同じになるよう保証する為、定義・最適化される。これらの研究をモチベーションにして、我々はSinGANが一つの統一学習のフレームワークで、色々な画像操作タスクを解く為に、どのように使われるのか示す。全てのケースで、良い結果を出せる。

 

1.1.Related Work

 Single Image deep models:最近のいくつかの研究は、deep modelを一枚の画像で学習する"Overfit"を提案している。しかしながら、それらの手法は、特定のタスク(超解像、テクスチャ拡張)向けにデザインされている。Shocherらは、一枚の自然画像へのinternal GANベースのモデルを最初に提案し、これはリターゲットの文脈で示された。しかし、彼らの生成は入力画像(画像から画像など)に制限されていて、ランダムサンプルには対応していない。対照的に、我々の手法はピュアに生成モデルだし(ノイズから画像を生成)、様々な画像操作タスクに対応する。条件無しの一枚画像の GANはテクスチャ生成の文脈でのみ示される。これらはテクスチャのない画像だと、意味のある画像を生成できない。我々の手法はテクスチャに制限されず、自然画像を扱える。

  Generative models for image manipulation:敵対学習のパワーは最近のGANベースの手法により、色々な画像操作タスクで披露されてきた。例えば、インタラクティブな画像編集やsketch2image、その他の画像変換タスクがある。しかし、それらはクラスを限定したデータセットで学習され、同様に画像で条件付けされる。我々は一般的な同じクラスに属する画像群の特徴をキャプチャすることに興味がないが、異なる入力データの学習に興味がある。-一枚画像の色々なスケールの全体をおおうパッチ。

 

2.Method

 我々のゴールは、学習の一枚画像の内部統計量を捉える、条件無しの生成モデルを学習することだ。このタスクはGANのセッティングと似ているが、学習画像がデータセットの画像群ではなく、一枚画像のパッチであるという点で異なる。

 我々はテクスチャ生成を超えることを選び、より自然な画像を扱う。これは色々なスケールの複雑な画像の統計量をキャプチャすることを要求する。例えば、我々は画像内の大きな物体の並びや形など、グローバルなプロパティをキャプチャしたい。詳細やテクスチャと同様に。このため我々のネットワークは、階層的なpatch-GANになっている。この階層は異なるスケールに対応している。小さいな受容野で画像全体をメモリーはできない。cGANではよくあるけど、一枚画像では初めてだ。

 

2.1.Multi-scale architecture

 ジェネレータは階層構造になっていて、それぞれに縮小された画像が対応する。各Gnは画像にあったパッチを出力する。

  course to fine っぽく、荒いスケールから徐々に生成していく。各層でノイズを注入する。最初は半分の画像サイズくらいからやる。アップサンプルしながら次へ行く。各層はfcnで行くので、任意サイズの画像を生成可能だ。

 

2.2.Training

 荒い層から詳細な層へ学習していき、学習した奴はfixする。adv lossとreconstruction lossを利用する。

 Adversarial loss:各パッチがrealかfakeか学習する。WGAN-GPのlossを使うのが、安定してよかった。各パッチをrandom cropして学習していく。

 Reconstruction loss:オリジナル画像に対応するノイズを決めて、固定して、それの再構成lossを使う。

 

実験

low resolutionで操作して、上げていくと、ナチュラルになる。

低次元で編集したのを入れてたり、学習とは違う画像を入れたり、ノイズをウォーキングするとアニメになる。

 

・感想:

PG-GANとstyle transferを混ぜたみたいだ。

超解像とかは画像でconditionされないの?

 

realm:分野、領域
responsible:責任がある
dehazing:かすみ?
bidirectional:双方向の
guarantee:保証する
unified:統一された
opt:選ぶ
disregard:無視する