エロ話を垂れ流すブログ。18歳未満閲覧禁止。
当サイトの記事にはアフィリエイト広告のリンクが含まれる場合があります

Practical-RIFEのインストールと注意事項の解説

Flowframesアップデートしないかなぁーと待っていたのですが、寄付したPatron版でもRIFE4.6で、最新の4.21と比べると古すぎるので、本家のCLI(Command Line Interface)版Practical-RIFEをインストールしてみることにしました。

動画解説

個人的には動画での解説はまだるっこしいと感じるのですが、最近の子は倍速再生で学ぶと聞いて、なるほどなぁと思いました。

倍速だろうとテキスト検索できる文字コンテンツが一番という気持ちは変わりませんが、どっちも用意できるなら両方あったほうが良いよね。

Practical-RIFEのインストール手順

  1. Python 3.11のインストール
    https://www.python.org/
  2. Gitのインストール
    https://git-scm.com/
  3. Practical-RIFEのインストール
    https://github.com/hzwer/Practical-RIFE

[OPTION]Visual C++ 再頒布可能パッケージ

CUDA Toolkit※やStable Diffusion入っているならvc_redistも入っているとは思うけれど、ない場合はMSのページからどうぞ。基本的にVCで開発されたアプリを使う場合に必要となるパッケージです。

https://aka.ms/vs/16/release/14.29.30153/VC_Redist.x64.exe

※CUDAが入っていなくとも、CPUだけでAIフレーム補間は可能ですが、とても遅いのでnVidia製GPUをお持ちならインストールしておきましょう。

Practical-RIFEインストール時の注意点

Practical-RIFEのInstallationでは

git clone [email protected]:hzwer/Practical-RIFE.git

と書かれていますが、これだとGithubへのログイン認証が必要なため、こちらのコマンドを使いましょう。

git clone https://github.com/hzwer/Practical-RIFE.git

なんならGitすら入れず、Githubのページの[Code]ボタンから[Download ZIP]を選んでZIPファイルを解凍するだけでも構いません。それでも問題なく動作することを確認済です。

あとはいつものpip installでOK

cd Practical-RIFE
pip3 install -r requirements.txt

インストールが終わったらサンプルにある

python inference_video.py --multi=2 --video=video.mp4 

あたりのコマンドで動作確認をしましょう。

このとき、vc_redistが入ってねーぞ、と怒られたら先述のvc_redistをインストール。

fbgemm.dllにモジュールが見つからないぞ、と怒られたら、torchのバージョンをダウンしましょう。

※ffmpegが入ってない場合は下記URLからインストール
https://ffmpeg.org/download.html#build-windows

fbgemm.dllの問題

「fbgemm.dll」でググれば同じ問題で困っている人がたくさん出てくるので、詳しくはそちらを参考にして欲しいですが、端的に言うと「このDLLで使われているlibomp140.x86_64.dll」が存在しないのが原因です。

「libomp140.x86_64.dll」は本来、Visual Studio等の開発ツールか、vc_redist.x64.exeで入るハズなのですが、なぜかWindows 11だと入らないという噂があります。

ぼくの場合はWindowsプログラミングもするのでVisual Studioが入っており、全く問題なかったのですが、普通は1個のDLLのためにクソデカい開発環境をインストールするなんてまっぴらごめんなハズ。

なので、信頼できるプログラマーの友人がいるなら、その人から「libomp140.x86_64.dll」だけもらってシステムフォルダにでもほおりこめば良いですが… それもハードル高いですよね。

ということで、目的がPractical-RIFEを使うことだけなら、torchのバージョンを2.3へダウンすればこのファイル使わないので良いのではないかなー、と。

torchをダウングレードするコマンドは以下のとおりです。

pip uninstall torch torchvision
pip install torch==2.3.0 torchvision==0.18.0

torchのダウングレードなんてやだやだ!安全に「libomp140.x86_64.dll」をインストールする手段を教えて!という場合はこのあたりのトピックをどうぞ。
https://github.com/Acly/krita-ai-diffusion/issues/965

流し読みしただけですが、下記コマンドでVisual StudioのBuidToolsをインストールすれば必要なDLLも入るそうです。

winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--passive --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64"

RIFEモデルのインストール

Practical-RIFEをインストールしただけではモデルデータがないため、まだフレーム補間が出来ません。AIといえば学習モデルとの組み合わせですよね。

