見出し画像

AIアート入門:PFPから全身を生成しましょう。


皆様、素敵なプロフィール画像をお持ちかと思います。しかし、全身の表現はいかがでしょうか?もしアートのスキルがあれば、自ら描くこともできるかもしれませんが、そうでない場合はどうすれば良いのでしょうか?

こうした方々のために、AI生成技術が救済の手段となります。しかしながら、AIによるアートもまた一つのスキルです。望む成果を得るためには、技術を学び、試行錯誤を繰り返す必要があります。しかしながら、手描きよりも素早く結果を得ることができるかもしれません。

現在、さまざまなAIツールが存在しますが、プロフィール画像から全身の表現を生成するためには、公開されているStableDiffusionが最適です。この記事では、StableDiffusionのUIを使用して、複数の全身画像を生成する方法についてご紹介いたします。

StableDiffusionのUI環境

私はWindows上でUbuntu環境を構築し、StableDiffusionのUIを実行しています。今回は具体的な環境のセットアップ手順は省略しますが、私が利用している内容についてご紹介します。

私が使用しているUIはVladmadic/automaticです。このUIはAutomatic1111のクローンですが、AUotmticc1111よりも管理がよく行われています。automatic1111の開発者が強制的なGitプッシュを行った際にも、システムが壊れてしまうリスクは低くなっています

もしもご自身のパソコンにGPUが備わっていない場合、Google Colabを利用することをおすすめします。以前、私はColab内でのWEBUIのセットアップ方法について記事を執筆しました。ぜひその記事をご覧いただければ幸いです。ただし、現在ではColab Proの利用が必要です。Colab Proの月額利用料はおおよそ1100円程度です。このプランは、コストと性能のバランスが最も優れていると考えています。

私は現在利用しているColabnotebookはこれです。

次に必要なのはControlnetです。もしもご自身のWEBUIにControlnetと対応するモデルが備わっていない場合は、この拡張機能をインストールして、さまざまなControlNetモデルをダウンロードすることができます。

ControlNetモデルダウンロード

もしについてさらに学びたい場合は、以前に書いた記事をぜひご覧いただければと思います。

最後に、レトロなスタイルのLoraモデルをダウンロードします。ギャルバースのPFPが1990年のアニメをモチーフにしているため、このモデルはうまく合うかもしれません。ちょっと古いLoraモデル(2023年1月のバージョンです(笑))ですが、もし他のバージョンのLoraモデルを使用したい場合は、遠慮せずにご利用いただいて構いません。


 一般的な方法 Img2img + Control NET

手順の最初は、CanvaやPaintを使用してボディの下書きを作成し、その上にPFPヘッドを貼り付け、Img2imgモードで美しい全身キャラクターを生成する方法です。

最初のテストケースでは、私もギャルバースのPFPにチャイナドレスを着せてみたいと思いました。Canvaを使ってチャイナドレス、足、腕を追加し、肌を青く彩りました。その後、これをimg2imgに入力して生成処理を実行しました。

プロセッサーの例
生成した最初の結果 ANYLORAモデルと 1990sAnimeStyleLora 
Prompt: (high_quality,masterpiece ),1girl, purple eyes, blue hair, (blue skin, coloured skin), twin drills, blue Cheongsam with a flower pattern on it, bat ears, wide _eyes, white background, retro anime style, 1990 anime style, full body, standing,
simple background, in the style of <lora:1990sAnimeStyleLora_1:0.6>
Negative prompt: lowres, bad anatomy,1boy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, cat ears,
Steps: 28 | Seed: 1477743631 | Sampler: DPM++ 2M Karras | CFG scale: 6 | Size: 262x404 | Parser: Full parser | Model: AnyLoRA | VAE: anime.vae | Clip skip: 2 |

生成された結果は一部Promptの要素が見受けられますが、PFPとはあまり似ていないようですね。面白いことに、蝙蝠の耳が猫耳に変わってしまいました(笑)。

Promptを少し調整して、複数の生成後により蝙蝠らしい特徴を強調することで、よりギャルらしい結果が得られるかもしれません。Promptの調整は試行錯誤の過程ですね。

この結果を改善してみましょう。最初に「Img2img Alternative test」を試してみます。この機能はWebUIの下部にあるスクリプトの一部です。私が利用している設定は以下の通りで、バッチサイズは1に変更しました。

この設定はImg2imgの画像を基にして生成されるAIのノイズを作成します。設定を行わない場合、すべてがランダムノイズから生成されるため、異なるSEEDによって異なる結果が得られます。今回はSEEDに依存せずに生成するため、Batchsizeは必要ありません。なぜなら、すべての画像が同じものになるからです。この手法は、10か月前にAIの「Drastic Park」と「ゼルダの伝説」の動画から広がったものです。AIによる動画生成はこの手法と相性が良いですね。

ギャルの生成に戻りましょう。

プロセッサー画像


