🤖

StableDiffusion XLでchatGPTから作ったペルソナの顔を生成する

2023/04/05に公開

Stability AIから23億パラメータのStableDiffusion XLのβ版の提供が開始されました。
https://www.techno-edge.net/article/2023/04/03/1107.html

プロンプトも凝って作りたいところですが、時間をかけようと思えば無限に時間をかけられます。今回はプロンプトを作るのが目的ではないため、StableDiffusion XLへのプロンプトは自動化しましょう。

chatGPTによるペルソナの作成

https://openai.com/blog/chatgpt

明確な答えのない質問に応えるには実績のあるchatGPTにペルソナを出力してもらい、そのままStableDiffusion XLに入力します。ペルソナを出力するためのプロンプトは以下です。属性は適宜書き換えたり、あらかじめ選択肢を用意すると、その選択肢の中から属性を選択してくれます。なお、ペルソナを作るのは今回が初めてのため的外れな点があった際はご容赦ください。

車を持つ顧客のペルソナを作成しています。以下の属性を持つペルソナを2人作成してください。
・名前
・年齢
・性別
・業界
・職業
・年収
・家族構成
・平日の過ごし方
・休日の過ごし方
・3年以内の目標
・10年以内の目標
・20年以内の目標
・よく買い物にいくエリア
・苦手な運転シーン
・スマートスピーカーを使ったことがあるか
・使ったことがあれば、その種類

生成されたペルソナです。

以下に、車を持つ顧客のペルソナを2人作成します。

【ペルソナ1】
・名前: 田中 雄介
・年齢: 42歳
・性別: 男性
・業界: 製造業
・職業: エンジニア
・年収: 700万円
・家族構成: 妻と2人の子ども(小学生と幼稚園児)
・平日の過ごし方: 仕事の後は、家族と過ごす。夜は、子どもたちと一緒に遊んだり、妻と会話を楽しんだりしてリラックスする。
・休日の過ごし方: 家族でドライブに出かけることが多い。美術館や博物館に行くことも好き。
・3年以内の目標: キャリアアップ。
・10年以内の目標: 家族で海外旅行に行くこと。
・20年以内の目標: 老後の生活資金を貯めること。
・よく買い物にいくエリア: 家の近くのショッピングモール。
・苦手な運転シーン: 雨天時の高速道路の運転。
・スマートスピーカーを使ったことがあるか: はい。
・使ったことがあれば、その種類: Amazon Echo。

【ペルソナ2】
・名前: 村田雅子
・年齢: 30歳
・性別: 女性
・業界: 広告
・職業: クリエイティブディレクター
・年収: 500万円
・家族構成: 夫と子ども2人
・平日の過ごし方: 残業が多いので家族と過ごす。
・休日の過ごし方: 家族で近所の公園で遊ぶ。
・3年以内の目標: ヨガインストラクターの資格取得。
・10年以内の目標:自宅を購入する。
・20年以内の目標: 自分のビジネスを立ち上げること。
・よく買い物にいくエリア: ファッションやコスメのショップが集まる街。
・苦手な運転シーン: 高速道路での急な車線変更。
・スマートスピーカーを使ったことがあるか: はい。
・使ったことがあれば、その種類: Google Home。

StableDiffusion XLに入力しやすいように以下のプロンプトでcsv形式に改めて出力しました。

先ほどのペルソナをcsv形式で出力していただけないでしょうか。

csv形式で出力されました。もっと上手く出力を考えるべきなのはごもっともですが、プロンプトと生成画像間で大きな乖離が見られなければ今回は良しとします。

田中 雄介,42歳,男性,製造業,エンジニア,700万円,妻と2人の子ども(小学生と幼稚園児),仕事の後は、家族と過ごす。夜は、子どもたちと一緒に遊んだり、妻と会話を楽しんだりしてリラックスする。,家族でドライブに出かけることが多い。美術館や博物館に行くことも好き。,キャリアアップ。,家族で海外旅行に行くこと。,老後の生活資金を貯めること。,家の近くのショッピングモール。,雨天時の高速道路の運転。,はい。,Amazon Echo。
村田雅子,30歳,女性,広告,クリエイティブディレクター,500万円,夫と子ども2人,残業が多いので家族と過ごす,家族で近所の公園で遊ぶ,ヨガインストラクターの資格取得,自宅を購入する,自分のビジネスを立ち上げること,ファッションやコスメのショップが集まる街,高速道路での急な車線変更,使ったことがある,Google Home

