【Stable Diffusion】3D風の画像を作成するモデル

【Stable Diffusion】3D風の画像を作成するモデル 機械学習

「3D風の人物・キャラ・風景などの画像を作成したい」
「Stable Diffusionでファインチューニングされたモデルを利用したい」

このような場合には、Redshift Diffusionがオススメです。
この記事では、Redshift Diffusionを用いた画像生成について解説しています。

本記事の内容

  • Redshift Diffusionとは?
  • Redshift Diffusionの利用方法
  • Redshift Diffusionの動作検証

それでは、上記に沿って解説していきます。

Redshift Diffusionとは?

Redshift Diffusionとは、3D風の画像が作成できるStable Diffusionのモデルになります。
公式ページでは、次のようなキャラ画像が紹介されています。

また、Redshift Diffusionは風景や乗り物にも適用可能です。

普通に、ゲーム画面のワンシーンだと言われても違和感がありません。
これらの3D風の画像を作成できるRedshift Diffusionは、DreamBoothで学習されています。

DreamBoothについては、次の記事で説明しています。

DreamBoothを使えば、大量の画像を必要とせずにファインチューニングが可能です。
その特徴を生かして、Redshift Diffusionは作成されています。

また、学習にはRedshiftというレンダラで生成された3Dモデルの画像が利用されています。
Redshiftは、3D制作ソフトであるCinema 4D上で利用できます。
GPUベースで高速にレンダリングできるのが、Redshiftの特徴です。

このような事情から、Redshift Diffusionという名前が付けられているのでしょう。

以上、Redshift Diffusionについて説明しました。
次は、Redshift Diffusionの利用方法を説明します。

Redshift Diffusionの利用方法

Stable Diffusionを動かせることが、大前提となります。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。

Stable Diffusionが動くなら、公式に載っているコードでRedshift Diffusionを利用できます。

from diffusers import StableDiffusionPipeline
import torch

model_id = "nitrosocke/redshift-diffusion"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "redshift style magical princess with golden hair"
image = pipe(prompt).images[0]

image.save("./magical_princess.png")

ポイントは、「redshift style」をプロンプトに含むことです。
それ以外は、普通にStable Diffusionを利用するのと変わりません。

また、GPUに余裕があれば、「float16」を「float32」に変更しましょう。

初めてRedshift Diffusionを利用する場合は、モデルのダウンロードが行われます。
そのファイル容量は、全部で5.1GBほどです。

よって、ディスク容量の空きには十分に注意しましょう。
Stable Diffusionでは、モデルだけでも結構なサイズになります。

ちなみに、上記コードを実行した結果は次のような画像が生成されます。

magical_princess.png

そのままゲームに出てきそうな3Dキャラ画像になっています。

以上、Redshift Diffusionの利用方法を説明しました。
次は、Redshift Diffusionの動作検証を説明します。

Redshift Diffusionの動作検証

Redshift Diffusionの動作検証を行います。
動作確認というより、どれくらい使えるのかという側面からの検証ですね。

まずは、人物を対象にした結果を確認しましょう。

問題なく、3D風の画像になっています。
3D風というより、写真に近いです。

知らない人が見たら、ホンモノの写真だと信じてしまうかもしれません。
よって、リアルな人物画像が必要なときにRedshift Diffusionが効果的と言えます。

次も一応人物を対象にしています。
アレクサンダー大王です。

しかし、残念ながら銅像や彫刻のようなモノばかりが生成されます。
おそらく、銅像や彫刻のデータが多く存在するからでしょう。

最後は、場所を指定した場合の結果です。

redshift style, Kyoto

上記をプロンプトにして、生成した画像の一覧です。

風景は、プロンプトを工夫するよりRedshift Diffusionで一撃ですね。
ただ、世界有数の観光地であることは前提になるでしょう。

以上、Redshift Diffusionの動作検証を説明しました。

タイトルとURLをコピーしました