流行りのStable DiffusionをM1 MacBook Airで遊んでみた

先週GitHubに公開されてから一気に流行っているAIお絵描きStable Diffusion。ツヨツヨなGPUを搭載しているPCを持っていなくても、M1 MacBook Airで遊べるみたいだったのでトライしてみた。一週間暇な時に色々と絵を描かせてみての感想をメモ。

使用環境

今回使用したのは以下の環境。特筆することのない平凡な最新バージョンのOSをインストールしたマシン。

  • M1 MacBook Air
  • 16G
  • macOS 12.5.1

この環境で最初のサンプル(6枚画像が生成される)に約50分ほど時間がかかる。お世辞にも速いとは言えない…。しかも、真っ黒な画像が生成されたり、エラーで止まったり色々と難ありな状態だ。

インストール

Stable Diffusionをインストールするのに必要なソフトは以下の通り

  • Anaconda
  • Rust
  • git-lfs

Stable DiffusionはAnacondaで提供されているのでまずはそれが必要。そしてAnacondaで環境をビルドするのにRustも必要になるのでそれもインストールしておく。最後にデータをダウンロードするのにgit-lfsが必要になる。

それぞれ以下のコマンドでインストールした。

$ brew install anaconda
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ brew install git-lfs

以上を揃えて後はStable-Diffusionのページの指示に従うだけ。

https://github.com/CompVis/stable-diffusion

しかし(自分がトライした当時は)M1 Macでは少し違うやり方が必要だった。PyTorchのNightlyバージョンを使って更にコードを少し書き換える必要があった。詳細は下記のコメントが詳しい。(多分今はもっと簡単にインストールできるようになっているのではないだろうか?)

https://github.com/CompVis/stable-diffusion/issues/25#issuecomment-1224040740

コメントの通りにAnacondaで環境をビルドできたら、後はデータをダウンロードしてリンクを張れば出来上がり!

早速試してみた最初の画像がこれ。

(ldm) paraches@m1 stable-diffusion % python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms

生成された絵

幾つか紹介。使用したpromptは全て英語で作成している。

これは「湖の中の佐清」というお題で出てきた絵。当たり前だが湖から足がにょきっと生えている画像にはならなかった。が、佐清という名前からか古い白黒写真という感じに仕上がっている。

これは「筋肉質な日本人の闘うヒロイン」。昔の香港クンフー映画に出てきそうな人が生成された。ちなみに一度に6枚の絵が生成されるのだが、4枚が同じ顔?の人で2枚は謎の浮世絵っぽいものになった。

これは「森の中にいる紫の鎧を着て三日月斧を持ったエルフのヒロイン」。森の中と紫の鎧とヒロインは通じたっぽい。というか、なんとなくエルデンリングのメリナ感が。この絵はまともな方だが、人の顔を上手に描くのが難しい。左右の目が違う人のをくっつけたようになることが多い。

これは「東京スカイツリーとゴジラと三日月」。スカイツリーがギリギリ端っこに登場。ゴジラはサイズ感が…。というか映画のポスター的な感じか。三日月、惜しかったな〜

これは「猫を抱いた日本人女性が秋の湖の前に立っている写真」。正直これを見た時はドキっとした。前にも書いたように顔を上手に描かせるのが難しいのだが、それを写真でやるとかなりおかしなものになる。が、それでもこれまではそこそこな感じになっていたのがこの画像を見て怖くなってしまった。心霊写真ではないがそんな感じを受けてしまったのだ。これ以降、写真はやめて絵を量産している。

心霊写真が生成されないように、以下は「暖炉の前で魔女が猫を抱いて立っている」絵を生成してみた。

同じ題材で有名な画家さんに頼んで描いてもらった。

どれもリクエストに近い絵を選んで載せているが、なんでそんな構図に?という画像もそこそこ生成される。そのあたりは画家の有名な絵の構図に引き摺られている感じがする。しかし、絵全体の雰囲気としてはそれぞれの画家の特徴を良く捉えていると思う。

日本語での指示

ところで、日本語でもそこそこ指示できるという話なので「暖炉の前で魔女が猫を抱いて立っている」をやってみたが、どうにもアニメな絵が出てきてしまう。(写真とすれば違うのだろうけど)

更にお題はあまり再現されず、少女とギリギリ猫っぽいものがいる画像になる。

そしてここで驚いたのがたったの12枚しか生成していないのに、2枚ほど肌色画像っぽいものが生成されてしまった。アニメと言えば肌色画像というベクトルがあるのだろうか?

最後に

Stable-Diffusionで誰でも手軽に自分のPCでAIでの画像生成が可能になった。まだまだ指示が下手で思うような画像を生成できないが、あっと言う間にもっと簡単に思うような画像を生成できるものがリリースされるだろう。その時はまた非力な我が家のM1 Macで試してみたい。

ところで、今はM1 Macが暇な時に自動で適当な画家さんに幾つかのシチュエーションの絵を描いてもらっている。そしてそれを暇な時につらつらと眺めているのだが、これが結構楽しいし気分転換になる。大きな画面でスクリーンセーバーにするとちょっとやそっとのおかしな点も気にならないのでオススメです。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)