デジタルペインティングにおける作画工程を再現するベースモデル「Paints-Undo」

CGソフト

2024年7月9日(現地時間)- FoocusControlNet で有名なlllyasviel(Lvmin Zhang 氏)によって「Paints-Undo」が公開されました。

Paints-Undoとは

「Paints-Undo」は、デジタルペインティングにおける作画工程のベースモデルを提供することを目的としたプロジェクトです。

このプロジェクトは、人間の描画動作の基本モデルを開発し、将来のAIシステムが人間のアーティストの実際のニーズにうまく応えられるようにすることを目的としています。

「Paints-Undo」という名前は、モデルの出力が、デジタルペインティングソフトウェアの “元に戻す(undo)”ボタン(通常はCtrl+Z)を何度も押しているように見えるという類似性から着想を得ているとのことです。

このモデルは、これらに限定されるものではありませんがスケッチ、インク、着色、陰影付け、変形、左右反転、色カーブの調整、レイヤーの可視性の変更、さらには描画プロセス中の全体的なアイデアの変更など、あらゆる種類の人間の動作を再現することができます。

ひとつの入力から複数の出力

■粗いスケッチの抽出

■外部スケッチからの補間

■入力としてのスケッチ

■限界と失敗例

  • フォトリアルなコンテンツの再現に苦戦
  • 複雑な構図への対応が難しい
  • 特殊な概念の理解に苦労する
  • デザインによっては、結果が主流のワークフローに沿わない
■免責事項
ユーザはこのツールを使ってコンテンツを作成する自由を与えられますが、現地の法律を遵守し、責任を持って使用することが求められます。虚偽の情報を流したり、対立を煽ったりしてはなりません。開発者は、ユーザーによる誤用の可能性について、いかなる責任も負いません。

モデルの詳細

現在、paints_undo_single_frame(シングルフレームモデル)とpaints_undo_multi_frame(マルチフレームモデル)の2つのモデルがリリースされています。

シングルフレームモデル
シングルフレームモデルは、1枚の画像と操作ステップを入力とし、1枚の画像を出力します。

1000回の人間による操作(たとえば、1回のブラシストロークが1回の操作)で、常に1つの作品を作ることができると仮定し、操作ステップ( operation step )は0から999までのint数とします。0は完成した最終作品、999は真っ白なキャンバスに描かれた最初のブラシストロークです。このモデルは「undo」(またはCtrl+Zと呼ばれる)モデルとして捉えることができます。

最終的な画像を入力し、「Ctrl+Z」を何回行うかを指示すると、このモデルはその回数「Ctrl+Z」が押された後の「シミュレートされた」スクリーンショットを表示することになります。つまり、操作ステップが100であれば、100回目の “Ctrl+Z “後の状態を得るために、この画像上で100回 “Ctrl+Z “をシミュレートしたいことを意味します。

マルチフレームモデル

マルチフレームモデルは、2つの画像を入力とし、2つの入力画像の間に16の中間フレームを出力します。その結果、シングルフレームモデルよりもはるかに一貫性がありますが、処理速度が遅く、”創造性 “に欠け、16フレームに制限されています。

このリポジトリでは、デフォルトの方法として、これらを併用します。まずシングルフレームモデルを5~7回ほど推論して5~7個の「キーフレーム」を生成し、次にマルチフレームモデルを使ってそれらのキーフレームを「補間」して、比較的長い動画を実際に生成します。

理論的には、このシステムはいろいろな使い方ができ、無限に長い動画を生成することもできますが、実際には、最終的なフレーム数が100~500程度で良好な結果が得られるとのことです。

使用について

PaintsUndo は以下のコマンドでローカルに導入できます:

git clone https://github.com/lllyasviel/Paints-UNDO.git
cd Paints-UNDO
conda create -n paints_undo python=3.10
conda activate paints_undo
pip install xformers
pip install -r requirements.txt
python gradio_app.py

(これらのコマンドの使い方がわからない場合は、ChatGPTにコマンドを貼り付けて、ChatGPTに説明や詳しい指示を仰ぐことがおススメされています。)

通常の場合、解像度320×512、512×320、384×448、448×384で、FPS4で25秒の動画を生成します。

推論はNvidia 4090と3090TIの24GB VRAMでテストされています。16GBのVRAMでも動作するかもしれませんが、8GBでは動作しません。作者の予想では、極端な最適化(ウェイトオフロードとスライスアテンションを含む)を行った場合、理論上の最小VRAM要件は約10~12.5GBとされています。

ほとんどの場合、処理時間はHuggingFace Spaceのほとんどのタスク/クォータよりもかなり長いので、HFサーバに不必要な負担をかけないために、個人的にはHuggingFace Spaceにこれを展開することはあまり推奨されていません。

もし必要な計算デバイスがなく、それでもオンラインソリューションを望むのであれば、Colabノートブックがリリースされるのを待つという選択肢もあります(ただし、Colabのfree tierが機能するかどうかはわかりません)。

使用手順

Gradioのインターフェイスに入った後、次の手順で使用することができます。

ステップ0:画像をアップロードするか、ページの下部にある「Example image」をクリック。

ステップ1:「step 1」と表示されたUIで、「generate prompts」をクリックし、global promptsを取得します。

ステップ2:「step 2 」のUIで、「Generate Key Frames」をクリックします。左側でシードやその他のパラメータを変更できます。

ステップ3:「step 3」のUIで、「Generate Video」をクリックします。左側でシードやその他のパラメータを変更できます。


Paints-Undo github ページへ

コメント

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