Let’s play Kawaii dress-up with Daz Studio, and explain how to make a Kawaii image.

生成系AIの利用~Stable Diffusion WebUIでDaz Charactorを再現する

Dazフィギュアを利用した、日本人的な美しい人物造形作りを紹介するこのサイト。
今日はadobeのFireflyに続き、画像生成系AIの雄ともいえるStable Diffusion WebUIを使って、Dazで作成し、レンダリングしたキャラクター画像から、そのキャラクターに似たAI画像を生成し、同じキャラクターを保持したたまま、服や表情、ポーズや背景を変えた画像を作成する方法を解説していきます。
この投稿と前の投稿の間にだいぶ間が開きましたが、それは私が画像生成AIを学んでいた期間だと思ってくださいね。

さて、まずStable Diffusion WebUI(Automatic1111版)ですが、簡単に言うとWebブラウザでStable Diffusionが動くようにしたものです。Stable DiffusionはPythonというプログラミング言語で動く生成系AIです。プログラミングで制御するのは知識がないと難しいので、WebブラウザからローカルマシンのGPUを利用して画像を生成するのが、Stable Diffusion WebUIです。よって、GPUを搭載したパソコンでなければ重くて画像が生成できません。私は、NVIDA GeForce RTX 2060 Superを未だに使っていますが、この辺りがストレスなく画像生成できる下限のGPUではないかと思います。
インストール方法も難しいので、私は本を購入して、それを見ながらインストールしてみました。
ネットでインストール方法を紹介するサイトも多数あるので、探してみて、一番自分に合ったサイトから真似してみるのがよいと思います。

私が購入した本

この本は、Stable Diffusionを網羅的に学ぶにはもってこいです。
お金を出して本を買う価値は、正確な情報量の多さではないかと思います。WebUIのセットアップから、画像生成の方法、さまざまな画像の出力の仕方、AI生成画像にまつわる著作権の話まで、さまざまなことが学べます。Amazonで購入してみてください。

Daz Studioでキャラクターをレンダリングする

それではいつものようにDazでキャラクターをレンダリングしてみます。
ポースや服装はAIで生成しようというわけなので、ここではTポースの下着姿でレンダリングしてみます。
ここで重要なのは、書き出しサイズを512×512ピクセルにすることです。
私が使っているStable DiffusionV1.5の画像生成の基本サイズは512×512ピクセルなのです。よってここで作成するレンダリング画像も同じサイズで揃えておきます。

以下のようにレンダリングされました。背景は白塗りにしてあります。
手足の先が切れていてもAIが生成してくれるので無視しておきましょう。

Stable Diffusionを開く

さてここでStable Diffusionを開きます。Stable DiffusionはBatファイルから開きます。この辺も本を読んだりして学んでおくことをお薦めします。
まずはプロンプトに以下のように打ち込みます。

1 beautiful woman,japanese face,masterpiece,high quality,best quality, extremely detailed,(((underwear))),indoors

日本人的な顔立ちをした一人の美しい女性、服装は下着姿(三重括弧でくくった部分)、背景は室内と指示しています。括弧はプロンプトの中で優先的に強調したい部分です。

ネガティブプロンプトには以下のように打ち込みます。

EasyNegative, paintings, sketches, ugly,bad_anatomy,bad_hands,extra_hands,missing_fingers,broken hand,more than two hands,well proportioned hands,more than two legs,unclear eyes,missing_arms,mutilated,extra limbs,extra legs,cloned face,fused fingers,extra_digit, fewer_digits,extra_digits,jpeg_artifacts,signature,watermark,username,blurry, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans,((watermark:2)),((white letters:1.5))

画像生成系が苦手な部分を出さないように指定しています。(指や手や足が余計な数になってしまったり不自然な形態にならないように指定しています)

まず普通に日本人的な女性を生成する

プロンプトを打ち込んだら、以下のように設定し、Generateボタンを押します。
他の部分はデフォルトのままです。この設定も事前に本などを読んで勉強しておいた方がよいです。
バッチカウントと英語で書いてある部分は、何枚の画像を生成するか指定する箇所です。数が多くなるとその分GPUを使って画像を生成しているので、当然時間がかかります。
基本的に画像生成系AIはガシャポンだと思ってください。なので、4枚ぐらい生成しないと思ったような画像は出てこないと割り切った方がよいです。

