SamSuka
スタジオ真榊
スタジオ真榊

fanbox


最新のControlnetで差分イラストを作ろう!(ポーズ差分編)

こんばんは、スタジオ真榊です。前回の「表情・服装編」に続き、Controlnetで作れる現状で一番簡単な差分の作り方について検証したいと思います。今回は「ポーズ差分編」です!


このように、ポーズを一部だけ改変したり…


キャラデザインや背景を維持したまま、Openposeで全身異なるポーズに変更したりする方法について検証しています。



最新のControlnetで差分イラストを作ろう!(表情・服装編)

珍しく日中からこんにちは!スタジオ真榊です。 今日はいわゆる「差分」の作り方に関する記事をお届けします。差分と言えば、表情差分やポーズ差分、服装差分や背景差分、セリフ差分など、主にイラストやゲームなどにおける画像バリエーションのことですね。 AIイラストでは、これまでも主にマスク部分のimage2imageを使...

前回の予告(▲)では、今回は「ポーズ・背景編」のはずだったのですが、ポーズ変更が大変奥深く、またそれなりに検証成果も得られたので、前後編でなく上中下の3本立てでお送りしたいと思います。


【※今回は記事の最後に成人向け要素(全裸程度)がありますのでご注意ください】


ポーズ差分

さて、今回お届けするのは「ポーズ差分」です。服装差分と同様に首から上を固定しつつ、いくつかのパターンにポーズを変えてみます。今回もモデル画像はこちらのミナさんにお願いしましょう。


ポーズ変更実験①:一部だけを変更する

まず、モデル画像の大部分を残して一部だけを変更したい場合について考えます。今回は、両手の位置だけを任意に変更したいとしましょう。「inpaint+sd webui openpose editor+reference」でポーズ変更できるか実験しました。


まずはSDwebUI Openpose Editorをインストールします。拡張機能リストからこちらの拡張機能を見つけてインストールしてください。機能の概要はこちら(▼)を参照のこと。

(frame embed)



huchenlei氏の配布されているSDwebUI openpose editorは、以前紹介したこちら(▼)のタブ形式のOpenpose Editor(fkunn1326氏配布)とは異なり、基本的にControlnet画面上で動作するものです。同じ名前ですが、別々の機能ですのでご注意ください。


インストールができたら、まずはこのように何も考えずtext2textのControlnet画面でControlTypeの「Openpose」を呼び出し、モデル画像を読み込ませてプレビューを表示させましょう。プレビュー画面は「Pixel perfect」と「AllowPreview」をオンにして、「💥」ボタンを押せばOKです。

このように、左に入力したモデル画像のポーズ情報が右側に抽出されました。よく見ると、プリプロセッサープレビューの右下に「Edit」というボタンがあるので、これをクリックしましょう。


するとこのように、夢の広がる画面が表示されます。

もう説明することはほとんどないですね。あとはこの画面上で動かしたい部分を操作すればOKです。棒人間のドット部分をそのままドラッグすれば移動でき、いらないドットを右クリックすれば消去できます。何もないところをドラッグすると、複数のドットを同時に選択して動かすことも可能です。


目指すポーズが完成したら左上の「Controlnetにポーズを送信」すればOK。細かい操作方法は画面上に書いてある通りで、さらに別の人物を追加することまでできます。


今回はこのような感じで、膝においていた手を別の位置に移動しました。

あと2つ、Controlnet画面を設定します。もう一つはReferenceOnly。キャラデザインを維持するため、モデル画像を覚えてもらいましょう。


もう一つはもちろんInpaintOnlyです。このマスクの仕方は少々難しいのですが、まずは現在手がある部分をマスクして、次に「動かす先」に当たる部分をマスクしましょう。

コツは、現在手がある部分はできるだけ「正確に狭く」。これから手が描かれる部分は「大雑把に広く」マスクすることです。移動先がマスクし足りないと、手の全体が描かれないことがあります。(※後で失敗例をお見せします)


