2022年 09月 02日

Stable Diffusion (AI画家) に描いてもらった絵の顔を修正する (半手動)

AI画家はもちろん顔を描くことはできるのだが、大きなシーンに含まれる顔を描くのは手を抜いた感じになってしまう。これは顔のピクセル数が少なすぎ、情報量が不足していることに起因していると思われる。人間が絵を見るときは特定領域に注視するが、AIは全体を構成する。

顔がそれっぽくなるまで生成しまくるという手や、そもそも後ろ姿にするという手もあるが、どうしても「この構図がいい」という場合に顔だけ修正することを試してみた。

やってることは

  1. 元画像をアップスケールする
  2. 顔の部分を周辺を多少含めて切り抜く
  3. 切り抜きを元に img2img で顔ガチャする
  4. 当たりが出たら Photoshop で合成する

いわゆる inpainting を手動でやるという方法になっている。inpainting がうまくできるものがあれば良さそうだけど、とりあえず見つけられなかった。(basujindal/stable-diffusionにinpainting機能が含まれているがあまり良い成果がでなかった)

元画像

こういう感じで顔がほぼ描画されいない。この画像では試していないが、こうなると steps 数を増やしても時間がかかるだけであまり改善しないことが多い。

アップスケール

約8倍にアップスケールし (NightmareAI/Real-ESRGANをつかっている)、顔部分を周囲を含めて切りにく。

img2img

切りぬいた画像を元に、prompt はあまり変えずに顔を描いてもらう。face close-up とかつけたほうがいいと思うけど、顔ならプロンプトそのままでも割と良さそう。

strength (元画像をどのぐらい残すか) は 0.75 でやった。

合成

アップスケールした画像に顔を乗せる。

Photoshop もこういった合成が進化しており手動でやっても早い。合成写真をすばやく自然に仕上げる方法 というチュートリアルもある。

うまく img2img ができていれば頑張って馴染ませなくても若干ぼかすだけでなじむ。

感想

  • 作風によっては難しいかもしれない
  • 顔だけ大量生成するので効率が良い
  • 顔だから上手くいくが、指の本数が多いとか足が多いとかは無理な気がする
2022年 09月 07日

Stable Diffusion で prompt 情報を画像に保存しておく

PNG にはメタデータを保存するチャンクがある。Python からも簡単に読み書き可能なので、ここに prompt を保存しておくと、あとから参照したいときに便利になる

img が PIL の Image だとして、save を呼びだしているとこに pnginfo というのを足してあげる。

from PIL.PngImagePlugin import PngInfo

# ...

metadata = PngInfo()
metadata.add_text("prompt", "foo bar baz")
img.save("./outputs/0.png", pnginfo=metadata)

読み出し

#!/usr/bin/env python
import sys
from PIL import Image
from PIL.PngImagePlugin import PngInfo

img = Image.open(sys.argv[1])
print(img.text['prompt'])

Stable Diffusion 日記 #1

https://lowreal.net/2022/09/02/1 の元画像から、色を変えて img2img したりいろいろ

Stable Diffusion 日記 #2

関連エントリー (画像)

Stable Diffusion 日記 #3

関連エントリー (画像)

Stable Diffusion 日記 #4


縦位置 AIが描いたサインが入っている (時々入ってきておもしろい)

2022年 09月 08日

Stable Diffusion 日記 #5


blonde hair

眼のハイライト(白い点2つ)は後入れ

Stable Diffusion 日記 #6

関連エントリー (画像)

img2img の strength

0.0~1.0 まで指定する。イメージとしては 0.75 なら元画像の75%をノイズに変えた状態から復元をするという感じ。

顔が支配的な画像に対して img2img をする場合、0.5 なら輪郭はほぼそのままで顔の内部が変わる。0.75 なら輪郭も結構変更するし、場合によっては向いてる方向も変わる。

激安カーボンデジタルノギス

800円弱ぐらいで買えてしまうカーボンノギス。スペック上は器差±0.2mm、表示上は0.1mm。安いアナログノギスの変わりには十分だろう。

センサは静電容量式のようだ。

