SamSuka
スタジオ真榊
スタジオ真榊

fanbox


コピー機LoRA法が超進化!CoppyLoRA「v2」大検証

こんにちは、スタジオ真榊です。今回は、2024年11月6日に公開されたコピー機LoRA簡単作成アプリ「CoppyLoRA webUI v2」についての検証記事です。前回の「v1」から大幅にできることが拡大しており、まさにこういう機能が欲しかった!という革新的なアップデートになっています。(※v1同様、開発者であるとりにくさんのFANBOX支援者向け限定公開となっています)


前回のv1解説はこちらから。

自分LoRAで画風を統一!「CoppyLora webUI」の基本と応用

こんばんは、スタジオ真榊です。こちらは、AIアプリ開発者のとりにく(@tori29umai)さんがFANBOXで配布されているかんたんLoRA作成アプリ「CoppyLora webUI」の紹介・検証記事です。AI絵を自分のタッチに近づけたり、AI-Assistantでオート線画化・オート着色する際により自分らしい絵に仕上げてもらったりと、初心者で...


v1では茶髪の女の子(ベース1girlちゃん)と、それをスタイルチェンジした画像との「差分」をAnimagineXL3.1用LoRAとして抽出する仕組みだったわけですが、今回の「V2」では、好きなモデルをベースにして、あらゆる画像2枚の組み合わせで差分抽出ができるようになりました。それぞれのキャプションも指定できるようになったので、「ある概念をどう描いてほしいか」、的確に追加学習させることが可能になっています。

この記事では、V2の導入と基本操作から、こうした新機能によってできるようになったこと(例えば、部位ごとのLoRAを作りやすくなったことや、そうして作ったLoRA同士のマージ、自分で一番自分らしくできたと思う過去作品からの画風抽出・再現など)について、実験を通じて詳しく検証していきたいと思います。


目次

CoppyLora webUI V2を導入しよう

【理論編】コピー機LoRA法って何だっけ?

  【"マスピ顔"がないモデルはベースに不向き?】

「V2」の革新的ポイントとは

  ①どんなモデルでも簡単に差分LoRAが作れる

  ②好きな画像の組み合わせでさまざまな種類のLoRAが作れる(重要)

  ③複数のCoppyLoRAをマージして、狙ったLoRAを作れる

  ④「ADetailer用LoRA」を作れる

【実践編】CoppyLoRAの作り方

  ①SimpleTrain(シンプル学習)モード

  ②DetailTrain(詳細学習)モード

手順1.ベースモデルを選ぶ

手順2.入力する画像のペアを用意する

  <画像のペアはどうやって作ればいい?>

手順3.画像を加工してみよう

手順4.キャプションを入力する

【検証編】「丸デカエルフ耳LoRA」を作ろう

  第1実験「pointy ears同士で差分を取る」

  第2実験「通常の耳と差分を取る」+トリガーワード有

  第3実験:学習画像を見直す

ベースモデルの学習内容に邪魔させないためには?

【検証編】「画風LoRA」学習実験

終わりに



CoppyLora webUI V2を導入しよう

まずはCoppyLora webUI V2をローカル環境に導入していきましょう。詳しい公式解説は下記リンクから。この記事ではこれまでと同じローカル版で検証を行いますが、GoogleColab版も用意されていますので、それぞれの環境に合わせて選択してください。

(frame embed)



V1環境が既にインストール済の方も多いと思いますが、その環境をそのままV2へアップデートすることはできないため、別フォルダに新たにインストールすることになります。ストレージを圧迫するようならV1を削除してもよいかと思いますが、中にある「Output」フォルダにV1で作った大事なLoRAが置きっ放しになっている方はバックアップしておきましょう。


こちらが導入ファイルの限定公開FANBOXです。ローカル環境にインストールする場合は「ビルド済みファイル」の方をDLして解凍します。

CoppyLora_webUI_V2公開



<利用規約>