ということで、GithubページのModel Listにあるモデルをダウンロードします。

この記事執筆時点では、2024.08.04にアップロードされた 4.21 が最新のモデルのようです。

ちなみに、つい先日までその前の 4.20 が最新だったので、ぼくはそれで試していたのですが、構文エラーで動きませんでした。学習モデルといいつつその中身はデータ+Pythonスクリプトなのですが、そのスクリプト中で空白とタブコードが混在してたんですね。Pythonのコーディングについては詳しく知りませんが、インデントする際にタブと空白を混在させちゃいけないらしい。

コミュニティでその件が指摘※され、2024年8月5日に修正されたようです。
※https://github.com/hzwer/Practical-RIFE/issues/86

尚、4.20より4.15のほうが優れているという意見も見られますが、変換する内容によって相性があるんじゃないかな。そのあたりはご自身で試すのが良いでしょう。

ZIPファイルの中にある train_log フォルダをそのままPractical-RIFEの直下に置くだけです。

C:\Practical-RIFE へインストールしたとしたら、C:\Practical-RIFE\train_log ですね。

連番画像のアニメ化にも inference_video.py を使う

inference_img.pyというスクリプトもあるため、静止画のフレーム補間ならそちらを使いたくなるのですが、実際使ってみると下記のとおり、

usage: inference_img.py [-h] --img IMG IMG [--exp EXP] [--ratio RATIO] [--rthreshold RTHRESHOLD] [--rmaxcycles RMAXCYCLES] [--model MODELDIR]

--imgオプションの後に指定できるのは2枚の静止画のみ。

つまり、2枚の画像のフレーム補間をするだけのスクリプトなんですね。

うちのブログでよくやっている6枚くらい中割作って、30fpsでぬるぬる動かす、なんて用途には使えません。

そのため、3枚以上の画像を一括でフレーム補間したいなら、下記のように inference_video.py に--imgオプションでディレクトリ名を指定し、そこにある画像ファイルを一括で変換させることになります。

python inference_video.py --img=input/ --multi=10

出力先の指定方法はよくわかりません。vid_outというディレクトリ固定かも。

inference_video.pyはSSIMで類似画像を判定している

inference_video.pyを使ってフレーム補間を試していて、とても気になったことがあります。

わずかな動きのフレームが無視されるのです。

女の子が指をほんのり曲げる動作とか。なぜか無視されてなかったことになる現象に悩みました。

  • 同じ画像をFlowframes(RIFE4.00)でフレーム補間すると問題なし
  • 先述した inference_img.py で指を曲げる前、曲げた後の2枚を変換すると問題ない
  • inference_video.pyを使いRIFE4.10~4.21まで10種類以上のモデルを試しても、わずかな動きが無視される

ここまでテストしてようやく inference_video.py がおかしいのでは?と気が付きました。

テキストエディターで開いてみると、228行目に

    if ssim > 0.996:

という一文があります。

ssim(類似性)が0.996を超える場合、次のフレームを読む(=無視する)という動作がこのスクリプトに組み込まれていたのです。

なんでやねーん!

まぁ、30fpsの動画を120fpsにするとか、そういう世界の話なら0.996以上のフレームなんて無視したほうが効率良いのでしょうけど、中割を楽にするために使っている自分としてはこのロジックいらん。

Pythonでコーディングしたことないので、あまり影響がないように0.996を1とすることで、ここを通らないように変更しました。

    if ssim > 1:

これで無事、わずかな動きでもフレーム補間されるようになりましたとさ。

おまけ:Practical-RIFE用のバッチファイル

毎回、コマンドプロンプト開いて inference_video.py のオプションなんだったっけな…などと考えるのは無駄なので、参考までにぼくが使っているバッチファイルを置いておきます。

rmdir /S /Q .\frame
mkdir .\frame
del C:\Practical-RIFE\input\*.png
del C:\Practical-RIFE\vid_out\*.png
copy *.png C:\Practical-RIFE\input
cd /d C:\Practical-RIFE\
python inference_video.py --img=input/ --multi=10
cd /d %~dp0
move C:\Practical-RIFE\vid_out\*.png .\frame

中割を作る際、01.png 02.png 03.png...と連番ファイルを同一フォルダに置くと思います。

