Leonardo.Aiでは色を指定したときに、他の物まで指定した色が反映されてしまいます。
ポーズや配置がお気に入りの画が出てきた時にあと一歩ということがありませんか?
私は物凄くあります!むしろ上手くいくことがほとんどありません。
この色を指定したときに他の箇所まで指定した色が浸食してしまう問題。
色浸食について回避する方法はないのかという視点でプロンプトを調査していきます。
Leonardo.Aiに限らず他の画像生成Aiでも色浸食はあります。
今回はそんな色浸食問題に立ち向かって行こうという内容です。
はじめに
Leonardo.aiでは特定のモデルを指定した場合、全体の調和を図ろうとする配色をします。
このため、全体が同じような色味になる傾向があります。
プロンプトで色の指定をした場合にはその色に引っ張られて他の部位も同じ色になってしまいます。
または指定した色が反映されないということがあります。
今回はプロンプトを試行錯誤しながら最善の方法を探っていきます。
色の指定は 黒い髪、赤いTシャツ、青いブルゾン、黒いパンツ、黒い靴 の5カ所を3色です。
T-シャツ、ブルゾンの色はまったく反映されていません。
”ー”で繋げる
ハイフン(–)の基本的な役割は、複数の語をつなげて意味をはっきりさせることです。
ハイフンで色と対象物を繋げて記載することで色の対象を明確にすることが出来るのではと思い試してみます。
全身真っ黒になりました。青みが出ていたところも黒に染まってしまっています。
コメントアウトしてみる。/**/
プログラムで見かける/**/ですが、こちらは囲まれたものを反映させないというものです。
こちら自体をプロンプトに入れることでは変化はありませんが、プロンプトとプロンプトの間に入れることで影響を及ぼす範囲を狭められないかという思惑です。
根拠はまったくないのですが、ものは試しです。
ブルゾンが黒の浸食から脱却しましたが、指定色にはなっていません。
色を優先させたい順番ごとに並び替える
黒が染まる割合が高い結果から優先したい色や反映されにくい色を前のほうに持っていきます。
反映される割りわいが弱い、ブルゾンとシャツを前のほうに記載します。
こちらも靴、シャツが色が違います。
ここまでくるとお手上げ状態です。
Prompt Generationで最適解を探る
色々試して思うようにいかなかったので、Leonardo.AiのことはLeonardo.Aiに聞いてみることにします。
方法としてはPrompt Generationに日本語でプロンプトを入力して生成されたプロンプトで生成するという方法からわかることがないかを試しました。
生成されたプロンプトで今まで入力したプロンプトと異なる点があります。
- 画風の表記 in の記載
- 衣服の表記 werring ~~~ and でくくられている。
このあたりに色指定のヒントがありそうです。
まずはそのまま画像生成してみます。
ここまで同時に画像生成してきたときは同じ生成のタイミングでもカラーが画ごとに違っていました。
靴だけ違いますが、大きな配色は同じです。
ネクタイのプロンプトはないのですが、handsomeでイメージされたんでしょうか?
ネクタイはいらないのでネガティブプロンプトにtieと一番前に入力して再挑戦します。
ネクタイが消えました。
しかしシャツの色は赤でもなく、他の色に浸食されることもなく爽やかな白です。
ネガティブプロンプトでネクタイが消えるならネガティブプロンプトで白いシャツを消せばいいとなかば投げやりです。
ネガティブプロンプトに white T-shirt を追加しました。
シャツの色が赤に変わりました!片方は水色ですが・・・・・。
浸食する部位をネガティブプロンプトで否定していけば浸食は止められるかもしれません。
プロンプトとネガティブプロンプトで変更するには修正を繰り返す必要がありそうです。
ネガティブプロンプトにすべて記載する
ネガティブプロンプトで色浸食を防ぐという方法は効果がありそうです。
色指定している箇所の比率を纏めるとしたのようになります。
色指定した箇所 | 指定したい色 | 実際に出てきた色 | 追加するネガティブプロンプト |
髪 | 黒 | 黒 | なし |
T-shirt | 赤 | 白・黒・青 | white t-shirt, black t-shirt, blue t-shirt |
ブルゾン | 青 | 黒・赤・青 | black blazer, red blazer |
パンツ | 黒 | 黒・青 | blue trousers |
靴 | 黒 | 赤・黒 | red shoes |
なかなか厳しいです。ネクタイも復活してますね~。
ブレザーに引っ張られてるのでしょうか。
プロンプトやネガティブプロンプトを追加して生成するたびにトークンが減っていきます。
試行錯誤すればするほど沼にはまっていきますね。
また生成するたびにキャラクターが変わってしまいます。
トークンを無駄に使わずに特定の色を変える方法をご紹介します。
Ai Canvasで色を変える
Leonardo.AiにはAiCanvas機能があり、特定の場所だけ修正が出来ます。
その機能を使い指定の箇所の色を変更してしまおうという力技です。
Ai Canvasで色を変える方法
- Ai Canvasのマスク機能を使って書き直す(違うものが追加される場合がある)
- Ai CanvasのSketch2Imageモードを使って色を変える。
こちらがかなり精度が高いです。オススメです。
マスク機能を使って色を変える
マスク機能を使って色を変える方法です。
元の画
変更後
手順はこちらです。
生成済みの画像からEdit Canvasをクリックします。
色を変更したい場所をMaskで塗りつぶします。
プロンプトに変更する色と箇所を入力します。今回はRed T-shirtと入力します。
この時に元となるプロンプトを全部入力するとまた色浸食しますw
モデルは元の画像と同じモデルを選択してください。
CanvasModeはInput/outpaintを選択します。
Generateで画像を出力します。
出力された画像の中から一番イメージに近い画像を選択してAcceptで固定します。
靴も同様にしてカーソルを靴を含む場所に動かして、靴をマスクします。
プロンプトにBlack shoesと入力すると画像が出力されるのでAcceptで決定します。
こちらを繰り返すことで、特定の箇所のカラーを変更することができます。
AI Canvasの詳細記事はこちら
Sketch2Imageを使って色を変える方法
Ai CanvasのSketch2Imageモードを使って色を変える方法です。
こちらの特徴は色を自在に変更できる点です。少しスケッチに時間を要しますが精度は抜群に高いです。
バラバラだったものが簡単に変えることが出来ます。
Sketch2Imageでの色を変え方や出来ることをまとめていますのでリンクから詳細を見てくださいね。
Ai Canvas Sketch2Imageの詳細はこちら
まとめ
プロンプトで色を指定する方法とLeonardo.Aiのツールを使って色を変える方法を突き詰めてみました。
Leonardo.Aiではプロンプトだけで配色の指定は難しいです。
ひきつづき研究していきますが、こだわってプロンプトで行うよりもAi Canvasで仕上げを行ったほうがトークンを有効に活用することができます。
プロンプトで修正する場合構図はSeed値で固定したとしても紛れ込むものが出てきます。
現状はAiCanvasで修正したほうが便利です。
Leonardo.Aiがさらにグレードアップして配色も思いのままに出来るようになるといいですね。
引き続きプロンプトで指定する方法がないか研究していきます。
最後までお読みいただきありがとうございます。
コメント