Otama's Playground

AIで遊んだ結果などをつらつら載せていきます。

動画のフレームレートを上げる技術:RIFEとそのアーキテクチャ

RIFEはディープラーニングを用いて連続したフレーム間のピクセルの変化を予測し、中間フレームを生成することで動画のフレームレート向上を目指す技術です。本記事では、IFNetアーキテクチャや特権蒸留技術を用いたRIFEの手法を簡単に解説します。

論文は以下から読めるので、気になる方はそちらも参照してみてください。 arxiv.org

RIFEの概要

RIFEは「Real-Time Intermediate Flow Estimation」の略で、高速に精度良くオプティカルフローを推定することができる技術です。高精度なフロー推定のためにIFNetというアーキテクチャと特殊な蒸留方法を提案しています。(オプティカルフローとは、フレーム間のピクセルの移動を示すベクトルです。)

推定されたオプティカルフローを使用することで中間フレームを計算することができ、動画のフレームレートを向上させることが可能になります。

RIFEを用いた中間フレーム推定のアーキテクチャ(3-1)

連続した2フレームからその中間のフレームを推定するために以下のようなパイプラインを使用しています。

  1. Intermediate Flow Estimation(IFNet)
    • オプティカルフローと融合マップ(2フレーム間でどちらの情報をどれだけ使用するかを示す重み)の推定
  2. 中間フレームの生成
    • IFNetの出力から中間フレームを生成する
    • 計算式は論文3-1項に載ってます
  3. 中間フレームの品質向上(RefineNet)
    • 生成した中間フレームを画像の品質を向上させるモデル(RefineNet)で処理する。
    • RefineNet自体は他の論文で提唱されたモデル
    • 論文の本質ではないですが、使ってみたら精度が良くなったぐらいの話だと思います

IFNetのアーキテクチャ(3-2)

IFNetは以下のようなモデルです。CNNをベースとしたIFBlockをResidual Connectionを使いながら重ねています。

Zhewei Huang, Tianyuan Zhang, Wen Heng, Boxin Shi, Shuchang Zhou, 2020, Real-Time Intermediate Flow Estimation for Video Frame Interpolation, https://arxiv.org/abs/2011.06294

IFNetのPrivileged Distillation(3-3)

RIFEのPrivileged Distillation(特権蒸留)について、やってることは論文に載っている以下の画像の通りです。

教師モデルのみ、学習モデルが受け取る2フレームに加えて、実際の中間フレームを入力として受け取っています。実際の中間フレームを知っている分、教師モデルは精度良くオプティカルフローを推定することができ、この結果を生徒モデルに蒸留することで、生徒モデルは効率よく学習することができ精度の向上が見込めます。

Zhewei Huang, Tianyuan Zhang, Wen Heng, Boxin Shi, Shuchang Zhou, 2020, Real-Time Intermediate Flow Estimation for Video Frame Interpolation, https://arxiv.org/abs/2011.06294

評価(4章)

PSNR, SSIM, IEといった指標を用いて有効性を検証しています。(具体的な部分は4章参照)

最後に

RIFEは少し古いですが、割と単純なパイプラインのわりに精度が良いためディープラーニングを用いた中間フロー推定技術の中でも利用しやすい手法です。動画生成を試す際に自分がよく使用しているComfyUIでも拡張として実装してくれている方がいるため、気になった方は試してみると良いと思います。

RIFEが実装されているComfyUI拡張 github.com