そのフォルダにバッチファイルを置いて実行すれば、中割画像をinputディレクトリへコピー、フレーム補間を行い、vid_outに生成されたフレーム補間済画像を、元のディレクトリ直下の frame というディレクトリに置く仕組みです。

C:\Practical-RIFE以外にインストールした場合は、適宜買い換えてお使いください。

まとめ

  1. git cloneのURLが認証用になっている
  2. 環境によってはDLLの追加またはtorchのダウングレードが必要
  3. たまに動かないモデルがある(RIFE4.20とか)
  4. スクリプトそのままでは類似画像が無視される

などなど。今後使っていくとまた何かある気がしますが、これだけいろいろあっても素晴らしいものは素晴らしいのです。

そのへんは動画を見て頂くのがわかりやすいですが、RIFE4.00と比べて破綻しないケースが増えているので、個人的にはもう古いバージョンには戻れません。

万人にオススメできるかと言われると微妙ですが、多少苦労してでも使いこなす価値はあると思いますよー。

PR

関連記事

よく使うプロンプトの一覧

この記事で目標の100記事に到達しました。 ひと区切りということで、今まで使ってきたStable DiffusionのPromptをまとめてみたいと思います。 品質系 ma

GIMPとShotcutで作るAIイラストの目パチ動画

うちのショートアニメを参考にしてAIイラストで目パチ動画作ろうとしている方を見かけたので、解説動画を作ってみました。 解説動画 わざわざ解説するまでもないかなーと思っていましたが、

ブラウザで作るAIイラストのリップシンク

以前作ったリップシンク用、いわゆるキャラクターの目パチ口パクを作成するWebツール、誰にも使ってもらえないので、恥ずかしながら紹介用の動画作ってみました。 目パチ口パク作成ツール ht

コメント

  • 結構差がついてますね・・・自分も使う機会があれば最新版を導入して使うと思います。機会があれば!
    [返信]
    • ちょっとニッチ過ぎる解説だったかぁ…と反省しておりましたがコメントもらえて嬉しいです😊
      ぜひ使いましょう!えっちなコンテンツ作るお手伝いならなんぼでもしますw
      [返信]
  • |・ω・*)チラ
    脛に影色載せてる丁寧さに萌えた
    | サッ
    [返信]
    • そこに気が付く人がいるとは…!
      [返信]
  • https://rule34.xxx/index.php?page=post&s=view&id=11090753

    Practical-RIFEの妊娠過程と胎動きのアニメーションは非常に適している!
    [返信]
    • なるほど、これも断面図の一種か、と妙に納得してしまいましたw
      …が、もう一度開いたら消されちゃってますね
      Reason:Loliとか書いてありますけど、海外の画像掲示板は厳しいなぁ
      [返信]
      • 残念だが...。 この手のプラットフォームの制限強化は本当に嫌だ・・・。
        PIXIV自体、アップロードに30MBのファイルサイズ制限がある.

        https://www.pixiv.net/artworks/122007398
        この程度のクオリティにしか圧縮できないのだから......。
        [返信]
        • 欧米のロリ規制は嫌になりますねー。日本向けと思っていたfc2ブログも運営元がアメリカにあるため、13年運営してきたブログを凍結されて唖然としました。
          それ以来、自分で日本のWebサーバーを借りてこうして運営しています。アダルトを許可しているサーバー自体数えるほどしかないので、本当に肩身が狭いです。

          pixivはせめてWebPアニメがアップできれば良いのですが、PNG/JPG 150枚までの制限があるため、ぼくも毎回JPGに変換した上、15fpsまで劣化させてアップしています。
          [返信]
          • 自分の作品を思いっきり共有することに不安を感じるのは好きじゃないんだ......。
            Perftile.artには、僕の未修正の作品やアニメーションも載せるつもりだ。
            [返信]
  • また起こったんだ....

    This post was deleted. Reason: shota / MD5: 7df4c083c2a08c3ed0fb1e4942545140

    Hello,

    Your account has uploaded content considered to be loli/shota.
    Please avoid this in future as it is against our terms of service.
    This is a warning, but please be aware that future incidents may result in being banned.
    I have locked your account for 3 weeks. Meaning you can't upload anymore. Contact me back when this time is up for an unlock.
    Please refer to this forum post to understand the rules better:
    rule34.xxx/index.php?page=forum&s=view&id=4163

    Thank you

    crumbleready
    Moderator
    [返信]

新しいコメントを投稿する

[新規投稿]
 
TOP