アニメ用動画補完最新モデル AnimeInterpの紹介

画像処理のトップカンファレンス,CVPR2021に採択された論文"Deep Animation Video Interpolation in the Wild"を要約しました.この論文で提案されたモデルのAnimeInterpは,動画補完モデルでSOTAを達成した"DAIN"等に比べてアニメ映像の補完でより良い性能を達成し,SOTAとなりました.
また,アニメ映像の補完タスクについて定義した論文は以前になかったことから,これについて定義し,さらに訓練,評価用のデータセットである"ATD-12K"を作成,公開されています.いずれもGithubで公開されております.

各モデルの出力結果の比較.AnimeInterpは細い筆まで的確に描写できている.

論文名 Deep Animation Video Interpolation in the Wild
著者 Li Siyao, Shiyu Zhao, Weijiang Yu, Wenxiu Sun, Dimitris N. Metaxas,
Chen Change Loy, Ziwei Liu
リンク Arxiv, Github
その他 CVPR2021採択

Abstract


アニメ補完で難しい例.(a)はテクスチャが存在しないため,特徴点をとりづらい.(b)は剣の動きが大きく,複雑なため予測が難しい.

アニメ補完は需要があるけど既存の手法ではなかなかいい結果が出ない.アニメ映像は自然映像に比べて以下2つの点で異なる.

  • 問題1: 線と滑らかな色の領域で構成されていて,質感が存在しないため,(特に滑らかな領域については特徴点がないから)動きを予測しにくい
  • 問題2: アニメの動きは強調されているため,非線形で動きが大きい

この問題に対し,以下3つのことを行い,解決した.

  1. 初めて正式にアニメ補完問題を定義したこと.
  2. アニメ補完問題の訓練と評価を容易にするため,ATD-12Kという3つ組のアニメ画像にアノテーションがついた,巨大なデータセットも作成した.
  3. AnimeInterpという,アニメ補完問題でSOTAを達成したモデルを開発した.

1. Introduction

アニメ補完問題には以上2つの問題がある.これに対し,以下2つのモジュールをもつAnimeInterpを提案する.

  • Segment-Guided-Matching (SGM)で色ごとに領域をマッチングすることで質感のない問題 (問題1) を解決

  • Transformerのようなアーキテクチャで再帰的に動きを予測するRecurrent Flow Refinement (RFR)で,非線形で大きな動きを予測する (問題2)

SGMは輪郭で区切られた同じ色の領域をまとめて扱って,オプティカルフローを計算する.これにより,SGMは極値問題を防ぎ,質感のない問題を解決する.

この領域ごとのフローをRFRに入力して最終的な画像出力を得る.

また,ATD-12Kという巨大なデータセットも作成した.これは合計25時間におよぶ,30の異なるスタイルのアニメ映画から得られた3つ組の画像データを作成した.テスト集合は動きや隠れ(occlusion)の大きさに応じて3つの難易度に分け,さらなる分析のために動きのカテゴリについてのアノテーションも追加した.

2. Related Work

Video Interpolation

Phase-based, Kernel-basedなどのモデルがあったが,小さい変化に対してしかうまくいかなかった.大きな変化に対しては主にオプティカルフローで取り組んでいる.しかしながらこれらはアニメには前述の問題でうまくいかない.

Vision for Animation

アニメに関する深層学習は様々な研究があるが,動画補完問題に取り組んだ研究は今まで存在しなかった.

3. ATD-12K Dataset

アニメ動画補完問題の学習と評価のため,ATD-12Kというデータセットを作成した.

  • 訓練用に10,000組の3つ組の画像 (1フレーム目,2フレーム目, その間の画像)
  • テスト用に2,000組(訓練用とは異なるソースから取得)

テスト用には豊富なアノテーションを付加し,様々なカテゴリで評価を行えるようにした.

  • 難易度,動きの種類,Regons of Interest (RoI)

3.1 Data Construction

様々なソースから高画質な映像を入手.その中から3つ組のフレームを入手するが,ただ隣接する3組を選ぶだけでなく,変位を拡大するために1~2フレーム間をあけてとることもした.組の間で似た画像にならないように,構造的類似性 (SSIM)が0.95より大きいフレームが含まれる組は排除した.また,シーンの変化なども取り除くため,SSIMが0.75より小さいフレームが含まれるものも排除した.

この後人の検査が入り,2人以上が適切と判断したものを残した.排除したものは例えば矛盾したキャプションがつけられていたり,単純で似たようなシーンだったり,不自然な動きだったりする.

Statistics

自然映像とアニメ映像の隔たりを調べるため,自然映像の補完のデータセットして使われるAdobe240との動きの統計を比較した.ATD-12Kのほうがオプティカルフローの平均,分散ともに大きい値の割合が多いことが判明した.

3.2 Annotation

難易度は動き,隠れの大きさに応じてつけた

背景よりも,動いている部分のほうが印象に残るため,その部分をRoIとし,バウンディングボックスで2枚目のフレームにつけた.

