aokirozin.com

ただの雑記帳

AIで絵を描く

Stable Diffusion

入力したテキストから画像を生成 (txt2img) したり、自分が描いた落書きの絵と説明テキストから思い通りの画像を生成したり (img2img) することができるソフトが2022年の8月に公開され話題になりました。

NMKD Stable Diffusion GUI

とはいえ、公開されたものを使って画像を生成するにはそれなりにプログラミング知識が必要なので、一般人にも扱えるようなしたソフトが NMKD Stable Diffusion GUI になります。他にも類似のソフトはありますが、代表的なものとしてこれを取り上げます。

インストール方法

システム要件

  • 64bit Windows 10/11
  • NVIDIAGPU (できればRTXシリーズ)
  • 16 GB RAM 以上
  • 3 GB VRAM 以上 (slow low-memory mode を利用する場合) または 6 GB VRAM 以上
  • 11 GB 以上のディスク空き容量 (できればSSD)

NMKD Stable Diffusion GUI のダウンロード

以下のサイトからダウンロードできます。

nmkd.itch.io

ページ上部にある「Download Now」をクリックします。

開発者さんの支援画面になります。金銭的支援をしたい場合は支払い設定に進みますが、ここでは一旦「No thanks, just take me to the downloads」をクリックしてダウンロードページに進みます。

「Download」を押してダウンロードします。

NMKD Stable Diffusion GUI のインストール

ダウンロードしたファイルは .7z ファイルなので、.7z ファイルを解凍するためのソフトを別途インストールします。ここでは7-zipというソフトを使います。

7-zip のインストール

以下のサイトから、7-zipをダウンロードしてきます (自分のWindowsに合うものをどれか1つ)。

www.7-zip.org

ダウンロードしてきた .exe ファイルを実行し、指示通りにインストールします。特にインストール時に変更する点はないです。すべてデフォルトの設定でOKです。

.7z ファイルの解凍

インストール先に直接解凍しますが、日本語のフォルダ名だったり、階層の深すぎるフォルダだったりするとエラーが起きる可能性があるので、ドライブ直下にインストールするのがよいと思われます。今回はSSDということもあり、Cドライブの直下に解凍を行います。

ダウンロードした NMKD Stable Diffusion GUI の .7z ファイルを「Shift + 右クリック」で開き、「7-Zip」→「開く」を選びます。「展開」を選びます。

コピー先 (展開先) を選びます。「...」を押して、Cドライブを選びます。コピー先が「C:\」になっていることを確認します。

「OK」を押します。

初回起動

展開先にある「StableDiffusionGui.exe」を起動します。

次の画面が表示されるので「OK」を押します。

インストーラーが表示されます。そのままで問題ないので、「Install」を押してインストールします。

インストールが終わるまで待ちます。インストーラーの画面ですべてにチェックが入った状態になればインストール完了です。インストーラーは右上の❌で閉じます。

動作確認

「Prompt (AI Inputs)」の入力欄に生成したい画像の説明を入力します。ここでは試しに「a sleeping brown indoor dog」(眠っている茶色の室内犬) と入力します。入力したら、「Generate!」を押して、画像を生成してみます。最初に生成するときは少し時間がかかります。犬の画像が生成できればうまく動作しています。

ちなみに、改行で区切って2つのプロンプトを入力すると2つの別の画像がそれぞれ出力されます。

設定項目の説明
Amount Of Images To Generate

生成枚数です。

Detail (Steps)

画像生成に費やすステップ数で多いほど結果が良くなりやすいです。当然多いほど生成に時間がかかります。初期値25。おすすめは50~100。

Creativeness (Guidance Scale)

大きいほどPromptのテキストの指示に忠実になります。大きすぎると絵にまとまりがなくなりとんでもないことになったり、小さすぎると関係のない要素が含まれやすくなります。また、この値が大きいと絵が落ち着くのに必要なステップ数 (前述) が多く必要になります。初期値9。おすすめは7.5。

Seed (Empty = Random)

