2023/05/26(金) [n年前の日記]
#1 [cg_tools] ControlNetのDepthについて調べてた
画像生成AI Stable Diffusion web UIには ControlNet という拡張機能があって、OpenPose画像やDepth画像を与えて人物のポーズを指定することができるのだけど。人物が映ってる画像を渡して、プリプロセッサに処理してもらうことで、画像からOpenPose画像を生成したり、Depth画像を生成したりすることもできる。
その、Depth画像(深度マップ、Z map)とやらを使う方法が分らなかったので少し調べてた。環境は、Windows10 x64 22H2。CPU : AMD Ryzen 5 5600X。GPU : NVIDIA GeForce GTX 1060 6GB。
以下のページが参考になった。ありがたや。現行バージョンとは違うところもあるけれど…。
_ControlNet 1.1のプリプロセッサまとめ!出力結果を比較してみた【Stable Diffusion】 | くろくまそふと
_「ControlNet」徹底攻略!導入方法と使い方解説 | IRoAI(イロアイブログ)
_ControlNetを使って構図をコントロールする|感想日記
その、Depth画像(深度マップ、Z map)とやらを使う方法が分らなかったので少し調べてた。環境は、Windows10 x64 22H2。CPU : AMD Ryzen 5 5600X。GPU : NVIDIA GeForce GTX 1060 6GB。
以下のページが参考になった。ありがたや。現行バージョンとは違うところもあるけれど…。
_ControlNet 1.1のプリプロセッサまとめ!出力結果を比較してみた【Stable Diffusion】 | くろくまそふと
_「ControlNet」徹底攻略!導入方法と使い方解説 | IRoAI(イロアイブログ)
_ControlNetを使って構図をコントロールする|感想日記
◎ プリプロセッサの種類 :
現行バージョンでは、プリプロセッサとして、以下が選べるように見えた。
少し試した感じでは、midas の結果が一番クッキリしていて、zoeの結果は少しボケ気味に見えた。ただ、生成画像にどういう影響が出るかは、また別の話のようで…。
ちなみに、それぞれの種類を選ぶと、(Stable Diffusion web UIインストールフォルダ)\extensions\sd-webui-controlnet\annotator\downloads\ 以下に、*.pt や *.pth がダウンロードされる模様。全部で2.59GBほどになっていた。
余談。プリプロセッサ種類を変更して試してたら、メモリ不足でエラー続出。VRAM 6GB では厳しいのかもしれない…? まあ、1種類だけ選んだ状態なら動いてくれるけど…。
- depth_leres
- depth_leres++
- depth_midas
- depth_zoe
少し試した感じでは、midas の結果が一番クッキリしていて、zoeの結果は少しボケ気味に見えた。ただ、生成画像にどういう影響が出るかは、また別の話のようで…。
ちなみに、それぞれの種類を選ぶと、(Stable Diffusion web UIインストールフォルダ)\extensions\sd-webui-controlnet\annotator\downloads\ 以下に、*.pt や *.pth がダウンロードされる模様。全部で2.59GBほどになっていた。
> tree /f downloads D:\AIWORK\STABLE-DIFFUSION-WEBUI\EXTENSIONS\SD-WEBUI-CONTROLNET\ANNOTATOR\DOWNLOADS ├─leres │ latest_net_G.pth │ res101.pth │ ├─midas │ dpt_hybrid-midas-501f0c75.pt │ └─zoedepth ZoeD_M12_N.pt
余談。プリプロセッサ種類を変更して試してたら、メモリ不足でエラー続出。VRAM 6GB では厳しいのかもしれない…? まあ、1種類だけ選んだ状態なら動いてくれるけど…。
◎ プリプロセッサの結果画像を取得したい :
プリプロセッサを通した直後のDepth画像だけを入手したい。どうすればいいのだろう。
これで、Stable Diffusion web UI + ControlNet を使って、既存画像からデプス画像を生成して入手することができた。
- 「Allow Preview」にチェックを入れると、プリプロセッサの処理結果を表示する「Preprocessor Preview」ウインドウが増える。
- 更に、プリプロセッサ種類の横にあるアイコンをクリックすれば、プリプロセッサの処理だけを走らせて、結果が「Preprocessor Preview」ウインドウに表示される。
- プレビューが表示されたら、右上のアイコンをクリックすることで画像を保存できる。
これで、Stable Diffusion web UI + ControlNet を使って、既存画像からデプス画像を生成して入手することができた。
◎ 元画像を作成 :
Depthを使ってポーズを指定する際、CLIP STUDIO PAINT の3D機能が便利そうだなと…。久々に CLIP STUDIO PAINT を起動して体型人形を読み込んで…。
使い方が分からん…。これまた勉強しないと…。
とりあえず、つるっとした感じの人形が映ってる画像でも、ControlNetに渡せばポーズ指定には十分使えるようではあるなと。
使い方が分からん…。これまた勉強しないと…。
とりあえず、つるっとした感じの人形が映ってる画像でも、ControlNetに渡せばポーズ指定には十分使えるようではあるなと。
◎ 余談。Depth画像の利用法を妄想 :
どうしてDepth画像に興味が湧いたかと言うと…。Depth画像から簡易3Dモデルデータを作れたら、画像生成AIの生成画像を動かすことができるんじゃないかと妄想してしまったからで…。
さて、そんなことはできるんだろうか…? Depth画像から3Dモデルデータって作れるのかな…?
順番が逆であれば ―― Depth画像を先に作るのではなく、3Dモデルデータをblenderで先に作って、そこからDepth画像を作成、ControlNetに渡して生成した画像を3Dモデルに貼り付け、ということはできるっぽい。
_TDSさんはTwitterを...: 「Blenderで空間を... #aiart #b3d / Twitter
_AUTOMATIC1111+ControlNetのつかいかた3(デプスマップで建物を)|BTA(Kelorin Jo)
_【Stable Diffusion webUI】BlenderとControlNetを使って画像を作る - 7mm blog
- 画像生成AIで、画像を生成。
- 生成画像から、Depth画像を作成。
- Depth画像を元にして、blender で3Dモデルを生成。
- 3Dモデルに、画像生成AIの生成画像をテクスチャとして貼り付け。
- blender上で動かす。
さて、そんなことはできるんだろうか…? Depth画像から3Dモデルデータって作れるのかな…?
順番が逆であれば ―― Depth画像を先に作るのではなく、3Dモデルデータをblenderで先に作って、そこからDepth画像を作成、ControlNetに渡して生成した画像を3Dモデルに貼り付け、ということはできるっぽい。
_TDSさんはTwitterを...: 「Blenderで空間を... #aiart #b3d / Twitter
_AUTOMATIC1111+ControlNetのつかいかた3(デプスマップで建物を)|BTA(Kelorin Jo)
_【Stable Diffusion webUI】BlenderとControlNetを使って画像を作る - 7mm blog
[ ツッコむ ]
以上です。