生成AIでエッチな画像を作る探求
以下の記事でOpenposeを使用しました。

記事中でOpenposeだけでは難しく、Depthを組み合わせると良いといった内容を描きました。そこでこの記事ではOpenposeとDepthを併用して難しいポーズを描いてみようという試みです。
簡単に行うために、既存のポーズを利用しInferenceで生成します。
ポーズの作成
今回もhttps://posemy.art/のポーズを利用します。あまりこだわりはないのですが、奥行があったほうがDepthを使う意味があるので以下を使用します。
逆さまになるようなポーズはSD1.5系だとできないので今回は使用しません。

OpenposeとDepthデータの取得
さて、このポーズからOpenposeとDepthを取得します。

この画面を開き、右上オレンジ色のアイコンの二つ右にあるアイコンをクリックします。

このようにカメラのフレームのようなものが現れますので、下部にあるwidthとheightを変更してポーズを枠内に入れます。なお、スクロールで拡大、縮小ができます。

今回はSD1.5系のモデルを使用するので768 x 512に設定しまして、枠をドラッグでずらし収めました。「Export OpenPose without hands」と「Export Depth」をクリックしてデータをダウンロードします。
ポーズで手が重要であれば「Export OpenPose with hands」を選択します。
ワークフローの作成
Inferenceを開き、アドオンから二つのCotrolNetを追加します。一つ目はOpenpose、二つ目はDepthです。

画像を選択して、モデルを選択するのですが未ダウンロードの場合はこのような画面になります。

ダウンロードしましょう。なおDepthも同様です。

ダウンロードができましたらモデルを再度選択します。以下のような画面になります。

このままでは指定が強すぎるので数値を変更します。
Openpose
- Control Weight 0.8
- Control Steps 0 – 65%
Depth
- Control Weight 0.4
- Control Steps 0 – 80%
にします。ただし、これらの数値は常に正しいわけではなく、モデルによって調整が必要です。
使用モデル
画像の生成
プロンプトを指定して生成します。ポーズはOpenposeとDepthで指定しているので余計なことは書きません。
ultra detailed 8k cg, 1girl, 19 years old, naked, big eyes, platinum blonde hair, simple back
(worst quality, low quality:1.4), logo, watermark, <embedding:easynegative>
各種設定(HresFixとFaceDetailerもON)

完成画像

まとめ
今回はSD1.5系のモデルで行ったため、完成形を出すのに結構苦戦しました。OpenposeとDepthを使うからといって必ずしもうまくいくわけではないですが、Openpose単体よりは成功率が上がりました。
SDXL系以降であれば成功率が格段に上がるので、実践としてはSDXL以降のモデルを使うと良いかと思います。
次は他のモデルを使い、より精度高くポーズを描く記事を作成する予定です。


コメント