DeepLによる英訳

StableDiffusion XLに入力するために、DeepLで英訳します。
https://www.deepl.com/translator
翻訳結果です。

Yusuke Tanaka,42, male, manufacturing, engineer, 7 million yen, wife and two children (elementary school and kindergarten), spends time with his family after work. In the evening, I relax by playing with my children and enjoying conversation with my wife. He often goes for a drive with his family. I also like going to museums and art galleries. Career Development. He would like to go on an overseas trip with his family. To save money for retirement. Shopping malls near my house. Driving on the highway in the rain. Yes, I would like to have a new job. I like to use Amazon Echo.
Masako Murata,30,female,advertising,creative director,5 million yen,husband and 2 children,working overtime so I can spend time with my family,playing in the neighborhood park with my family,getting certified as a yoga instructor,buying a home,starting my own business,a town full of fashion and cosmetic stores. Sudden lane change on the highway,Have used,Google Home

StableDiffusion XLによるペルソナの顔生成

StableDiffusion XLのβ版はDreamStudioの無料版にて公開されています。アカウントを作成してログインしましょう。
https://beta.dreamstudio.ai/generate
Model欄からSDXL Betaを選択します。

Prompt欄に英訳したペルソナを入力してDreamボタンを押します。今回は、生成してほしくない要素を指定できるNegative Promptは未入力です。

ペルソナ1:田中 雄介,42歳,男性,製造業,エンジニア,etc...

顔とペルソナで記述した各属性の妥当性を語ることは難しいですが、おおかた属性と一致していて、かつどこかにいてもおかしくはない男性の顔が生成できました。強いて言うなら、1枚目の方は左耳だけ福耳で、2枚目の方は左耳よりも右耳の方が大きいですね。プロンプトと生成画像間で大きな乖離が見られないので今回はヨシ!!

ペルソナ2:村田雅子,30歳,女性,広告,クリエイティブディレクター,etc...

ペルソナから大きくは外れていない、女性の顔が生成できました。ただ、最初の女性は指が6本あり、次の女性は指の骨だけ6本あります。二人とも黒目が少し大きいせいか、どこを見ているのか分からないようにも感じます。ほぼ正確に人を再現できているだけあって少し不気味さも残りますが、例えばスライドに縮小された状態で登場したら、第一印象としては違和感を持たないのではないでしょうか。こちらもプロンプトと生成画像間で大きな乖離が見られないので今回はヨシ!!

まとめ

chatGPTでペルソナを作成し、DeepLで英訳し、StableDiffusion XLでペルソナの顔を作成しました。特別なマシンがなくてもtext2imageと現在の生成モデルの品質が体験できてとても勉強になりました。

普段は研究開発の業務に就いている筆者ですが、製品とお客さんとの距離が遠く、こんなの作って誰が使うんだろう、と思うことがしばしばありました。良くも悪くも、深く考えすぎず、まず手を動かして動くものを作って価値を示す、それから深いことは考える、という環境です。そんな中で自分が作ったコードは実際にどこでどんな人に使われているのか、具体的にイメージを持ちたいと思ったのが今回の記事を書いたきっかけです。実際には存在しないんですが、手を動かしてみると、イメージが持てるだけでもだいぶ刺激になりました。当たり前かもしれませんが、具体的なユーザ個人だけでなく、その家族や関わる人にも意識を持てるようになったのは勉強になりました。これからも自分の製品が届くユーザのことを意識しながら業務に励んでいければと思います。

ちなみに、普段はコードを書くと言っておきながら、今回は日本語でプロンプトを入力した以外は全てコピペで、20分程で全ての作業が完了しました。AIはすごいぞと騒がれる昨今、AIができることでは本当に太刀打ちができないと肌で感じましたので、AIができないことを整理しながら業務を進めていきたいと思います。

Discussion