
生成AIはプロンプトで特に指定しないと美人・イケメンを生成するんですよね。
女性を作れば、学校や職場にいたら間違いなく目立つような美人。
男性を作れば、俳優やモデルにいそうな整った顔。
それ自体はいいんだけど、何人も人物を作っているとあることに気がついた。
「みんな美人・イケメンだけど、みんな同じ方向性の顔じゃないか?」
今回は、なぜAIは美人・イケメンを生成しがちなのかの理由、そして現在進めている「顔パーツを個別にランダム化する」という方法にたどり着くまでの経緯をまとめます。
最初はプロンプトに直接書いていた
AIが似た顔を作るのなら、こちらから顔の特徴を細かく指定すればいい。
たとえば、輪郭、目の形、眉、鼻、口、髪型などをプロンプトに直接書いていきます。
「やや面長の輪郭」「切れ長の目」「太めの眉」「鼻筋は高め」「薄めの唇」……といった具合です。
確かに、指定を増やせば人物の印象は変わります。
ただ、この方法にはすぐに面倒なところが出てきました。
毎回、長いプロンプトを書くのがとにかく面倒なんですよね。
人物を一人作るたびに、顔の特徴を最初から考えて文章にしていたら時間がかかります。

例えば↑このイケメン男性を生成したときのプロンプトは、以下の通り。
20代後半の日本人男性。端正で男らしい顔立ち。やや細長い卵型の輪郭、シャープな顎、切れ長で涼しげな二重の目、自然で太めの眉、すっと通った鼻筋、薄めの唇。中性的すぎず、少しワイルドさのある整った顔。
黒に近いダークブラウンの長髪。肩にかかる程度の長さで、前髪は長く、自然なセンターパート~ゆるい分け目。毛先に軽いレイヤーが入り、さらっとしたストレートを基本に少しだけ無造作な動きがある。耳まわりや頬に長い髪が自然に落ちる。
1990年代の日本の男性アイドル・若手俳優を思わせる、クールで自然体な雰囲気。作り込みすぎない色気。ナチュラルな表情。カメラ目線。写実的なポートレート。
日焼けしすぎていない健康的な肌、細身、黒いTシャツまたはシンプルなシャツ、アクセサリーは控えめ。現代的な韓国アイドル風のメイクやマッシュヘアにはしない。
長い…。これを毎回書くのはしんどいです…。
しかも、自分で毎回考えていると「この目が好き」「この髪型を選びがち」といった、自分自身の好みにも偏っていきます。
AI任せの偏りを減らそうとしたら、今度は作る側の偏りが出てきたわけです。
そこでキャラクターシートのようなものを作った
そこで、人物を毎回ゼロから考えるのをやめました。
ゲームのキャラクター設定表のように、人物の特徴を項目ごとに整理した「キャラクターシート」のようなものを作って生成に幅を持たせる。
その中に「顔タイプ」の候補をいくつか用意して、思考AIにランダムで選ばせます。
たとえば、丸顔、卵型、面長、シャープ系、柔らかい印象など、いくつかの方向性を先に用意しておきます。
そして選ばれた顔タイプをもとに、AIに人物生成用の指示書を作らせ、その指示書を画像生成AIへ渡します。
これなら毎回長いプロンプトを自分で考える必要はありません。
さらに、自分では普段選ばない顔タイプが抽選されるので、人物の幅も広がるはずでした。
……少なくとも最初は、そう考えていました。
顔タイプを変えても、結局みんな美人・イケメンになる
実際に作ってみると、顔タイプによる違いは確かに出ました。
丸顔になったり、少し面長になったり、柔らかい印象になったり、クールな印象になったりします。
でも、何人も作っていると別のことに気づきます。
顔タイプは違うのに、結局みんなかなり整っている。

めっちゃ美人さん

めっちゃイケメン君
女性なら「学校一の美少女」と言っても違和感がないような顔。
男性なら、俳優やモデルにいそうなイケメン。
輪郭のタイプを変えても、目、鼻、口など、指定していない部分を画像生成AIがきれいに整えてくれます。
一人だけ作るなら、それで何の問題もありません。
でも、いろいろな人物を作りたい場合には、この「きれいに整えてくれること」が逆に人物の幅を狭めているように感じました。
なぜ生成AIは美人・イケメンに寄りやすいのか
そもそも、なぜ特に「美人」「イケメン」と指定していないのに、生成AIは整った顔を作りがちなのか。
生成AIは、大量の画像とそれに結びついた情報から「人物とはどのような見た目になりやすいか」を学習しています。
当然、その学習データには広告、モデル、芸能人、プロフィール写真、SNSなど、人に見せることを前提に選ばれた人物画像も大量に含まれます。
さらに画像生成AIによっては、学習後にも人間が「良い」「魅力的」「高品質」と感じやすい画像へ寄せるための調整が行われています。
そのため、顔型や目、鼻、口などを細かく指定しなかった場合、AIはプロンプトで指定されていない部分を自分が学習した「それらしい人物像」で補完します。
結果として、整った輪郭、大きめでバランスのいい目、通った鼻筋、なめらかな肌といった、一般的に見栄えが良いと受け取られやすい特徴へ寄りやすくなる。