Promptや各パラメータの値が同じでもSeedが異なれば異なった画像が生成されます。画像の種になる数字。空欄にしておけばランダムな値を使ってくれます。

Resolution (Width x Height)

生成画像の解像度。縦512ピクセル、横512ピクセルが初期値であり推奨値です。VRAMが8GB以下の場合は初期値よりも大きくしない方がよいです。

Sampler

画像生成は無限回ステップをこなせば最終的にはどのSamplerを使っても同じ画像になるようですが、そこに至るまでの途中経過はSamplerによって多少異なります。初期値は k_euler_a。

生成された画像の保存先

「StableDiffusionGui.exe」があるフォルダの「Images」以下になります。

生成された画像の画像データの確認

生成された画像を NMKD Stable Diffusion GUI のメイン画面にドラッグ&ドロップすると画像生成時のPromptや各種パラメータの値を確認できます。

2次元絵特化モデル (Waife Diffusion) を使う

絵を描くAIは「モデル」というたくさんの絵を学習したものを元に絵を生成します。デフォルトではいろいろな絵や写真の画像を生成できるモデルが使われるようになっているのですが、2次元の絵をたくさん学習して、2次元の絵を生成することに特化したモデルというものが世の中にはあり、それを使うこともできます。

huggingface.co

上記のページから「Float 32 Full Weights」をダウンロードしてきます。ダウンロードした ckpt ファイルを「StableDiffusionGui.exe」があるフォルダの「Data」→「models」の中に置きます (すでに既存の ckpt ファイルがあると思います)。

NMKD Stable Diffusion GUI のメイン画面の右上の歯車アイコンから「Settings」画面を開き、「Stable Diffusion Model File」から、さっき置いた ckpt ファイルを選択します。右上の❌を押して設定画面を閉じます。

「Prompt (AI Inputs)」の入力欄に生成したい画像の説明を入力します。ここでは試しに「a cute cat ear maid」(かわいい猫耳メイド) と入力します。入力したら、「Generate!」を押して、画像を生成してみます。最初に生成するときは少し時間がかかります。

自作ゲーミングPC

自作ゲーミングPCを組んだので簡単に紹介。ワークステーションやサーバーとしても使える。つよい。

コンセプト

ブルー✖️ホワイト。ケースはコンパクトで。性能は数年後でもできるだけ陳腐化しないものを。

スペック

項目 スペック
OS Windows 11 Home
CPU AMD Ryzen 5 5600X
メモリ 32GB
グラフィックス GeForce RTX 3060
ストレージ 約4TB SSD
光学ドライブ なし
無線 Intel Wi-Fi 6 AX200 (IEEE 802.11ax/ac/a/b/g/n) + Bluetooth 5.1)
有線 2.5Gbps LAN
電源 850W (80PLUS PLATINUM)

光学ドライブがないので、CDとかDVDとかBlue-rayとかを読み書きしたいときは外付けのドライブを買ってつなぐ必要があるけれど。

パーツリスト

パーツ 品名
ケース Corsair Crystal Series 280X ホワイト
マザーボード MSI MAG B550M MORTAR WIFI
CPU AMD Ryzen 5 5600X
グラフィックボード 玄人志向 GK-RTX3060-E12GB/OC/WHITE
メモリ Corsair CMH32GX4M4E3200C16W
CPUクーラー Corsair iCUE H100i ELITE CAPELLIX
グリス アイネックス JP-DX1
ストレージ WD Red SN700 NVMe WDS400T1R0C
キャプチャボード AVerMedia Live Gamer HD 2
電源ユニット Thermaltake PS-TPD-0850FNFAPJ-1
電源ケーブル 16 AWG NYLON PSU EXTENSION WHITE CONNECTOR
ケースファン Corsair LL120 RGB ホワイト
OS Microsoft Windows 11 Home 64bit 日本語

ケース

Corsair Crystal Series 280X 強化ガラス Micro ATX ケース ホワイト (CC-9011137-WW)

ケース。いわゆる見た目。背の高くないmicroATX規格のケースを探すとこれに行き着いた。しかも内側まで白に塗装してある。

