見出し画像

1枚の絵から設定資料風画像を作る(AI実験)

この実験の目的(Purpose of this experiment)

世界に1枚しかないキャラクター絵から設定資料風画像を作成できないか?
という興味から今回の実験を思いつきました。
そのための手順を考えることが目的です。
Is it possible to create a setting material-like image from a character picture that is the only one in the world?
I came up with this experiment out of this curiosity.
The purpose is to think about the procedure for that.

前提条件(prerequisite)

StableDiffusionを使用します。
工程の一部でNijijourneyも使用しています。(使わなくてもi2iで代用可)
生成が難しい(?)ケモノ系キャラクターを題材としています。
※上記プログラム・サービスの使用方法やLoRAの作成方法は、他の方の記事がたくさんあるのでそちらを参照してください。
Use StableDiffusion.
Nijijourney is also used in part of the process. (You can substitute i2i even if you don't use it.)
The subject is a kemono character that is difficult to generate (?).
*For information on how to use the above programs and services and how to create LoRA, there are many articles by other people, so please refer to them.

実際の手順(the actual procedure)

工程は大まかに二段階に分かれます。
(1)キャラ再現ができるようにキャラクターLoRAを作成する
(2)作成したキャラLoRAを使用して設定資料風の画像出力をする
The process is roughly divided into two stages.
(1) Create a character LoRA so that the character can be reproduced
(2) Use the created character LoRA to output an image like a setting material

(1)LoRAの作成(Creation of LoRA)

crosskemono(g)で作成された1枚の画像をもとに教師画像の準備をします。
Prepare a teacher image based on a single image created by crosskemono(g).

1枚の画像から複数の差分を作ります

1枚の画像のままでは特徴を学習しづらいので、教師画像数を増やします。
今回は左右反転、解像度違い、顔のアップと全体で6枚作成しました。
他の差分の作成方法としては、i2iによって服装を変更する、背景を変更する、タッチを変更するなどのやり方があると思います。
It is difficult to learn features from a single image, so increase the number of training images .
This time, I created a total of 6 images, including left-right inversion, different resolutions, and a close-up of the face.
I think there are other ways to create differences, such as changing clothes, changing backgrounds, and changing touches with i2i.

(1-A)一回目のLoRA作成
とりあえずこれで一度LoRAを作ってみました。
教師画像の出力モデル:crosskemono(g)
学習モデル:crosskemono(g)
dim128/alpha64/学習率1e-4/教師画像6枚/20epoch
(1-A) Creating LoRA for the first time
For the time being, I made LoRA once.
Output model for teacher images: crosskemono(g)
Learning model: crosskemono(g)
dim128/alpha64/learning rate 1e-4/6 teacher images/20epoch

Yatoracat furry tiger 1boy , clothing , tail, smile, body fur <lora:Yatoracat_test_LoRA:1>
モデル:crosskemono(g)
ケモノキャラに特化した独特の画風のモデルです
Model: crosskemono(g)
A unique style model that specializes in kemono characters.

過学習気味でpromptが通りにくいものの、配色や造形の特徴は憶えてくれました。
しかしこの学習状態では他のモデルにLoRAを持っていった時にうまく機能しません。
再現できているように見えるのは「教師画像の生成モデル」と「LoRAの学習モデル」と「出力モデル」が同一であり、特徴が再現されやすいためです。
出力モデルを別のものに変更した場合、以下のような結果になります。
Although it was a bit over-learned and it was difficult to pass the prompt, it remembered the characteristics of the color scheme and modeling.
However, this learning state does not work well when you bring LoRA to another model.
The reason why it seems to be reproduced is that the ``generative model of the teacher image'', the ``LoRA learning model'' and the ``output model'' are the same, and the features are easily reproduced.
If you change the output model to something else, you'll get something like this:

Yatoracat furry ,clothing, <lora:Yatoracat_test_LoRA:1>
breakdomain_M2000で生成した場合
構図や色彩、表現力に優れた人間キャラクター用のモデルです
When generated with breakdomain_M2000
This is a model for human characters with excellent composition, color, and expressiveness.

breakdomain_M2000というモデルに変更した場合の出力です。
トラのキャラクターであること、青い目、大きな耳は捉えているようです。
※しかし背景の縦ライン(棚や窓)も学習してしまっているようですので、
背景は白抜きにしておいた方がいいのかもしれません。
This is the output when changing to a model called breakdomain_M2000.
It seems to capture the tiger character, blue eyes and big ears.
* However, it seems that the vertical lines of the background (shelf and window) have also been learned, so it
may be better to leave the background white.

ちなみに、同じプロンプトでLoRAの適用をしないと以下の結果です。
By the way, if you do not apply LoRA at the same prompt, the result is as follows.

Yatoracat furry ,clothing, ※LoRAなし
breakdomain_M2000で生成した場合
When generated with breakdomain_M2000 without LoRA

LoRA適用の有無で結果が全然違います。
出力への影響はpromptよりもLoRAのほうが強力です。
The result is completely different depending on whether LoRA is applied or not.
The impact on output is stronger in LoRA than in prompt.

少ない枚数でも効果の有効性が確認できたので、精度とpromptへの柔軟性を上げていきます。
We were able to confirm the effectiveness of the effect even with a small number of images, so we will increase the accuracy and flexibility of the prompt.

(1-B)二回目のLoRA作成
精度とpromptへの柔軟性を上げるため、教師画像の数をさらに増やします。
作成方法としては、一回目のLoRAを利用したポーズ差分生成と、nijijorneyのblend機能を利用したスタイル差分生成を行いました。
(1-B)Second LoRA created
To increase accuracy and flexibility to prompt, the number of teacher images is further increased.
The method of creation was to generate pose differences using LoRA for the first time and style differences using nijijorney's blend function.

一回目のLoRAでは特徴の把握が不十分であり、promptを通そうと強度を下げてしまうと正確なキャラクター描写がされません。
しかし大体似ているキャラクターは出力されるので、不自然な部分をペイントソフトのレタッチで修正し、学習させたい特徴を整理します。
In the first LoRA, the characteristics were not fully understood, and if the strength was lowered to pass the prompt, the character would not be depicted accurately. However, since characters that are roughly similar are output, unnatural parts are corrected by retouching with paint software, and the characteristics that you want to learn are organized.

不要な部分を消して縞模様を追加しました
I erased the unnecessary part and added a striped pattern

nijijourneyのblendは2つの画像を混ぜて新しい画像を作るという機能です。
nijijourney's blend is a function that mixes two images to create a new image.

謎の機能です。雰囲気で使用しています
It's a mysterious feature. used in the atmosphere
額の模様や髪の色、耳の模様を直しました
Fixed the forehead pattern, hair color, and ear pattern

この作業を繰り返して教師画像のパターンを増やします。
Repeat this process to increase the number of teacher image patterns.

19枚になりました
became 19

できれば汎化性能のために様々なポーズ、構図、表情、絵画スタイルがあったほうが良いと思いますが、精度を過度に追求することは今回の実験の目的から外れますので修正はそれなりで、画像数も必要最低限と思われる数にします。
AIに拾ってほしい共通の特徴として「青い目、黄色と白の毛皮、しっぽ、しましま模様、顔の雰囲気」に重点を置き、画風や背景、服装などはばらつきを持たせる形で作成しました。
教師画像の質と量のバランスは見極めることが難しく、どなたか詳しい人にこのあたりの配分を教えてもらいたいです。教えてください。
※最終的にどのような完成形を目指しているかによってLoRAの作り方は変わってくるかと思います。
If possible, I think it would be better to have various poses, compositions, facial expressions, and painting styles for generalization performance, but excessive pursuit of accuracy is out of the purpose of this experiment, so corrections are fine. The number of images will also be the minimum number considered necessary.
I focused on "blue eyes, yellow and white fur, tail, striped pattern, facial atmosphere" as common features that I wanted AI to pick up, and created variations in style, background, clothes, etc.
It is difficult to ascertain the balance between the quality and quantity of teacher images, and I would like someone who is knowledgeable to tell me about this distribution. teach me please.
* I think that the way to make LoRA will change depending on what kind of final form you are aiming for.

二回目のLoRAの結果
学習モデル:crosskemono(g)
dim128/alpha64/学習率1e-4/教師画像19枚/20epoch
Second LoRA result
learning model: crosskemono(g)
dim128/alpha64/learning rate 1e-4/19 teacher images/20epoch

yatoracat, 1boy, male focus, solo, blue eyes, furry, tail, furry male, full body, animal ears, <lora:Yatoracat_test2_LoRA:0.8>
yatoracat, 1boy, male focus, solo, blue eyes, furry, tail, furry male, full body, animal ears, <lora:Yatoracat_test2_LoRA:0.4>

crosskemono(g)での出力です。
過学習気味ですが、LoRAの適用強度を下げることでキャラクターの特徴を維持したままバリエーションが出るようになりました。
ちなみに先程の他のモデルで出力すると、
This is the output from crosskemono(g).
It's a bit over-learning, but by lowering LoRA's application strength, we were able to create variations while maintaining the character's characteristics.
By the way, when outputting with another model earlier,

Yatoracat furry ,clothing <lora:Yatoracat_test2_LoRA:0.9>
breakdomain_M2000で生成した場合
Generated with breakdomain_M2000

トラのキャラクターという特徴の把握が相変わらず強いですが、動物寄りからケモノ寄りになって、気持ち額の模様も教師画像寄りになりました。
I still have a strong grasp of the characteristics of a tiger character, but I have changed from animal-like to beast-like, and the pattern on my forehead has also become closer to the teacher image.

教師画像の厳選や学習の最適化をすることで更に精度は上がるのですが、それらの手法に詳しくないのと、今回の目的に必要十分そうなLoRAができたので、LoRA作成はいったんここで一区切りにします。
Accuracy can be further improved by carefully selecting training images and optimizing learning, but I'm not familiar with those methods, and since I was able to create LoRA that seemed necessary and sufficient for this purpose, I decided to create LoRA here. Make a break.

とりあえず再現性はありそう
For the time being, it seems to be reproducible

(2)設定資料風画像の生成(Generation of character reference sheet style image)

縦横比を横長に設定し、charturnerv2というembeddingsを使用します。
Set the aspect ratio to landscape and use embeddings called charturnerv2.

promptは以下の設定で使用しました。
Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Size: 768x512, Model: crosskemonoFurryModel_crosskemonog, Clip skip: 2, ENSD: 31337
I used prompt with the following settings:
Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Size: 768x512, Model: crosskemonoFurryModel_crosskemonog, Clip skip: 2, ENSD: 31337

Yatoracat furry 1boy ,ethnic costume clothing , tail cubby, smile, body fur, charturnerv2, reference sheet, blue eyes tiger <lora:Yatoracat_test2_LoRA:0.7>

画像1枚からキャラクターの特徴を維持しつつ、設定資料風の画像の生成ができました。
この出力画像をもとにさらにLoRAを作りこむこともできると思います。
※embeddingsやControlNetを併用して異なる角度の顔やダイナミックな構図を出力できれば教師画像のバリエーションを増やせます。
※出力画像の細部がつぶれているのはhires(アップスケール)をかけることできれいになります。学習時の教師画像の解像度の問題かもしれません。
I was able to generate a setting material-like image from a single image while maintaining the characteristics of the character.
Based on this output image, I think that LoRA can be further created.
* If embeddings and ControlNet can be used together to output faces from different angles and dynamic compositions, the variation of teacher images can be increased.
*Details of the output image are crushed by applying hires (upscale). It may be a problem of the resolution of the teacher image during learning.

latent upscaleは画像が精彩にはなりますが細部がだいぶ変わります
Latent upscale makes the image more vivid, but the details change a lot.

完成!(Complete!)

AI初心者の思いつきの実験内容を読んで頂きありがとうございます。
手探りの作業でもなんとかそれらしい形にはできました。
用語や技術理解に誤りがありましたら教えてください。
何かの参考になりましたら幸いです。
Thank you for reading the contents of the experiment that AI beginners came up with.
Even with some fumbling around, I managed to get it to look like it.
Please let me know if there are any errors in terminology or technical understanding.
I would appreciate it if you could refer to something.

絵が描ける人であればこれら生成AI技術はもっと上手に、効果的に使うことができると思います。
LoRAを利用すればオリジナルキャラクターに自分の想像を超えた舞台設定や装飾のデザインを検討することが可能ですし、nijijorneyのようなサービスはアイデアやインスピレーションの助けになります。
I think people who can draw can use these generative AI techniques better and more effectively.
With LoRA, you can explore settings and decoration designs for original characters beyond your wildest imagination, and services like nijijorney are a treasure trove of ideas and inspiration.


現時点の生成AIはあくまでも人間の画像制作を補助するツールのひとつですので、自動で完璧なものが次々と出てくるわけではなく、目的とする絵の品質によって人の眼による構図の厳選や、破綻に対するレタッチも必要です。
総合的なAI研究が進めばより簡単に多彩なことができるようになるのではないかとは思いますが、こうした過渡期の技術変遷の様子もまた面白いです。
いずれ本当の汎用性人工知能が誕生したらAIが一緒に創作活動をしてくれるというような未来もあるかもしれません。
At the moment, generation AI is just one of the tools to assist human image production, so it doesn't mean that perfect things will come out automatically one after another. Retouching for bankruptcy is also necessary.
I think that if comprehensive AI research advances, it will be possible to do a variety of things more easily, but it is also interesting to see how technology has changed during this transitional period.
In the future, when true general-purpose artificial intelligence is born, there may be a future where AI will work with us in creative activities.

最後に、AI技術の研究者、画像生成モデルの製作者、学習元となった数えきれないほどの写真・絵画の制作者、社会のために貢献する全ての人、科学技術の研鑽の歴史に敬意と謝意を示します。
Finally, I would like to thank AI technology researchers, image generation model creators, countless photo and painting creators from whom learned, all the people who work every day for the society that supports them, and modern science. I would like to express my respect and gratitude for the enormous history of humankind's study that has been accumulated up to technology.

参考資料(reference document)

今回の実験で参考にしたサイトを提示します。
貴重な情報ありがとうございます。
I will present the website I referred to for this experiment.
Thank you for your valuable information.

▼LoRAの作成についての勉強( Study on the creation of LoRA )

▼追加学習のプログラム( Programs for fine-tuning )

▼画像生成AIのメインプログラム( Main program of image generation AI )


この記事が気に入ったらサポートをしてみませんか?