【Flux.1】Flux.1時代のローカルAI画像生成【SD1.5】
はじめに
Flux.1のカスタムモデルやLoRAも種類が増えてきましたが、ローカルPCでFlux.1の画像生成を行う最大の問題が「遅い・重たい」です。
SD1.5やSDXLであれば数秒〜長くても数十秒で生成が終わりますが、Flux.1の場合は1分程度(RTX 3060)必要になります。スタイルを調整するためのNegativeプロンプトを利用するだけで数倍必要になり、LoRAやControlNetを含める毎に、さらに数割増しになっていきます。ローカルPCでの利用は厳しいものがあると思います。
しかし、すべての工程をFlux.1のみで完結させる必要性がない限り、Flux.1に拘る必要もないと思います。他のAIモデルを適材適所で組み合わせて利用した方が動作も早くなり品質も向上します。
この記事は、普及帯クラスのゲーミングPC(RTX3060)を利用したAI画像生成ワークフローのアイデアを紹介します。
※ ComfyUIを利用していますが、webUIで手作業するかComyUIで自動化するかだけの違いです
画像生成の流れ
① 指示を人間が与える
簡単な指示を日本語で与えます
言語が混ざっても問題ありません。英語でもロシア語でも中国語でも辞書を引かずにそのまま単語を利用できます
② 指示プロンプトを元にLLMが改良して新たなプロンプトを生成
LLMを挟む事で、言語の壁から開放されます
正確な自然言語の文法で、正しくFlux.1に伝えられます
LLMが追加で提案する要素により幅が生まれます
③ プロンプト追従性が非常に高いFlux.1を利用して画像を生成する
Flux.1の最大の利点が「自然言語プロンプト追従性」です。LLMの利点を最大限享受できます。Stable Diffusionでは必須のプロンプト術からも開放されます。
④ スタイル微調整、LoRAや精細化にSD1.5系のモデルを利用する
例えば、Flux.1用のダヴィンチ風LoRAでスタイルを適用するより、生成した画像にSD1.5のimg2imgフィルタとしてLoRAを適用した方がより高速という戦法です。
一般的な写実的な画像生成では、(パラメータが少なく)素材特徴がそのまま出やすいSD1.5が最も品質が高いです。
軽いためスタイルのコントロールが簡単です。好みのチェックポイントやLoRA資産も多い事と思います。ストレージの節約にもなります。
⑤ アップスケーラを利用する
最後にESRGANやUltimate SDアップスケーラなどを利用して最後の品質向上を行います。
※ 基本的には下記事のSDXLの部分をFlux.1に変更しただけです。
画像を生成する
① 指示を人間が与える
※ AI時代の基本とされていますが、(結局どの業界もAIドリブンとなり)逆転してるような気もしますね。。。
② 指示プロンプトを元にLLMが改良して新たなプロンプトを生成
今回はLLMに直訳だけしてもらいますが、指示をベースにして新たな複雑なプロンプトを生成させる事もできます。特に脱獄チューニングしたLLMを利用すると、変な制約に悩まされる事も少なくなります。
ComfyUIのLLM部です。最終的には、
のプロンプトが生成されます。
③ プロンプト追従性が非常に高いFlux.1を利用して画像を生成する
特にFlux.1は自然言語記述での追従性が高いので、LLMで生成したプロンプトが最適になります。
下ComfyUI画像には表示されていませんが、
モデル:flux1-dev-fp8.safetensor
VAE:ae.safetensors
CLIP:
t5xxl_fp8_e4m3fn.safetensors
clip_l.safetensors
LoRA:flux_realism_lora.safetensors
を使用しています。
④ スタイル微調整、LoRAや精細化にSD1.5系のモデルを利用する
SD1.5系のモデルを利用してimg2imgします。
※ SD1.5系の自作モデルを利用しています。アジア系人物&img2imgに特化したもので、プロンプト追従性はほとんど失われ、似たスタイルの写実的なものしか生成できません。しかしimg2img専用にチューニングしたものですので、適材適所であり問題ありません。
モデル・アップスケーラは、4x_NMKD-Superscale-SP_178000_G.pthを利用しています。4倍したあと0.32倍して1.28倍の画像を生成します。
⑤ アップスケーラを利用する
最後の仕上げにアップスケールを行います。ここではUltimate SD Upscaleを利用していますが、場合によってはモデル・アップスケーラだけの方が良い結果を出す事もあります。
※ SD1.5の生成が十分に精細である場合は、Ultimate SD Upscaleで品質が下がってしまう事もあります
タイルアップスケール方式ですので、プロンプトにはスタイル指示しか入れていません。
※ 例えばよくある失敗ですが、1girlのようなプロンプトがあると、拡大した腕の一部から1girlが生えてくる事があります
生成例
拡大すると違いがわかると思います。
付録
投げ銭的な付録で恐縮ですが、有料欄ではこの記事で紹介したComfyUIのjsonファイルがダウンロードできます。参考程度にご利用ください。記事サポートいただける場合はよろしくお願いします。
ただし注意として以下の点があります。
■ 所々に「Purge VRAM:ComfyUI LayerStyle」ノードを利用していますが、GPU占有メモリを手動でクリアするためだけに実験的に利用したものです。しかし、本来は別の用途のものであり、多くの不必要なものを導入するので利用はあまりおすすめしません。※ 本来ならGPU占有メモリは必要に応じで自動でクリアされます
■ 必要なノードは機能拡張マネージャの「Check Missing」から導入可能ですが、flux.1・sd1.5・アップスケーラのモデルは別途導入する必要がある少々不親切なjsonファイルです。。
ここから先は
この記事が気に入ったらチップで応援してみませんか?