ChatGPTでリアルな人物を生成するには?:AIイラストを実写に近づける方法

AIでの画像生成は高品質化が進んでいて、特にChatGPT (DALL-E 3)においてはかなり簡単に日本語でのプロンプトも使えるという利点を持っています。一方、ChatGPTでは、リアルな人物の画像生成に関してやや不自然となる場合が見受けられます。そこで、この記事では、ChatGPTを活用してリアルな人物の画像・イラストを生成する方法について、具体的なプロンプトの書き方や、リアリティを高める要素について、解説していきます。

ChatGPTでのAIイラスト生成全般(やり方、プロンプトの書き方など)については、下記記事でまとめていますので、良かったらどうぞ!

目次

ChatGPT (DALL-E 3)でのリアルな人物の画像生成の課題

ChatGPT(DALL-E 3)を用いた画像生成の幅はかなり広く、伝統的な絵画様式から、イラストや実写風まで様々な画風での画像生成が可能です。ただし、リアルな人物を生成する場合に上手くいかないことがあります。

まずは、そもそも本記事におけるリアルさの定義と、実際の生成時に生じる課題について、生成例を踏まえながら解説していきます。

本記事におけるリアルさの定義

ここでのリアルさとは、現実に実在してもおかしさを感じさせないほどに、違和感や不自然さが少ないような画像を指してます。より丁寧に定義すると、下記3点が重要な点になります。

  • 視覚的な忠実度:肌の質感、目や髪などが細部にわたって描かれている。
  • 自然な描写:光と影の当たり方が自然であり、表情や肌のトーンも不自然さがない。
  • 一貫性:被写体と背景が自然に調和しており、合成っぽさがない。

具体例としては、下記のような画像になります。これはChatGPT 4oにて生成した実例ですが、このようにパッと見たときにAIが生成した画像なのか、写真なのか判別しづらいようなものです(もちろん細部を見ていくと、おかしな点は出てくるのですが)。

リアルな画像生成における課題

それでは、実際に生成されがちなリアルさの不足している画像を示します。プロンプトは下記としています。

プロンプト:「日本人女性の実写画像を生成してください。髪型は黒色の長髪」

このように生成された画像は綺麗ではありますし、「不気味の谷」は超えていると思うのですが、全体的にCGっぽさがあって、若干の不自然さが拭えないかと思います。より詳しく説明していくと、下記の点に課題があるように思います。

肌の質感の不自然さ:人の肌は実際には微細な毛穴やしわ、色のムラがあるが、この画像では滑らかすぎて不自然。加えて、肌の光沢や影の表現もコントラストが強く、違和感に。
髪や服の質感の再現不足:髪の一本一本や、服のシワの質感の表現が不十分であり、全体的に固まったような不自然な見た目に。
・影の不自然さ:影の方向や深さが不自然であったり、光源に対して一貫性がない。また過度に凹凸を強調するような光源であることも、全体として合成感を強めている。

より実写に近い人物を生成するための方法

次に、AI画像のリアリティをより高める方法として、下記の3つについて紹介していきます。

  1. 「Photorealistic」と「Realistic Portrait」の回避
  2. ひたすらプロンプトを詳細化
  3. データセットを偏らせる

以下、それぞれについて、プロンプトや実例を交えつつ解説していきます。ちなみに①で解決するならそれに越したことはありません。

1. 「Photorealistic」と「Realistic Portrait」の回避

まずこれはどういうことかと言うと、先ほどの画像について、実際に用いられているプロンプトを確認してみると、下記のようになっています。

実際の画像生成に使用したプロンプトとしては「A high-resolution, photorealistic image of a young Japanese woman with long black hair, standing in a modern cityscape.」であることが分かります。

このように、プロンプト中に「photorealistic」が出てきます。写真のように現実的という意味で、これは実写画像という指示が、ChatGPTによって変換されたものだと考えられます。また実写画像などと入れなくても、ChatGPTによって、勝手に補完されることもあります。

では、「photorealistic」とはどんな場面で使われるか考えてみると、写真のようにリアルなものって、クオリティの高いイラストやCGを褒める言葉として使われる頻度が高いと思われます。決して本当の写真に対して、「写真のようにリアルだ」とか「写実的だ」とかは言いませんよね。

つまり、AI画像の学習用のデータセットにおいて、「photorealistic」がラベリングされているのは、実在するものの写真ではなく、リアルなイラストやCGであり、逆にこれをプロンプトにこれらを入れることによって、写真ではなく、リアルなイラストやCGに引きずられているのではないかと考えています。

(*ネガティブプロンプト(生成を避けたいワードを指定する指示文)が機能すれば、そちらでCGやイラストの画像を避けられますが、ChatGPT4ではこの回避の仕方が難しいことも原因かと思われます)

このことは「Realistic portrait」も同じです。これもChatGPTによって追加される場合がありますが、実在する人物を形容しないですよね。これについても具体例を示します。

プロンプト:「Realistic Portrait of a young Japanese woman with long black hair, standing in a modern cityscape.」

