【Python・AI】最新フレーム補間技術RIFEのインストール

【Python・AI】最新フレーム補間技術RIFEのインストール 機械学習

「動画のフレームレートを簡単かつ無料で高くしたい」
「AIによるフレーム補間をPythonで試したい」

このような場合には、RIFEがオススメです。
この記事では、最新フレーム補間技術であるRIFEについて解説しています。

本記事の内容

  • RIFEとは?
  • RIFEのシステム要件
  • RIFEのインストール
  • RIFEの動作確認

それでは、上記に沿って解説していきます。

RIFEとは?

RIFEは、フレーム補間のための技術のことを言います。
Real-Time Intermediate Flow Estimationから、RIFEという用語は来ていると思われます。

RIFEを利用すると、2倍・4倍・8倍までフレームレート(fps)を高くできます。
その際に違和感なくフレーム補完できるので、RIFEは人気があります。

その証拠に、RIFEを用いたソフトウェアが様々な形で公開されています。

  • Flowframes
  • Waifu2x-Extension-GUI
  • Autodesk Flame
  • RIFE-App(有料)
  • Steam-VFI(有料)

RIFE-Appは、Windows専用のソフトのようです。

Steam-VFIは、Steamから購入できるようになっています。

RIFEを発表したプロジェクトは、これらのソフトウェアとの関係を否定しています。
本家となるプロジェクトは、以下のページになります。

GitHub – megvii-research/ECCV2022-RIFE
https://github.com/megvii-research/ECCV2022-RIFE

RIFEについては、GitHub上でも複数のページが確認できます。
しかし、本家は上記ページのプロジェクトだということです。

よって、この記事におけるRIFEとは本家プロジェクトを指します。
このRIFEの効果は、RIFE-Appのページで確認できます。

RIFE-App公式
https://grisk.itch.io/rife-app

さすがに有料だけあって、アピールが本家よりはスゴイです。

以上、RIFEについて説明しました。
次は、RIFEのシステム要件を説明します。

RIFEのシステム要件

RIFEのシステム要件は、以下がポイントになります。

  • OS
  • Pythonバージョン
  • PyTorch
  • FFmpeg

それぞれを下記で説明します。

OS

サポートOSに関しては、以下を含むクロスプラットフォーム対応と思われます。
明示されてはいませんが、ソースを見る限りOSは問わないはずです。

  • Windows
  • macOS
  • Linux

Pythonバージョン

サポート対象となるPythonのバージョンについても記載はありません。
ただ、システム要件であるPyTorchがPython 3を必須にしています。

そのため、必然的にPython 3以降がシステム要件になります。
あと、以下のPython公式開発サイクルも意識しましょう。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

Python公式開発サイクルを意識すると、Python 3.7以降が推奨となりますね。

PyTorch

RIFEは、CPUでも動くことは動くようです。
ただ、動画が関係する以上はGPUは必須でしょう。

GPU版PyTorchをインストールしておきましょう。

FFmpeg

動画編集の実作業を行うのが、FFmpegです。
そのため、FFmpegもインストール必須と言えます。

FFmpegのインストールには、以下の記事が参考になります。

以上、RIFEのシステム要件を説明しました。
次は、RIFEのインストールを説明します。

RIFEのインストール

RIFEのインストールには、Python仮想環境を利用しましょう。

検証は、次のバージョンのPythonで行います。

> python -V  
Python 3.10.4

PyTorchがインストール済みであることを前提に作業を進めます。
まずは、gitコマンドでプロジェクトを取得します。

```
git clone https://github.com/megvii-research/ECCV2022-RIFE.git
```

Windowsの場合であれば、gitコマンドが使えないかもしれません。
その場合は、Git for Windowsをインストールしましょう。

プロジェクトをダウンロードできたら、リポジトリルートに移動します。

cd ECCV2022-RIFE

リポジトリルートには、requirements.txtが存在しているはずです。

requirements.txt

numpy>=1.16 
tqdm>=4.35.0 
sk-video>=1.1.10 
torch==1.6.0 
opencv-python>=4.1.2 
moviepy>=1.0.3 
torchvision==0.7.0

このファイルを次のように変更します。

numpy>=1.16 
tqdm>=4.35.0 
sk-video>=1.1.10 
opencv-python>=4.1.2 
moviepy>=1.0.3

念のため、PyTorch部分を削除しておきます。
それよりも、事前にGPU版PyTorchをインストールしましょうという意味があります。
ファイルを変更できたら、次のコマンドを実行します。

pip install -r requirements.txt

以上、RIFEのインストールを説明しました。
次は、RIFEの動作確認を説明します。

RIFEの動作確認

RIFEの動作確認は、次の手順で行います。

  • 学習済みモデルの用意
  • 動画の用意
  • 動作確認

それぞれを以下で説明します。

学習済みモデルの用意

動作確認を行うためには、学習済みモデルのダウンロードが必要です。

モデル配布先URL
https://drive.google.com/file/d/1APIzVeI-4ZZCEuIRE1m6WYfSCaOsi_7_/view?usp=sharing

上記URLにアクセスして、ZIPファイルをダウンロードします。
赤い下線のダウンロードリンクをクリックするだけです。

ダウンロードには、しばらく時間がかかります。
ダウンロードが完了したら、ZIPファイルを解凍します。

展開されたディレクトリには、「train_log」を確認できます。
この「train_log」をそのままリポジトリルートに移動します。

これで、学習済みモデルの用意ができました。

動画の用意

フレームレートを高くしたい動画を用意します。
動画は、以下のモノがサンプルとして公開されています。

demo video
https://drive.google.com/file/d/1i3xlKb7ax7Y70khcTcuePi6E7crO_dFc/view?usp=sharing

この動画をモデルと同じようにダウンロードします。

ダウンロードできたら、リポジトリルートにこの動画ファイルを移動しましょう。

動作確認

準備は、すべて整いました。
リポジトリルートにおいて、次のコマンドを実行します。

python inference_video.py --exp=1 --video=demo.mp4

実行すると、次のように処理が開始されます。

> python inference_video.py --exp=1 --video=demo.mp4 
Loaded v3.x HD model. 
demo.mp4, 1342.0 frames in total, 25.0FPS to 50.0FPS 
The audio will be merged after interpolation process
 28%|██████████████████████████▏                                                                 | 382/1342.0 [00:37<01:09, 13.79it/s]

demo.mp4が25FPSであることがわかります。
そして、そのフレームレートを2倍の50FPSに変更しようとしています。

処理時間は、1分ちょっとぐらいです。
処理が完了すると、次の名前のファイルを確認できます。

demo_2X_50fps.mp4

demo.mp4のFPSを2倍の50FPSにしたことが、ファイル名からわかります。
なお、expと倍率の関係は以下となります。

exp倍率
12倍
24倍
38倍

さて、出来上がった動画を確認してみてください。
元の動画と比べてみて、フレームレートが高くなっているのがわかるでしょうか?

違いがわかるような、わからないような感じではないでしょうか?
この辺は、普段からFPSの違いに敏感かどうかによって違ってくる部分です。

とにかく、これでRIFEの動作確認は終わりとします。
以上、RIFEの動作確認を説明しました。

タイトルとURLをコピーしました