良いところ

  • 電源オフ状態で動かすと起動する (表示がでる)
    • というか電池を入れている間はずっと測定しっぱなしのようだ
  • そこそこ早く動かしても値飛ばしがない
  • 表示がデカい
  • すべりも悪くない
  • 軽い
  • 安い

悪いところ

今のところない。電池持ちが心配。

2022年 09月 09日

Stable Diffusion 日記 #6



関連エントリー (画像)

2022年 09月 10日

Stable Diffusion 日記 #7



関連エントリー (画像)

2022年 09月 11日

Stable Diffusion 日記 #8



どのベクトルのせいかわからんけど蝶はなんかキモくなる。イラスト的デフォルメをせず蛾っぽく胴が太く描かれることが多い。

urban city はどうも台湾風になる感じがする。台湾に行ったことはないが

日記と書いてるが数日遲れの画像なので、特徴がないとどういう prompt 使ったかわからない。

正面の顔はいいけど、横顔、振り返り顔、上目遣いみたいな感じの角度は Stable Diffusion も苦手で相当ガチャってもうまく生成されず諦めることがある。構図的には正面顔というのは特殊なので不思議な感じはする。

2022年 09月 12日

Stable Diffusion 日記 #9



場合によっては腰から上、首から上と段階的に解像度を上げていくといいときもある。元絵に書きこみたいときは strength を弱めて (0.25~0.4)、ddim_steps を増やすといいことがある。めっちゃ崩れてるけど雰囲気は維持しつつなんとかしてほしいときは strength を強める (0.75まで)

まったく同じpromptでも、img2img の元がある場合、そこの顔の輪郭で絵柄が決まってくることがあって不思議

2022年 09月 13日

Stable Diffusion 日記 #10



blonde hair は顔が綺麗になりやすい気がする。

2枚目、手が綺麗に描画されているのはかなり珍しい。

3枚目は bird's eye view で唯一それっぽくなったもの。

waifu diffusion とかのイラストの追加学習をしたモデルをボチボチ試してはいるけど、うまく好みのベクトルがあわせられなくてピンときてなく、使えていない。顔だけバリエーションを増やせたらいいんだけど、画風を伝える手段に乏しい。生成した画像のうち好みのものを集めてファインチューンとかしたほうが効率いいかもしれない。

2022年 09月 14日

Stable Diffusion 日記 #11



構図の中に2人入ってくると難易度があがる。顔の描きかたは細かく指定できるわけではないので、試行回数を増やしてなんとか違和感がないのを選ぶしかない。

顔は顔で生成すると割り切って考えると、服をちゃんと指定するほうが楽しい。frill trim top は希望通りにいきやすい。corset や bodice もいいけど、胸元が開く傾向が強い。

2022年 09月 15日

Stable Diffusion 日記 #12



関連エントリー (画像)

2022年 09月 16日

Stable Diffusion 日記 #13


in colored acer palmatum forest とかだと思う。秋っぽい。

2022年 09月 17日

Stable Diffusion 日記 #14



関連エントリー (画像)

2022年 09月 18日

Stable Diffusion 日記 #15



Stable Diffusion 遊びは生成者にとっては、イラストを描くというよりは、実質的には写真に近い。prompt でシーンはある程度指定しているものの、モデルとランダムシードからある程度偶然に出会って切り取るという作業になる。写真は現実の借りものだが、Stable Diffusion 遊びは過去の作品集からの借りものになる。

生成物の羅列を表現方法と考えると Tumblr のリブログとも似ている。 被服が自己表現であるのとも似ている。

2022年 09月 19日

Stable Diffusion 日記 #16



また blonde hair + frill trim top。シーン指定していても完全無視で純ポートレートはよく生成される

2022年 09月 20日

Stable Diffusion 日記 #17



neckerchief は stable diffusion ではどうも強烈に制服っぽいベクトルを持つように感じる。uniform は school uniform とかだとしてもアニメっぽい軍服風になる。neckerchief + corset だとアニメっぽい制服が増える。corset は単体だと胸元が開くが neckerchief つけると頻度が減って万能に感じる。

我が家のコロナ禍

