cedro-blog

ArcaneGANで、実写動画をアニメ動画に変換する

1.はじめに

  通常、StyleGANを使って実写をアニメ化する場合、入出力データは学習データと同様に顔画像を所定の位置に切り出した形(顔を垂直にし、目・鼻・口などの位置を合わせる)になるため、かなり表現に制約がありました。今回ご紹介するArcaneGANは、この制約を解消したモデルです。

2.ArcaneGANとは?

 StyleGANを使った実写のアニメ化は、一般的によく使われるレイヤー交換方式を採用し、学習時には様々なデータ・オーギュメンテーション(回転・ズーム・クロップ・平行移動など)を掛けてそのままの位置で変換ができるようにしています。

 そして、下記の様なU -Netを組み合わせることによって、顔の部分だけを実写からアニメに入れ替えることを可能にし、背景をセットで実写のアニメ化しても背景がブレないところが、このモデルの素晴らしいところです。

3.コード

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

 なお、今回のColabはコード非表示にしてありますので、コードを見る場合は「コード表示」をクリックして下さい。

 まず、セットアップをおこないます。

 次に初期設定を行います。versionは「0.1, 0.2, 0.3」の3つの中から選択します。out_x_size, out_y_sizeは、アニメ化する画像のサイズの設定です。

 それでは、サンプル動画を静止画にバラします。自分の動画を使用したい場合は、content 直下にアップロードして下さい。ここでは、movieを01.mp4と設定します。

 それでは、バラした静止画を1枚づつアニメ化して行きます。変換が完了すると、最初の3枚のみアニメ画像を表示します。

 そして、アニメから動画を作成します。

 いかがでしょうか。背景込みでアニメ化できるので、とても表現力が上がりますね。

 もう1つやってみましょう。「動画を静止画にバラす」の所で movie を 04.mp4で選ぶと、こんな感じ

 このモデル、取り立てて新しい技術は使われていないのですが、素晴らしい結果を出してくれるクールなモデルだと思います。

 では、また。

(オリジナルgithub)https://github.com/Sxela/ArcaneGAN

2021.12.26 colabにv0.4を追加

より自然な変換ができるv0.4を追加しました。

colab リンク:https://github.com/cedro3/others2/blob/main/ArcaneGAN_latest.ipynb

(twitter投稿)