このように生成されたりします。髪質、肌の質感、光の感じがやや不自然に感じますね。

プロンプトの工夫による回避方法

これらのことを踏まえると、プロンプトから「photorealistic」や「Realistic portrait」を排除するのが有効です。具体的な回避方法について説明していきます。

ChatGPTへのプロンプトとしては、下記のように変更しないことを指示に入れます。そうすることによって、上述したような余計な追記が避けられます。

プロンプト:「下記プロンプトをそのまま変えずに、画像生成してください。
“a young Japanese woman with long black hair, standing in a modern cityscape.”」

このようにするだけでも、肌や髪の質感、陰影の付き方が自然になって、リアリティは結構高まるかなと思います。

よりクオリティを高めるような単語を入れたいのならば、映像やカメラに関するワードを入れるのが有効です。具体的には「High definition(高解像度)」、「high-quality photograph(高品質な写真)」などの文言であれば、比較的リアリティを保持している傾向にあるかと思います。

プロンプト「下記プロンプトをそのまま変えずに、画像生成してください。
“High definition, a young Japanese woman with long black hair, standing in a modern cityscape.”」

プロンプト「下記プロンプトをそのまま変えずに、画像生成してください。
“A young Japanese woman with long black hair, standing in a modern cityscape. The overall look should resemble a high-quality photograph taken with a professional camera.”」

2. ひたすらプロンプトを詳細化

続いて、どうしても「photorealistic」や「実写」とかのリアルさを強調する単語を入れないといけない場合についてです。これは、現実には殆ど存在しないが、リアリティのある画像を生成したいときに必要になります。

例えば、下記の「銀色の長髪で青い目をした少女」は現実には殆どいないため、学習のデータセットとしてもイラストやアニメに偏っていることが予想されます。実際、「実写」を強調しないと、リアルな画像は生成されません。

一方で、特に工夫をせずに、実写風で生成すると下記のようになってしまいます。

プロンプト:「Photorealistic portrait of a high school girl with long, flowing silver hair and blue eyes, known as ‘the usual girl’. She is dressed in a Japanese high school uniform, consisting of a navy blue blazer, white shirt, and a red ribbon tie.」

このようにリアリティが低く、CGっぽくなりがちです。こういった場合は、正攻法でひたすらにプロンプトを詳細化するしかリアリティを高める方法はなさそうです。

具体的なプロンプトの詳細化

やり方としては、これまで示したように、肌、髪、服装の質感を高めつつ、照明の当て方、影のでき方を、プロンプト中に盛り込んでいきます。具体的には、下記プロンプトが一例になります。

肌の質感に関するプロンプト:Her skin reveals natural pores, fine lines, and slight imperfections, with realistic highlights and shadows that emphasize the texture of real human skin.

髪の質感に関するプロンプト:Her hair is detailed with individual strands, realistic texture, and subtle highlights, creating a natural and lifelike appearance.

服の質感に関するプロンプト:The uniform fabric is detailed with a fine texture and subtle wrinkles, enhancing the overall realism.

光源に関するプロンプト:Soft, diffused natural light creates gentle, natural shadows on her face, enhancing the three-dimensionality and depth of her features.

背景に関するプロンプト:The background features a natural outdoor scene with trees, a clear blue sky, and soft sunlight filtering through the leaves, creating a calm and serene atmosphere.

影のでき方に関するプロンプト:The overall lighting is extremely soft and minimal, almost to the point of being faint, with reduced shadows.

上記のプロンプトを盛り込んでいって、生成したのが下記画像となります。

このように、「銀色の長髪で青い目をした少女」という元々のプロンプトを保持しつつ、リアリティをかなり高めることが出来ているかと思います。

ただし、これはモデルとなる被写体やシード値次第では上手くいかない可能性もあるので、場合によっては、ひたすら微修正を繰り返したり、試行回数を増やす必要も出てきます。

3. データセットを偏らせる

「Photorealistic」がラベリングされたデータセットに偏りがあるのならば、逆を行く方向性も戦略としてはあるかと思います。つまり、目的とする画像が偏ってラベリングされていそうなプロンプトを推測する方向性です。

例えば、「日本人の写真」に対して、AIが学習する際にラベリングされている言葉は、日本語で「写真」である可能性が高いです。つまり、ChatGPT内の画像生成AIであるDALL-E 3に対して、日本語のまま「写真」のプロンプトを引き渡せば、「日本人の写真」に偏った学習データから画像生成が可能なのではないかという考え方です。

この「日本語プロンプト」のやり方については下記で解説していますので、分かりにくかったら下記をご覧ください。

実際に、日本語プロンプトとして「女性の写真」で生成しているのが下記画像になります。

このように比較的リアリティの高い画像生成が可能です。ただランダム性が強いのが欠点になります。

まとめ:3つの方法で、AI画像生成をよりリアルに!

本記事では、ChatGPTにおいてリアルな人物を生成する手法について、解説してきました。思ったよりも長くなってしまいましたが、この内容が役に立つと幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次