もう一つのコツは、この画像の場合「ちょっとだけ袖の根本は残すこと」です。この先に何色の袖を描くのかのヒントになるので、ポーズ変更に影響のない範囲で白い袖の根本を残してあげましょう。こうしないと、根本から紺色の袖が描かれたりしてしまいます。


最後に、プロンプトなどの設定はこちら。プロンプトには、基本的にマスク部分に関係するもののみを入れます。このケースで気をつけたいのは、元画像が半袖ですので、「short-sleeves」を入力して長袖に変わらないようにすること。できるだけAI側の解釈の幅を狭くして、元画像の差分らしくなるようにプロンプト指示しましょう。今回も高解像度補助を掛けてOKです。


前回もそうでしたが、今回も3つの画面のControl modeは「Controlnet is more important」にします。

生成結果

おおむねこのように、手だけを意図した位置に移動させることができました。(チェリーピックなし)


プロンプト指示では指を一本立てるポーズにしたかったのですけど、なかなか難しかったですね。前回の記事と同様、手首から先だけをマスクして修正しないと、一発ではうまくできないようです。よく見ると広くマスクした部分にちらほら破綻があるので、差分元や得られた画像を重ねて「人力マージ」しないと完成像にはならなそう。


また、すっかり見落としていたのですが、元画像と生成後を見比べてみると…

袖~!


半袖だからと油断していましたが、生成後に紺色の「セーラー袖」がついてしまっています。背景右上の島も地味に領土拡大してますね。このように、差分を作るときはどうしてもちょっとした違いが物凄い違和感になってしまうので、よく見比べるようにしましょう。


ちなみに失敗の原因は、プロンプトを「white sailor uniform」のままにしていたこと。マスク部分にセーラー服要素は一切ないのですから、単に「white short-sleeve shirt」にすればよかったのです。ある程度機転(とんち?)が求められますね…。

セーラー袖部分だけをマスクし、プロンプトをwhite shirtに変更すると、このようにきれいに白半袖になりました。


ちなみに、さきほど「移動先は広くマスクしよう」「袖の根本はマスクせずに残そう」と言ったのは、下図のようなミスが生じてしまうためです。

左は袖の根本を残さなかったため、紺色の袖+ボディスーツのような感じになってしまっているケースです。また、どちらの画像も右手が収まるべき場所をマスクしきれていなかったために、マスク外に出てしまった右手が途中で消えています。こうしたケースを防ぐためにも、Openposeのライン付近はかなり広めにマスクしましょう。あまり広すぎると破綻も出てしまうのですが、ジェネレーティブ塗りつぶしや人力マージで修正できますからね。


ポーズ変更実験②:全身変更する

さて、今度はさらに難易度が上がります。さきほどは腕以外の部分をほぼ固定できていたために、当然「同じキャラ」という印象を保てていたわけですが、全身のポーズを変更するとなると、細部が大きく変わってしまうことは想像に難くありません。キャラクター再現LoRAを効かせるなら別ですが、普通に考えれば「よく似た別人」になってしまいそうですね。


とりあえずどんなことになるか実験してみましょう。さきほどと同様にSDwebUI Openpose Editorを起動します。今度は腕だけでなく、全身のポーズを変更してみましょう。



Controlnet画面の設定は以下の通り。さきほどとさほど変わりませんので、見比べてもらえば意図が分かるかと思います。


Referenceはさきほど得られた指を立てたイラストにしました。さほど深い意味はないのですが、今度も手を挙げるポーズなので、最初の元画像よりはReferenceしやすいかなと思った程度です。


肝心のinpaintは、移動前と移動後のキャラクターが占める空間を全て塗りつぶす必要がありますので、キャンバス中ほとんどが黒塗り状態。もはやほとんど余白がないわけですが、一旦はこうしておいて、背景が噛み合わない部分はあとで人力マージするしかないでしょう。


プロンプトは相当練る必要があります。ほとんど覆われてしまったマスク空間に何を描くのか、便りになるのはプロンプトとReference画像だけなのですから、自然とこのように長大になってしまいます。自分で書いたものではなく、img2img画面にReferenceさせた画像を放り込み、「Deepbooruによる解析」で候補を出して吟味しました。


