見出し画像

ミッド&にじジャーニーを使った「2Dアニメキャラクター」と「リアルな写真スタイルの背景」の融合実験♪


◆目指すクオリティ

こんにちは、あるいは こんばんは! ジロウです。

実際の風景の中にアニメキャラが当然のように存在したら面白いな~と思いました。

X(旧Twitter)のAIイラスト界隈を覗いているときに、それっぽいイラストを投稿しているアカウントがちらほら目についたからです。

そこで、いっちょ自分でも作ってみるか♪ って思い立ったわけです。


目指すところは、見た人が「えっ!?」ってなること

そのためには、背景をとことん実写に寄せ、2Dアニメキャラの被写体とのギャップをめいっぱい打ち出すことが求められます。


当初、咄嗟のひらめきに基づいて生成したのが下記の画像です。

クリックすると大きくなっちゃいます♪

使ったのは、にじジャーニー。
プロンプトは下記のように、簡単な日本語でちゃちゃっと入力しました。

[2Dアニメスタイルで描かれた少女][住宅街、リアルな写真スタイル]を背景に佇んでいるアンバランスなのに馴染んでいる不思議な光景 --niji 6

複数の単語を[ ]で囲むことで、それらをマルっと1つのトークンとして認識させる…みたいな手法を使っていますが、詳しい説明は省略します💦

被写体の女の子のクオリティはショボいですが、ご覧のように案外すんなり出来ちゃったんですよね💦

なので、
「だったら、あとは被写体のクオリティを上げるだけだ♪」
ってことで、新たにプロンプトを盛り込んで生成を試みました。


ところがです...

被写体である女の子の容姿を詳しく設定すると、それに引きずられて背景も2Dアニメ寄りになるという現象に悩まされることになりました💦

クリックすると大きくなっちゃいます♪
[a cute girl, full body, brown hair, bob cut, blunt bangs, green eyes, smile, anime style, zoomout]standing against a background of [Japanese residential area, a candy store, Showa era, nostalgic scene, 4k realistic photographic style], an unbalanced but strange scene that fits in well.

なぜか急に英語のプロンプトになっていますが、今はツッコまないでやってください💦
この時点では、英語で表現する方がベターだと思っていたんです…


というわけで、ここから ちょっとばかり迷走することになったのです...(笑)


このnoteでは、その迷走の一部始終と、ようやく辿り着いた ”概ね納得のいく結論” をお伝えしたいと思います。

ほぼ、僕自身の備忘録のような内容ですので悪しからず…💦


なお、あえてPREP論法は用いずに結論は後回しにしていますので、
「過程はいいから、早く結論を教えろ!」
という方は、目次から『結論:減点回帰』の項へジャンプしてください(笑)


◆ミッドジャーニーか? にじジャーニーか?

これは、結論から言うと「にじジャーニー」を採用しました。
理由を上げてみますね。


① ミッドジャーニーは、アニメ風のキャラクターを描くのが絶望的に下手

クリックすると大きくなっちゃいます♪

いくら写実的な背景が出来上がっても、メインたる被写体がイマイチでは意味がないです。


② 被写体のクオリティを上げようとプロンプトを厚くすると、持ち味である背景描写もアニメ寄りになりがち

クリックすると大きくなっちゃいます♪


③ 試してみて分かったが、ミッドジャーニーは背景のピントをぼかす傾向が強い

クリックすると大きくなっちゃいます♪

リアリティは高まるけど、今回の趣旨からすると誤魔化しているような気がして面白くないです💦

もちろん、これらの問題はプロンプトを工夫することで回避できるでしょうが、そこに時間を掛けるのは趣旨ではないと思い避けました。


これらミッドジャーニーの問題点に対して、にじジャーニーには次のような傾向が見られました。


① 当然ながら、アニメ風のキャラクターを描くのが得意

② ミッドジャーニーと同じく、被写体のクオリティを上げるためにプロンプトを厚くすると背景描写もアニメ寄りになりがち…
だが、実写風の描画ができないわけではない

③ ピンぼけのないクリアな背景画を出してくれる傾向が、ミッドジャーニーよりは強い


