Stable Diffusion

【Stable Diffusion】自分だけのLoRAの作り方~その1

2023年10月8日

LoRA(Low-Rank Adaptation)はAIの追加学習ツールで、自分の好みの画像を学習データとしてAIを再学習させることができます。自分で作成した『Lora』を使用することで、特定のイラストのスタイル調整や、特定の人物やキャラクターで画像を生成することができるようになります。

好きな人物の画像を生成することも可能ですが、著作権や肖像権の問題には十分注意が必要です。
有名人やキャラクターの画像を学習させる場合は、公開せず、私的利用に限定してください。
LoRAに限らず、生成した画像全般についても同じ注意が必要です。

『Lora』モデルの特長

LoRAモデルとは、AIが生成する画像をより詳細かつ特定のスタイルに合わせて改良するための技術です。この「低ランク適応(LoRA)」技術は、AI画像生成モデルを素早く、そして効果的に調整することを可能にします。この調整により、AIは特定のキャラクターやアートスタイル、あるいは特定のテーマに基づいた画像をより正確に作成できるようになります。

たとえば、ある特定の漫画のキャラクターや有名な画家の画風を模倣したい場合、LoRAモデルを使用することで、AIはその特定のスタイルや特徴を捉えた画像を生成することができます。LoRA技術は、AIが一から学習するのではなく、既存のモデルを特定の方向に「微調整」することに重点を置いています。これにより、時間とリソースを節約しつつ、多様なビジュアルスタイルやテーマに対応するカスタマイズされた画像生成が可能になります。

簡単に言えば、LoRAモデルはAIに「特定のスタイルの言語」を教えるようなものです。これにより、AIはその言語を理解し、そのスタイルやテーマに応じた画像を作り出すことができるのです。

Loraモデルの種類

LoRAモデルは、AI画像生成において特定のニーズに対応するために開発された複数のモデルがあります。ここではそれぞれの種類をより具体的に分かりやすく解説します。

  1. キャラクターLoRA: このモデルは特定のキャラクターを生成するために使用されます。例えば、漫画やアニメ、ビデオゲームの特定のキャラクターのスタイルを模倣し、そのキャラクターに似た画像を生成するのに適しています。

  2. スタイルLoRA: このモデルは特定の芸術家のスタイルや一般的な芸術的なスタイルを模倣するために使用されます。例えば、印象派の画家のスタイルを再現するために使用されることがあります。

  3. コンセプトLoRA: 特定の概念やアイデアに焦点を当てた画像を生成します。たとえば、「未来都市」や「和風の風景」といった特定のテーマに基づいて画像を生成する場合に役立ちます。

  4. ポーズLoRA: このモデルはキャラクターを特定のポーズで生成するために使用されます。例えば、特定の動きやアクションをしているキャラクターを描くのに適しています。

  5. 服装LoRA: キャラクターの服装やアクセサリーを特定のスタイルで生成するために使用されます。これにより、キャラクターにさまざまなファッションやアクセサリーを着せることができます。

  6. オブジェクトLoRA: 物体やアイテムを生成するために特化したモデルです。家具、植物、車など、特定のオブジェクトのスタイルに焦点を当てた画像生成が可能です。

これらのLoRAモデルは、AIを用いて特定の視覚的要素やスタイルに特化した画像を生成することを可能にします。それぞれのモデルは特定のタイプの画像生成に特化しており、アーティストやデザイナーが独自の創造的なビジョンを実現するのに役立ちます。

Loraモデルの使用方法

LoRAモデルを利用する方法は、以下のステップで分かりやすく説明できます。これにより、AIを使った画像生成において、特定のスタイルやテーマに合わせたカスタマイズが可能になります。

  1. LoRAモデルのダウンロード:

    • まずは、インターネット上のオープンソースリポジトリから、希望するLoRAモデルをダウンロードします。これらのモデルは無料で公開されており、様々なスタイルやテーマに特化したものが用意されています。具体的には、civitaiのHPでダウンロードできます。
  2. LoRAモデルのインストール:

    • 次に、ダウンロードしたLoRAモデルを、AI画像生成用のソフトウェアにインストールします。例えば、「Automatic1111」の場合では、models/loraフォルダにLoraファイルを保存することで、LoRAモデルを利用できるようになります。具体的な手順については本記事の後半に記載がありますので参考にどうぞ。
  3. LoRAモデルの使用:

    • インストールが完了したら、LoRAモデルを使用して、AIアートを生成します。Automatic1111 WebUIのようなインターフェースでは、モデルを選択し、生成したい画像のパラメータを設定します。例えば、特定のキャラクタースタイルやポーズ、スタイルなどを指定することができます。
    • その後、AIに画像の生成を開始させます。プロセスが完了すると、指定したスタイルやテーマに合わせたカスタマイズされた画像が生成されます。