マザーボード

MSI MAG B550M MORTAR WIFI

マザーボード。いわゆる基板。これにいろんなパーツを組み込む。ケースに合わせてmicroATX規格のちょっと小さいサイズをチョイス。各部位がシルバーであるのがポイント。あとはWiFiが標準装備されているのもポイント。この条件で絞ったらこれに行き着いた。

CPU

AMD Ryzen 5 5600X 3.7GHz 6コア 12スレッド (100-100000065BOX)

CPU。いわゆる中央演算処理装置。価格.comでCPU売上4位でコスパ良すぎだったので。評判も良さそうだったし。インテルよりAMDのCPUが好きなので。

グラフィックボード

GALAKURO NVIDIA GEFORCE RTX 3060 搭載 PCI-Express グラフィックボード (GK-RTX3060-E12GB/OC/WHITE)

グラボ。いわゆるGPU (画像処理装置) が載っている拡張ボード。最近無駄に高騰している。なので今回組んだパーツの中ではグラボだけなんだかグレードが1つ低い気がする。くやしい。でも白いグラボにしたかったので仕方ない。

メモリ

Corsair VENGEANCE RGB PRO SL 32GB (4x8GB) DDR4 DRAM 3200MHz C16 メモリキット ホワイト (CMH32GX4M4E3200C16W)

メインメモリ。いわゆる作業机の広さ。主流は8~16GBだが将来を見据えて32GBにした。LED付きで外装が白いやつを選んだ。

CPUクーラー

Corsair iCUE H100i ELITE CAPELLIX 水冷式CPUクーラー ホワイト (CW-9060050-WW)

CPUクーラー。CPUを冷やす装置。今回はケース内部をスッキリさせたいので水冷を選択。これもLED付き、かつホワイトのものをチョイス。

グリス

アイネックス ナノダイヤモンドグリス JP-DX1

グリス。CPUとCPUクーラーとの間の伝熱をよくするためのグリス。そんなに高いものじゃないから少しでも性能の良いものにしといた。

ストレージ

Western Digital WD Red SN700 NVMe WDS400T1R0C

ストレージ。いわゆる棚の大きさ。保存容量。ゲームやるんだったら2TBじゃ心許ない気がする。かといってストレージを2つ付けるのも主義に反するので大容量ストレージを付けることにした。めちゃくちゃ割高になった。というかめちゃくちゃ品薄だった。

キャプチャボード

AVerMedia Live Gamer HD 2

キャプチャボード。HDMIの信号をPCに取り込むやつ。これは必須じゃない。付けなくても良かったんだけどあったら面白いから付けといた。1080pまでの解像度まで。さすがに4K対応じゃない。パススルー対応で遅延なしで出力もできる。

電源ユニット

Thermaltake PS-TPD-0850FNFAPJ-1

電源ユニット。コンセントからの交流電源を直流電源に変換するユニット。出力パワーは850Wにした。たぶんパワーだいぶ余った。白色の電源もあったけど、この電源は余力あるときはファンが止まるらしいからよし。あと寸法もコンパクトだったのと電源効率もいいやつだった。それと必要なケーブルだけ差して使えるフルプラグインタイプってのも重要だった。ごちゃごちゃしなくていい。

電源ケーブル

EZDIY-FAB 16 AWG NYLON PSU EXTENSION WHITE CONNECTOR

電源の延長ケーブル。電源ユニットに付属しているケーブルは黒なので白いケーブルで魅せたかったので購入。但し延長ケーブルしかこの世には存在しなかった模様。30cm延長させた。ケーブル自体を光らせるものもあったけれどくどいので却下。

ケースファン

Corsair LL120 RGB 3Fan Pack with Lighting Node PRO ホワイト

Corsair LL120 RGB Single Pack ホワイト

冷却ファン。CPUクーラーに2個付属していたけれどなんとなく全部統一しておきたかったので4つ購入。たぶん両方とメーカーはコルセアだし統一しなくても大丈夫だったかもしれない。気持ちの問題。

