Inpaint+ControlNetでスマホで撮影した写真にStable DiffusionのAI美女生成画像を重ねる研究

スポンサーリンク
Stable Diffusion
スポンサーリンク

旅行の楽しみはやっぱり(?)写真ですね。一人旅の味気ない写真もAI美女、AIイケメンが一緒なら旅の思い出にいろどりを添えてくれます。スマホの写真にStable Diffusionの生成画像を違和感なく重ねて、合成画像を作ってみます。今回、InpaintとControlNetをうまく使って画像生成する方法を試して見ました。

準備するもの

今回、Stable DiffusionのCoontrolNetを使います。最新版のControlNetをセットアップしておきましょう。(参考:進化したControlNet1.1のレビュー(Stable Diffusion Web UI)

また、今回、写真の仕上げにAfter Detailerを使いますので、After Detailerをセットアップしておきましょう。(参考:After Detailerで顔をきれいに出力する方法を他の方法と比較検証してみる

今回、スマホで撮影した風景を使いますので、外でスマホで撮影した写真を準備します。

デート写真作成

基本プロンプト作成

デート写真を作るためには、まず、美女が出現するためのモデルとプロンプトを準備する必要があります。お好みの美女、またはイケメンを生成できるモデルを使いましょう。ここでは、実際の写真を使いますので、アニメやイラスト系のモデルではなく、実写系のモデルを使います。今回は私は大人気モデルのBrav5(Beautiful Realistic Asians v5)を使うことにします。

プロンプトは工夫して良い画像が出るようにします。プロンプトにoutdoorなど、使用するスマホ写真のシチュエーションに即したプロンプトを入れておくと良いです。今回、プロンプトは最後まで固定で行います。

今回は下のようなイメージのウエーブヘアの女性を出現させてみます。(※今回は同じ女性を出すわけではないので注意)

1girl, solo, loose waves, embressed, (RAW photo, best quality), (realistic, photo-realistic:1.3), masterpiece, an extremely delicate and beautiful, extremely detailed, CG, unity , 2k wallpaper, finely detail, light smile, extremely detailed CG unity 8k wallpaper, huge filesize, ultra-detailed, highres, outdoor
Negative prompt: EasyNegative, bad-image-v2-39000, badhandv4, ulzzang-6500-v1.1, paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans, extra fingers, fewer fingers, ((watermark:2)), (white letters:1), (multi nipples), bad anatomy, bad hands, text, error, missing fingers, missing arms, missing legs, extra digit, fewer digits, cropped, worst quality, jpeg artifacts, signature, watermark, username, bad feet, {Multiple people}, blurry, poorly drawn hands, poorly drawn face, mutation, deformed, extra limbs, extra arms, extra legs, malformed limbs, fused fingers, too many fingers, long neck, cross-eyed, mutated hands, polar lowres, bad body, bad proportions, gross proportions, wrong feet bottom render, abdominal stretch, briefs, knickers, kecks, thong, {{fused fingers}}, {{bad body}}, bad-picture-chill-75v, ng_deepnegative_v1_75t, EasyNegative, bad proportion body to legs, wrong toes, extra toes, missing toes, weird toes, 2 body, 2 pussy, 2 upper, 2 lower, 2 head, 3 hand, 3 feet, extra long leg, super long leg, mirrored image, mirrored noise, (bad_prompt_version2:0.8), aged up, old, ((mosaic))
Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 3109506161, Size: 640x800, Model hash: ac68270450, Model: braBeautifulRealistic_brav5

img2imgのInpaintで風景と美女を合成する

スマホ写真を準備します。今回は以下のような河川敷の小道の写真を使います。

設定は以下のように設定します。
・プロンプトは上で生成した美女+outdoorのものを使う
・img2imgのInpaintを選択し、スマホの画像を貼り、美女を出したい部分をマスクで塗る
・画像サイズはスマホ画像の比率に合わす
・ControlNetのReference_onlyにも上のスマホ画像を貼る

細かい設定は以下の通りです。(小さい場合はクリックして拡大してください)

設定をしたら生成ボタンを押して生成します。何枚か生成して気に入ったものを使う方が良いです。

できましたが、ちょっとマスクとの境界部分がおかしいですね。

境界補正

続いてInpaintで境界を補正します。inpaintからimg2imgに画像を送ります。

ControlNetはUnit 0で先ほどと同じ小道の画像を入れてreference_onlyを有効にします。
一方、それに加えて、ControlNet Unit 1では画像を入れずにTile Resampleを選択します。

結構自然になりました。

仕上げ

仕上げにAfter Detailerを掛けて出来上がりです。

完成しました!Tileは強烈なので、やや背景も変わってしまいますが、必要なら強度調整などをしてみると良いかもしれません。

ギャラリー

他の画像でもやってみます。安定して、スマホ風景写真から美女画像が作れます。今回の写真は私が住む金沢の写真です。

おまけにイケメンバージョン。(brav5だと女性しか出ないので別のモデルに変えた。。。)

Stable Diffusion
スポンサーリンク
鷹の目週末プログラマー

コメント