ブログ
これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。
生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ⑥
◆HPで使用する画像の生成 その②
前回では HPで使用する画像の1、2枚目を生成しました。
今回は3、4枚目を生成していきます。
◆(3枚目)リアルトトロをイメージしたアニメ
3枚目は少し路線を変えて、ここではスタジオジブリのトトロを実写化を試みようと思います。
1. 作りたい画像のイメージ決め
最初に作りたい画像のイメージを決めます。
具体的には下の画像の実写化を試みます。
引用元:https://www.ghibli.jp/works/totoro/
2. Checkpoint の設定
とりあえず手持ちで実写に強そうな「realDream_sdxl1(SDXL 1.0)」を選択しました。
実写に強い Checkpont は沢山あるので、他のものでしても面白いかもしれません。
3. Prompt の設定
◆Prompt
best quality, masterpiece, cute girl holding a red umbrella, realistic big totoro, looking at viewer, establishing shot, bus stop, rain, forest, <lora:ClearHand-V2:1>
【各タグの内容】
設定項目 | タグ内容 | Tag |
---|---|---|
品質 | 最高品質 | best quality |
品質 | 傑作 | masterpiece |
対象 | 赤い傘を差した少女 | cute girl holding a red umbrella |
対象 | 実写トトロ | realistic big totoro |
構図 | カメラ目線 | looking at viewer |
構図 | 背景含む全身 | establishing shot |
背景 | バス停 | bus stop |
背景 | 雨 | rain |
背景 | 森 | forest |
Lora | 綺麗な手 | <lora:ClearHand-V2:1> |
※Prompt の「<」と「>」は本来は半角です。ここのブログでは化けるので、しぶしぶ全角で記載しています。
「リアルで大きなトトロ」を生成するために「realistic big totoro」というタグを入れています。
今回は追加学習データの「Lora」を導入しています。
Prompt 最後にある「<lora:ClearHand-V2:1>」と記載しているタグがソレとなります。
この Lora は崩れやすい手を綺麗に表示するためのモノとなります。
Lora はテキスト反転モデル(Textual Inversion)と同じく、使用する Checkpoint と同じフォーマットでないと有効になりません。
また、今回使っている「ClearHand」は特にありませんが、「Trigger Words」 と呼ばれるタグを Prompt に指定しないと有効にならないケースもあります
詳細については、CivitAI の各 Lora のダウロードページの説明をチェックするようにしてください。
◆Negative Prompt
negativeXL_D, multipul angle, split view, anime
【各タグの内容】
タグ内容 | Tag |
---|---|
品質低下防止(SDXL 1.0) | negativeXL_D |
複数の角度 | multipul angle |
画面の分割表示 | split view |
アニメ | anime |
今回は画像サイズが横長、かつ2人のキャラクターを表示してるせいか、勝手に画面分割をするケースが多数発生しました。
そのため「multipul angle」や「split view」を指定しています。
また、アニメ調ではなく実写化させたいので、敢えて「anime」も指定しています。
4. Stable Diffusion の設定
今回は実写化という特殊な事をしている事もあり、Stable Diffusion の設定を一部変更しました。
具体的には下の2つとなります。
Sampling steps:30(デフォルト20)
この設定は「ノイズを除去する回数」となります。
この値が大きい程処理負荷が増えますが、高品質な画像が生成されます。
とは言え、大きな値にすればするほど処理が重くなっていくので注意が必要です。
基本的なイラストの生成ならデフォルトの20程度が適切と言われています。
今回は実写化ということもあり、より高品質にしたかったので大きめの値を設定しました。
ネットで出回っている実写のような生成画像では、50以上の値で生成されたモノも多く見られます。
CFG Scale:2(デフォルト7)
この設定は「入力したプロンプトに対しての忠実度」となります。
この値が大きい程、プロンプトに忠実な画像が生成されます。
逆に言えば値いが小さい程 AI が自由に画像を生成します。
デフォルトの 7 のまま生成すると、実写に強い Checkpoint でも、タグの「totoro」により、ほぼ確実にアニメのトトロを再現してしまいます。
なので、敢えて AI の自由度を上げるために低い値を設定しました。
5. 画像の生成
下が生成した画像となります。
realDream_sdxl1(SDXL)
パッと見ですが実写版 Pokemon のピカチュウのような、なかなか良い感じのモフモフ感になったのではないでしょうか。
AI の解釈もなかなかに面白いもので4枚目にいたっては石像っぽいトトロが生成されています。
今回は個人的にトトロの完成度が高いと思う3枚目を採用といたします。
続いて4枚目の画像の生成していきます。
◆(4枚目)野球をイメージしたアニメ
4枚目は野球をイメージしたアニメ画像を生成していきます。
ここでは実写化の逆、つまり実際の写真を元にしたアニメ化を試みてみます。
1. 作りたい画像のイメージ決め
最初に作りたい画像のイメージを決めます。
具体的には下の写真のアニメ化を試みます。
引用元:https://www.chunichi.co.jp/article/258492
2. Checkpoint の設定
アニメ絵に強い「animaPencilXL_v400(SDXL 1.0)」を選択しました。
この手の Checkpoint は沢山あるので、なんとなくで選んでいます。
3. Prompt の設定
◆Prompt
best quality, masterpiece, anime, anime screencap
【各タグの内容】
設定項目 | タグ内容 | Tag |
---|---|---|
品質 | 最高品質 | best quality |
品質 | 傑作 | masterpiece |
絵柄 | アニメ | anime |
絵柄 | アニメ塗 | anime screencap |
今回は参考写真を元にアニメ化させるため Prompt は最小限で設定しています。
◆Negative Prompt
negativeXL_D
こちらもいつもの 品質低下防止 のテキスト反転モデルのみとなります。
4. 拡張機能(ControlNet)の設定
実際の写真を元に画像を生成するのに Stable Diffusion の拡張機能(以降ControlNet)を使用します。
この機能は「生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ③」で導入していたものです。
具体的な使い方は下記の手順となります。
1.「Txt2img」タブ内の「Generation」タブ内にある「ControlNet Integrated」タブを開きます。
2.「ControlNet Unit」と「Enable」のチェックボックスにチェックを入れ、「Canny」のラジオボタンにチェックします。
3.「Single Image」に参考にしたい画像をドラッグ&ドロップします。
4.「Model」に「diffusers_xl_canny_full」を選択します。
5.「Preprocessor」の横にあるボタンを押下します。
以上で下のように「Single Image」に白黒の解析画像が表示されれば設定完了となります。
画像を参照する ControlNet には様々な機能があります。
今回使用している「Canny」は参照画像の輪郭を抽出して、それを基に新しい画像を生成する機能となります。
ここで選択している ControlNet 用のモデルは、使用する Checkpoint とフォーマットが一致するものを選択する必要があります。
(どのフォーマットがどのモデルかは、なんとなくモデル名で察してください)
選択リストにある ControlNet 用のモデル自体は、このブログの以前の回で落としているハズです。
なのでフォーマット「SD 1.5」と「SDXL 1.0」については一通り揃っていると思います。
もし無ければ以前の「生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ③」を参照して取得してください。
それ以外のフォーマットの Checkpoint を使用している場合は、別途 CivitAI 等から落としてくる必要があります。
5. 画像の生成
下が生成した画像となります。
animaPencilXL_v400(SDXL 1.0)
無事、写真に近いイメージでアニメ化することが出来ました。
6. Prompt を調整
そのまま写真に近いイメージでアニメ化しただけだと少し寂しいので、ここでは少し加工を施していきます。
ControlNet の設定はそのままで Prompt 側を少し調整します。
◆Prompt
best quality, masterpiece, Hanshin Tigers uniform, ballpark, anime, anime screencap
【各タグの内容】
設定項目 | タグ内容 | Tag |
---|---|---|
品質 | 最高品質 | best quality |
品質 | 傑作 | masterpiece |
対象 | 服装 | Hanshin Tigers uniform |
背景 | 野球場 | ballpark |
絵柄 | アニメ | anime |
絵柄 | アニメ塗 | anime screencap |
「Hanshin Tigers uniform(阪神タイガース)」のタグと「ballpark(野球場)」のタグを追加して、服装と背景を変えてみます。
7. 画像の再生成
下が再生成した画像となります。
animaPencilXL_v400(SDXL 1.0)
なんとなくですが、阪神タイガースっぽいユニフォームになりました。
背景も甲子園球場っぽいものに差し変わっています。
このように Canny は線画を参考にするだけなので、他の情報を足すと、さまざまな調整をすることができます。
8. ControlNet を調整
ControlNet を使って、更に上で出来た画像を調整します。
内容としては帽子と服のロゴ回りをもう少し調整してみます。
なお、背景は弄らないので、Prompt から「ballpark」は外しておいてください。
具体的な調整は下記の手順となります。
1.上で出来た画像を一旦保存
2.Checkpointをデフォルトの「realisticVisionV51_v51VAE(SD 1.5)」に変更します。
3.「ControlNet」の「Single Image」に1.で保存した画像をドラッグ&ドロップします。
4.「Inpaint」のラジオボタンにチェックします。
5.「Single Image」の画像の修正したいところ(今回は帽子と服のロゴ回り)をマウスで塗りつぶします。
6.「Preprocessor」に「inpaint_only」を選択します。
7.「Model」に「control_v11p_sd15_inpaint」を選択します。
ここで使用している「Inpaint」は画像の指定した一部分だけを生成する機能となります。
この機能は今回のようにロゴだけを変えたい、とか生成画像の一部(例えば手とか)だけを再作成させたい・・・といった時に活用できます。
ちなみにここでは Checkpoint をデフォルトのモノに変更しています。
本当は変えたく無かったのですが、この時に inpaint の SDXL 1.0 用の ControlNet 用のモデルがなかったためです。
まぁ、ロゴ回りを修正するだけなので、デフォルトの Checkpoint でも特に問題はないかなと。
9. 画像の再生成
下が再生成した画像となります。
animaPencilXL_v400(SDXL 1.0)
これで4枚目の画像は完成としたいと思います。
以上で HP「もし、株式会社あすかが「アニメ制作会社」だったら」に使用する画像の3、4枚目の画像生成は終了となります。
次回は引き続き HP に使用する画像の5枚目以降の画像を生成をしていきます。
引き続き、よろしくお願いします。
初回:生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ①
前回:生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ⑤
次回:生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ⑦
コメントはありません。