SDXLでOpenposeを使うときに見る記事
前書き
久しぶりにSDXLでOpenposeを使うとポーズの再現精度がやたらと低いことに気づいた。
試しにぐぐってみると同じ問題を認識している人を発見!
でも、有効な改善策を提示している人はいなさそう。
いろいろ試した結果、CFGやControl Weightなどパラメータの問題ではなさそうなので、複数の種類があるControlNet Modelを比較してマシなやつを探すことにした。
検証
比較するのはCivitaiにあったこちらの8種類。
hugging faceでイリヤ氏が上げているModel + αがあるので、
メジャーどころはカバーできているはず。
ポーズ画像はこんな感じ。
Preprocessor > openpose_full
Control Weight > 1
というわけで、さっそく比較画像。
パラメータはCFG 7 / Step 20 / seed固定 / AAMXLのモデルを使用。
プロンプトはポーズの再現性を見たいので1girlのみ。
やっぱKohyaのopenpose v2精度悪いなぁ。。。
右手以外ほぼ全滅だし、左上の画像は構図からしてミスってる。
こういう外れ値を含む結果は回数回す必要があるから使えないんだよなぁ。
真面目に一個一個評価するなら、
ポーズのみで評価するなら、こんな感じ。
thibaud > xinsir = xinsir-twins >>>(越えられない壁)>>> bdsqlsz > Kohya
(TencentARC, thibaud-Loraは除く)
絵柄を考慮すればxinsirも全然あり。外れ値含むけど3/4はいい感じだしね。
bdsqlszとKohyaだけは使うのをやめましょう。時間の無駄です。
thibaudは絵柄さえコントロールできれば完璧だから、要追加検証ですな!
まとめ(ここだけ見ろ!)
thibaudかxinsirを使いましょう。