今回の目標
ブログを華やかにするために絵がほしいと思いました。しかし絵師さんに頼むとピンキリですが何万もかかることが判明。さすがに個人ブログにそこまでして欲しいかと言われるとちょっと腰が引けます。
しかも特段絵を載せるだけなら絵師さんを紹介すればいいだけでテックブログである私の範疇ではありません。
そこでプログラミングで何か面白いものはないかと探していたところバズっているのがNovelAIというサイトです。ここは会員制テキストtoイメージ作成サイトと言いましょうかある文字に従ってそれに相応する絵をインターネットサイトの何億という画像(以下モデル)を参考に作成してくれるサイトです。
これをフォークしたのが個人でも利用できるようにしたStableDiffusionです。NovelAIより汎用性が高く様々なモデルを利用できるようにした物です。
ただし使うにはGoogleCoraboというgoogleさんが貸して下さるサーバーを利用するか、ゲーミングPCを利用しマシンパワーで作成するという選択が主な使い方になります。
今回はこちらを使って簡単な構築を行ってその革新的な技術を垣間見てみましょう。
注意事項
革新的な技術ゆえに版権問題は常につきもののです。今回紹介するのはなるべく私個人が試した方法で紹介しますが当然ダークな世界も存在します。くれぐれもそちらの道には進まないよう注意してください。
GoogleCorabo版
StableDiffusionが作成されてからこちらを利用することを考えた人はえらいなぁと思います。
マシンパワーは絶大。かなり細かい指定もホイホイと作成できてしまいます。
作り方は以下のサイトに詳しく掲載されています。
私はcontrolnet等使いたかったので「新バージョン / Nios_v3.ipynb」を利用しています。
こちらは指定の項目を埋めつつ矢印のマークをポチポチ押していけば最後のほうでリンクが表示されます。
こちらを開いてご利用ください。後述する単語を入れて画像を生成するようになります。
メリット:
- 作成が超早い。強力なGPUのおかげ。
デメリット
- ギリギリな画像を作ると垢バンを食らう。これを食らうとそのGoogleアカウント利用停止になるかも。
自分のPCにStableDiffusionを導入する
今時のゲーミングPCのパワーを利用して作品を生成することができます。ただし以下の条件に限ります。
CPU:Intel製CPUかAMD製CPUの早いやつ。ここはそんなに厳しくありません。
MEM:最低でも16GB。これ以下だと動きません。32GBは欲しい所。
GPU:NVIDIA製4GBメモリ以上を積んだ物。早ければ早いにこしたことはありませんがメモリが肝心です。正直4GBでは使い物になりません。VRAM12GB以上の早い物を用意しましょう。例えば
のようにメモリを大きく積んだ物が必要です。
ただしですが4GBでも動作はします。現に自分のGPU
でも動きはしました。ただしちょっとしたコマンド変更は必要です。
あとはゲーミングPCにありがちな電源容量とかはそのシステムによります。
次にソフトウェアですがこれもほぼ固定です。
インストールの仕方は以下のサイトを参照してください。
ここから導入すると色々なソフトを用意しなくても、対象ドライブに一括にまとめられて便利です。
上記GPU12GBの人はそのまま進めれば問題なく動作可能ですが私のように4GB版の場合は「1_セットアップ.bat」と「2_スタート_webui-user.bat」のオプションを最初から変更しておく必要があります。
現時点での変更点を記載しておきます。
「1_セットアップ.bat」の48行目を
set COMMANDLINE_ARGS= --autolaunch から set COMMANDLINE_ARGS= --autolaunch --xformers --lowvram --precision full --no-half
「2_スタート_webui-user.bat」の48行目
set COMMANDLINE_ARGS= --autolaunch を set COMMANDLINE_ARGS= --autolaunch --xformers --lowvram --precision full --no-half
に変更しておきます。起動時のオプション指定ですね。これがないと低VRAMでは起動できません。
ただし速度を犠牲にしますのでそこはご了承下さい。
StableDiffusionの使い方
ここは英語の知識が必要とされます。すべて「プロンプト」と呼ばれる場所に文字を入れて動作させます。
左上の

を選択し

に自分が描きたい絵を英語で入力していきます。なおその下のnegative promptには表現したくない言葉を入れていきます。おおよそどのサイトでも表現には一定の言葉があって私の場合promptには
best quality, masterpiece, 1girl, high-angle
negativeには
worst quality, low quality,
を入れています。これで右上genereteを押してみて下さい。GoogleCoraboもPCも独自で作成してくれます。ちなみに私の2回目位にはこんな物が表示されました。

なんか絵師さんが作ってくれたような絵になりました。
そのほかカスタマイズ
StableDiffusionはまだ発展途上にあり色々な試行錯誤がされています。中でも私が気に入っているのはControlNetというエクステンション(拡張機能)でして、棒人形の形から絵を作り出してくれるものがあります。上記GoogleCorabo版ではすでに導入済みなので一度試してみて下さい。
例えば

これをもとにPromptも変えて生成すると・・・。

こんな感じに自由自在にポーズをとらせることが可能になります。ControlNetの導入方法はまた別の人が書かれていますので是非挑戦なさってみて下さい。
再度注意
AIは色々な場所の色々な画像を元に作成してくれます。世の中にはそれを悪用している人も散見されます。これらは非常に危険なのでGoogleCoraboではやらないで下さい。BAN食らっても私は責任とりません。また個人PCで作ったとしてもそれは個人の中に押しとどめ外部に出さないようにするのがいいと思います。注意して使ってみて下さい。
コメント