【DiffusionBee】Mac で stable diffusion を手軽に使う
stable diffusion がリリースされて以来、画像生成 AI が凄いことになってるらしい。中身の進化もさることながら、使い勝手もどんどん良くなっていって、とうとう Mac でも、普通のアプリケーションみたいに stable diffusion を使えるようになってきた。
DiffusionBee
DiffusionBee – Stable Diffusion App for AI Art
動作環境は M1、M2、インテルの CPU でも使える。メモリは 8 GB でも動くようだ。OS は、macOS 12.5.1 以上となっている。
公式によると M1 MacBook Air、メモリ 8 GB でも、30 秒ほどで画像を生成できるらしい。
あとモデルのデータが 8 GB ほどダウンロードされるので、ストレージの空きとダウンロードにかかる時間が必要となる。
モデルのデータは初回起動時におこなわれる。データの保存先は ~/.diffusionbee/
だと思われる。
2022 年 12 月現在のインターフェイスはこんな感じ。非常にシンプルだ。
いまのところ、「Text To Image」、「Image To Image」、「In-painting」「Out-painting」という機能が使える。
Text To Image
Text To Image はいわずと知れた、テキストで指示した画像を生成する機能だ。いまのところ英語でしか指示(プロンプト)を受けつけない。
英語は難しいので、Lexica とかで、作りたい感じの絵のプロンプトを借用させていただく。その英文を、DeepL翻訳:高精度な翻訳ツール など使って自分好みに編集した。
japanese girl illustration, black eyes, long hair, very beautiful face, bushy eyelashes, wearing elegant kimono, art by takato yamamoto,suehiro maruo, smooth, sharp focus, highly detailed, concept art
プロンプトについては、いろんなテクニックが追求されており、ググれば書きかたのコツが出てくると思う。
とにかくこいつで生成してみたところ、筆者の環境(M2 MacBook Air、16GB)だと、40 秒くらいで出来上がった。steps という値が、普通は 50 なんだけど、DiffusionBee ではデフォルトで 25 になっている。それが早さの秘訣のような気がする。
他のアプリケーションを終了してメモリを空ければ、もっと早くなるかもしれない。
なお、いわゆる NSFW とかいう 18 禁フィルタは設定されてないので、ローカルな環境で存分に欲望を解放できる。
なかなかいい。
いいんだけど、手と指のあたりがあやしい。AI の画像生成は手が苦手なのである。
これを In-painting で修正してみる。
In-painting
左上のメニューボタンをクリックすると、生成した画像を「Send to Inpaint」で In-painting へ送れる。
In-painting を表示するには Inpainting タブをクリックする。
マウスカーソルが十字になっており、修正したい箇所を半透明のピンク色で塗りつぶせられるようになっている。今回は手と、目もちょっと修正してみた。
プロンプトには、Text To Image で使用した文言をそのまま入力した。
これも 40 秒か、もっと早く処理が終わる。
いい感じに修正された。
ただ、頭部が切れてるのもちょっと気になる。これを Out-painting で継ぎ足してみたい。
修正された画像を、「Save Image」でローカルに保存する。
Out-painting
Outpainting タブはこんな感じ。
Add Image をクリックして、先ほど保存した画像を選択する。
プロンプトには、In-Painting の時と同じく Text To Image で使った文章をそっくりそのままコピペした。
マウスカーソルで青い四角を動かして、切れた頭を描き足してくれるくらいの高さを追加する。
Generate ボタンを押してしばらく待つと、
なんかそれっぽいのが生成された。
同じように下のほうも継ぎ足してみる。
コツとしては、プロンプトの文意に沿う位置に青い四角を配置する。この場合だと japanese girl とわかるものが青い四角内にないと、新しい japanese girl を生成してしまうのだ。UNDO ボタンもあるので、このあたりはいろいろやってみるのが良いだろう。
こんな感じになった。
Out-Painting は風景なんかで特に力を発揮する、ような気がする。
Lexica で見つけた以下のプロンプトを実行してみた。
enchanted izakaya in the night. this oil painting by the award - winning mangaka has a beautiful composition, great sense of depth, dramatic lighting and intricate details.
こんなのが出来た。
これを Out-Painting で広げてみると、
こんな感じになる。
こういう手順で作った背景に、先ほど作成した japanese girl を組み合わせたい。
と、思ったんだけどあまりうまくいかなかったので、また一から japanese girl と背景を作り直して挑戦した。
幸い、macOS Ventura になってから、プレビュー.app に「背景を削除」という便利な機能が搭載された。
japanese girl のほうは、簡単に人物だけ切り抜ける。
こんな感じ。
背景のタッチと手前の人物のタッチが違いすぎるけど、まぁひとつ、作品が完成したわけだ。これを自分の絵といい張ることは出来ないかも、だが。
Image To Image
Image To Image も試してみた。
自分で描いた絵なんかを左ペインに追加し、プロンプトを入力して、Generate をクリックする。
こんな感じに出来る。
プロンプトは、
A beautiful elf girl holding a bow, painting. seductive eyes and face, busty, perfect boobs, full body portrait, art by artgerm and greg rutkowski and alphonse mucha, smooth, sharp focus, highly detailed, concept art
とかなんとか適当に、いろんなプロンプトのやつを組み合わせた。
Generate ボタンの左にある、Options を押すと、Input Strength を変更できる。この数値が高ければ高いほど、参考として上げた画像に忠実となり、低ければ AI が奔放に振る舞い、参考画像を無視するようになる。
History
生成した画像の履歴は、History でたどれる。
絵の左上の隅にある、三本線のメニューから、対象の絵を In-painting に戻したり出来る。
delete ボタンで履歴から失敗作を消せるのだが、絵は削除されるわけではないらしい。open ~/.diffusionbee/images
などとターミナルで実行すると、delete したはずの、これまでの失敗作が見られる。
めっちゃおもろい
調子こいて画像生成していると、すぐに MacBook Air が熱くなってしまうのが難だが、それにしても面白い。つぎつぎと作りたくなってしまう。
ただ思うのは、これって作ってる方が面白いだけで、見るほうはそれほどでもないよね、ということ。「AI で頑張って作りました!」っていわれても「ふぅん」としか思わないと思う。NovelAI の美麗なえっちぃ絵だって、「こんなのに欲情させられてたまるか」みたいな抑制が働くのか、あまり興奮しない。AI すげーな、という感動はあるのに。
考えてみると不条理で、なんで肉筆だからって絵の女の子に欲情してんだろう。わいは 40 年近く、なにを見てなにをしてきたんだろう。人間が描いた絵と、AI の絵の違いはなんだ。ぬくもりか。わいはエロ絵を描いているおっさんに、ぬくもりを感じながらスケベなことしてたのか?
思索はふかまる一方なのである。
続いては invokeAI というものに、Anything-V3 というモデルを入れて、NovelAI っぽい画像を生成してみたいと思う。
最近のコメント