最近話題の動画生成AIであるFramePackで人物など、不要なオブジェクトを自然に消せる、所謂消しゴムマジックのような事が出来るLoRA「FramePackI2V_HY_mask_fadeout」が登場しました。
オンライン上で動かすことが出来ますが、以下の記事にてLoRAの配布などがされており、ローカルでも動かすことが出来ます。ただ、一部分かりづらい点があったので、この記事ではFramePackI2V_HY_mask_fadeoutを完全にローカル環境で動かす方法を解説していきます。

FramePack-eichiのインストール
FramePack用のLoRAを使用するので、当然ですがFramePackが必要になります。
また、FramePackは本家のよりもeichiバージョンをおすすめします。
FramePack-eichiの導入については以下の記事を参照してください。
上記の記事で導入出来たと思いますが、上記の記事を書いた時と、現在のバージョンでは少し違いがあります。
本家FramePackの「webui」フォルダに、eichiの「webui」フォルダを上書きするところまでは一緒ですが、起動用のバッチファイルに「run_endframe_ichi_f1.bat」と「run_oneframe_ichi.bat」の2つが追加されています。
今回はrun_oneframe_ichi.batを使用するので、この起動用のバッチファイルも本家FramePackフォルダへコピーしておいてください。
これでFramePack-eichiの導入は完了です。
スポンサーリンク
FramePackI2V_HY_mask_fadeout用マスク作成ツールの導入
恐らく、FramePackI2V_HY_mask_fadeoutをローカルで動かそうとして断念してしまう原因のほとんどはここだと思います。このLoRAは通常のマスクと異なり、市松模様のマスクを使用します。
そのマスク用をローカルで動かすためのコードも公開されているので、分かる人なら簡単にローカル環境を構築出来るのですが、そうでない人からしたら公開されているコードをどうすればローカルで動かせるように出来るのか分からないと思います。
それでは解説していきます。
まずは、冒頭でもリンクを貼った以下の記事へアクセスします。

下の方へスクロールし、参考コードをコピーします。

次に、任意の場所にテキストドキュメントを作成します。

ファイル名は任意で決めてください。ここでは「mask_fadeout.txt」で作成しました。
次に、作成したテキストファイルを開き、コピーしたコードを貼り付けます。

貼り付けたら保存して閉じてください。
次に、.txtファイルを.pyファイルへ変換します。
名前の変更から拡張子を変更して「mask_fadeout.txt」を「mask_fadeout.py」へ変更するだけです。

名前を変更したら後は起動するだけで。
以下のようにフォルダパスが書かれた部分に「cmd」と入力してエンターを押し、コマンドプロンプトを開いてください。

コマンドプロンプトが開いたら、以下のコマンドを入力するだけです。
python mask_fadeout.py
環境によっては以下のコマンドで実行してください。
py mask_fadeout.py
上記のコマンドを実行したら、以下のような表示が出ます。URL部分をCtrlキーを押しながらクリックすることでブラウザで開くことが出来ます。

これでローカル環境でもマスク画像を作成できるようになりました。
もし、このコマンドを実行したときに「ModuleNotFoundError: No module named ‘gradio’」というようなエラーが出た場合、これはモジュールが無いというエラーなので該当するモジュールをインストールします。
上記のエラーならGradioモジュールがないので、以下のコマンドでインストールできます。
pip install gradio
必要モジュールをインストールしたら、再度起動用のコマンドを実行しましょう。
スポンサーリンク
マスク作成ツールの使い方
それでは、起動したマスク作成ツールの使い方を解説していきます。

赤枠で囲った部分に、消したいオブジェクトがある画像を読み込ませます。
今回は以下の画像を使用します。

読み込んだら以下のように消したい部分をマスクしていきます。

削除したい箇所にマスクを適用したら、「市松模様を適用」ボタンをクリックします。
あとは、右側の結果と書かれた部分にマスク部分が市松模様に変換された画像が出力されるので、これをダウンロードします。

これでマスク画像を作ることが出来ました。次はFramePackでの作業です。
FramePack-eichi (FramePack-oichi)でオブジェクト削除
それでは、前項で作成したマスク画像から実際にオブジェクトを削除していきましょう。
まずは「run_oneframe_ichi.bat」を起動します。
起動したら、以下のように画像を読み込ませ、プロンプトを入力します。

プロンプトは以下の通りです。
A yellow and purple checkerboard mask fades away, smoothly revealing the background beneath, while the areas not covered by the mask remain completely still.
次に、下の方へスクロールしLoRAの読み込みをします。

まずは「LoRAを使用」にチェックを入れます。
チェックを入れたら、LoRAファイルを読み込む場所が表示されるので、ここにダウンロードしてきたLoRAファイルを読み込ませます。
読み込ませると以下のようになります。

LoRAスケールは0.8~1.0くらいで良いと思います。この記事では0.8で進めていきます。
ここまで出来れば、あとは「生成開始」ボタンを押すだけでオブジェクトの削除が出来ます。
出力された画像
それでは、上記のやり方で出力された画像を見てみましょう。

良い感じではないでしょうか。解像度は落ちていますが、アップスケールで対応可能なのでそんなに気にするところではないでしょう。
以下がオリジナル画像との比較です。


Photoshopとの比較
Photoshopの削除ツールと生成塗りつぶし機能と比較していきましょう。
まずは、削除ツールから。

1回だけでは少しおかしくなってしまいました。
おかしくなった部分に削除ツールを使って完成した画像が以下になります。

奥にある気が少しおかしくなっていますが、概ね良い感じですね。
次はPhotoshopに搭載されている生成AIを使ってオブジェクトを削除してみましょう。
以下のように消したい範囲を選択し、「生成塗りつぶし」ボタンを押します。プロンプトは空白です。

完成した画像が以下のとおり。

今回はちゃんと1回で自然と消せましたね。
どこがPhotoshopの上位互換なのか?
Photoshopで削除した画像を見ると、別にPhotoshopでも良いのでは?と思うかもしれません。
では、どこがPhotoshopの上位互換なのか。
まずは無料という事が挙げられますが、どんな画像でも編集できるところです。
どういうことかと言うと、Photoshopの生成AIはクラウド処理となっているため、露出の多い画像などはガイドライン違反の警告が表示され、生成が中断されることがあります。

ローカルではそれがないので、その点だけでも利用価値があります。
最後に
最初はPhotoshopで良いのでは?と思っていましたが、使ってみるとPhotoshopよりも自由度が高いので、意外と使う機会がありそうですね。
それでは!
コメント