見出し画像

生成AIで自分と同じ顔画像を生成する(Stable Diffusion × Control Net)

はじめに

Stable Diffusion Web UIとControl Netを活用して、自分と同じ顔を生成する冒険について紹介します。自分の顔を自由に生成することができれば、自分のアバターを作ったり、そのほかにも色々な応用の用途が考えられます。まずはどのようにすればリアルな自分の顔を生成できるのかを探求します。

Stable Diffusion Web UIとは

Stable Diffusion Web UIは、Stable Diffusionという強力な画像生成AIを使いやすくするウェブベースのインターフェースです。このツールを使用すると、ユーザーは簡単にカスタマイズ可能な画像を生成でき、AIの複雑な側面を理解する必要なく直感的な操作が可能です。導入の仕方はこちらの記事を参考にしました。

Control Netとは

Control Netは、特定の属性や特徴を持つ画像を生成するために設計されたStable Diffusionの拡張機能です。この機能は、ユーザーが指定したパラメータに基づいて、高度にカスタマイズされた画像を作成します。LoRAを使わなくてもいけるので簡便ですね。今回の実験では、Control Netを使用して、私の顔に似た特徴を持つ画像を生成しました。各設定やパラメータの値についてはこちらの記事を参考にしました。

今回使用した画像

この実験のために、自分の3枚の写真を用意しました。これらの画像をControl Netにアップロードして学習させます。正方形で顔がしっかりと写っていてそれがアップで写っているものにトリミングしてアップロードしています。なお、トリミングせず全身が写っているものは顔の生成がうまくいかなかったのでトリミングを行っています。もちろんここで自分の画像以外のキャラクターやペットの写真使うことで似たことが出来ます。

今回読み込ませた3枚の画像


プロンプトとパラメータ設定

プロンプト

私の顔を生成するために、Stable Diffusion Web UIに特定のプロンプトを入力しました。このプロンプトには、顔の特徴、髪型などの詳細が含めています。左右の目の大きさが結構異なってしまうことがあり、symmetryというキーワードを強めにいれています。また、画像がノイズがかることがあり、それを除くためにNegative Promptを工夫しています

young male, glasses,  (perfectly symmetry eyes), forehead exposed, extremely detailed face, looking to camera, (best quality), high quality, ultra detailed, 8k

Positive Prompt

(worst quality low quality low resolution, two people, bad anatomy:1.4), (poorly eyes, text:1.2), (Korean), asymmetry, old, dirty, noisy, blur

Negative Prompt

パラメータ設定

基本的には上記の記事に従い、他はデフォルトのままにしています

Sampling method: DPM++ 2M Karras
Sampling steps: 20
Width: 512
Height: 512
Batch count: 1
Batch size: 8
CFG Scale: 7
Control Type: Reference
Preprocessor: reference_only
Style Fidelity: 0.7
Control Mode: Balanced
Resize Mode: Crop and Resize

生成結果

数時間の試行錯誤の後、ついに私の顔に似た画像を生成することに成功しました。

Stable Diffusionで生成された私の画像

今後の展望

今回かなり私に似た画像を生成することができましたが、満足いくクオリティの画像は8枚中1~3枚生成されるという感じで安定性にかけます。将来的には、より安定した高度なカスタマイズとリアリズム、そしてこれを応用したアプリケーションの開発を目指します。引き続きStable Diffusionを触っていきます!

今回はここまで。ではまた!



この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?