学校でクラス内感染の連絡がきたその日に子ども(8歳でワクチン2回目から4ヶ月経過)が頭痛を訴え、夕食も食べずずっとベッドで寝るという状態に。と思いきや翌日は症状がなく、受診すべきか悩むぐらい元気という体調だったが状況からするとかなり怪しいため、念のため受診して検査をうけ陽性。療養開始。これ以降子どもは悪化せずずっと元気だった。学校はクラス3分の1程度が確定で陽性となり (実際はもっといただろう)、療養者向けに一部オンライン授業になった。

翌日ぐらいに妻(基礎疾患ありで4回接種から1ヶ月ぐらい)に喉の痛みなど微妙な症状が出はじめる。一度受診して検査をうけたが陰性。ここ数年風邪症状出てないので、そんなわけないだろという感じだが、そこから2日経過して倦怠感や咳があるようだったため再度受診して検査したところ陽性。経口抗ウイルスの新薬のラゲブリオを処方される。現状無料なのだが、薬価が気になったので調べたら10万弱ぐらいしてたまげる。一貫して微熱ぐらいの発熱で7日ぐらい経って症状減ってきた感じ。ラゲブリオの副作用らしき発疹が出ている。新薬だからか処方した薬局から一度フォローアップがあって驚く。

自分(3回目接種から7ヶ月)は全く症状でず。家が狭く患者の隔離が物理的に無理なので普通に一緒に寝て食事もとって諦めていたが、暴露量が少なかったのかワクチンの効果が残存していたのかよくわからない。


最近、第1類医薬品で一般用の検査キットがインターネットで買えるようになったようだ。現状では4種類しかない。ヨドバシで買ったが、アマゾンでも売っているようだ。検索から飛ぶと研究用がヒットしまくってノイズが多い。

【第1類医薬品】SARS-CoV-2ラピッド抗原テスト(一般用)5テスト入 - ロシュ・ダイアグノスティックス

ロシュ・ダイアグノスティックス

3.0 / 5.0

2022年 09月 21日

Stable Diffusion 日記 #18




春~夏~秋~冬

前にも書いたけど角度がついた顔はうまく生成するのがかなり難しい。しかし引きの良さげな構図だと角度がついてないことなんて当然ほとんどない。

2022年 09月 22日

Stable Diffusion 日記 #19



関連エントリー (画像)

2022年 09月 23日

Stable Diffusion 日記 #20



関連エントリー (画像)

2022年 09月 24日

Stable Diffusion 日記 #21

関連エントリー (画像)

2022年 09月 25日

Stable Diffusion 日記 #22



prompt でポーズは全く指定してないけど、この見返り構図はものすごい頻出。浮世絵からの伝統かもしれない。

あと都市を描いてもらうと2点透視がやたら多い。

2022年 09月 26日

Stable Diffusion 日記 #23




撮って出し的なもの (stable diffusion の出力を upscale しただけで Photoshop を通ってないもの)

2022年 09月 27日

Stable Diffusion 日記 #24

分割されているのはときどきあるが、綺麗にコントラストでまとまってるのは珍しい。2つの出力を Photoshop でくっつけたわけではなく、Stable Diffusion の最初の出力時点で分割されている。よく見ると境目が綺麗に分かれていない。

Stable Diffusion は1辺が少なくとも 512px ないとうまく生成されないので、こういう単体だと極端なアスペクト比の画像は巨大なVRAMがないと作りにくい。が、それなら2枚同時に生成すれば? という解決方法もあるかもしれない。

この完成画像自体はなんどかimg2imgしていて、時間がかかっている。最初の分割された構図のものから

  1. img2img 構図を維持しつつ人物の姿勢をおおざっぱになおす
  2. img2img 人物部分だけ書きこみを修正する (下側)
  3. img2img 人物の顔部分だけ書きこみを修正する (両方)
  4. 手動 色調の修正
  5. 手動 ハイライトの微修正
  6. 半自動 気になる不要部分だけ部分的に消す (Ps のコンテンツに応じた塗りつぶし)

と段階を踏んでいる。

2022年 09月 28日

Stable Diffusion 日記 #25



関連エントリー (画像)

2022年 09月 29日

Stable Diffusion 日記 #26



なんかどっかで見たことあるけど画像検索しても類似画像としては上がってこないのでモヤっとする感じの

2022年 09月 30日

Stable Diffusion 日記 #27



関連エントリー (画像)