【生成AI】プロフィール写真や肖像の生成?各モデルの実力と限界 (一覧表あり)
はじめに
こんにちは、AIラボ所属のデータサイエンティスト・AIエンジニアの刘(劉、リュウ)です。
日本の方がよく知っている三国志の主人公、劉備と同じ苗字です。
これからのあらゆる業界にとって生成AIの導入が不可欠だと考えています。今後、皆様が画像生成の機能を開発される際には、生成人物のさまざまな課題に直面するかもしれません。
今回は、最新のtext2imageモデルを使用して生成したプロフィール写真の結果をまとめ、その考察を行いました。これは、弊社の製品「マーケGAI」を開発する過程で得た知見になります。少しでも皆様のお役に立てれば幸いです。
結論
Google Imagen 3以外では、全体的にtext2imageモデルを使用して非常にリアルな写真のような人物像を生成する際に、いくつか避けられない問題が見られます。
- 異なるプロンプトを使用しても、生成された人物が似てしまう(特に同じ性別の場合)
- 顔の詳細な部分がプロンプトでコントロールできない場合がある
一方、リアルさを重視しない生成(写真風のイラストを含む)では、目、耳、鼻、口などの顔のパーツをより細かくコントロールすることができます。また、生成された人物が似通ってしまう問題も見られません。
モデルの分類
人物像生成に関しては、大きく2つのカテゴリーに分類できると考えています。1つはリアルな写真のような質感のもの、もう1つはイラストや写真に近いイラスト風など、リアルさを重視しないものです。
まだ、このブログで扱ったモデルは以下のように分類できます(筆者判断):
- リアル写真系: Adobe Firefly Image3, Midjourney 6.1, Google Imagen 3, Artbreeder Prompter, Runwayml Text to Image
- 写真に近いイラスト系:OpenAI DALL·E 3, CapCut Dreamina 1.4
各モデルによる生成の試行結果
上記の7つのモデルで、3つの英文プロンプトを用いて生成を試みました。モデル同士の比較をしやすくするため、それぞれのプロンプトの後に、7つのモデルによる生成結果を1枚にまとめて示します(600ppiで、十分な拡大に耐える品質)。その後、それぞれのモデルの生成結果のまとめと考察を記載しています。
プロンプト1
"""
photo-realistic,
A Japanese male physical therapist,
aged around 60,
with an average appearance.
He has light skin and a mop-top haircut.
His single-lidded eyes, heart-shaped face,
and high-bridge nose give him distinctive features,
complemented by full lips and arched eyebrows.
The man stands with his arms crossed,
exuding a sense of tranquility and relaxation through his calm demeanor.
"""
日本語訳:
"""
写真のようにリアルな描写で、
60歳前後の日本人男性の理学療法士。
平均的な外見で、色白の肌とマッシュヘアが特徴的。
奥二重の目、ハート型の顔立ち、高い鼻梁が際立ち、
ふっくらとした唇とアーチ型の眉毛が特徴的である。
男性は腕を組んで立ち、穏やかで落ち着いた雰囲気を醸し出している
"""
生成結果まとめ:
プロンプト2
"""
photo-realistic,
A 50-year-old Japanese male farmer with an average appearance,
characterized by neither strikingly handsome nor unattractive features.
He has a light skin tone and sports a mop-top haircut.
His eyes are double-lidded, framed by thick eyebrows.
His facial structure is triangular, with a wide nose and thick lips.
He is posed with arms crossed,
displaying an expression of deep concentration and being engrossed in thought.
"""
日本語訳:
"""
写真のようにリアルな描写で、
50歳の日本人男性の農家。
外見は平均的で、特にハンサムでもなく、かといって目立った特徴のない容姿。
肌は色白で、マッシュヘアをしている。
二重の目は濃い眉毛に囲まれ、顔立ちは三角形で、鼻は幅広く、唇は厚い。
腕を組んで立ち、深く考え込んでいる表情をしている。
"""
生成結果まとめ:
プロンプト3
"""
photo-realistic,
A 60-year-old Japanese male economist,
depicted with an average and realistic appearance.
His skin has a subtle yellow undertone,
and his hair is neatly styled in a crew cut.
He has single-lidded eyes and a diamond-shaped face.
His nose has a low bridge, and his lips are medium-thick.
His thick eyebrows are noticeable.
The man is shown in a three-quarter turn pose,
maintaining a neutral and composed expression,
void of any strong emotions.
The background should be minimalistic,
focusing on his professional attire to reflect his economist profession.
"""
日本語訳:
"""
写真のようにリアルな描写で、
60歳の日本人男性の経済学者。
外見は平均的で現実的な容姿で、肌には微かに黄色味がかっている。
髪はきちんと整えられた短髪で、奥二重の目と菱形の顔立ちが特徴的。
鼻は低く、唇は中くらいの厚さ。濃い眉毛が目立つ。
男性は斜め向きで、感情を抑えた落ち着いた表情を保ち、
背景はミニマルなデザインで、彼の経済学者としてのプロフェッショナルな服装が強調されている。
"""
生成結果まとめ:
Adobe Firefly Image3
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
Google Imagen 3
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
OpenAI DALL·E 3
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
Midjourney 6.1
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
CapCut Dreamina 1.4
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
Artbreeder Prompter
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
Runwayml Text to Image
上記のプロンプトの順番に従い、それぞれを使用して生成した画像を以下に示します。
プロンプト1により生成したもの
プロンプト2により生成したもの
プロンプト3により生成したもの
まとめ
上記の生成結果に基づき、次のテーブルにまとめました。
モデル | リアルさ | 髪型や顔のコントロール能力 | 生成人物が似る問題がない | 年齢のコントロール能力 | APIの有無 | 備考 |
---|---|---|---|---|---|---|
Adobe Firefly Image3 | ★★★★★ | ★★☆☆☆ | ❌ | ✅ | ✅ | 髪型や顔の形はプロンプトでコントロール可能 |
Google Imagen 3 | ★★★★★ | ★★★★☆ | ✅ | ✅ | ✅ | 時々イラスト風のものが生成される |
OpenAI DALL·E 3 | ★☆☆☆☆ | ★★★★☆ | ✅ | ✅ | ✅ | --- |
Midjourney 6.1 | ★★★☆☆ | ★★★☆☆ | ✅ | ✅ | ✅ | 髪型や顔の形のコントロールは可能だが、目、耳、鼻、口などのような顔のパーツは不可。 |
CapCut Dreamina 1.4 | ★★★★☆ | ★★★☆☆ | ✅ | ✅ | ❌ | 髪型や顔の形のコントロールは可能だが、目、耳、鼻、口などのような顔のパーツは不可。 |
Artbreeder Prompter | ★★★★☆ | ★☆☆☆☆ | ❌ | ❌ | ❌ | 時々服を着ていない画像が生成されることがある。 |
Runwayml Text to Image | ★★★★☆ | ★☆☆☆☆ | ✅ | ✅ | ❌ | --- |
このタスクにおいて、筆者個人としては、Google Imagen 3が最も高いパフォーマンスを発揮していると感じます。
刘の考察
生成された画像で顔が非常に似通ってしまう原因としては、学習データセット内の顔の多様性が比較的乏しいことが挙げられると考えています。おそらく、肖像権の問題で大量の良質な顔データを入手しにくいため、学習データに含まれる顔データが限られてしまうことが要因です。その結果、生成時にも多様性が欠けてしまうと考えています。
また、顔のコントロールが難しい原因としては、モデルが眉毛、目、鼻、口などの細かな特徴を十分に理解できていないことが一因だと考えられます。これはおそらく、モデルの訓練時にこれらの特徴に対して十分なラベル付けが行われていないではないかと推測しています。
生成AIを活用したPoCや支援にご興味があれば、以下リンクよりお問い合わせください。
Discussion