コピー機学習

Last-modified: 2024-02-25 (日) 16:12:53

学習テクニックの一つ。
うまく使うと、1枚しか手持ち画像がなくても学習ができる。

1枚のイラストからコピー機学習

img2imgで差分画像を生成する方法

1枚のイラストからコピー機学習でLoRA(LoHa)を作成した際の記録。

  • ベースのイラスト
    copy01.jpg
  • 学習の手順
  1. 顔の学習
    最初はベースとなるイラストから顔部分を切り取ってi2iで表情差分を数枚作成する。
    copy02.jpg copy03.jpg
    作成した顔イラストで学習を行う。
    dimは32で過学習になるかならないかくらいのステップ数とする。
  2. 胸から上の学習
    顔を学習させたLoRAを使用して胸から上くらいのイラストを数枚生成する。
    これも表情、服装、ポーズ、構図の差分を数枚作成する。
    いきなり全身を出力させようとすると顔の書き込みが著しく下がったため、
    まずは胸から上を学習させた。
    copy04.jpg copy05.jpg
    生成したイラストを追加して再度学習を行う。
  3. 全身の学習
    胸から上LoRAを使用して全身のイラストを数枚生成する。
    copy06.jpg copy07.jpg copy08.jpg
    生成したイラストを追加して学習を行って完成。
    LoHaの場合、ここでdimは8や16に下げたほうが良い。

コピー機学習や資料が少数しかない場合の学習画像水増しテクニック

  • 「character sheet」の等のキャラクター紹介系プロンプトで生成すると多角的な画像や表情リストが得られる可能性がある
  • 3Dのカスタムゲームのスクリーンショットやそれっぽいラフ絵を描き、顔等をコピー機学習したLoRAを使ってi2iして画像を得る

ControlNet - reference onlyで差分画像を生成する方法

ControlNet reference onlyモデルを使うと、手持ち画像から差分画像を作成できる。

余談
「コピー機学習」はモデル出力を制限するとかなんとかな技術で、下記の説明はちょっと定義から外れるかもしれませんが、やりたいことは同じなので紹介します。ControlNetの内部でも結果的に見ればコピー機学習と同じ技術な気がします(調査の時間がないので、あとで修正させて)。

設定内容

入力画像(1枚)出力結果(バッチ数4)
zko (1)_sample.pngreference only_output (batch4).png

入力画像の配布元:https://zunko.jp/con_illust.html#illust_00100

設定内容
  • プロンプト
    • ベース画像のタグ(公開されているもの)を流用
      zunko, 1girl, solo, skirt, one eye closed, thighhighs, standing on one leg, sailor collar, hairband, green skirt, school uniform, pleated skirt, green sailor collar, very long hair, shirt, black thighhighs, arm up, white shirt, white background, full body, smile, bangs, long sleeves, standing, shoes, brown footwear, simple background, serafuku, loafers, open mouth, looking at viewer, blush, ribbon, neck ribbon, ;d, zettai ryouiki, leg up, sailor shirt, blunt bangs
    • Negative prompt:(EasyNegative等を入れています。解説を割愛しますが、生成結果に大きな影響はありません。)
  • Seed指定無し
  • サイズ:512✕512
  • step:80
  • Euler a
  • その他、Token merging ratioなどをいじっていますが、書くのが大変なので省略させてください。
  • ControlNet
    • ベース画像:下図参照
    • Style Fidelity:1
    • Control Mode:ControlNet is more important
  • プロンプトを変えれば、それ以外のポーズや衣装でも生成可能です。

補足
reference onlyはそこそこ再現性が高いため、
「これでええやん。そもそも差分画像を作ってLoRA学習する必要はないのでは?LoRA学習は苦手だし。」と考える人もいる*1

コメント

  • コピー機学習ってこういう技法だったんですね。名前は知っていましたが手順までは知りませんでした。勉強になります -- 2023-04-07 (金) 20:43:47
  • 実写のそっくりさんを作る場合もこの方法は有効ですか? -- 2023-08-19 (土) 18:03:18
  • 検索すれば一番上に出てくるけど、コピー機学習過学習と単体の絵からアウトラインを太くしたり光加減を変えたりする単調なLoRAを作るものであってキャラを作るものではない、少なくとも用語的には。 -- 2023-08-25 (金) 08:12:16
    • コピー機学習は1つの素材で過学習したモデルで複数の素材を作成する手法、検索で出てくるのは元の教師画像とコピー機で増やした素材の差分を取る方法でここで書いているのはコピー機で増やした画像自体を教師画像に加えて学習する方法。コピー機で作成した素材の使い方の問題なのでキャラ学習に使えないというわけではない。 -- 2023-08-25 (金) 09:50:13
    • 過学習を使って単一結果しか出力しないよう調整したモデルを使うことで『差分エフェクトLORA』を作る手法(ググって出てくる奴)」と「単一もしくは極めて少量の素材からimg2imgを使って派生素材を量産して『キャラクターLORA』を作る手法」というやりたいことが根本的に違う二つがゴッチャになってんだよね。前者は「エフェクトLORAを作る過程で作る必要がある、同じ結果しか出ないモデル」のことを「コピー機」と呼んでいて、後者は「文字通りでコピーで作った素材を作ること」ことを指してる。 -- 2023-09-03 (日) 05:23:42
      • ググって出てくるのは前者なので、こっちはどちらかというとコピー素材学習って感じ。 -- 2023-09-03 (日) 05:25:00
      • コピー機って名称が混乱を招きやすいんだよね、元々コピー機の語源って画像の連続生成してるときずっと同一シードで画像生成してましたわ!って失敗をコピー機って揶揄してたんだけどそこから転じて同一画像しか吐き出さない過学習loraをコピー機って言うようになったって所を知ると理解しやすいかもしれない -- 2024-02-12 (月) 20:26:07

(Tips)

  • 既存コメントの先頭にあるラジオボタンをONにすると、そのコメントの下にぶら下げ返信する形になります(ツリー構造)。
  • コメントの文中で↵ボタン(下の画像参照)を押すと「&br;」の文字列が挿入されます。これは送信後に改行として機能するので、文章の整形に役立ちます。
    br.png

*1 具体的には、reference only登場直後の5chスレのコメントから意訳