banner
lMingyul

lMingyul

记录穿过自己的万物
jike
twitter
github
bilibili

Stable Diffusion の学習を始める

普段、記事を書く際に画像が必要なので、Stable Diffusion というオープンソースの AI 絵画ツールを学んで記録することにしました。

Stable Diffusion とは#

Prompts(プロンプト / 説明)を通じて、テキスト情報を画像情報に変換します。

Stable Diffusion(SD)は、オープンソースの AIGC 絵画大モデルで、オープンソースであり、速度が速く、更新が迅速です。

使い方#

GUI のインストール#

使いやすくするために、まず SD の WebGUI をインストールする必要があります。
インストールリンク:https://github.com/AUTOMATIC1111/stable-diffusion-webui
インストールは 2 種類あり、一つは Google の google.colab にデプロイする方法(オンライン実行環境)、もう一つは自分のローカルにデプロイして実行する方法です。

ローカルインストール手順#

私のコンピュータは Mac で、Apple Silicon チップを使用しているため、以下の手順はこのタイプの機械の参考用です。

新規インストール
以前にインストールしたことがない場合は、Homebrewを使用してインストールできます。

Homebrew がない場合は、ターミナルにこのコマンドを入力してインストールできます。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

WebUI をインストールする前に、まず実行環境を準備するためにターミナルを開きます。
1. Python 3.10 以上のバージョンをインストール

2. GitHub リポジトリから WebUI のコードを取得

コードを取得することで、SD をより便利にリアルタイムで更新し、最新の機能を使用できます。

任意のディレクトリで、以下のコマンドを実行します。

取得後のディレクトリはこのようになります。

CleanShot-2023-07-16-15-15-29@2x

3. Stable Diffusion モデルをダウンロード
私がダウンロードしたのは、現在比較的新しいモデルである 2.1 バージョンです。モデルの一般的な形式はckptsafetensors形式で、ダウンロード先は:https://huggingface.co/stabilityai/stable-diffusion-2-1

CleanShot-2023-07-16-15-38-57@2x

CleanShot-2023-07-16-15-40-24@2x

ダウンロードしたモデルを、先ほど取得した WebUI のstable-diffusion-webui/models/Stable-diffusionディレクトリに置きます。

v2.1 バージョンには設定ファイルも必要なので、設定ファイルのダウンロード方法は以下の通りです:
ダウンロード先:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon#downloading-stable-diffusion-models

キーボードの option キーを押しながら、マウスでhereをクリックしてダウンロードします。
CleanShot-2023-07-16-15-46-01@2x

ダウンロードしたファイル名はv2-inference-v.yamlです。
次に、このファイルの名前を変更し、ダウンロードしたモデルの名前と一致させる必要があります。私がダウンロードしたモデル名はv2-1_768-ema-pruned.ckptなので、設定ファイル名はv2-1_768-ema-pruned.yamlに変更する必要があります。

CleanShot-2023-07-16-15-59-12@2x

4. スクリプトを実行して Web UI を起動

スクリプトの実行中に、必要な依存ファイルが自動的にダウンロードされます。時間がかかるので、辛抱強く待ってください。おおよそ 30 分から 2 時間かかります。

CleanShot-2023-07-16-16-09-54@2x

アクセスアドレスが表示されるまで成功です:http://127.0.0.1:7860/
成功した後は、ターミナルを閉じたり停止したりせずに、そのままブラウザでこのアドレスにアクセスしてください:http://127.0.0.1:7860/

CleanShot-2023-07-16-16-58-02@2x

CleanShot-2023-07-16-17-04-10@2x

今後は毎回webui.shスクリプトを実行するだけです。更新したい場合は、ルートディレクトリでgit pullを実行すれば大丈夫です。

特殊な状況の処理#

画像生成を実行する際に、以下のエラーが発生することがあります:

もし同じエラーが発生した場合は、次のように解決できます:
ルートディレクトリにあるwebui-user.shファイルを開き、COMMANDLINE_ARGSパラメータを次のように変更します:

CleanShot-2023-07-16-21-31-09@2x

  • 再度./webui.shを実行します。
  • 最後に、設定の中の Stable Deffusion -> Upcast cross attention layer to float32 にチェックを入れれば正常に動作します。

CleanShot-2023-07-16-21-34-06@2x


最初の絵を描く#

テキストから画像を生成#

絵を描く前に、まずこのインターフェースの各部分が何であるかを理解します。

CleanShot-2023-07-16-17-15-13@2x

インターフェースで比較的重要なパラメータ

  • ステップ数(Sampling steps): このパラメータは時間と効果に影響し、通常は 30 程度に設定します。主にノイズ除去の程度を制御します。
  • シード(Seed):画像の内容を決定し、主に画像の反復時のランダムノイズに影響します。
  • CFG スケール:画家の自由度を決定します。
    • 2〜6:ランダム生成で、基本的にプロンプトに従わない。
    • 7〜10:最も一般的な設定で、良いバランスがあります。
    • 10〜15:プロンプトが非常に良く、具体的である必要があり、10 以上では飽和度が高くなります。

画像から画像を生成#

プロンプト + 画像に基づいて画像を生成します。

CleanShot-2023-07-16-17-33-57@2x
同様に、このインターフェースのいくつかの設定を見てみましょう。ページの下にスクロールすると設定エリアがあります。
CleanShot-2023-07-16-17-50-33@2x

画像生成の最も一般的な用途は:画像のスタイルを変換することです。

画像拡張#

プロンプト + マスク + 画像に基づいて画像を生成します。
一般的なシーン:ウォーターマークの除去、衣装の変更、画像の境界の拡張。


プロンプトの書き方#

キーワード#

異なる特性はカンマで区切る#

image

類似の特性は | で区切る#

image

重みの調整#

特定の特性の画面内での比率や重みを調整したい場合は、次のように調整します。
(プロンプト:重み数値)

  • 数値 < 1 :重みを減少させる
  • 数値 > 1 :重みを増加させる
image

グラデーション効果#

画面にグラデーションを持たせたい場合は、次のようにします:
[キーワード 1: キーワード 2: パーセンテージ]

image

交互融合#

画面の半分にこのスタイル、もう半分に別のスタイルを持たせたい場合は、次のようにします。
[キーワード | キーワード]

image

効果の強化#

高品質のキーワードを追加します。例:best quality、masterpiece

image 画面が非常に鮮やかになったことがわかります。

逆の言葉を追加#

一般的に使用される逆の言葉:

  • nsfw: 性的暴力的な
  • bad face : 悪い顔

形態の強化#

画面全体の形態を強調することを制御します。例:**full body shot(全身ショット)** など。

    • cinematic lighting(映画の光)
    • dynamic lighting(動的光)
  • 視線
    • looking at viewer
    • looking at another
    • looking away
    • looking back
    • looking up
  • 画風
    • skatch
  • 視点
    • dynamic angle
    • from above
    • from below
    • wide shot
image

ChatGPT との組み合わせ#

CleanShot-2023-07-16-22-52-49@2x

image


上級プレイ#

異なるモデル#

市販されている人々がよく使用するモデル:

これらのモデルをダウンロードして、stable-diffusion-webui/models/Stable-diffusionディレクトリに置き、ページのモデル選択の隣にあるリフレッシュボタンをクリックすれば、これらのモデルを使用できます。

CleanShot-2023-07-17-00-12-22@2x

CleanShot-2023-07-17-00-18-28@2x


参考資料#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。