DualStyleGANで、高精度のスタイル転送を行う

1.はじめに

 今回ご紹介するのは、StyleGANの全レイヤでコンテンツとスタイルのネットワークをミックスして高精度のスタイル転送を行うDualStyleGANです。

*この論文は、2022.3に提出されました。

2.DualStyleGANとは?

 今までStyleGANでスタイル転送をする場合、コンテンツとスタイルのネットワークを低解像度レイヤと高解像度レイヤで切り替える手法が一般的でした。DualStyleGANは全レイヤでコンテンツとスタイルのネットワークをミックスすることによって高精度のスタイル転送を実現しています。

 下記の図が、DualStyleGANのGenerator Networkで、左側がコンテンツ(Intrinsic Style Code)のネットワーク、右側がスタイル(Extrinsic Style Code)のネットワークです。そして、スタイルの内、基本的な構造に影響する低解像度レイヤ(〜32×32)への入力を構造、詳細部分に影響する高解像度レイヤ(64×64〜)への入力をカラーと呼んでいます。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンク」をクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

 

 次に、学習済みパラメータのダウンロードを style_type を指定して実行します。gdownを使ってgoogle driveからダウンロードしますが、最近時々ミスることがあるので最大10回までトライさせる仕様にしています。ここでは、 style_type は cartoon を選択しています。

 

 コンテンツ画像を指定します。自分の画像を使用したい場合は、data/contentフォルダにアップロードして下さい。

 alignを処理を行います。

 次に、スタイルを選択します。スタイルは、画像ファイルの名前スタイルの重みを登録した辞書exstylesの何番目を選ぶかをスライダーで指定します。

 画像ファイルは、data/cartoon/images/train にあるものを使っています。cartoon 以外の style_type を使う場合は、該当するフォルダへこの情報を参考に画像をアップロードする必要がありますのでご注意下さい。

 ここでは、辞書exstylesの26番目に登録されている画像ファイル名とスタイルの重みを使います。

 それではスタイル転送を行ってみましょう。

 左から、pSpの反転画像、色と構造の両方のスタイル転送、スタイルのカラーをコンテンツのカラーに置き換えたもの、色に関連するレイヤを非アクティブ化したものです。

 それでは、色と構造のスタイル転送の度合いを、それぞれ6段階に変更した場合の画像をマトリックスで表現してみましょう。

 今度は、コンテンツが同一でスタイルが異なる画像のトランジションをやってみましょう。追加のスタイルを選択します。

 トランジションを行います。

 次に、コンテンツとスタイルを乱数で指定したサンプルを表示します。

 スタイルを左から5番目の画像に合わせて一定にします。

 コンテンツを左から5番目の画像に合わせて一定にします。

では、また。

(オリジナルgithub)https://github.com/williamyang1991/DualStyleGAN

(twitter投稿)

2 件のコメント

  • 新しい、論文を次々と試されていてすごいと思います。この論文は私が1月ごろに実装した機能と原理はほぼ同じなのかなと。以下のURLから操作可能です。ページ中央のStyle Layerの横にあるスラーイダーで、色、顔、ポーズの3つに分類したレイヤーの範囲や位置を自由に動かして同時にMIXできます。スライダーを有効にるるには左横にある色、顔、ポーズの文字をクリック(色が変わる)する必要があり、その後、スライダーを移動させると選択されているスライダーで指定したレイヤーすべてがmixされた画像が8枚生成されます。
    モデル選択機能もありますが、まだ学習が不十分であったり、データセットがダーティーなものもあり現在テスト段階なのでIPアドレスにドメインをリンクさせていません。大幅にリニューアルを予定しているところです。
    同じ考え方の論文が出てきてびっくりしています。これからも有益な情報、よろしくお願いします。
    URL:http://39.110.248.73
    Topページ左側です。

    • 上野さん
      えー、凄いじゃないですか、これCVPR2022の採択論文なんですが、それより実装が早かったわけですね。
      Deep Learningの世界はジャーナル誌や査読なんて言うかったるいプロセスはないので、思いっきりやっちゃって下さい!
      応援してます。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

    ABOUTこの記事をかいた人

    アバター

    ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。