このプロセスにより、LoRAモデルを活用して、独自のビジュアルスタイルやテーマを持つAI生成画像を作成することができます。特にアーティストやデザイナーにとって、この技術は創造的な表現の幅を広げる大きな可能性を持っています。

Loraモデルの活用例

LoRAモデルの応用は、AIによる画像生成の分野で広く使われており、さまざまなシナリオでその価値を発揮します。以下に、LoRAモデルがどのように応用されるか、具体的な使用例を挙げて説明します。

  1. キャラクターデザインの強化:

    • LoRAモデルは、特定のキャラクターやスタイルを持つキャラクターの生成に使用されます。例えば、ゲーム開発者やアニメーションクリエイターが、独自のキャラクターデザインを迅速かつ効果的に作成するために利用できます。
  2. アートスタイルの模倣:

    • 特定の画家や芸術運動のスタイルを再現するために、LoRAモデルが使用されることがあります。これにより、アーティストはインスピレーションを得たスタイルで新しい作品を創出することができます。
  3. テーマに基づく画像生成:

    • 特定のテーマやコンセプトに沿った画像を生成する際にもLoRAモデルが役立ちます。例えば、特定の時代背景や文化的要素を含んだ画像を生成することが可能です。
  4. カスタマイズされたビジュアルコンテンツの作成:

    • LoRAモデルは、ウェブデザイン、広告、マーケティングなどで、特定のブランドイメージやメッセージに合わせたビジュアルコンテンツを作成するのに適しています。
  5. 教育用ビジュアルエイドの生成:

    • 教育分野においても、LoRAモデルは歴史的な場面や科学的な概念を視覚化するために使われます。これにより、教材がより魅力的で理解しやすくなります。
  6. 個人的な創作活動:

    • 趣味でアート作品を作る個人も、LoRAモデルを使用して、独自のアイデアやビジョンに基づいた作品を創出できます。

LoRAモデルの応用は、これらの例に限らず、創造的な活動の幅広い分野で可能性を秘めています。特に、画像生成のカスタマイズ性と精度を高めたい場合に、この技術は大きな助けとなるでしょう。

LoRAの作り方

Loraの作り方ですが、Stable Diffusionの拡張機能である「sd-webui-train-tools」を使って作成します。

これを使うことで、画像調整やタグ付けなど面倒な操作をすることなく、20枚程度の画像をドラッグ&ドロップするだけでLoraを作成することができます。

「sd-webui-train-tools」のインストール方法

Stable Diffusion WebUIを起動します。
「Extensions」タブを選択し、「install from URL」タブをクリックします。
URL for extension's git repositoryに「https://github.com/liasece/sd-webui-train-tools」と入力し、Installボタンをクリックするとインストールされます。

Stable Diffusion WebUIを再起動し、「Train Tools」というタブができていれば完了です。

LoRAの作り方( sd-webui-train-tools の使い方)

「Train Tools」を選択し、「Create Project」をクリックします。

Project nameを付けます。

同様に「Create Version」を選択し、Version nameを付けます。
ここでは「自作LORA」としましたが、ここで日本語を入れると後々の操作がうまくいかなくなるのですべてアルファベットまたは数字にしてください。

次に、学習データとして画像を10枚~20枚程度用意します。枚数が増えると学習時間も伸びます。
Upload Datasetにファイルをまとめてドロップします。

「Update Dataset」をクリック。

すると、左側に画像データが表示されるようになります。

続いて、LoRAファイルに作成に必要なパラメータを設定していきます。

Train base model:学習で使用するモデルcheckpoint)を選択します。学習させる画像の種類が実写系であれば、実写系のモデルを選択しましょう。

Clip skip:アニメイラスト系のモデルを使う場合は2が推奨されています。実写系のモデルを使用する場合は1と2をそれぞれ試してみて、結果が良かった方を選択してください。

Save every n epochs:何エポック毎にLoraとして保存するかを設定します。
(繰り返し回数)×(学習画像の枚数)が1エポックです。

Batch size:大きいほどLoraファイルの生成速度は上がりますが、VRAM使用量も増えます。とりあえず初期設定の1で良いと思います。

Number of epochs:学習の総エポック数を設定します。
(繰り返し回数)×(学習素材の枚数)×(エポック数)が最終的なsteps数となります。

Optimizer type:AdamWや初期設定のLionを使うのが一般的です。

Generate all checkpoint preview after train finished:特に必要が無いのでチェックを外して問題ないと思います。

「Begin Train」を押すと、Loraの学習がスタートします。学習にはかなりの時間を要します。RTX3090で36枚の画像を学習させた時には30分程度かかりました。お使いのグラフィックボードによって学習に要する時間はかなり違ってくると思います。

学習が終わると、「stable-diffusion-webui\outputs\train_tools\project\(設定したLora名)\versions\(設定したバージョン名)\trains」の中に、Loraファイルが保存されます。


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

