セーブポイント

特にジャンルの決まってない雑記です。

画像生成モデルに手を描かせたりとか - 技術日記 11月22日号

あんま大したことない内容のメモ。

最近めちゃくちゃイラストの上手いモデルがたくさん出てきたとはいえ、細部まで正確に描くのは苦手なままです。まあ人間もそうだよね。
機械が描くのが苦手なものとして一番最初に例にあがるのがでしょう。ただ、やっぱり手は重要だしちゃんと描かせたい。ということで色々テクニックがあります。

※当然100%当たりしかでなくなるわけではない。txt2imgだけに頼らずinpaintingも使いましょう。

手を描くのが上手いモデルを使う

そもそも論。

手を描くのが上手いモデルを使えば、破綻は最小限に抑えられます。例えば、ちょっと前に話題になったAnything v3とか。

huggingface.co

ただしAnything v3は限りなく黒に近いモデルということで、使うときは自分の責任で。

Negative promptを活用する

これは二次元のイラストに限らず何のモデルを使っているときでも通用すると思います。

以下がNovelAIのLow Quality + Bad Anatomyのプリセットに使われているもの。

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

特にこだわりなければ、これを使っていればそんなに困らない気がします。自分も普段これをベースにして使っています。

もっとNegative promptを練りたいという場合には、元素法典を読んだりすると良さそう。

また、bad XXXっていう指示が有効なのはなぜ?みたいなのを知りたい人は以下の記事を参照。

https://note.com/imagen_dev/n/n9af54848b203note.com

inaccurate XXXというNegative promptも便利なのでよく使っています。

Embeddingを活用する

数日前に以下のような便利なものが公開されました。

huggingface.co

Embeddingって普通はTextual Inversionの目的で利用すると思うのですが、このモデルはいくつかのNegative promptをまとめて学習させたもの、らしいです。(和訳合ってる?)

Version 1ではこの埋め込みを利用すると絵柄に変化が生じてしまう不具合があったのですが、Version 2でかなり改善されたように感じます。

0.7とか0.8くらいの強さで使ってあげると良い感じです。

プロンプト以外のパラメータも弄る(要検証)

手に特有の話というより画像生成全体に関する話ですが、プロンプト以外も練ってあげると生成されるものの質が変わります。

StepsとCFG Scaleは触れたことある人も多いかと思いますが、Sampling methodも色々試してみると世界が広がると思います。

Samling methodって何、という話は私も詳しくはないので以下のような記事を読むといいかも。

qiita.com

dskjal.com

私は最近までDPM++ 2Mをよく使っていたのですが、アニメ調の絵にPLMS良いよみたいな話も聞いたのでどっちも使ってます。(PLMSはimg2imgに使えないのでちょっと困る)

よくある勘違い?

Stepsは基本数字を大きくすると書き込みが増えるものと認識していていいと思いますが、Euler aのように末尾にaが付いているサンプラーだと話が変わります。
このようなサンプラーではStepsの値を大きくしても書き込みが増えるわけではなく絵が変わってしまうため注意です。

img2imgやinpaintingを活用する

上述のような方法でも上手くいかなかったときは、ちまちま修正します。そんなもんです。

手などの細部以外は良い感じのイラストを生成できたらinpaintで普段は修正をやっているのですが、多分自分でざっくり手をかいてその上でinpaintingに投げるのが最速だと思います、多分。

作業の一例はこんな感じ。

Inpaintingによる修正の流れ

同じ色の○で囲んでいる部分が、それぞれの段階で変化させた部分です。

私もまだ慣れてないので修正した部分に歪みのようなものが残ってしまっていたりしますが……それでも左下の修正後のものとオリジナルを見比べると大きくパッと見たときの違和感が抑えられているかな、と。

画像生成モデルに手を描かせる手法については、自分の理解はこんなところです。
以下余談になります。

近況

一週間前くらいに以下のような記事を書いたのですが。

new-file.hatenablog.com

この記事を書いたときpixivのフォロワー200人だったんですけど、今この記事を書いている時点で551人になりました。

……え、551人?300人以上増えたの?……って感じです。

まあ実際のところ二次創作効果なのは感じますが、凄いですね。なんか凄すぎて、他人事になっちゃいます。

みんなえっちなの好きね。えっち星人め。