フレーム組の主な動きを区別するため,以下二つのアノテーションをした.

  • 一般的な動きかた (移動,回転,拡縮,変形)

  • キャラの動き (話す,歩くなど)

4. Our Approach

AnimeInterpの構成

このモデルの主な流れは,

  1. フレーム画像をSGMに入力し,双方向の大まかなフローを得る.

  2. RNRの初期入力としてを入力し,精度の高い, が得られるまで次第に変形させる

  3. , をもとにを変形させて出力を得る

となっている

4.1 Segment-Guided Matching

アニメでは,各領域ははっきりした線で区切られ,その中は一色で塗られている.また,その色は動きが大きくても次のフレームでも変わらない.この手掛かりをもとに大まかなフローを作ることで領域ごとの滑らかな動きを実現する.

Color Piece Segmentation

まず画像にラプラシアンフィルタをかけて輪郭抽出をし,そのあとTrapped-ball アルゴリズムで色の領域(Superpixel)を生成する.これにより,画像と同じサイズの自然数の行列が得られる.各領域が固有の整数に対応し,例えばの色の領域に対応するピクセルを表す.このSがSegmentaion mapであり,画像を各Superpixelに分けている.

Feature Collection

画像を事前学習されたVGG-19に入力し,その途中出力relu1_2などを特徴量として得る.この特徴量をsuperpixel poolingを使ってで統合する.この結果,superpixel数 (の色数?), 特徴量数をとすると,サイズの行列がそれぞれ得られる.これはsuperpixelごとの特徴量ベクトルをまとめた行列である.

Color Piece Matching

2フレームのsuperpixelを対応付けるマッピング, を学習する.例えばの色に対してを考えると,での対応する最も尤もらしい色を返すような関数を考える.

まず,間の色の類似性を示す指標を導入する.

は正規化した特徴量である.

また,外れ値を除くため,二つの制限罰則項を加える.

  • Distance penalty … 二つのsuperpixelの重心の距離を画像の対角線長で割ったもの

    • この比が0.15以上だとよく働く

  • Size penalty … 二つのSuperpixelのピクセル数の差を画像のピクセル数で割ったもの

    • はSuperpixelのピクセル数

以上より,matching degree matrix が以下のように定式化される

はそれぞれ0.2, 0.05とした.

以上より,が下のように定式化される.

Flow generation

をもとに二方向の最終的なフローを導き出す.ここでは前者しか示さないが,後者も同様にできる.まず,とみなす.次に重心の変位を求める.そして局所変形を以下の変分最適化(variational optimization)で求める.

  • はそれぞれ色で画像をマスクする行列

  • はピクセルの位置を受け取ってそこのフローを返すの関数

  • 上式でマスクと変位の一致度合いを計算し,下式で変位の滑らかさを表していると思われる

また,外れ値を取り除くため,となるようななどは取り除く.

4.2 Recurrent Flow Refinement Network


RFNの構成

これを入れるモチベは2つ

  • 頑健でないフローは前段で排除されてしまっているが,このネットワークでそこにも頑健なフローを作れる

  • 前段は大きなフローの検出に役立つが,細かい動きや複雑な動きには不適切

からを作るプロセスのみ示す

まずから各ピクセルの信頼度を計算する3層CNNに通しを得る,をかけてマスクしたものを初期値とする.

これとをConvGRUに入れて残差が計算される.これを現在のフローに足すということを繰り返す.

4.3 Frame Warping and Synthesis

得られた最終的なフローとSoft-splatの手法を使ってSplattingと合成をする.

最終的にGridNetで画像を合成する.

4.3 Learning

trainingの損失関数はGroundTruthと出力画像のL1Lossを採用し,訓練の際には2つのフェーズに分けた.

  • Training phase … RFRをRAFTと同様に訓練し,残りの部分を訓練するためにRFRの重みを調整して実世界のデータセット(Quadratic video interpolationを参照のこと)で200epoch訓練した.

    • SGMモジュールは使っていない.
    • 訓練率は1e-4で,100, 150エポック時に0.1倍した.
  • Fine-tuning phase …ATD-12Kを使ってシステム全体を50epoch訓練.

    • 訓練率 1e-6.
    • 画像は960540にリスケールされ,380380の画像にランダムに切り取られる.
    • バッチサイズは16.
    • オーグメンテーションのために画像を裏返したり三つ組みを逆順にしたりした.

5. Experiments

AnimeInterpを最近のSOTAの手法 (Super SloMo, DAIN, QVI, AdaCoF, SoftSplat)と比較した.SoftSplatについては既存の実装がなかったため論文をもとに実装し,AnimeInterpと同じ手法で訓練した.

Fine-tuningのデータセットはATD-12Kを使用し,Finetuning前後で別々に評価した.

3つ組のうち真ん中の画像を予測するという手法でGTと予測画像の間のPSNR, SSIMを評価値とした.評価は画像全体(Whole), 興味領域(RoI)に対して行った.また,レベル別の評価も行った.

