ComfyUI AnimateDiffで戦前の映像をリマスターしてみる
Youtubeを見ていると、AIによって着色・高精細化した古い映像がアップされていたりします。
ComfyUI-AnimateDiffを利用すると、このようなモノクロ映像のAIリマスターを手軽に試すことができます。
必要な準備
ComfyUI本体の導入方法については、こちらをご参照ください。
今回の作業でComfyUIに追加しておく必要があるものは以下の通りです。
1. カスタムノード
次の2つを使います。
ComfyUI-AnimateDiff-Evolved(AnimateDiff拡張機能)
ComfyUI-VideoHelperSuite(動画関連の補助ツール)
ComfyUI Managerを使っている場合は、いずれもManager経由で検索しインストールできます(参考:カスタムノードの追加)。
2. モーションモジュール
今回のワークフローでは「temporaldiff-v1-animatediff.ckpt」を使っています。
ダウンロード先は"/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models/"です。
3. 画像生成モデル
今回はできるだけ自然な動画を生成したいので、フルリアル系のモデルで人気の「Realistic Vision V5.1」を使ってみます。
保存先は"/ComfyUI/models/checkpoints/"です。
4. アップスケーラー
画質の改善のためアップスケーラーを併用します。今回は2倍アップスケールの「RealESRGAN_x2」で試します。
保存先は"/ComfyUI/models/upscale_models/"です。
5. 元動画
この記事では、Wikipediaにアップされている1929年(昭和4年)の短編映画『太郎さんの汽車』から5秒ほどを抜粋して使用しました。
前処理(彩色)
まず、モノクロ映像をカラー化しておきます。モノクロ映像をカラー化するアプリは有償・無償をふくめ無数にあるので、よさげなものを使ってください。
ここでは「DeOldify」というオープンソースの彩色アプリを紹介しておきます。デスクトップ版のほか、Google Colab版やReplicateデモ版もあります。
ワークフロー
モノクロ映像の彩色が済んだら、Comfy UIで高精細化します。今回使用したワークフローはこちらです。
デスクトップにこのJSONファイルを保存し、ComfyUI画面にドラッグ&ドロップするとワークフローを読み込めます。
左端のノード"Load Video"のchoose file to uploadから彩色した動画をアップします。
右端のノード"Video Combine"のフレームレート(frame_rate)は、元動画に合わせます。
アウトプット
「Queue Prompt」で実行すると、2倍にアップスケールしたうえでAnimateDiffで再構成された動画が出力されます。
Google Colabの標準GPU(VRAM 16GB)で試したところ、480x360の5秒間の動画を処理するのに10分弱かかりました。
生成動画が元動画と乖離してしまう(人の顔が大きく変わってしまう等)場合は、プロンプトを工夫するほか、ControlNetのLineartと併用すると改善しました。
関連記事
ComfyUI AnimateDiffについての記事は、以下のnoteにまとめています。