[論文メモ] Fine-Grained Control of Artistic Styles in Image Generation

arxiv.org

Style Transfer系

概要

one shot系のstyle transferはスタイルというものを扱う能力が乏しく微細な部分のクオリティが低い。
大量のサンプルを利用するとターゲットとなるスタイル以外の影響が大きくなる。
そこで、あるサンプルでstyle transferをするにあたってそのときに重要なスタイルを大量なサンプルを使って効果的に学習するフレームワークを提案。

手法

全体図は図2参照。細かい構成について説明していく。
f:id:Ninhydrin:20211025091005p:plain

Style embedding

アートワークサンプルを連続的なスタイル空間に写像する。
そのためにImageNetで事前学習したVGG-19を使ってGram matrixを各サンプルごとに抽出。
 F^l l番目のレイヤーの特徴量、 F^l_{i, x, y} i番目のフィルターの (x, y)の座標の活性化後の値。

f:id:Ninhydrin:20211025091402p:plain

得られたGram matrixをflatten and concatして特徴ベクトルを得る。ただこのままだと非常に大きい(~610,000)のでPCAで72 or 512にまで次元を削減(この大きさはデータセット毎に設定)。これをstyle vectorと呼ぶ。
埋め込んだ結果が図4。スタイルが近い画像はスタイル空間でも近い位置にあるのが確認できる。
f:id:Ninhydrin:20211025092012p:plain

StyleGAN

style vectorはGeneratorとDiscriminatorで利用するが、GANのフレームワークとしてStyleGANを利用する。

Style vector modulated image generator

StyleGANではlatent vector  \textbf{z}を8つのFC層で構成されるMapping Networkに入力し得られる \textbf{w}をAdaINに利用する。
ここでstyle vector  \textbf{v}を利用するためにもう一つのMapping Networkを用意し、それにより \textbf{u}を得る。
Generatorの出力に近い4層のAdaINでは \textbf{u}を使い、ほかは \textbf{w}を利用する。
これにより \textbf{z}で表現されるアイデンティティを保ちつつ、 \textbf{v}でスタイルを変更する。

Extended projection discriminator with the style vector

上記のままだとスタイルがVGGで埋め込んだスタイルになる保証がない。
そこでcGANの一つである。ProjectionGANのDiscriminatorを利用する。
ProjectionGANはDiscriminatorの出力の手前の特徴と条件となるベクトル(ここでは \textbf{v})の内積をDiscriminatorの出力に足し合わせることでcGANを実現する。

実験結果

f:id:Ninhydrin:20211025093829p:plain

所感

style transferをコントロールする系。なんか見たことあるような内容(Adversarial Latent Autoencoder(ALAE)とか)。
arxiv.org
ALAEも画像を入力(condition)としてそれに似た画像を生成する系だったが、自分でやった結果かなりうまく行った(高解像度では工夫が必要だったが)。

今回の手法もラベルを使わない分、教師なしに近いフレームワークだが、その分コントロールの自由度が低く感じる。
ただ、あまり目新しさは感じられなかった。
また色々疑問も残る。Selfie2animeの埋め込みにImageNetで事前学習したモデルで良いのか?なぜ今になって初代StyleGAN?など。