SNSなどで話題な画像生成AI(stable diffusion)を導入したので遊んでみました。
img2imgモード(画像をベースに生成するモード)で作成したときの設定の効果などを簡単に解説していきます(ここでは導入方法などの面倒な説明はしません)。
今回、レンダ画像をイラスト化してみた結果はこちらです。
読み込んですぐこのような画像になるわけではなく、理想に近くなるようにAIに適切な設定を行う必要がありますが効果が分かりにくかったので作例を作ってみました。
プロンプトの重要性
プロンプトなしの場合、元の画像のぼんやりとしたイメージとなります。これはAIがこの絵に含まれるものを良く理解できていないため、雰囲気で提案してきます。
そのため何度生成してもぼんやりとした結果しか出てきません。
しかし、プロンプトを設定するとAIの理解度が上がり希望に近いイメージを提案するようになります。(ちなみに作例で無表情なのはプロンプトで笑顔の"smile"のつづりを間違え無視されているためですw)
プロンプトの設定
この絵に含まれる要素や要望をAIに説明してあげる設定がプロンプトになります。
作例では、絵のクオリティ、人物の詳細、表情、衣装、場所、小道具などの説明をいくつか追加してみました(ポーズが複雑な場合は右手を上げているなどと具体的に説明する)。
表記は英語で名詞や形容詞の繋がりを単語や文章ごとに「,」で区切りながら書きます。重要視して欲しい順に書きます、さらに重視して欲しい場合は()で囲います(((( )))3重まで、(~:1.5)などと追加強化もできる)、弱めたい場合は[ ]で囲うことで効果が出ます。ちなみにイメージに含まれない要素や矛盾している場合は、無視されますがまれに反映される時があります。
また、イメージ含めて欲しくない要素やサンプルにして欲しくない要素はネガティブプロンプトに記入します。今回は絵画やスケッチ、低クォリティ、モノクロ、年老いた肌、指などの欠損、手足の増殖などを排除してもらいました(完璧ではない)。
最近ではそれらをあらかじめ設定できるEasyNegativeという拡張機能もある。
そのほかの設定
そのほかの設定として「サンプリング回数」、「CFGスケール」、「ノイズ除去強度」などがあります。
「サンプリング回数」はAIの学習データから参照する回数となりクオリティに影響します。しかしあまり大きくすると精度が上がりますがそれだけ時間がかかります。
だいたい20~40程度がおススメ。
「CFGスケール」はAIの画風の強度のようなものらしく、数値を上げるとだんだんと学習した絵の画風になりますがあまり上げすぎるとイメージを損壊します。
モデルによりますが、だいたい3~7くらいが良い感じ。
「ノイズ除去強度」はAIの介入度合いのようなもので、数値は0~1となります。
0はほぼそのまま、1は完全なお任せとなります。
イラストの場合、元のイメージに近いものは0.3~0.4の間っぽい。
お試しに強度0.75では人物、ポーズ、プールは守っていますがなんかハイソな空間となり、強度1では、人物だけ同じであとはフリーダム空間が展開されてしまいました(プールどこ行ったw)。
ある意味予想外の提案をしてくるのでネタ出しや遊ぶだけでも楽しい。
おわりに
いろいろと説明してみましたがもちろん使用する学習モデルによって同一設定でも全く変わりますしプロンプトの順番によっても結果が変わります。
そのため「説明が足りなかったかぁ」、「いやそうはならんだろ」と各種設定を見直しぐるぐると生成し続けることになってしまいますが、その試行錯誤が楽しく何時間も遊んでしまいました。
おまけ:実写リアル系モデル(chilloutmix)を使用した場合
ロケーションがあれなのでAVのパッケージっぽいw