[論文メモ] BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation
概要
顔のスタイル変換。
layer-swappingによるスタイル変換はきれいだがモデルが2つ必要 and ターゲットスタイルの画像がたくさん必要になる問題がある。
この論文ではスタイル変換の手法としてBlendGANと、顔のアート画像データセットAAHQを提案する。
手法
ゴールは以下のGenerator を学習すること。
は顔画像、はその顔をアートに変換したもの、は顔のアイデンティティを決定するコード、はスタイルを決定するコード、はブレンドを決めるパラメータ。
全体像は図2参照
Self-supervised Style Encoder
スタイル用エンコーダの学習について。エンコーダの全体像は図3参照。
よくVGGのGram matrixをconcatして使う方法があるが次元が非常に大きく(~610,000)スタイル画像に対して分布がスパースになる。
そこで自己教師あり学習のSimCLRと合わせて次元を削減する。SimCLRについては以下を参照。
ai-scholar.tech
提案手法としてはVGGの各層から得たGram matrixをflattent and concatしてそれを4層のMLPに通してスタイルコード を得る。
これに対してSimCLRの要領でをprojection headに入力してcontrastive learningを行う。
augmentationについてはアフィン変換のみ。
本来のSimCLRは色変換も行っているが、今回の目的スタイルを埋め込むことで、色はスタイルと関係があるので色変換は行わない。
スタイル埋め込みの学習はMLPのみ行い、学習済みのVGGのパラメータは固定。
lossはNT-Xent loss(SimCLRのもの)
は同じ画像に違うaugmentationをしたポジティブペア、はコサイン類似度、は温度パラメータ。
図8はエンコード結果をt-SNEで可視化した図。
Generator
GeneratorはStyleGAN2のものをベースに。
標準正規分布からサンプルした顔のアイデンティティコード と、同じく標準正規分布からのサンプル or から得たスタイルコードをmodulationの入力とする。
それぞれのコードはそれぞれのMapping NetworkでWの空間に変換され、とになる。
とは(入力する層の数) x (入力次元)になる。1024x1024の場合は18箇所入力できるので18 x 512になる。
weighted blending module(WBM)はGeneratorに入力するために、変換された2つのコードをブレンドしたにを生成する。
StyleGAN系のモデルではlatent codeの影響が解像度ごとに異なる。
低解像度は形状などに関わり、高解像度は色などに関わる。なのでとは全ての層で同じ割合でブレンドするべきではない。
WBMによるブレンドの戦略は以下の式。
はアダマール積、は学習可能なブレンドの比率、は番目の層でブレンドを行うかのマスク。
のときはとなり、全ての層でブレンドしたを利用することになる。
のときはとなりブレンドはされずアイデンティティの顔画像が生成される。
のときは低解像度の層ではスタイルは使われず、高解像度の層でスタイルをブレンドしたが使われ、アイデンティティを保ちつつスタイルを変換できる。
Discriminator
Discriminatorは3つ()で全てStyleGAN2のものを利用。
は実世界の顔画像に対するreal / fake。で生成した結果とFFHQの画像で比較する。
はアートの顔画像に対するreal /fake。で生成した結果と提案するデータセットAAHQで比較する。
はprojection discriminatorでアート化した顔画像とそのアートスタイルコードを入力とする。そしてアート化した顔画像が由来かを識別する。
Training objectives
実世界の顔画像、アートの顔画像、アイデンティティコード、は以外のスタイルコードとする。目的関数は
となる。