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 種類あり、1 つは Google の google.colab にデプロイする方法(オンライン実行環境)、もう 1 つは自分のローカルにデプロイして実行する方法です。

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

私のコンピュータは 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

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

画像拡張#

プロンプト + MASK(マスク) + 画像から画像を生成します。
一般的なシーン:ウォーターマークの除去、衣装の変更、絵の境界の拡張。


プロンプトの書き方#

キーワード#

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

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


参考資料#

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