プロンプト:1girl,claw pose, beach, sitting on bench, black_hair, black_legwear, blue_sky, smile, breasts, cloud, collarbone, day, glasses, hair_ornament, side ponytail with white hair_ribbon, horizon, looking_at_viewer, ocean, open_mouth, outdoors, black pantyhose, navy pleated_skirt, beautiful purple_eyes, (purple sailor scarf:1.3), wearing red glasses, sailor_collar, school_uniform, serafuku, shirt, short_sleeves, sky, solo, white_shirt,(outdoor,sky:1.20), masterpiece, extremely detailed CG, official art, high resolusion


生成結果

思ったより…なんとかなった印象ではあります!(チェリーピックなし・4枚生成1発出し)


claw poseが強すぎて手が崩壊(かぎ爪化)しているのはともかくとして、特に左下はおおむね意図した形になっているのではないでしょうか。またもセーラー袖が出てしまっていますが、袖部分だけをマスクして「white shirt」にすれば直せることは既に実証済み。胸の校章ももともと後付け加筆でしたから、ちょちょいと直す程度でいけそうです。


======================================

【ちょっと脱線】簡単な「記号」でキャラクターの一貫性を演出しよう!

今回のミナさんの衣装には、ちょっとした思いつきで校章を胸に入れてみました。いつもタイトル画像に使っているグラデーションの色を使って、動画を見るだけで利用できる素材提供サイト「シルエットAC」(※商業印刷物やホームページに自由に利用可。色変更や切り抜きなどの加工もOK)から頂いた素材を塗ったものです。「輝度を透明度に変換」で切り抜いて、クリスタの「メッシュ変形」機能を使って馴染む形に変更するだけなので、非常に簡単に後付加工できます。


ヘアピンでもほくろでも校章でも良いのですが、こうした簡単な後加工でそのキャラだと認識できる「記号」を作ると、多少タッチにブレがあっても同じキャラクターと認識してもらえるので、オリキャラを作るときにおすすめです。

======================================


さて、ちょっと脱線してしまいましたが、話を元に戻しましょう。「全身のポーズを変更はできたけど、細部が破綻しているので直さないといけないね」というところまで話が進んでいましたね。

というわけで、LamaCleanerでささっと直したのがこちらのイラスト。まだ細部は怪しいのですが、袖や胸、ベンチ等の破綻、6本目以上の指など目立つ邪魔な部分を取り去りました。


(※LamaCleanerの導入方法などはこちらの記事をご参照ください)

余計な部分を消しゴムマジック!LamaCleanerでできる「修正」と「粗密」

こんばんは、スタジオ真榊です。世間がAdobeの画像生成AI機能「ジェネレーティブ塗りつぶし」に揺れている中、今夜は「消し」に特化したインペイントツール「LamaCleaner」についての検証記事をお伝えします。というのも、ジェネレーティブ塗りつぶしについて検証を行っていくに当たって、その前にどうしても触れておか...



おおまかなポーズはおおむねこれで十分なのですから、openposeはもう必要ありません。今度はSoftedge_pidisafeを使って輪郭継承してしまいます。


ReferenceさせるのもさきほどLamaCleanerで微修正したもの。Inpaintはさきほどのまま(画面中ほとんどが覆われたもの)でやりました。


第二次生成結果

セーラー袖と手、ベンチの破綻以外はおおむね良い感じになりました。


あとは簡単。このようにおかしいところだけをinpaintして、袖はさきほどのwhite shirt法で修正し、手はLoRAやnegative embeddingを使って直すだけです。


プロンプト:claw pose,detailed hands,(white shirt:1.3),4fingers 1thumb,(outdoor,sky:1.20), masterpiece, extremely detailed CG, official art, high resolusion+手修正LoRA


第三次生成結果


元キャラクターの全身の色合いを維持しながら、ここまでポーズを任意に変えられたのは正直驚きました。が、かなりの工数になってしまいましたので、前回の表情差分や服装差分のように「お手軽」とはちょっと言えませんね。


手を直し、胸に校章を入れてアップスケールするとこんな感じになりました。

左が元画像、右が全身ポーズ変更したものです。