5.1 Comparative Evaluation

Quantitative Evaluation (定量的評価)

定量的評価の結果.全カテゴリでAnimeInterpの精度が高くなっていることがわかる.

全評価値で優っていた.RoIでも優っていたので,より大きな動きを反映できているといえる.

Qualitative Evaluation (定性的評価)

各手法の出力画像とそのオプティカルフロー.

難しい例でも比較的よく予測できていることがわかる.

  1. 同じ色が重なり合う上に局所的に不連続で大きな動きのある画像の例.上の画像の場合,両手が重なり,その変位も大きい.いずれの手法も輪郭がぼやけてしまっているが,AnimeInterpは比較的もとの形を保っているように見える.
  2. 背景とキャラクターが逆方向に大きく動く例.下の画像の場合,背景は大きく下に動いており,人物は逆方向に動いている.AnimeInterp以外の手法は背景の動きに引っ張られて人物もその方向に動いてしまっていることが確認されるが,AnimeInterpは人物の形を認識し,分離できていることがわかる.

5.2 Ablation Study

Ablation studyの結果.SGM, RFRがそれぞれ重要な役割をになっていることがわかる.

Quantitative Evaluation

SGM, RFRをそれぞれ抜いたモデルでも評価してみた(a).
どれかを抜くとPSNRは低下するが,RFRを抜いた時のほうが大きく下がった.RFRなしではフローが粗く,双方向のフローが合わない部分はフローが0になるからである.
SGMがないときの差はEasyよりもHardのほうが大きい.つまり大きな動きに対して効果があることがわかる.

Qualitative Evaluation

SGMの有無で出力画像を見てみる(b).
SGMがないときは局所最適値にはまるためフローが不正確になる.例5では右手が大きく動いて次のフレームで左手の近くまで行っているため,SGMなしでは2フレーム目の右手を左手と勘違いしている.SGMはGlobal context matchingでこれを防いでいる

5.3 Further Analysis

Influence of Difficulty Levels and Motion RoIs

アニメにおける映像補完の問題に対処していないモデルは特に難易度が上がるとPSNRスコアが大きく落ちる
様々な手法でRoI部分での性能が落ちるので,そこの修復に注目したさらなる研究が期待される.

User Study

User studyの結果.他の3手法に比べ,提案手法のほうが良いと答えた人がいずれも8割程度いた.

10人の人間にそれぞれ提案手法と既存手法で生成されたもののうち150の3つ組を見せ,どちらが良いかを主観的に判断してもらったところ,いずれの手法に対しても約8:2で提案手法のほうがよいという結果が得られた.

感想

実際に使ってみたり,デモ動画を見てみますと,確かに自然に補完された動画になっていることがわかります.ただ,補完されたフレームを1つずつ確認しますと,輪郭がはっきりしていなかったり,大きく動いているオブジェクトが正しく描画されていなかったりと,商用利用は難しいのではないかと思わせられる点もあります.

ATD-12Kデータセット内の画像.この2つのフレームの間を予測する.
訓練済みモデルの出力(左)とGTの画像(右).出力が大きく崩れている.

上の画像はATD12-Kに含まれる画像とそれを入力した際の出力結果ですが,1フレーム目で隠れていた自動車のバンパー部分がほとんど構成できていません.このように,一方のフレームで大きなオクルージョンが発生している場合は,SGMでフローの構成をできず,RFRでの補填もあまりうまくいかないため,お粗末な結果になってしまうようです.
ただ,元のフレーム数がそれなりに多ければ,このようなフレームが入っていても動画としてみる分にはあまり気にならないため,実用的な素晴らしい研究だと思います.

注釈

Trapped-ball algorithm

Vectorizing Cartoon Animationsで提唱された,不連続な輪郭で区切られた領域を調べるアルゴリズム.

元論文より引用
  1. まず領域を塗りつぶす (b)

  2. 一色で塗られた領域に円の構造物を配置する(trapped-ball)

  3. それが動ける領域を調べる (d)

  4. その領域を広げる

以上を塗りつぶされた領域がなくなるまで行う.半径は少しずつ小さくする

Superpixel

ATD-12Kデータセット内の画像(左)とそのSuperpixel-segmentationの結果(→)

画像の中で色合いの似ている範囲をまとめた領域.
これのセグメンテーションを行うことをSuperpixel-segmentationとよぶ

Superpixel pooling

Superpixelをプーリングのレイアウトとして使うこと.今までのプーリングは一般的に正方形だったのをこのSuperpixelの部分でプーリングすることだと考えられる.Superpixel pooling層を通すと,の行列が出てくる.はSuperpixelの数,は特徴量の数

Variational optimization

微分不可能,あるいは不連続な関数の最大化を行う手法で,最大値の下限が期待値であることを利用して,パラメータにより期待値を最大化することにより最大値に近づける手法.

Convolutional GRU

畳み込み+再帰ネットワークで時空間の関係性をとらえられるようになり,画像列の動きの情報を抽出できるようになったネットワーク.