下記のように日本人的な顔立ちをした下着姿の女性が生成されました。

画像をクリックすると拡大されて表示されますので、特に手が変な形になっていないかとか、指が多すぎないかとか、服が変でないかなどチェックします。

ControlNetのCanny法を使い、Dazでレンダリングしたキャラクターと似た人物を生成

先ほどレンダリングした画像は顔が小さくなってしまっているので、もう少しアップにした画像を用意します。

ControlNetと書いてある部分の三角をクリックします。

ここに画像をドロップと書いてあるところに先ほどのDazのレンダリング画像をドロップしてください。

赤丸印の部分をチェックして、CannyをEnableにしてください。
下の方の、ControlNet is more importantにチェックを入れていますが、これはもと画像により似せるためにチェックします。
最後にGenerateボタンを押します。

このように4枚の画像が生成されました。

Canny法とは
Canny法はもと画像から線画を描出し、プロンプトに従いながらも線画に忠実に画像を生成する方法です。そのためにもと画像にそっくりな画像を生成するわけです。
この方法はポーズも同じように生成します。また服も線画に含まれるので、プロンプトに同じ服を指示しておいた方が無難です。

どうですか。もとのDazでレンダリングしたキャラクターによく似た画像を生成していることがわかります。

一番似ている画像を選んで、もと画像と比較してみました。

ControlNetのRefarenceOnlyで、生成した画像と同じ人物を生成する

Stable Diffusionは同じ人物を生成し続けることができません。
そこでControlNetのRefarence Onlyを用いて同じ人物を生成します。この機能では、参照した画像だけにしたがってプロンプトも生かし、画像を新たに生成することができます。

下記赤丸印のようにRefarenceを選び、Control Modeのところでは、Balancedを選んでいます。もと画像とプロンプトの両者のバランスを取るという意味です。

先ほどはDazのレンダリング画像がイメージのところに張り付けてあったので、イメージ画像を貼り付ける部分右上の×でいったん画像を消し、先ほど生成した画像の中で一番Daz画像に似ていると思うものをドラッグして貼り付けてください。

プロンプトにはポーズとしてdancing、服装はTシャツと短パン、場所はステージとしてみました。

生成した結果です。

先ほど言ったようにガシャポンなので、何枚か生成してみて、一番似たものを選んでみました。

今度は以下のプロンプトにしてみました。

1 beautiful woman,japanese face,walking with the dog,fullbody,masterpiece,high quality,best quality, extremely detailed,(((sweatshirt,sweatpants))),in the street

通りで犬を散歩させているスエット姿の女性と指定しています。

この画像が一番もと画像の女性に似ています。

次はバーでお酒を飲んでいるドレス姿の女性です。

1 beautiful woman,japanese face,drinking alcohol,fullbody,masterpiece,high quality,best quality, extremely detailed,(((dress))),in the bar

どうでしょう。なんでもできちゃいますね。

管理人のコメント

最後に著作権の話です。
Dazの規定によれば、レンダリングした画像は自由に使用してよいことになっています。
したがって、レンダリング結果を画像生成AIにかける分には問題がないことになります。
しかし、Stable Diffusionにはモデルがあり、モデルによっては商用禁止などの規定がありますので、注意しましょう。
また、今回はもと画像にDazのレンダリング画像を使用しましたが、人物画像をもってきて相手の許諾なく画像生成すれば、肖像権の侵害などにもなり得ます。こちらは要注意です。

さて、Stable DiffusionのControlNet機能を使うと、モデルの原型をAIで生成し、同じモデルでさまざまな画像を制作できることがわかりました。しかしながら、まだまだガシャポンの域を出ない部分があります。プロンプトで指定しても思ったような画像ができないことはよくあることです。また、もと画像とはイメージの違う人物が生成されることもあります。
画像生成の世界はものすごい速度で進化しているので、これらの欠点もすぐ新技術で塗り替えられる可能性があります。