2023/10/07(土) [n年前の日記]
#1 [cg_tools] 画像生成AIをもうちょっと試用中
Stable Diffusion web UI を試用中。環境は Windows10 x64 22H2。
◎ img2imgが受け入れられる画像種類がありそう :
ADetailer という拡張を使えば、面積が小さくて崩れてしまった人物の顔も修正できると知ったので、導入して、何度か生成して様子を見ているのだけど。その ADetailer を経由させた生成画像を、img2img に転送して、そこから更に顔を修正しようとしたら、とんでもなく崩れた顔になることに気づいた。
ADetailer は、ある程度の大きさで生成した顔だけの画像を縮小して元の部分に重ねていると思うのだけど。おそらく、拡大縮小して合成された画像を img2img に渡すと、そこに描かれている情報を正しく読み取れなくなって、おかしな画像を生成してくるのではないだろうか。
と言うのも、以前、GIMP か何かを使って、各レイヤーを存分に拡大縮小して作ったコラージュ画像を img2img に渡して処理したら、その時もとんでもない生成結果になった記憶があって。今回もその事例と同じ状態に陥ったのではないかなと…。
ADetailer は、ある程度の大きさで生成した顔だけの画像を縮小して元の部分に重ねていると思うのだけど。おそらく、拡大縮小して合成された画像を img2img に渡すと、そこに描かれている情報を正しく読み取れなくなって、おかしな画像を生成してくるのではないだろうか。
と言うのも、以前、GIMP か何かを使って、各レイヤーを存分に拡大縮小して作ったコラージュ画像を img2img に渡して処理したら、その時もとんでもない生成結果になった記憶があって。今回もその事例と同じ状態に陥ったのではないかなと…。
◎ 学習時はまた別 :
ただ、この問題は、img2img を使う時だけ発生する問題で、学習元画像として各画像を与える際には、画像の縮小処理はさほど影響を与えないのだろうとも思えてきた。
何故そう思うかと言えば、画像生成AIが学習する際に用いているのであろう、Web上で公開されている画像ファイル群は、その大半が、元画像から何かしら縮小された画像のはずなので…。縮小処理を加えた画像では学習できなくなるとしたら、ほとんど何一つ学習できない状況に追い込まれるはずだけど、実際にはそうなっていないのだから、縮小画像も学習に使える、ということなのだろう。
そもそも、SD1.5 のように、512x512 の画像群で学習させたと言っている学習モデルデータもあるわけだし。大きな画像も512x512に縮小して渡してやらないと、そういった学習はできないよなと。
なので、「画像を縮小さえしておけば学習に使われずに済む」という単純な話では無さそうで、そこはなんだか残念(?)だなと。
ただ、img2img のソレを見る限り、画像生成AIの動作がおかしくなる学習元画像だって存在してそうな気配がする。まあ、生成AIの生成結果を学習元データとして投入し続けると、生成AI(の学習モデルデータ)が壊れていくというレポートもあるらしいし。画像全体に妙なノイズを載せることで学習元データにされずに済む、と謳っているツールのニュースも見た記憶があるし。そのうちそういったツールが普及するのかもしれないなと…。
何故そう思うかと言えば、画像生成AIが学習する際に用いているのであろう、Web上で公開されている画像ファイル群は、その大半が、元画像から何かしら縮小された画像のはずなので…。縮小処理を加えた画像では学習できなくなるとしたら、ほとんど何一つ学習できない状況に追い込まれるはずだけど、実際にはそうなっていないのだから、縮小画像も学習に使える、ということなのだろう。
そもそも、SD1.5 のように、512x512 の画像群で学習させたと言っている学習モデルデータもあるわけだし。大きな画像も512x512に縮小して渡してやらないと、そういった学習はできないよなと。
なので、「画像を縮小さえしておけば学習に使われずに済む」という単純な話では無さそうで、そこはなんだか残念(?)だなと。
ただ、img2img のソレを見る限り、画像生成AIの動作がおかしくなる学習元画像だって存在してそうな気配がする。まあ、生成AIの生成結果を学習元データとして投入し続けると、生成AI(の学習モデルデータ)が壊れていくというレポートもあるらしいし。画像全体に妙なノイズを載せることで学習元データにされずに済む、と謳っているツールのニュースも見た記憶があるし。そのうちそういったツールが普及するのかもしれないなと…。
[ ツッコむ ]
以上です。