あくまでも個人的な所感ではありますが、以上のような理由から、にじジャーニーを採用することに決めたのでした♪


◆実証実験

これまでの経緯から、
『一定のクオリティを保ちつつ被写体と背景のギャップを際立たせるにはどうしたらいいか?』
を考えました。

そこで、次のようなプロンプトを組み合わせることにしました。

① 作品の品質を表現するプロンプト

masterpiece, best quality, high res, ultra detailed,

② キャラクターを表現するプロンプト

a girl, cute, standing, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout,

③ 背景を表現するプロンプト

the background shows a corner of a Japanese residential area in the detailed and realistic photograph style of 8K, no out of focus,

④ 各種パラメータ

--ar 4:3

パラメータは必要に応じて適用することとし、今回はアスペクト比のみを使用します。

上記いずれも今回はシンプルな内容にして、細部の調整は別の機会に行います。


⑤ プロンプトのタイプ(記述方法)

出来栄えを大きく左右するだろうと想像したのがこれ、プロンプト表記の方法です。

これは、あくまでも僕個人の考え方なのですが、この実験では次の3タイプのプロンプトを試すことにしました。

・『一般的なプロンプト』

masterpiece, best quality, high res, ultra detailed, a girl, cute, standing, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout, the background shows a corner of a Japanese residential area in the detailed and realistic photograph style of 8K, no out of focus, --ar 4:3

・『BREAK構文』

masterpiece, best quality, high res, ultra detailed,
BREAK
a girl, cute, standing, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout,
BREAK
the background shows a corner of a Japanese residential area in the detailed and realistic photograph style of 8K, no out of focus, --ar 4:3

※ 上記は改行されていますが、「/imagine」にコピペすると改行が解除されて繋がります。

・『[ ]構文』

この『[ ]構文』というのは、冒頭でもチラッと触れましたが、[ ]で囲った語群を1つの単語(トークン?)として読み込ませる効果を狙う記述方法です。

詳細は割愛しますが、ここでは下記のようなプロンプトを試しています。

masterpiece, best quality, high res, ultra detailed, [a girl, cute, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout] is standing against a corner of [a Japanese residential area in the detailed and realistic photograph style of 8K, no out of focus], --ar 4:3


それでは、1つずつ順番に結果をご報告して参りましょう♪


『通常プロンプト』

masterpiece, best quality, high res, ultra detailed, a girl, cute, standing, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout, the background shows a corner of a Japanese residential area in the detailed and realistic photographic style of 8K, --ar 3:4
クリックすると大きくなっちゃいます♪

2Dキャラクターは指示どおりですが、背景は実写とは言い難い出来栄えとなりました💦


『BREAK構文』

masterpiece, best quality, high res, ultra detailed, BREAK a girl, cute, standing, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout, BREAK the background shows a corner of a Japanese residential area in the detailed and realistic photographic style of 8K, --ar 4:3
クリックすると大きくなっちゃいます♪

これもまた、背景がアニメ寄りになってしまいました💦


『[ ]構文』

masterpiece, best quality, high res, ultra detailed, [a girl, cute, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout] is standing against a corner of [a Japanese residential area in the detailed and realistic photograph style of 8K, no out of focus], --ar 4:3
クリックすると大きくなっちゃいます♪

またまたこれも、写実的な背景とは言えない結果となりました💦

どうしようかなぁ~?💦
ということで、3つの構文を掛け合わせて、次のようなプロンプトを作ってみたんです。

fusion of [high-resolution, detailed, ultra-realistic background photography] and [2D animated character subjects],
BREAK
a girl, cute, standing, full body, brown short hair, blunt bangs, white hoodie, red baseball cap, loosefit jeans, red sneakers, smile, japanese cel anime style, zoomout,
BREAK
the background shows a corner of a Japanese residential area in the detailed and realistic photograph style of 8K, no out of focus, --ar 4:3

日本語訳は次のような感じです。