乱暴に言えば、AIが「細かい指定がないなら、こういう顔にしておけば好きでしょ?」と無難なところを埋めてくれているようなものです。
一人の人物を作るだけなら非常に便利です。
でも、何十人もの違う人物を作ろうとすると、この「うまく補完してくれること」が逆に同じ方向への収束につながります。
だからこそ、AIに任せる部分そのものを減らし、顔をもっと細かい構成要素まで分解して指定する必要があるのではないか、と考えるようになりました。
欲しいのは「美形ではない人物」ではない
美人やイケメンを生成したくないわけではない。
美人やイケメン「しか」出てこない状態から抜け出したい。
欲しいのは、人物の魅力そのものの幅です。
たとえば女性なら、普段同じ職場で働いているときは特に意識していなかったのに、飲み会で少し雰囲気が変わった姿を見て、ふと「あれ、この子って結構かわいいかも」と思うような人。
男性なら、普段はただの同僚として接していたのに、何気ない気遣いやひと言をきっかけに、急に「この人、ちょっといいかも」と意識してしまうような人。
一目見ただけで誰もが美人・イケメンと判断する人物だけではなく、見ているうちに魅力を感じる人物も作りたい。
現実の人間は、そんなに「完成された美形」ばかりではありません。
だからこそ、人物を大量に作るなら、そのくらいの幅があった方が面白いと考えるようになりました。
顔タイプではなく、顔そのものを分解する
そこで次に考えたのが、顔タイプという大きな分類だけをランダムにするのではなく、顔を構成しているパーツそのものを分解する方法。
顔の輪郭、目の形、目の大きさ、まぶた、眉の形、眉の太さ、鼻、口、唇など。
これらについて、それぞれ複数の候補をライブラリとして用意します。
そして、一人の人物を作るたびに各項目をランダムに抽選して組み合わせます。
すると、「丸顔だからかわいい系」「面長だからクール系」のように大きな方向性を一つ決めるだけではなく、もっと細かいところから人物差を作れるようになります。
重要なのは、ランダムにすること自体が目的ではないということです。
AIの好みと、自分自身の好み。その両方から一度離れるためにランダム性を使う。
これが、現在の人物構成でランダム化を使っている理由です。


↑この二人は試しに現在のライブラリでランダム的に生成した女性。
自分的には生成AIが作りがちな「ザ・美女」から少し外れたものに出来たのでは、と感じてる。
ランダム化しても、AIとの戦いは終わらない
もちろん、顔パーツをランダムに選べば、それだけですべて解決するわけではありません。
こちらが違う目や鼻、輪郭を指定しても、画像生成AI側がそれをどの程度忠実に再現してくれるかは別の問題です。
指定したはずなのに、生成してみるといつもの整った顔に戻ってしまうこともあります。
逆に、細かく指定しすぎると不自然な顔になることもあります。
そのため現在も、顔パーツの分類や候補、指示の書き方などを少しずつ調整しています。
このあたりは「一度作ったら完成」というものではなく、実際に人物を生成して、その結果を見ながらライブラリを改良していく必要があります。
人物を作るたびに長いプロンプトを書くのをやめたかった
振り返ってみると、顔パーツのランダム化まで進んだ理由は二つあります。
ひとつは、AIが作りやすい「整った人物」への偏りから抜け出したかったこと。
もうひとつは、人物を一人作るたびに、長いプロンプトを最初から書く作業をやめたかったことです。
顔、体型、髪型、衣装、色……。
それぞれについて候補をライブラリとして持ち、必要な要素を組み合わせて人物を作る。
これが、現在このサイトで「人物構成」と呼んでいる方法につながっています。
次は、実際にほとんど条件を指定せずに人物を生成すると、現在の生成AIがどのくらい似た顔を作るのか。
女性・男性それぞれを同じ条件で複数回生成して、実際に比較してみたいと思います。