髪や胸のリボンの形状が揃えられませんでしたが、かつてここまで自由なポーズ変化や細部の修正はできませんでしたから、割と感無量です。ただ「sailor uniform」と打ち込むだけでは色もデザインも千変万化してしまうセーラー服を、ここまで収束できるようになるとは思いませんでした。


もう少し時間を掛ければリボンの修正や顔立ちをさらに似せることもできますが、あまり凝っていろいろやりすぎても差分解説記事の趣旨から離れてしまうので、ポーズ差分の検証はひとまずここまでにしておきます。キャラ再現LoRAと組み合わせれば、もっと可能性は広がりそうですね。


エロ作品への応用を考える

今回差分について検証したのは、実は理由がありまして、エロ作品を作るために有用な技術の現在位置をきちんと確かめておきたかったというのがあります。


だって、服装差分テクニックで半裸化全裸化が、表情差分テクニックでエロ表情化(虚ろ目化なども含む)が、一部ポーズチェンジでエロ差分が、全身ポーズチェンジでストーリーエロ作品が作れるようになる!と言っても過言ではありませんものね。


さっき作った差分のうち1枚を選んで、顔部分を適当にマスクしてinpaintonly+表情LoRAを適用したら、数分でこれが作れてしまいますし(手が変ですが)、前回の服装チェンジの要領でプロンプトを「completely nude,middle breasts,nipples,splead legs...」にすれば、

大した苦労もなくこの連作が作れてしまいます。モノローグやスマホ素材、セリフ、擬音などを入れれば十分セリフつき連作CGになりますね。しかも、この画面上には意図していないもの(AI特有の偶然性によって生じたもの)が一切ありません。


やろうとすればメガネも外せるし、好きなポーズを取らせられるし、口だけ・眉だけ変えることもできるし、ストッキングだけ履かせることもできるし、半脱ぎさせることもできます。画面右側を大きくマスクすれば、竿役を召喚することもできるでしょう。全てInpaintOnlyのおかげです。


以前はこれをやろうと思ったら、i2iに次ぐi2iか、Lineartで線画を出して身体部分を塗りつぶし、何なら自分で裸の線画を書いて…という作業をする必要がありました。さらに、意図しないオブジェクトを消したり破綻も修正できてしまうとなれば、もうAIイラストは次のステージに来たと言っていいのではないでしょうか。


InpaintOnlyの偉大さは、推理小説で言うところの「困難の分割」です。例えば、一回のインペイントで一つの場所だけにLoRAを掛けられるので、キャンバス全体に複数のLoRAを同時適用しないといけない場面が格段に減ります。複数キャラを出すのに苦心する場面も大幅に減らせます。何なら、二人出したあとに片方ずつ整形していけばよいですものね。


催◯や即堕ち2コマシリーズなどもかなり容易にできるようになりましたし、次回解説する背景差分テクニックで、学校→ラブホのような背景交換もできるようになるはずです。なにより、InpaintOnlyとReferenceOnlyを組み合わせたControlnet版ジェネレーティブ塗りつぶし(ジェネリック塗りつぶし?)でかなりの範囲の破綻が直せてしまうことが分かってきました。


特に期待しているのが、nsfwイラストにおいて鬼門だった「竿役」の問題。画面外のアウトペイントができるようになり、画面内の任意の位置にキャラクターを追加することもできるようになりましたから、これまでは非常に難しかった男女のからみも相当自由に表現できるようになったのではないかと思っています。


終わりに

(frame embed)


余談ですが、昨日バズったこちらのツイートの記事で、著者さんが「AIイラストは竿役が出せない」「単純なポーズしか指定できない」「竿役のキャラクターを好きに指定できない」といったAIイラストの不便さを嘆いていました。このあたりの既知の問題について、現在の技術でどこまで解決できるようになってきたかも今後検証していきたいと思っています。


自分の絵柄がまだ固定できず、12月に作業を始めたAI漫画も半年以上停止中の身ですが、ようやくここまで来て一次研究の終わりが見えてきた気がしています。Controlnetを検証しているのは、ひとえに自分の求めるNTR作品を作るため。たとえAI追い出しの影響でPixivFANBOXでの活動が続けられなくなっても、ここだけはぶれずに研究を続けたいと思います。