OS

Microsoft Windows 11 Home 64bit 日本語

オペレーティングシステム。Windows11。Windows10と迷ったけれどWindows11でもゲーム大丈夫そうだったので新しい方にした。

以上をドライバーを使ってマザーボードに組み込んでOSをインストールして終わり。ただし電源ケーブルの取り回しは少し苦労した。あ、そのあとドライバをインストールしないと。

フィットボクシングとメンヘラとタンパク尿

経緯

Nintendo Switch の Fit Boxing を買ったので張り切って1時間くらい全身運動したあと1時間後くらいにトイレに行ったら真っ白い尿が出たのでさすがにヤバすぎだなと思って泌尿器科に行きました。1月に受けた健康診断でもタンパク尿が出ていたのだけど血液検査の腎臓機能の値は正常なので特に引っかかっていない (健康診断の結果も持っていった)。超音波検査もしてもらったけど何の問題もなくて、結果として問題なしでした。Fit Boxing も推奨でした。

タンパク尿が出たわけ

いま飲んでる向精神薬、特に抗うつ薬抗不安薬睡眠薬が尿の排出障害を起こしやすいらしく、要するに残尿が起こるらしい。そうすると膀胱内に細胞とかの新陳代謝で生じたカスのようなものが排出しきれずに蓄積されてしまう。これが運動をすることで膀胱内でかき混ぜられて次にトイレに行ったときに一気に排出されるらしい。逆に運動した方がいいかもねって言われた。なるほどとても論理的な説明だった。メンタルヘルスとタンパク尿が関わっているのは初耳で興味深かった。さすが博士号を持っている医師だった (医師はドクターだけど博士号 (ドクター) 持っているドクターと持っていないドクターがいるのだよ)。運動性蛋白尿ってやつかと思っていた。

やはり原因不明

今日は病院で採尿するだろうから、タンパク尿を出してやろうと思って、Fit Boxing してから病院行ったのにタンパク質が検出されなかった。それは、もう1週間近く運動しているから膀胱内の蓄積物が全部排出されてしまったからなのかと診察の時は納得いってしまっていた。でも、このエントリーを書く前、トイレに行ったらなぜかタンパク尿が出ました。結局原因不明、不定期に若干濁った尿が出るわけだ。でも泡だったりはしない。そうすると、膀胱内不要物沈殿説もまだあり得るのか?なぞ。姿勢か?体勢を変えると膀胱内がかき混ざるとか。

結局謎だが、血液検査の腎臓機能の値を見るかぎり、また超音波検査もして膀胱とか腎臓とか前立腺の像も見てもらったけど異常なしで健康体でした。薬ももらわなかったです。

カメラが欲しいがお金がないから我慢する!!

今メインで使っているニコンのZ6というミラーレス一眼はオートフォーカスが10年前のD700に比べてとにかく遅いのでめちゃくちゃストレスフルなのだ。あと全体的に動作がもっさりなのもストレス。久しぶりに一眼レフのD700を使うとサクサクすぎて最高すぎる。

そんな中、ニコンからZ9とかいうプロ機が登場したわけで、早速触ってきたら、ほぼサクサクでした。めちゃくちゃ欲しいです。

でもアマチュアが使うにはいろいろオーバースペックなので、Z9の機能をそぎ落としてアマチュア用に下ろした機種を待ちますか。でも昨今、半導体不足でカメラの生産がめちゃくちゃ遅れているみたいなので、2024年くらいでお願いします。カメラ貯金しておきます。

とは言ったものの、よ~~く考えると、今持ってるZ6で十分なのでは?という気がしてくるわけで。我慢すればいい気もする。自分が納得すれば。

どっちにしても今年は無駄金遣わないのが目標なのでカメラ買うことはないです、我慢します。

無題

文章力のリハビリをするのでブログ作った。たぶん三日坊主。

そういえば昔、nowaっていうライブドアが運営していたTwitterとブログを組み合わせたようなサービスが存在していてかなり面白かったがなくなってしまったのを思い出した。