画像生成AI DALLE-3で同じ人にいろいろさせて遊んでみようの巻
はじめに
前回の記事が大変好評だったため、
本日はOpenAIの画像生成AI DALLE3の『シード値』という特殊なおもしろパラメーターを使っていろいろ遊んでみようと思います。
DALLE-3って何?という方は、以下前回記事もご参照いただければと思います。
画像生成AIの課題
DALLE-3のシード値とは?の前に、画像生成AIでできなかったことをおさらいしたいと思います。
画像生成AIは進化が日時で起こるのですが、膨大なデータを読み込んで学習しそれっぽい画像をベースから生成していく、という方法論的な部分からいくつか共通した課題を抱えておりました。
指がちょっとおかしい →解決済み
よくいわれる、AIは指が苦手 という話。今はだいぶ上手になってます。
文字がAI語に化ける →英語は解決済み
文字も綺麗に入れられるようになりました。これはDALLE-3のみかもしれません。流石OpenAI。
Midjourneyでも試しにやってみましょう。
Midjourneyはまだ文字入れは非対応ですね。
どうやっているのかは詳しくは不明なので論文とかあれば教えてほしいのですが、なかなか改善できなかった、苦慮していた部分などもこの2か月とかでかなり改善されました。
特に文字の埋め込みはすごい改善。最高です。日本語はめちゃくちゃですが。
まだまだ、データが少ないとうまく表示されない、日本語だとうまくプロンプトが機能しない、先ほど見た通り日本語は埋め込めないなどなど、まだまだできてないこともありますが、とてつもない改善のスピード。そのうち日本語もできるようになるでしょう。きっと。
シード値とは?
そんなまだまだ課題たっぷりな画像生成AIですが、大きな問題のひとつが
作ったキャラクターが使いまわせない。
ということでした。
一回アリクイのキャラクターで物語を作っていたのですが、
ハットをかぶってたりなかったり鼻が長かったり、短かったりとバラバラです。
かわいかったので紹介したくなったというミスと、すでに似てるやつを選別しているアリクイを例にだしたので異常にわかりにくいですが、これが人物の写真や、イラストだと壊滅的に変わってしまいます。
これを解決するのがシード値です。
シード値の使い方
シード値の概要
生成された画像には「シード値」と呼ばれる特定の識別子が振られており、このシード値を使うことで、同じ人物やイラストを指定した上でシチュエーションだけをいじることができます。いちいちフォトショで切り抜いてみたいな作業が全部いらなくなり、プロンプトだけで操作することができます。
ちなみにMidjourneyやStable Diffusionでは前からできていたりしましたが、今回DALLEもchatGPTベースになったことで同じことができるようになりました。チャット形式でわかりやすいUXで。
ということのようです。
実は、ここまでDALLE-3のシード値を一回も試さずに書いてました。すみません。
実践編
①プロンプト作成
自分もよく動きはわかってないのでとにかくやってみます。
DALLE-3での画像生成の方法は前回記事にも書いているので、お暇な時に参ご覧ください。(家の外が大雨のときなど。)
まずは画像生成をしてみましょう。やはり可愛い女の子が流入の観点でもいい、とおもってしまいますが、
「孤独だけど聡明で世界を変えるような発明をしている老婆」
これでいきましょう。
chatGPTくん、キャラクターの肉付けお願いします。
こいつ天才です。写真というのは追加することにします。
では英語に変換してDALLE-3で生成します。
エレノア・ウィズモアというChatGPTのセンスがポリシーに引っかかったのか、特定の人物だと認識されてしまったようです。名前は除いていきましょう。そしてそれならやっぱり日本人にします。プロンプトもちょっと修正します。
②画像生成〜シード値の取得
最高です。孤独で聡明ですごい発明をしそうです。
さてこのエレノアさんにいろいろしてもらいたいと思いますが、まずはシード値を確認しましょう。
③シード値を使っていろいろさせてみよう!
エレノアさんのシード値「4121563964」をつかってどうするかを決めましょう。
ありえない面白いアイデアをchatGPTに尋ねてみましたが、いまいちなので自分で考えます。
まず老婆がやらなそうなことでほんの少しだけやりそうなことをさせたいですね。
「木刀を振り回す」
これにしましょう。
シチュエーションも壮大な場所を用意したいです。
「世界最高峰の音楽フェスであるコーチェラ」
にしましょう。犬と鶏のバックバンドも欲しいですね。
プロンプト
「基画像はシード値4121563964の画像:世界最高峰の音楽フェスであるコーチェラのステージで、犬と鶏たちで構成された技巧派パンクバンドのボーカルとして同一の老婆が木刀を振り回す様子をプロのカメラマンが撮影した写真」
ではいざ、チャレンジしてみます。
。
。
。
。
???
シード値とか全部無視されてしまいました。
シード値の指定の仕方が悪そうなので聞いてみます。
いい感じになった、、、、んでしょうか??
しかし人物は違うように感じます、エレノアさんの聡明さが全然ない。
ちょっとシチュエーションがとっぴすぎたのでしょうか。
もう少しエレノアさんがやりそうなこと、例えば本を読んでもらうとどうでしょうか?
誰!!
全然本読む気配がない。犬も増えてるし。
木刀が腕についているのも、
カメラをぶら下げているのも意味がわかりません。
前回のプロンプトが完全に頭に残ってますね。
別チャット開いても全然ダメだ。。。やり直します。
失敗したのでやり直し
最初に作ったプロンプトでもう一回画像生成をします。
ここまでは完璧です。完璧に聡明で革命的で孤独な老婆です。先ほどのエレノアさんは残念ながらさよならです。
めちゃくちゃいい感じ!微妙に違うのがファッションとメイクを完璧に真似てる影武者みたいで若干気持ち悪いですが、98%同じ人物が本を持っています。
というか指示は日本語でいい。ということがわかりました。
ついに成功したのでいろいろさせてみる
エレノアさんにいろいろやってもらいましょう。
最高です。いい帽子。
微妙です。発明家感と日本感が悪い意味で混ざってしまったようです。
いい感じだ!コンピュータおばあちゃんです。
これはいけるのでは、ないでしょうか。
誰でしょうか。
新宿のせいでずれ始めてしまったのか、あるいは木刀でしょうか??
木刀はやめて、改めてライブにチャレンジしてみます。
いい感じですね。
復活しました。木刀もよくないようです。
周りも技巧派バンド感がありいいですね。
木刀は青銅製の剣にしておきましょう。
できました。最高です。
いいベーシストとギタリストがいます。絶対演奏がうまいです。
完成しました。これは同一人物です。
改めて失敗したものも見直してみると、メガネを外してたり、帽子をかぶっていたり、やばい髪型になっているせいで違う人にみえるけど、よくみるとずっといい線行っているのでは、と思いました。
最後の画像の解説をみると、
「A photo capturing the elderly Japanese inventor in her eccentric fashion and accessories, standing on the Coachella stage. She is singing as the lead vocalist of a punk band composed of dogs and chickens, and in a dramatic moment, swings a bronze sword to slice an apple in half mid-air. The stage is filled with lights, and the audience is in awe of the spectacle.」
となっておりので、日本人要素が強く出てしまっていることがマイナスになっている気もしました。
解説からJapaneseを消したプロンプトで最後に生成してみます。
いいですね、かなり装飾が減ってしまいましたが、思い描いていた、いい画像ができました。
まとめ
OpenAIの画像生成AIであるDALLE-3のシード値を使用して同一人物を使ったシチュエーションの変更ができます。
シード値は特定の画像を生成するための識別子であり、異なるシード値を使うことで異なる画像を生成できます。
シード値を使って日本語で指示を出しても、目的の画像生成が成功しました。
シード値は固定のようで、一度別の生成がされてしまうとその要素が追加されたシード値になってしまうようです。
意味の強い要素を加えると全体がそれに引っ張られることもありそう。
対応策として画像生成後に表示される画像の説明をプロンプトとして修正して利用することも可能です。
まだまだ遊べそうですね。