先日、始めたばかりのStable Diffusionを使って自分を可愛くして遊んだけれども、どうにも気持ちが悪いので奇跡の一枚を学習させて好きなだけ生成出来るようにしたいっつうことでLoRAを使ってみる。
コレが学習元の画像
img2imgで作成したんだけど、背景の光の入り方だとかライティングを計算したり、完成品に少しニキビ痕や肌荒れがあったほうがリアルではないかと考えて元画像に傷を入れてみたりと割と頑張った。
やり始めて日が浅い割には上出来ではないかと自画自賛。自画つうか俺なんだけど。
LoRAを用いてtxt2imgで生成したヤツ。
割と特徴を掴んでくれているのではないだろうか。
どういうわけだかpromptで口を閉じろと書いてもイマイチ聞いてくれない。
一枚の画像からLoRA学習する方法
とりあえずLoRAを使える環境を構築する。
bmaltaisさんkohya_ssさんらが公開して下さっているGUIのツールが使いやすいのでおすすめ。
本来ならば、学習対象が単体で描かれている様々なアングルや背景の素材が必要らしいのだが、一枚しかなくても裏技的に学習出来るようだ。
具体的には、キャンパスを○×ゲームのマスのように9分割し、その1マスに背景透過した素材を貼り付けて9パターンを作成し、さらにその完成品を縮小したものを何パターンか作成して教師データとして使用する。
まあこういう事っすね
素材と正規化データ(無くても可)を指定のフォルダにブチ込んでTrain modelをポチっとする。お試しなんでテキトーで。
・・・こんないい加減なやり方でも驚くような結果が得られてしまう。ヤベえぞこれは。
出来たヤツ
なんつったって学習データの元画像が1枚だけなんで、不得意なアングルが出てくるのは仕方がないにしても凄すぎないですか。
コメント