[高解像度で緻密な超リアル背景写真]と[2Dアニメーションのキャラクター被写体]の融合、
BREAK
女の子、かわいい、立っている、全身、茶色のショートヘア、前髪パッツン、白いパーカー、赤い野球帽、ゆったりしたジーンズ、赤いスニーカー、笑顔、日本のセルアニメ風、ズームアウト、
BREAK
背景は日本の住宅街の一角、8Kの緻密でリアルな写真風、ピンぼけなし、 --ar 4:3

そして生成した画像が、こちらです。

クリックすると大きくなっちゃいます♪

ぱっと見、イイ感じかと思いきや、拡大してみたら全然ダメでした…💦

さぁ困った、どうしましょ…💦💦


結論:原点回帰

ここで、いちば~~~ん最初に案外すんなり出来ちゃった1枚のことを思い出します。

失敗続きの今回の実験と、何が違っていたのか?

そうです! お気づきのとおり、
最初の1枚は、日本語プロンプトで生成していたんです!

そこで、先ほどの日本語訳をそのままプロンプトとして生成してみることに…

[高解像度で緻密な超リアル背景写真][2Dアニメーションのキャラクター被写体]の融合、 BREAK 一人の女の子、日本のセルアニメ風の顔、かわいい、立っている、全身、茶色のショートヘア、前髪パッツン、白いパーカー、赤い野球帽、ゆったりしたジーンズ、赤いスニーカー、笑顔、ズームアウト、 BREAK 背景は日本の住宅街の一角、8Kの緻密でリアルな写真風、ピンぼけなし --ar 4:3

※ 最後の読点「、」は外して、「半角スペース--ar 4:3」と入力してください。じゃないと反映されません。

クリックすると大きくなっちゃいます♪

どうでしょうか!?
なぜか急に、背景が実写っぽくなったと思いませんか?

ただ、「ピンぼけなし」って言っているのに、背景はピンボケしていますが…💦

しかも、精度や再現性も高いとは言えず、クオリティに納得のいく出来栄えは12枚(4回の生成)に1枚あればイイ方ですが…💦


これらの難点のいずれもが、アスペクト比に関係があるような気がしています。

というのも、縦長にすると比較的 精度の高い出来栄えになるからです。

クリックすると大きくなっちゃいます♪


というわけで、

・なぜ日本語だと上手くいき易いのか?
・英語で同じ成果を上げるにはどうすればいいのか?

まだまだ謎ですし、カメラアングル、撮影技術やレンズの呼称などにヒントが隠れている可能性もあり、研究の余地がある試みでした。

もしかしたら、もっと確実で再現性の高い方法だってあるかも知れません。
いや、その可能性の方が高いでしょう(笑)

でも、個人的には色々と発見があって面白い経験となりました♪


追記:2024年8月2日

にじジャーニーではなくてミッドジャーニーの方なんですが、新たにリリースされた「v6.1」を利用すれば、わりと簡単に『アニメキャラ×写実的な背景』が作れるようになりました。

それも、英文で出来ちゃいます💦

クリックすると大きくなっちゃいます♪

プロンプトは、上記でお伝えしたものを翻訳ツール「DeepL」で英文化したものを使いました♪

Fusion of [high-resolution, detailed, ultra-realistic background photo] and [2D animated character subject], BREAK One girl, Japanese cel animation style face, cute, standing, full body, short brown hair, blunt bangs, white hoodie, red baseball cap, loose-fitting jeans, red sneakers , smiling, zoomed out, BREAK Background is a corner of a Japanese residential area, 8K detailed and realistic photographic look, no out of focus --ar 3:4 --v 6.1


クリックすると大きくなっちゃいます♪
Fusion of [high-resolution, detailed, ultra-realistic background photo] and [2D animated character subject], BREAK One girl, Japanese cel animation style face, cute, standing, full body, short brown hair, blunt bangs, white hoodie, red baseball cap, loose-fitting jeans, red sneakers , smiling, zoomed out, BREAK Background is a corner of a Japanese residential area, 8K detailed and realistic photographic look, no out of focus --ar 4:3 --v 6.1


まだまだガチャ要素は多いですが、キャラクターの質が上がって来たのは嬉しいですね♪


以上、拙文にて恐縮ですが、最後までお付き合いくださり ありがとうございます♪

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