生成の結果
(high_quality,masterpiece ),1girl, purple eyes, blue hair, (blue skin, coloured skin), twin drills, blue Cheongsam with a flower pattern on it, bat ears, wide _eyes, white background, retro anime style, 1990 anime style, full body, standing, female focus, looking at viewer , depth of field
simple background, in the style of <lora:1990sAnimeStyleLora_1:0.6>
Negative prompt: lowres, bad anatomy,1boy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, cat ears,
Steps: 50, Sampler: DPM++ 2S a Karras, CFG scale: 7, Seed: 3928904832, Size: 512x1000, Model hash: 354b8c571d, Model: aamAnyloraAnimeMixAnime_v1, Denoising strength: 0.65,

素晴らしいですね!今回は綺麗に生成できて、ギャルのPFPの特徴も見られるようです。最初の生成では、DenoisingStrengthの設定は0.65でした。この設定を下げると、元のイメージに近づき、上げるとより変化が生じます。以下の画像は、DenoisingStrengthの設定を0.55から0.75まで変えて生成した結果を紹介します。この設定を調整することで、出力をカスタマイズすることができます。

DenoisingStrengthのテスト

img2imgとControlNet 

次に、ControlNETを試してみます。ControlNETはAIアート生成の指導機能であり、選択したモデルに従って生成されます。この記事では、3つのモデルを試してみます。それは「Depth」、「AnimeLine art」、「Normal」です。

  1. Depthモデル:

    • このモデルでは、生成された画像に奥行きがあり、立体感が強調されています。

  2. AnimeLine artモデル:

    • このモデルでは、アニメ風の線画のような特徴が見られます。細かい線が強調されています。

  3. Normalモデル:

    • このモデルは通常のスタイルで生成された画像です。特別な効果や特徴はあまりないように見えます。
      img2img alterative testとControlNETのモデル結果は以下の通り。

画像の細部がより改善され、元の画像の構造が維持されているようですね。個人的には、Normalモデルが最も良い結果をもたらすと考えています。もしControlNETの影響を軽減し、Promptと画像を優先したい場合は、「My Prompt is more important」の設定をオンにしてください。この設定を有効にすることで、生成される画像にPromptの要素がより強く反映されるはずです。


現時点では微細な変化しか見られませんが、もし複数のオプションをテストしたい場合は、非常に便利な設定と言えます。

他の例

写真に貼り付けたPFPを使用しても、良い結果が得られることがあります。以下に、GalverseのVTuberのアセットを使用して、少し角度をつけた頭部に美しい生成結果が得られました。

次の例は、Midjournyで生成した画像に英のPFP画像を組み合わせた結果です。設定やPromptを調整することで、異なる結果が得られることがあります。これはAI生成の試行錯誤の楽しみでもありますが、同時に時間を要することもあることでしょう(笑)。

Control NETのみの技 (Control Net in paint のみ)

この手法は、いわゆる不正行為のようにも見えるかもしれませんが、実際にはtext2imgとInPaintのControlNetを組み合わせた方法です。txt2imgタブ内で、ControlNetの設定には、下部に大きな白いエリアを持つPFP画像を追加します。そして、ControlNet Inpaintを使用して、PFPの下部からマスクを塗りつけます。そして生成を行うと、全身のイメージが生成されるという流れです。

controlnet txt2imgの例1

もしInpaintのモデルが手元にない場合は、ControlNet-v1-1モデルをHuggingfaceから直接ダウンロードして試してみてください。

前に使用した蝙蝠ギャルの画像を使ってみましょう

controlnet txt2imgの例2

素晴らしいですね。こんなに簡単に全身の生成ができるなんて、私も驚いています。

ControlNetのInpaintingには3つの処理オプションがあり、それぞれ異なる結果が得られます。以下に、それぞれのオプションの結果を示します。私は「inpaint_global_harmonious」の結果が最も良いと感じますが、元画像によって結果が異なる可能性があるため、ぜひ試してみてください。

Inpaintは3つの処理機能のオプションの結果


inpaint_global_harmoniousの結果



ところで、同じの方法はimg2imgのinpaintでやってみましたが、全然うまくできましたせんでした。

img2img inpaint のテスト


他の例

Miya Fulgora 
(high_quality,masterpiece ),1girl, matcha hair, twin tails, blue armour , thigh-high boots, black skirt, white background, retro anime style, 1990 anime style, full body, standing, female focus, looking at viewer, depth of field
simple background, in the style of <lora:1990sAnimeStyleLora_1:0.6> , <lora:GoodHands-vanilla:0.5>
Negative prompt: lowres, bad anatomy,1boy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, cat ears, large_breast, NSFW
Steps: 28, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 2536062572, Size: 512x1200, Model hash: 354b8c571d, Model: aamAnyloraAnimeMixAnime_v1, ControlNet: "preprocessor: inpaint, model: control_v11p_sd15_inpaint_fp16 [be8bc0ed],


終結

皆様、この方法はいかがでしょうか?ぜひお試しいただき、その結果を共有してください。私のTwitterは「jarvissan22」です。また、ギャルバースのファンの皆様は、GalverseのAI Workshopチャンネルでぜひ結果を共有していただければ幸いです。


この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?