利用規約は以下の通り。(公式note:https://note.com/tori29umai/n/nf6110b60ad99 より引用)


(以下引用)

ユーザーは、このソフトウェアを適切に利用し、法的な規制や他人の権利を侵害しないように注意する必要があります。ソフト開発者は、ユーザーがソフトウェアを適切に使用することに関して責任を負いません。基本的には『手書きでやってはいけないことはAIでもやってはいけない』というルールで運用してください。

(引用終わり)



<インストール方法>

「V1」と基本的に同じです。公式Noteに詳しく書いてある通りなので迷わないと思いますが、簡単にこちらでも書き留めておきます。


①zipファイルをDLし適当な場所に解凍

②セキュリティーソフトが反応する場合は、フォルダと実行ファイル名を除外リストに追加しておく

③CoppyLora_webUI.exeを実行する前に、「CoppyLora_webUI_DL.cmd」を右クリックし、管理者権限で実行。基本モデルであるAnimagineXL3.1などをDLするのにかなり時間がかかるので、しばらく放っておきます。DLが終了し、PressAnyKey的なメッセージが出たらインストール作業は完了。

④AnimagineXL3.1以外のモデルで学習させたい場合は、この段階でインストールフォルダ内にある「models/SDXL」フォルダ内にそのモデルを配置しておきます。

⑤CoppyLora_webUI.exeを実行。



ブラウザでこのような画面が開いたら、インストール作業は終了。必要ならデスクトップなどにショートカットを作っておきましょう。


【理論編】コピー機LoRA法って何だっけ?

「コピー機LoRA法」は、1枚の画像をわざと過学習させ、どんなSeed値を入れてもコピー機のようにそっくりな画像しか生成できないLoRA(=コピー機LoRA)を作っておき、通常のモデルとそのLoRAとの「差分」を抽出して、狙った効果のあるLoRAを作る手法のことです。コピー機LoRAで生成を行うのではなく、差分を取るための「踏み台」としてコピー機LoRAを作るのですね。


例えば、こちらの右側の線画しか出せないコピー機LoRAを作って、左のポン出しイラストしか出せないコピー機LoRAとの差分を抽出すれば…



このように、「差分」として抽出された画風でいろいろな画像を生成できるようになるわけです。LoRAを適用する前の被写体や構図(※左画像)はできるだけそのままに、私のアレな画風だけを適用できていますね。


コピー機LoRA法の最大の利点は、このように「純粋に狙った要素だけを学習させやすい」というところです。


通常のLoRA学習では、自分の描いた作品をたくさん用意して画風を抽出しようとすると、女の子しか描いてこなかった場合は男性が極端に描かれにくいLoRAになりますし、特定の構図が多いとどうしてもその構図が出やすくなってしまう弊害がありますよね。コピー機LoRA法なら、そうした予想しない影響をできるだけ防ぎつつ、「線の太さや描き込みの多さ、色の使い方や目の描き方」といった欲しい要素だけをピンポイントに抽出・学習できるため、ポーズや表情を大きく変えずに画風だけを操作できるようになるというわけです。


一方で、あるキャラクターの容姿を正確に覚えさせたいような場合は、数十枚以上の画像で丁寧にデータセットを作り、高いdim/alpha値で学習させる従来のやり方(▼)のほうが高精細なLoRAを作れるはず。従来の作り方とどちらが優秀というわけではなく、作りたいLoRAの種類によって向き不向きがあることをご留意ください。

SDXL用LoRA学習が理解る!【AnimagineXL3.1編】

【注】この記事は過去記事のアーカイブです。特に理由がなければ、現在の環境に合わせたアップデート版の特集をお読みください。 こんばんは、スタジオ真榊です。今日はAnimagineXLベースのLoRAを自分で作れるようになる方法についての大型検証記事をお届けします。1枚の画像から簡易的な画風LoRAやキャラLoRAを作る「Co...


【注意】"マスピ顔"がないモデルはベースに不向き?

ところで、ベースモデルの典型的な生成結果(いわゆるマスピ顔)と、覚えさせたい概念との差分を取る仕組み上、生成するたびに全く違う画風の出力になりがちなcheckpointは、CoppyLoRAのベースモデルには向かないと考えられます。例えばIllustriousXL系は、同じクォリティタグを使っても画風の統一がなかなか図りにくいモデルとして知られています。


マスピ顔があるモデルの場合、初心者でも一貫した画風の作品をかんたんに作れる一方、そのモデルを使用するほかのユーザーと差別化が図りにくくなるのがマイナス面。マスピ顔がない場合、クォリティタグや画風・画材関連のLoRA・タグを組み合わせて自分らしい画風を追求しやすい一方、絵柄統一の難易度はそれなりに高く、こだわるとマージ沼に沈んで作品制作どころではなくなってしまう…というのが「あるある現象」です。


CoppyLoRAでなかなかきれいに差分抽出できない場合、ベースモデルを特定の絵柄にファインチューンされたモデルに変えて試してみると改善するかもしれません。IllustriousXL系でも、SD1.5のマスピ顔で生成できるように画風LoRAなどをマージしたファインチューンモデルがCivitaiなどで公開されています。



「V2」の革新的ポイントとは

さて、こうしたコピー機LoRA法の特色を踏まえた上で、V2に進化したことで具体的にどんなことができるようになったのか考えてみましょう。


①どんなモデルでも簡単に差分LoRAが作れる

これまではAnimagineXL3.1用のLoRAしか作れなかったわけですから、コピー機LoRA法がどんなベースモデルでも簡単にできるようになったのはやはり重要ポイントです。

AnimagineXLはローカル環境のSD1.5→SDXL移行に大きな貢献を果たした人気モデルですが、その後高機能なローカルモデルが他にも群雄割拠していく中で、どんなモデルでも簡単にコピー機LoRA法ができるのは大変ありがたい限り。別モデルをAnimagineXL3.1と改名してv1に読み込ませるという脱法的テクニックもありましたが、そうした小細工が不要になったわけですね。



②好きな画像の組み合わせでさまざまな種類のLoRAが作れる(重要)

モデル選びができるようになったのももちろんありがたいのですが、V2の進化で重要なのはこちらの方。これまでは上に紹介した茶髪の「ベース1girlちゃん」の首から上で差分を取るしかなかったため、たとえば「下半身や手」「男性キャラクターの顔」「オリジナルキャラクターの全身」「キャラが真横を向いたときの目の描写」といったものをどう描くか覚えさせるのには不向きでした。

(▲V2のAnimagine用「ベース1girlちゃん」。胸から下が見切れているので、例えば手足や爪といった描写を覚えさせるのは難しい)


例えば、マスピ顔の1girlと目がきらきらの少女漫画風の画像の「差分」でCoppyLoRAを作っても、「少女漫画風LoRA」にはなりません。できるのは「適用した人物の顔を少女漫画の女の子風にするLoRA」です。この2枚を見せられたベースモデルにしてみれば、「よくわからないけど、白黒線画にして目を全部黒く塗りつぶして星を散らせばいいってこと?」としか分からないのですね。


つまり、男性キャラにそのLoRAを適用しても「少女漫画に登場するようなイケメン男性キャラ」にはならず、このように少女漫画の女の子キャラの目を移植したような感じになってしまうわけです。

(frame embed)



V2では任意の1boy画像で差分を取ることができるようになったため、ちゃんと「人物の顔を少女漫画の男性キャラ風にするLoRA」も作れるようになりました。この考えをもう少し進めると、もっとすごいことができるようになったことに気付きます。


③複数のCoppyLoRAをマージして、狙ったLoRAを作れる

確かに、マスピ顔の1girlと目がきらきらの少女漫画風の画像の「差分」では「人物の顔を少女漫画の女の子風にするLoRA」しかできず、本来作りたい「少女漫画風LoRA」にはなりません。しかし、さきほどのように男性キャラも少女漫画風に書き換えられるLoRAとマージしたら、男性は男性、女性は女性として、個別に指定した画風・デザインに書き換えられるようになります。


つまり、必要なCoppyを別々に作って統合することで、当初イメージしていた「少女漫画風LoRA」に近づけていくことができるわけです。「画風」とひとくちに言っても、さまざまな描写の重ね合わせでできていることが多いわけですから、手足はこうデフォルメして描いてほしいとか、男性の瞳はこんな感じ、女性はこんな感じーとそれぞれ物足りない部分を追加学習できるようになると、格段に生成の自由度が上がりそうですね。


こちらは、「①賢木画風の全身描写(画風)を覚えさせたLoRA」「②顔のアップ描写を覚えさせたLoRA」を1:1でマージしたもので生成したミナちゃんです。全身画風では覚えにくかった瞳の描写を、「引き」の絵でもよりよく再現できるようになりました。例えばこれに、赤眼鏡や制服の形状をアップで覚えさせたLoRAをほどよく混ぜると、より画風やデザインの安定したミナちゃんが出せるようになるはずです。



④「ADetailer用LoRA」を作れる

2枚の画像を任意に指定できるということは、瞳や手、耳、スカートなど、特定の部位の描き方を「アップの画像」で追加学習できるということです。AIは「引きの絵」になると細かい部位の生成が難しくなるので、我々はADetailerのお世話になっているわけですが、V2ではこのときに顔や手限定で適用できるADetailer用LoRAを作ることが可能になります。

「ADetailer」が理解る!部位別詳細化と5つの「応用」

こんばんは、スタジオ真榊です。今回は「ハンドビューワー」を使った手の修正方法の記事で少し触れた、手や顔といった細部を自動修正してくれる拡張機能「ADetailer」の解説と研究をやっていきたいと思います。 ADetailer(After Detailer)は、通常の画像生成に引き続いてキャンバス内の顔や手といった部位を自動検出し...


③は全身描写用と顔の描写用のCoppyLoRAをマージする方法でしたが、顔と全身でそれぞれ別のCoppyLoRAを適用することも、ADetailerならできます。瞳のハイライトの位置や大きさ、瞳孔の描き方、頬赤(ほっぺたの赤み)描写など、細かく好みに近づけることができるようになるはずです。

(frame embed)




【実践編】CoppyLoRAの作り方

ここからは実践編です。実際に、V2の使い方や「差分」の抽出の仕方、2枚の画像のペアの作り方などを検証していきましょう。


こちらがV2の実行画面です。V1と同じ「①SimpleTrain(シンプル学習)」モードと、V2の主要機能である「②DetailTrain(詳細学習)」モードをタブ切り替えできるようになっています。

①SimpleTrain(シンプル学習)モード

既に用意されたデフォルト画像との差分を抽出するのがSimpleTrainモード。基本的にはV1と似た感じですが、「boy mode」が新たに追加され、男性キャラクターでも差分が取れるようになりました。


デフォルトでは上の画像のように線画のみを学習するモードになっていますが、画面下の「Mode」メニューから、「グレイスケール学習」「グレイスケール学習(線画なし)」「カラー学習」「カラー学習(線画なし)」といったモードに変更することができます。入力画像と差分を取るとき、それぞれ違うベース画像と比較することで、線画や塗りに着目して学習させることができる仕組みです。


②DetailTrain(詳細学習)モード

V2の目玉はやはり、こちらのDetailTrainモード。ベースモデルの選択や、自分の用意した2枚画像で差分を取ることができる新モードです。せっかくですので、各入力欄の説明も兼ねて実際に学習させてみたいと思います。


何のLoRAを作るかですが、今回は「先が丸めで大きいエルフ耳LoRA」を作ってみようと思います。下図はミナちゃんのプロンプトに「pointy ears」を足してポン出ししたイラストですが、小さくとがっていて魔族っぽい感じのエルフ耳ですね。これをイメージ通り、大きくて先端の丸い耳に改変するCoppyLoRAを作ってみましょう。



手順1.ベースモデルを選ぶ

左上の「Base Model」で学習させたいLoRAのベースモデルを選びます。基本的に別系統のモデルであるほどLoRAは効きにくくなりますので、普段使いするモデルそのものを選ぶか、親系統のモデルを選ぶとよいでしょう。


今回の検証はこちらのIllustriousXL v0.1をベースモデルにします。前回紹介したNoobAIなど、系列モデルでも使えるLoRAになることが期待できますが、「マスピ顔がないモデル」の代表ですから、AnimagineXLなどと比べるとあまり安定しないかもしれません。そのあたりも検証していければと思います。

(frame embed)




手順2.入力する画像のペアを用意する

上の段にいわゆる「マスピ」の画像、下の段に覚えさせたい「変換後」の画像を読み込ませて、二つの違いを抽出します。今回の検証なら、上段は「マスピpointy ears」、下段が「オリジナルpointy ears」(構図は全く同じで耳の形状だけが異なる)であれば、二つの差分で狙った「丸っこいデカエルフ耳LoRA」ができるはずです。


コツは以下の通り。


・アスペクト比は1:1~3:4程度がベター

アスペクト比は縦長でも横長でも正方形でも良いようですが、あまり極端に細長くしないほうがよいでしょう。通常のLoRA学習と同様に1:1~3:4程度とし、画像サイズは短辺1024px~1280px程度が望ましいかと思います。覚えさせたい要素がはっきりと大きく描かれているベース画像であるほど、良い結果になるはずです。

・できるだけ特徴の薄い、ありふれた絵にする

ベース画像の要素(髪や目の色、髪型など)もうっすらと学習されるため、あまり突飛な要素を盛り込まないようにしましょう。例えば、目元にほくろのあるベース画像を使うと、できたLoRAで少しほくろが生成されやすくなってしまいます。そうした影響を鑑みると、背景もwhite backgroundにしたほうがよいでしょう。

・1枚目はベースモデルが知っている画像にする

「LoRAを適用したらこれ(上段)がこう(下段)なるように覚えてね」と指示をするわけですが、上の画像がまず知らない要素だらけだった場合、上手に学習が進みません。例えば、非人間型のロボットであるとか、タグで指定しづらい複雑な容姿をしているといった画像は選ばない方が無難でしょう。ベース1girlちゃんのシンプルさを思い出して、あのような特徴のさほどない画像を選ぶようにしましょう。

・タグ付けを忘れない

タグ付けが甘いと、思ってもみなかった効果のあるLoRAができてしまうことがあります。例えば、逆光気味のイラストから学習させているのに「backlighting」のタグが抜けていると、本来学習させたい要素とは別に、常に逆光気味のイラストになる副作用が生まれてしまいます。(AIから見てこの2枚の違いはどう映るか?を考えましょう)


<実例>

これはIllustriousXLを使って、1280x1280pxの正方形でマスピ顔pointy earsを出してみたものです。この中だと、どの一枚が学習元に向いているでしょうか?

この場合、右上なら両耳が見切れずに映っているので学習に向いていそうです。大きく映っていても片耳だけだったり、耳の先が見切れていると覚えさせたい要素が差分としてはっきり表れてこないからです。ただ、欲をいえば耳の根本が髪の毛で隠れてしまっていることや、背景がよくわからないぼやけた画像になっているのが惜しいところ。


そこで、次のようにプロンプトを練って、こちらのシンプルな画像をベース画像としました。

PP:1girl,solo,elf,upper body,straight-on,pointy ears,blue eyes,short hair,open mouth,black hair,white background, simple background


こちらの画像を好みの耳に描き替えたものを「2枚目」として用意すれば、学習がスタートできます。しかし、どうやって「狙った要素だけが理想の状態に変更されており、ほかは一切ベース画像のまま」の画像を入手すればよいのでしょうか?


<画像のペアはどうやって作ればいい?>

作りたいLoRAがいったいどんなLoRAかにもよりますが、基本的には「ベースモデルであるプロンプトを入れたら普通に出てくるもの」が上の画像であり、それに「ある仕事を施したもの」が下の画像になるのが基本。ということは、「上から下を作る」「下から上を作る」方法が選択肢になります。


【パターン1】ポン出し画像を加工して2枚目を作る

これが一番分かりやすいパターン。まず一旦、ベースモデルに単純なプロンプト指示をしてモデル画像を作り、それに覚えさせたい変化を「施す」やり方です。

このスクショでいえば、まず適当なプロンプトでポン出ししたミナちゃんに、Flat系やBold系LoRA、線の粗さをコントロールするLoRA、自分画風LoRAなどを適用して、さらに手描きで自分好みに加工したものを2枚目として採用しています。


このとき、胸のリボンの結び目やセーラー襟のラインの本数なども直しています。セーラー襟のラインが3本の画像を2本に直して差分を学習させれば、「serafukuといえば線2本」となんとなく覚えてくれるからです。ということは、むしろ1枚目のモデル画像は「間違えている例」を選ぶとよいことが分かります。


こちらができたもの。キャラLoRAほど詳しくデザインを覚えてくれるわけではありませんが、LoRAをONにすることで、間違えていたところが修正されているのが分かると思います。




【パターン2】よくできた過去作品を「マスピ化」して1枚目を作る

こちらは逆に、学習するのに理想的な一枚絵が手元にあって、それをわざと「マスピ化」させて1枚目を作るテクニックです。一番自分らしい絵だと感じる、「こういう風に生成してくれる自分LoRAが欲しいんだよな」という過去作品は誰しもあるんじゃないかと思います。そうした一枚をまず2枚目に選んでしまい、それをi2iやControlnetを使って「マスピ化(いわゆるベースモデルらしい絵柄)」して1枚目を作る方法です。


例えばこのような感じ。左の画風にしたいので、Controlnet「XDoG-sketch」をステップの冒頭から15%まで掛けて、ノイズ除去強度最大(1.0)でimage2imageすると、右の画像のような「構図は同じで画風や塗りがマスピ顔になったミナちゃん」が作れます。プロンプトはタガーで自動抽出するか、自分で書きましょう。学習するモデル(この例ではAnimagineXL3.1)のありふれたマスピ顔で作りたいので、PPのクォリティタグは抜いています。


Controlnet「Xdog-sketch」の設定値は以下の通り。ending control stepをごく浅めにすることで、構図を保存しつつ画風を大きく変えています。


XDoG-sketchの詳しい使い方については、SDXL用Controlnet解説を参照のこと。

SDXL用Controlnetが理解る!おすすめモデル&活用例を徹底解説

【2024.10.06更新】スケッチ読み取りCN「XDoG-sketch」を追加しました。 こんにちは、スタジオ真榊です。こちらの記事は、SDXL向けControlnetの基本的知識や導入方法、おすすめのモデル、実際の使い方を紹介する大型特集です。ラフを線画化したり、線画を着色してもらったり、写真をイラスト風に変えたり、特定の部位だ...


この設定で4枚同時生成したところ、下図のような感じになりました。それぞれ少しずつ違いますが、いずれも典型的なAnimagineXL画風になっていますね。

要するに、2枚の間に何らかの違いがあれば、それが全て差分として抽出されるわけですから、「できるだけ無個性だけれど、同じものを描いているマスピ絵」をあとから作っても問題ないはずです。作るLoRAによって、パターン1・2のどちらがいいか考えてみるのがいいと思います。


手順3.画像を加工してみよう

今回は「パターン1」で、NovelAIv3インペイントを使って「丸デカ耳差分」を作る作戦でいきましょう。加筆が達者な方は自分で描き直してもよいですし、スケッチインペイントで肌色で雑に塗りつぶしてimage2imageしたり、AnytestやLineartで加工するのも選択肢と思います。


「1girl,pointy ears,large ears」でインペイントした結果、このように伸びました。ただ、なかなかインペイント(プロンプト指示)で先端を丸くするのは難しいです。


そこで、ClipStudioのゆがみツールを使って調整してしまいました。さきっちょを内側に引っ張るようになぞれば、このように丸くなります。髪の毛のゆがみが気になる場合は、元の画像を下のレイヤーに重ねて消しゴムしてあげればOK。まだ不自然なところがあれば、そこだけV3インペイントで直してしまいましょう。


こちらが比較GIF。髪などほかの要素はほぼそのままに、ちゃんと耳の形状だけを変化させられたことが確認できます(瞳や首回りも動いているように見えるのは、GIF化の際に画質が荒くなったためです)

この二つを比較すると、「pointy earsと言われたらもっと太く、少し垂れ下がった、先の丸い耳を描こう」と覚えてくれるはずですね。


ところで、比較元の画像もpointy earsにするより、普通の人間の耳にしたほうがより差分がはっきりとれるような気もします。次の章では、どちらがより良い結果になるのか、複数のLoRAを作って比較実験してみたいと思います。


手順4.キャプションを入力する

CoppyLoRA V2では学習画像のキャプション(画像説明)を自分で指示できるようになりました。これは、「この画像はこういうものが描かれた画像だよ」とベースモデルに教えるような機能だと考えましょう。自分で手で打ち込んでもよいですし、右列のボタンを押せば、それぞれTaggerが解析して、近いdanbooruタグを打ち出してくれます。

抽出されたのはこちらのキャプション。どちらもほぼ同じものが描かれていますから、上下同じ内容でOKです。

PP:1girl, pointy ears, solo, looking at viewer, open mouth, short hair, blue eyes, simple background, black hair, white background, bare shoulders, upper body, teeth, sleeveless, portrait, gem


これはプロンプトではなく、あくまで上下の画像の「キャプション(画像説明)」であることに留意してください。つまり、上の画像を生成したときは、これにさらにクォリティタグなどが盛り込まれていましたが、通常のLoRA学習と同様、クォリティタグなどは基本的に不要です。タグ要素が重複すると上手なLoRA学習が阻害される可能性があるので、何が描かれているかをできるだけ端的に説明するプロンプトにしましょう。(※例えば、今回の画像ペアで「sleeveless」や「bare shoulders」が抜けると常に袖なし服が出やすいLoRAになりますし、「black hair」や「short hair」がないと1girlが黒髪ショートになりやすくなってしまいます)


二つの画像の差分を追加学習するわけですから、基本的に上下の段は全く同じか、ほとんど同じプロンプトにすることが求められます。あまりプロンプト要素自体大きく異なる要素になると、違いが概念として集約しにくくなり、狙った効果のLoRAにはならないことに注意しましょう。


【検証編】「丸デカエルフ耳LoRA」を作ろう

準備ができたら、LoRA NAME欄にLoRAのファイル名を入れて、Trainボタンを押しましょう。RTX4080(VRAM16GB)では、50分~1時間くらいで学習終了します。detail trainモードはsimple trainモードの倍、時間が掛かるイメージです。

まずはさきほどの、pointy ears画像同士を比較して差分を取る手法で「marumimi_v1.safetensors」を作ってみます。今回は50分ほどでsaving model to:...と表示され、LoRAが出力されました。


このように、右下に「〇〇MB↓」とあるところがリンクになっているので、普段のLoRAフォルダに保存しておきましょう。保存せずにこの画面を閉じてしまった場合も、Coppyのインストールフォルダ内の「Output」フォルダにちゃんと保存されています。


第1実験「pointy ears同士で差分を取る」

最初に作ったLoRAは、上下ともpointy earsの画像で、その形状だけが異なるというものでした。LoRAなしで4枚同時生成したこちらのpointy ear画像に、できた「marumimi_v1」を適用するとどう変化するか、テストしてみましょう。プロンプトは以下の通り。


PP:1girl,solo,sidelocks,red-framed eyewear,semi-rimless eyewear,pointy ears,elf,blue eyes,white pupils,school uniform,serafuku,hair between eyes,navy_sailor_collar,ponytail,short sleeves,shiny skin,white shirt,open mouth,black hair,white bow,red neckerchief, navy pleated skirt,pantyhose,sketch,graphite \(medium\), outside border,cowboy shot,general,dynamic pose,dutch angle, small breasts +クォリティ


まず、こちらがLoRAなしで生成したもの。


こちらが、marumimi_v1を強度1で適用したものです。

うーん…確かに耳はやや大きくなりましたが、そこまで丸い感じは出ませんでしたね。上の鋭角な感じに比べると、確かに丸みは帯びてはいますが、わざわざLoRAを作ってまで再現したかったレベルには達していないように見えます。


失敗の原因は、上下どちらもpointy ears同士を掛け合わせていたため、AIから見た違いが「やや大きい…?丸く見えなくもないけど…」程度にしか強調できなかった点にあります。そして、IllustriousXLがそれまでに学んできた「pointy ears」という概念は「細くて尖っている耳」なわけですから、どうしてもそのタグでは「pointyな耳」が出てしまうーということも影響しているでしょう。


第2実験「通常の耳と差分を取る」+トリガーワード有

失敗を踏まえて、次のようにペアを変更しました。さきほどは「pointy ears」と「pointy ears」同士の違いを抽出して学習させましたが、さほど大きな違いがなかっため、うまくいかなかったわけです。そこで、通常の耳と丸デカエルフ耳を比較する作戦に変更してみます。

上段は、エルフ耳をNAIv3インペイントで普通の耳に変更した画像。下段は、さきほどと同じ学習させたい耳です。


さらに、キャプションも変更してみました。上段は普通の耳ですから「pointy ears」がないのは当然として、下の画像には「pointy ears」ではなく「marumimi」という独自タグを冒頭に加えてあります。うまくいけば、LoRAを適用しただけでは耳の形状は変化せず、「marumimi」というタグを加えたときだけ耳が下の画像のように変化するLoRAができるかもしれません。


できたLoRA「marumimi_v2.safetensors」で生成実験をしたのがこちら。プロンプトに「marumimi」を入れているのに、なぜか耳がとがってくれませんでした。


もちろん「pointy ears」を入れるとこのように尖り、かつ大き目のサイズにはなるのですが、「marumimi」に概念集約することはできませんでした。通常のLoRA作成のように、コピー機LoRA法で独自のトリガーワードを作るのはなかなか難しいようです。


このLoRAは非常によくわからないLoRAになってしまいまして、プロンプトによっては丸デカ耳が出てみたり、普通の人間の耳になったりと、安定しない結果となりました。独自プロンプトを入れたのがよくなかったのであろうと思います。(1girl,solo,ears,white pupilsで出した例▼)



第3実験:学習画像を見直す

2度の失敗から推測できる仮説は以下の通りです。


・二つの画像はできるだけ違いが際立った方がよい

・生成時に追加学習した内容と相反する効果のあるタグ(例:丸耳LoRAなのにpointy ears)を使うと、LoRAの効果が相殺されてしまう

・上段下段のプロンプトを一つだけ変えても、トリガーワードのように概念集約するのは難しい

・独自タグを使うことで影響がおかしくなることもある


そこで、3回目の実験では、上下のプロンプトは全く同じ(pointy earsなし)にし、「適用すると常に耳がこうなるLoRA」をシンプルに目指しました。pointy earsなしでもこうなるわけですから、「1girlとはこういう耳の存在」と教えるような内容になっています。

その上で、下段の画像を「とがっていなくてデカいエルフ耳」であることがより分かりやすいよう、より入念に作り直しました。


<結果>

XYZ plotを使い、「1girl」にmarumimi v1~v3を適用した比較画像が以下。pointy earsタグは使っていません。(最下段はLoRA off)

分かりやすい結果となりました。


①V1:「耳を太くするLoRA」になった

まずpointy ears同士を比較した「v1」は、pointy earsタグがないと発動すらしないことが分かります。AIからすると「いま2枚の絵を見せてくれたけど、耳の形がちょっと違うだけでどちらもエルフだよね?普通の人の場合、ちょっとだけ耳を太くすればいいってこと?」と誤解されています。

②V2:「エルフ耳化LoRA」に。ただし効果薄

気まぐれに効果が出る「V2」はpointy earsタグなしでも耳が伸びました。一方、「marumimi」トリガータグは効果がありませんでした。耳のとがり具合も通常のpointy earsとさほど変化がありません。

③V3:比較的上手な「エルフ耳化LoRA」に

入念に「丸い耳だぞ」と分かるように画像を整えたV3では、ようやく「LoRAをONにしたら、どんな人物でも耳の形状をこの変わった耳に変えろってことね」と伝わったように見えます。



一方こちらは「1girl,pointy ears」で生成したもの。v1でも耳がとがっていますが、一番丸く感じられるのはやはりv3です。(最下段はLoRA off)


ベースモデルの学習内容に邪魔させないためには?

事情を知らないAIから見て「2枚がどういう差分に見えるか」をきちんと理解してペアを用意しないと、あらぬ誤解が生じてしまうことが今回の実験で分かりました。それに、pointy earsはとがっているもの!と覚えているベースモデルに考えを変えさせるのも難しいようですね。


こちらが最終的な成功例です。これは、V3を使って「1girl,long ears」で生成し、かつ「pointy earsをネガティブに入れた」ものです。「pointy ears=尖った耳」というベースモデルの既習内容に引っ張られることなく、LoRAの学習内容を出すことができています。



【検証編】「画風LoRA」学習実験

せっかくなので、もう一つ実験を行いました。


さきほど、FANBOXのメインビジュアルになっている左のイラストから、マスピ顔版を作る実験を行いましたが、そのときにできたこちらのペアを使って、左の画風をLoRAとして抽出してみます。こちらはAnimagineXL3.1で作ったマスピ顔でしたので、ベースもAnimagineXL3.1で学習しました。


入力画面はこのような感じ。上下のプロンプトは全く同じにしてあります。(それぞれの画像から右列ボタンで抽出すると内容が微妙に異なってしまうので、上から抽出したプロンプトを下にコピペしています)



こちらが、できたLoRAでミナちゃんの容姿タグのみ指示してランダム生成したもの。瞳などの特徴が再現できていますね。

ところで、制服のカラーリングもきちんと抽出できている一方で、塗りをフラットなアニメ塗りっぽく寄せる効果は生じていないことがわかります。これはマスピ顔ミナちゃんもアニメ塗りっぽかったことから、「アニメ塗りっぽくする差分」が抽出できなかったためであろうと思われます。


また、モデル画像がかなり逆光気味だったのに、「backlighting」のタグを入れ忘れていたために、どれもかなり後光が差した状態で生成されてしまっています。CoppyLoRAを作る際は、画像選びやタギングが非常に大事なことが分かりますね。


こちらは「anime coloring」タグを追加し、「backlighting」をネガティブにしたもの。多少寄ったのではないかと思います。



ただ、気になるのはこのピンクの一点ハイライト(▼)がうまく反映できず、瞳孔をピンクでぐるっと囲うような瞳になってしまっていること。

これは、顔のアップとそのマスピ版で差分を取ったCoppyを別に作って、両者をマージさせることで改善するのではないかと思います。


「少女漫画LoRA」の例でわかるように、CoppyLoRA v2の凄いところは、一度作ったLoRAの足りないところを後天的に補うことができること。四肢や背景に影響の少ない「自分LoRA」を作ることができれば、それを普段使いのモデルにマージすることで、晴れて「自分モデル」が作れるようになるはずですね。(LoRAやモデルのマージについてはこちらの記事を参照のこと)

LoRAマージでオリジナルモデルを作ろう!「Supermerger」入門編

こんばんは、スタジオ真榊です。今回は「自分画風LoRA」や「CoppyLoRA」の作り方を踏まえて、普段使いのモデル(Checkpoint)に手持ちのLoRAをマージし、自分好みの画風で生成できるオリジナルSDXLモデルを作る方法について解説していきます。 具体的には「Supermerger」という拡張機能を使って、自分画風LoRAのほか、描...


終わりに

ずいぶん長くなりましたが、CoppyLoRA「v2」リリース!コピー機LoRAに起きた進化でした。CoppyLoRA v1も大変すばらしいアプリでしたが、v2はまさに欲しかった機能が全部盛りになった完全版と言えると思います。


開発者のとりにくさん『生成AIを道具として活用するためには、各絵描きが自身の絵柄でチューニングできるようにする必要がある』とおっしゃっています。確かに、毎回ランダムに画風がブレてしまったり、ややもすると特定のクリエイターに似てしまったりするのでは、とても普段使いの創作ツールとして使いようがありません。


私も、このFANBOXで行っている研究の目標は「自分の理想の漫画を作るために、一貫したデザイン・画風のキャラクターを思い通りに動かすことができる技術の確立」でして、誰とも似ていない自分だけの画風を一貫して再現できるようになることは、画像生成AIを創作ツールとして使うための一丁目一番地だと考えています。私もまだまだ道半ばで、作品を出すたびに画風が大いにぶれてしまっているわけですが、CoppyLoRA v2をさらに使いこなすことができれば、いずれ一貫した画風を見出せるはず。引き続き、CoppyLoRAを使った画風統一やさまざまなテクニックについて研究を続けていきたいです。


それでは、今日はこのへんで。スタジオ真榊でした。


(frame embed)










コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証 コピー機LoRA法が超進化!CoppyLoRA「v2」大検証

Comments

ありがとうございます!期待して待ってます!

JO5WVp9hX4g7kd5

同感です。例えば正面からの一枚で学習すると、横からの絵を生成したときに揺らぎが生じがちなんですよね。正面、横、斜め45度とそれぞれcoppyloraを作ってマージするやり方を試してみたいなと思っていたので、うまくいくか調べて今度記事にしてみます。

AIイラストが理解る!【スタジオ真榊】

だいぶ以前の記事に突然質問してすみません。 自分一人ではどうしても解決できない悩みなので相談させてください。 私もcopy機loraを使っているのですが、学習画像から大きくアングルが変わると、作品化できないレベルではないものの、一貫性にある程度の揺らぎが生じてしまいます。 欲を言うなら、お手本画像は1枚と言わず、2~3枚程度の別アングルイラストからcopy機材loraを作れたらと思っているのですが、そのような方法はないのでしょうか?

JO5WVp9hX4g7kd5

ああーなるほど!ただしくcoppyでやるのが良い事案だと思います。

AIイラストが理解る!【スタジオ真榊】

自分の作成してる絵柄が、1.5model+lora2種+プロンプトで そこまでピンポイントなものは存在しなく、ponyでそれを再現しようとすると再現度がたかすぎてモロとある作品と作風が被ります。sd1.5だといい感じにそれが混ざり合ってlora元の作風を打ち消してくれるんですよね。 そしてそのやり方でも100%同じ画風が出るわけでもなくて、そのランダム性の中で出てくる絵柄をピンポイントで出したく思いました。

2次元の杜ーAI閣下

そうですね、ponyベースでSD1.5画風のcoppyLoRAを作れば、直接SD1.5画風をponyで生成できます。が、わざわざ作らなくても、多分Civitaiとかを探したらSD1.5画風のponyベースモデルって既にあるんじゃないでしょうか?(新しいベースモデルが出ると必ず最初に作られてるイメージあります)

AIイラストが理解る!【スタジオ真榊】

執筆お疲れ様です。 大変素晴らしい内容でした。 自分は今までlora作成に手を出してこなかったのですが、 今回の記事と前回のv1の記事、開発元のとりにく氏の記事を見てちょっと手を出してみようかと思いました。 そこで、お聞きしたいのですが、自分はponyで下絵と構図出しをしてそれをSD1.5でi2iをして画風を1.5由来のものにしてsnsに投稿しています。この手法の導入で、使用しているponyのモデルで直接1.5由来の画風が出せるという認識で合っていますか??

2次元の杜ーAI閣下


More Creators