GG-RTX3060-E12GB/OC/DF GALAKURO GAMING
価格:39,970円(税込、送料別) (2024/1/9時点)


作ったLoRaでの画像生成の方法

作成したLoRaファイルのLoraフォルダへの保存

作成したLoRaファイルは先ほどのフォルダの中にある「〇〇〇.safetensors」というファイルです。このままではLoRaによる画像生成はできないので、適切なフォルダへ保存しなおす必要があります。

上記のLoRaファイル(「〇〇〇.safetensors」)をコピーして、「stable-diffusion-webui/models/Lora」フォルダ内にも保存します。

プロンプトにLoRaを反映させ画像を生成する

ネガティブプロンプトの下にLoraタブがあるのでここをクリックします。
次にRefreshボタンを押してください。
そうすると作成したLoRaファイル(名前は作成時のプロジェクト名)が出てくるのでクリックします。

そうするとプロンプト欄に<lora:〇〇:数字>という表記が出てきます。
Generateを押すとLoRaを反映した画像が生成されます。数字を大きくするとLoRaを強く反映します。あまり大きすぎると破綻し始めます。
それぞれの条件によっても違うとは思いますが、私が作ったLoRaでは0.2~1.3くらいの範囲に最適なポイントがありました。
どのcheckpointを選択するかによっても作成したLoRaの反映のされ方は異なるのでいろいろ試してみるのが良さそうです。

Stable Diffusion

2024/2/25

Stable Diffusion Upscalerを使いこなそう!初心者向けの簡単スタートアップガイド

画像品質は、デジタル時代におけるコンテンツの鍵となる要素です。特にAIによって生成される画像は、その鮮明さとディテールが求められます。しかし、多くのAI生成技術、特にStable Diffusionは、標準的な解像度では限界があります。ここでAIアップスケーラーの役割が重要になります。この先進的なツールは、低解像度の画像を高品質の作品へと変換する力を持っています。 本記事では、AIアップスケーラーの必要性、機能、そしてその使用方法について詳しく説明します。また、ESRGANのようなAIアップスケーラーがど ...

ReadMore

Stable Diffusion

2024/2/24

CFGスケールとは何か? - 初心者向けに解説するStable Diffusionの基本

CFGスケール(Classifier Free Guidance Scale)は、近年話題のStable Diffusionという画像生成モデルにおいて重要な概念です。このスケールは、生成される画像がどの程度入力されたプロンプトや画像に忠実になるかを決定するパラメータです。しかし、このCFGスケールをどのように理解し、最適に使用するかは初心者にとって少々難しいかもしれません。本記事では、CFGスケールの基本的な役割とそれを最適に調整する方法について、初心者でも理解しやすいように丁寧に解説していきます。 C ...

ReadMore

Stable Diffusion

2024/1/17

Clip Skipのマスターガイド: Stable Diffusionでの画像生成の最適化

Clip Skipとは Clip Skipは、Stable Diffusion(1.xモデル)のテキスト埋め込み層であるCLIPモデル(1.xモデルに存在)の一部のレイヤー(層)を生成過程でスキップする機能です。これにより、画像のレンダリングも速くなり、ユニークで素早く生成される画像が得られます。Stable DiffusionのCLIPモデルは異なる情報を含む12の層から構成されており、各層は前の層よりも具体的な情報を持っています。そして、プロンプトの基本的な理解からより具体的な詳細まで、生成される画像 ...

ReadMore

Stable Diffusion

2024/1/15

【Stable Diffusion】画像をプロンプトとして使うIP-Adapterの活用ガイド

IP-Adapterとは何か IP-Adapterは、イメージプロンプトアダプターの略で、コントロールネットの新しいモデルです。従来のテキストベースのプロンプトに代わり、画像をプロンプトとして使用することで、画像生成や変更をより直感的かつ詳細に行うことができます。この技術により、クリエイティブな画像生成が可能になり、新たな表現の幅が広がります。 IP-Adapterの使い方 IP-Adapterの使用方法は比較的簡単です。まず、対応するコントロールネットをアップデートし、IP-Adapter用のモデルをダ ...

ReadMore

Stable Diffusion

2023/12/21

服装に関する参考プロンプト一覧

Stable Diffusionのプロンプトとは? Stable Diffusionプロンプトとは、画像生成AIであるStable Diffusionで画像を生成するために使用する、自然言語で記述された指示です。プロンプトは、画像の題材、構図、雰囲気など、生成したい画像の特徴を記述します。 服装のプロンプト プロンプト日本語意味DressドレスMiniskirtミニスカートMaxiskirtマキシスカートA-line skirtひざ丈のAラインスカートPencil skirtペンシルスカートSkortスカ ...

ReadMore

-Stable Diffusion