Alexander Sage, Eirikur Agustsson, Radu Timofte, Luc Van Gool
CVPR2018
pdf, arXiv, github, project page
どんなもの?
マルチモーダルなデータを用いてのGANの学習はmode collapseを起こしやすい.
クラスタリング結果を用いることで,マルチモーダルなロゴデータセットに対して有効なGANの学習手法を提案.
先行研究との差分
- 大規模なロゴ,アイコンのデータセットLarge Logo Dataset (LLD)を作成
- マルチモーダルなロゴデータに対するGANの学習手法,Clustered GAN Trainingを提案
- 生成画像はインタラクティブに操作可能
技術や手法のキモ
LLD: Large Logo Dataset
ウェブから取得した画像を用いて,ロゴのデータセットを作成.
LLDは
- LLD-icon
- LLD-logo
で構成される.
LLD-iconはウェブ上の"Favicons"を集めた32x32の画像486377枚で構成される.
(use the Python package Scrapy)
Faviconは以下のようなホームページのアイコン.
LLD-logoはTwitterのプロフィールから集めた400x400の画像122920枚で構成される.
(use the Python wrapper tweepy)
Clustered GAN Training
既存のGAN手法とクラスタリング(エンコーディング)手法を組み合わせる.
クラスタリング結果をgeneratorの入力に与えることで,学習の性能を向上させる.
GAN architectures
- DCGAN
- iWGAN
を用いる.
Clustering
-
AutoEncoder Clustering (AE)
オートエンコーダの中間層の特徴ベクトルでk-meansクラスタリング.
-
ResNet Classifier Clustering (RC)
ImageNetで学習済みのResNetの特徴ベクトルでk-meansクラスタリング
クラスタリング結果を用いたものをsemi-supervisedと呼ぶことにする.
Conditional GAN Training Methods
どのようにしてクラスタリングの結果をGANに入力するか.
-
LC: Layer Conditional GAN
linear layersにはone-hot vectorとして追加し,convolutional layersには“one-hot feature maps”として追加する.
-
AC: Auxiliary Classifier GAN
iWGANではAuxiliary Classifier[26]という手法とも組み合わせる.
この手法を用いると,クラスタ間の補完が難しくなるため,実応用には制限がかかってしまうが,畳み込み層にパラメータ(おそらくクラスタの情報)を追加する必要がなくなり,パラメータ数を抑えられる.
また,CIFER-10による実験では最も高いInception scoreを出した.
どうやって有効性を検証したか
Quantitative evaluation
下の表は,CIFAR-10によるInception scoreとDiversity (MS-SSIM[26]) の比較.
"iWGAN-AC with 32 RC clusters"を使用した場合が最も良い結果となった.
下の表は,ImageNet-smallを用いてクラスタリング結果の有無を比較したもの.
Logo synthesis by latent space exploration
Sampling
以下は,"DCGAN-LC with 100 AE clusters"を使用した場合の生成画像.
上半分が訓練画像で,下半分が生成画像(4クラスタ分).
Interpolations
以下は,"DCGAN-LC with 100 AE clusters"で異なる4つのクラスタに属する4種類のロゴ間の補完を行なった結果.
以下もロゴ間の補完を行なった結果.
上側は同じクラスタに属する4種類のロゴ間の補完を行なった結果.
下側は異なる3つのクラスタに属する3種類のロゴ間の補完を行なった結果.
Class transfer
以下は1行目の11種類のロゴに,1列目のロゴが属するクラスタの属性を付与した結果.
この結果から,ロゴの持つ色やコンテンツはエンコーディングにより z ベクトルに保持されるが,クラスタのラベルによって形状を変化されられることが分かる.
Vicinity sampling
以下は近傍サンプリング?の結果.
エンコードした特徴空間で移動することで,近い特徴を持ったロゴがサンプルできる(ということだと思う).
Vector arithmetic
-
Sharpening
ボケたロゴとシャープなロゴの特徴(z-vector)を用いることで,ボケたロゴをシャープにできる.
-
Shapes
Sharpeningと同様にして四角なロゴを円形のロゴの特徴(z-vector)を用いて,四角にすることもできる.
議論はあるか
- 大規模なロゴ,アイコンのデータセットLarge Logo Dataset (LLD)を作成
- マルチモーダルなロゴデータに対してもmode collapseを起こしにくいGANの学習手法,Clustered GAN Trainingを提案
- CIFER-10とImageNetを使用して定量的に評価
- 特徴ベクトルを用いた演算を行うことで,インタラクティブなロゴ生成が可能
次に読むべき論文
久々に強化学習
Learning Basketball Dribbling Skills Using Trajectory Optimization and Deep Reinforcement Learning