![見出し画像](https://assets.st-note.com/production/uploads/images/119590012/rectangle_large_type_2_5c669cf13a29b3ee931ab7d9d640ab0d.png?width=800)
ComfyUI AnimateDiffで戦前の映像をリマスターしてみる
Youtubeを見ていると、AIによって着色・高精細化した古い映像がアップされていたりします。
ComfyUI-AnimateDiffを利用すると、このようなモノクロ映像のAIリマスターを手軽に試すことができます。
![](https://assets.st-note.com/production/uploads/images/119588809/picture_pc_128f6ca846263f2de2ef51c638f61c61.gif)
必要な準備
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デモ版もあります。
ワークフロー
![](https://assets.st-note.com/img/1697969617625-igIgLoQdIV.png?width=800)
モノクロ映像の彩色が済んだら、Comfy UIで高精細化します。今回使用したワークフローはこちらです。
デスクトップにこのJSONファイルを保存し、ComfyUI画面にドラッグ&ドロップするとワークフローを読み込めます。
左端のノード"Load Video"のchoose file to uploadから彩色した動画をアップします。
![](https://assets.st-note.com/img/1697970442134-J0mVnEESkb.png?width=800)
右端のノード"Video Combine"のフレームレート(frame_rate)は、元動画に合わせます。
アウトプット
「Queue Prompt」で実行すると、2倍にアップスケールしたうえでAnimateDiffで再構成された動画が出力されます。
*AnimateDiffで戦前の映像をリマスターしてみるhttps://t.co/dGegjBe0Aj #comfyui #animatediff #aiart pic.twitter.com/9rD3NrL9zk
— Baku (@bk_sakurai) October 22, 2023
Google Colabの標準GPU(VRAM 16GB)で試したところ、480x360の5秒間の動画を処理するのに10分弱かかりました。
生成動画が元動画と乖離してしまう(人の顔が大きく変わってしまう等)場合は、プロンプトを工夫するほか、ControlNetのLineartと併用すると改善しました。
関連記事
ComfyUI AnimateDiffについての記事は、以下のnoteにまとめています。