それでは皆様、長々と語ってしまいましたが、今日はこのへんで。

次回は背景差分編!…のはず。


よい週末をお過ごしください。スタジオ真榊でした。

最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編) 最新のControlnetで差分イラストを作ろう!(ポーズ差分編)

Comments

おおっそれはなによりです!お役に立てたようでほっとしています。

スタジオ真榊【AIイラスト術解説】

素早いご返答ありがとうございます…! sdwebuiのバージョンアップを失念しておりました…😭 アップデートしたところ、無事に「SDwebUI Openpose Editor」を使うことが出来ました。 初歩的な理由でお恥ずかしいです…🙇 本当に有難うございました…!

ろんろん

それはお困りですね。症状の理由が分かりませんが、sdwebuiそのもののバージョンが古い、拡張機能のインストールに失敗した、controlnetのバージョンが古い、のいずれかかなと思います。 sdwebuiのバージョンが古くないか確認し、いったんsdwebuiを終了して再起動を試し、拡張機能のアップデート確認をし、それでもダメならexpantionのフォルダからsdwebui openpose editorを削除してもう一度インストールを試みる、などしてみると良いかもしれません。

スタジオ真榊【AIイラスト術解説】

こんにちは、いつも素晴らしい記事を有難うございます! 「SDwebUI Openpose Editor」で躓いてしまい、書き込みしました。 先ほどインストールは無事にできたのですが、 「💥」をクリックした後なぜか「edit・Json・close」がボタンではなく テキスト状態でボーン画像の左下に出てきてしまいます。 押しても、うんともすんとも言わず、編集に進めない状態です。 このような状態の改善方法はご存じないでしょうか… 検索しても何も出てこず…😭 どうしても動かない場合は「Openpose Editor(fkunn1326氏配布)」のほうが良いでしょうか。 「SDwebUI Openpose Editor」のほうが使いやすいなど、違いはありますか? お手すきの時にお答えいただけますと幸いです🙇

ろんろん

なぜかは分かりませんが唐突に動くようになりました……結局原因は分からないままでしたがとりあえず解決はしました。ありがとうございました。

kamiyann02

それは確かにおかしいですね、それで「edit」を押しても画面右側にボーン(棒人間)が表示されないわけですね?Controlnetのアップデートと、openpose editorのインストールし直しをしても同じ現象が起きるなら、思いつくのはSDwebUIのバージョンが古いくらいでしょうか。

スタジオ真榊【AIイラスト術解説】

爆発ボタンで画面右側には棒人間が表示されています。読み込んだ画像に関しては膝から上の構図でやや縦長の画像です。 そのため足先部分の情報はありませんでした。

kamiyann02

なるほど。いくつかお伺いしたいのですが、どんな画像をopenposeで読み込ませましたか? まず、Controlnetの画面を開いてプリプロセッサ「Openpose」に画像を読み込ませて爆発ボタンを押すと、画面右側にカラフル棒人間が表示されます。このとき、読み込ませた画像の中に人体が検出できないと、右側には何も表示されません。ポーズが正常に表示されたらEditボタンを押すわけですが、その画面の右側にさきほど検出されたポーズが出ないということでしょうか?

スタジオ真榊【AIイラスト術解説】

とても勉強になる内容でした。 実際に使用してみようと思ったのですがsd-webui-openpose-editorのEdit画面を表示した際に左側は正常なのに対し右側のエディット画面に何も表示されない状態です。エラー等も出ていないので何が原因なのかご存じないでしょうか……?

kamiyann02

インペイントのマスク部分とopenposeの棒人間のラインがうまく重なるように塗りつぶすのが難しいんですよね~。慣れると楽しいですわ!

スタジオ真榊【AIイラスト術解説】

大変勉強になりました。なるほど、といった感じです。何段階かにわけて処理していくというのを思いつかず、単純にOpenPose Editorで作って持ってきたりしてました。

Kaizou_2


More Creators