
こんばんは、スタジオ真榊です。今回は、ローカル向け画像編集モデル「QwenImageEdit2511」でキャラクターの回転バリエーションを作る手法を、創作活動にどのように役立てられるかを検証しました。
具体的には、1枚のキャラクター画像から計8方向のアングルをQIE2511に推論してもらい、入力元を加えた9枚の画像だけでLoRAを作るとどれくらいの精度になるのかをまずテストしました(下図参照)。その上で、できたLoRAを使って一貫性のあるH漫画の導入部を作れるか、作業がどのように楽になるか、どのようなHシーン作りができるか―—といったことを実践的に検証しています。
いつものことですが、記事後段には男女の性交渉を含むR-18画像が多数掲載されていますので、閲覧時は周囲に十分注意してご覧ください。なお、前提環境はComfyUIでQwenImageEdit2511(以下QIE2511)を動かせること。ComfyUIの環境導入やQIE2511の動かし方などについてはこちらの記事をご参照ください。
1.QIE2511でできるようになったこと
まずは簡単に、これまでのおさらいです。QIE2511用のマルチアングルLoRA「Qwen-Image-Edit-2511-Multiple-Angles-LoRA」の登場によって、入力画像をさまざまな画角にアングルチェンジできるようになり、LoRAやControlnetとはまた違った手法でキャラクターや背景の一貫性を保てるようになりました。入力画像を与えて8方向×高さ4段階×遠近3段階の96アングルから一つを選んで指示することで、このように別アングルからのショットを推論できます。(※もちろん失敗もあります)

このワークフローでは、こうした「カメラ操作ノード」をスライドさせて画角を指示するだけで、内部的に「<sks>right side view eye-level shot close-up(=右・水平・接写)」とか「<sks>front-right quarter view high-angle shot medium shot(=右斜め前・見下ろし・中距離)」といった規定のアングル指定文章をトリガー付きで出力し、LoRAと組み合わせて画角変化を推論することができます。

つまり、実際はカメラ操作ノードがなくても、こうしたLoRA用のプロンプトを手打ちすれば任意のアングルチェンジは可能だということです。(詳しくは過去記事参照)
さらにこの応用で、入力画像から指定したアングルチェンジを実行しつつ、ポーズや表情などの細部を変更できることも分かりました。さすがに顔立ちはQIE2511の「マスピ顔」風にいったん変容してしまうのですが、顔部分だけを普段のSDXLモデルでインペイントするワークフローを組むことで解決。このように、背景もキャラクターも一貫性を保ちつつ、任意の変化を加えられることが分かりました。

アングルチェンジと顔立ちの変容の修正についてはこちらの記事にまとめていますので、併せてお読みください。要するに、VRAM16GB以上のグラボがあって、QIE2511とマルチアングルLoRAがローカルで動かせるようになると、入力画像の「一貫性を保った別カット」が作れるようになってきた―—というのがここまでの流れでした。
<創作ではどう役立てられるか?>
ただ、わざわざQIE2511を頼らなくても、このようにキャラ画像をただ生成するだけなら、SDXLでもそこそこ一貫性を保った画像生成自体は可能です。NanoBananaProなどを使えば、ある画像のアングルチェンジなどはかなり正確かつ簡単にできるようになってきました。そんな中で、重いQIEをローカルで動かす創作上のメリットはどこにあるか?ということを考えてみます。

まず一つ言えるのは、SDXLは豊かな画風・シチュエーション表現や拡張性に富む一方、無生物の描画力や文脈を構築する力に欠けるということです。上の例では制服の細かなデザインが全てブレていますし、さらに教室の背景をつけようとした場合、生成するたびに異なる謎教室が描かれてしまうはず。一方、NanoBananaProなどはNSFWな画像の編集に使えませんし、1回ごとに料金が掛かります。こうしたSDXLやNanoBananaProにできない部分を上手に補完してくれるのが、どんな生成内容でも無料で振り回せるQIEの第一のメリットと言えるでしょう。
ところで以前、スタジオ真榊では「奪妻契約」(50ページ)というR-18漫画をSDXLベースで作ったことがありました。このときも、一貫性の担保には大いに苦労させられたものでした。
当時の技術で一貫性を保つのに工夫した技術は、これらの記事にまとめています。ざっくり言えば、あらかじめ漫画に登場する「ヒロイン・竿役・夫役」の3人分のLoRAを簡易的に作っておき、それを使って導入部・Hシーンを生成。どうしても一貫性が保てない部分はインペイントや手描き、「IP Adapter」という今となっては時代遅れな技術を駆使して修正する—―という感じで、何とか完成させていました。
あれからちょうど1年が経過し、生成環境もずいぶんと様変わりしました。いまこの漫画をもう一度作るとしたらかなりワークフローは違ってくるはず。特に、QIE2511を漫画作りに活用した場合、どのようなことができるだろうかと考えたときに、まず思いついたのが上記の「おじさんLoRAを作ろう」に当たる部分でした。
<竿役LoRA、当時はどう作ったか?>
漫画作りをする際に気になるのが、脇役の一貫性です。登場するたびに容姿が変わるのでは話の流れに集中できないのですが、ヒロインと違ってわざわざLoRAを作り込むのも面倒。どうにかそこそこの工数で便利に一貫性を保てないだろうか?と考えたときに、当時やってみたのが「プロンプト頼みでたくさん生成した画像の中から似ているものを数十枚ピックアップして、それをもとにCAMEで爆速学習する」という手法でした。(詳しくは"おじさんLoRAを作ろう!"を参照のこと)
こちらが当時作ったデータセット。まあ確かに同じモデルでほぼ同じプロンプトを使えば、ある程度似通いはするのですが、ちゃんと同一人物に見えるかと言われるとやや苦しかった気がします。

画像をたくさん生成して似たものをピックアップするのもなかなか手間が掛かりますので、もっと簡単に、一発で一貫性のあるデータセットを作りたいところ。そこで、今回は冒頭で紹介した「8方向推論ワークフロー」を使って、1枚の画像からデータセットを作るとどうなるか?ということを検証していきます。
2.8方向推論ワークフローを導入しよう
まずは以前も掲載したこちらのワークフロー画像をご覧ください。こちらは、ご覧の通り左側に読み込ませたイラストを、事前に決めた8方向(左+右+背面+斜め4方向+俯瞰)にアングルチェンジした画像を順次出力するごく単純なワークフローです。

これは、ComfyUIテンプレートにあるQwenImageEdit2509向けの「ワンクリック多角度シーン」ワークフロー(下図)を2511向けに流用したものです。ノード構築の知識がなくても、誰でもすぐに使うことができます。

2509用の「ワンクリック多角度シーン」ワークフローはこのような感じで、8つのプロンプトと8つの画像保存ノードからなる単純なつくり。これをわずかに手を加えたものですが、QwenImageEdit2511とマルチアングルLoRAで同じことができるようにしたワークフローを用意しました。

【json配布】8方向推論ワークフロー
こちらがそのワークフローです。DLして解凍するとjsonファイルが出てくるので、「ComfyUI\user\default\workflows」に保存して読み込んでください。
配布ファイルはPixivFANBOX限定ですダウンロードはFANBOXの記事からどうぞ。PixivFANBOXの記事を開く
こちらがワークフローを開いたところ。ミッシングノードの通知が出た場合は、適宜ComfyUI Managerから追加してください。(※やり方が分からない場合は「ComfyUIが理解らない」を参照のこと)

ワークフローを動かすのに必要なモデルはこちら。上から、QIE2511のメインモデル、高速化LoRA、マルチアングルLoRA、テキストエンコーダ、VAEです。未ダウンロードの方は、「ComfyUIが理解らない!」の「QwenImageEdit2511を導入しよう▶必要モデルのダウンロード」を参考にDLしてください。VRAMに余裕がある方は、メインモデルをbf16版にしてもOKです。

3.竿役おじさんを作る
さて今回は、これから作る漫画に登場するオリジナル竿役おじさんのLoRAを作ってみます。もちろん時間を掛けて作り込むのではなく、漫画を作る際にささっと一貫性を保てるようにするために作る、お手軽度優先の「簡易版」です。
まずは普段のSDXLモデルでおじさんを生成します。「1boy,solo,straight-on,cowboy shot,male focus,no eyes, bald,fat man,ugly man,(tachi-e:1.3) (white background, simple background)」といったプロンプトで、こちらのおじさんが出てきました。実に誠実そうなおじさんですね。

今回は宅配便業者という設定なので、服装や持ち物をそれらしくします。NanoBananaProやSeedream4.5などの画像編集モデルを使いたいところですが、クラウド系サービスは生成物を学習用途に利用することを制限している場合があります。今回は生成画像をLoRA学習に使うため、あくまでSDXLで作るか、規約で禁止されていないQIE2511などを使って画像編集するとよいでしょう。
というわけで、今回はこちらの立ち絵を使ってLoRAを学習していきたいと思います。

これをさきほどのワークフローに読み込ませて、さまざまなアングルからのショットを増やしてみましょう。といっても大した操作は必要なく、このように読み込ませて実行ボタンを押すだけです。プロンプトはあらかじめ、正面をのぞいた水平方向の7方向と、俯瞰1枚を加えた8枚を生成できる文面が画面左下に記入されています。

こちらが生成結果。fp8版を使うと、8枚出力に255秒掛かりました(モデルロード時間含む)

生成画像はOutputフォルダ内の日付フォルダにこのように出力されます。入力した正面画像もセットで保存される作りにしたので、計9枚が出力されることになります。

おじさんは全裸で描かれることが多くなりそうですが、今回は時短優先で、データセットに全裸画像は入れず、この9枚だけで学習してみましょう。
<TIPS:左右対称の場合は省略可?>
ところで、今回つくったおじさんは左右のデザインがほぼ対称です。出力されたright-sideとleft-sideを見比べると、わざわざ8方向出力しなくても、片側の画像を左右反転すれば作れることが分かります。
このワークフローは左右非対称なキャラクターでも使えるように8方向を出力するよう設定しましたが、VRAMの関係で生成に時間が掛かる方は、不要なノードをバイパスしてもよいかもしれません。ただ、2分ケチっていちいち反転して作る手間を考えたら、おとなしく4分待って8枚生成されるのを待ったほうが賢いかもしれませんね。
<TIPS:水平方向以外も出したいときは?>
今回配布したワークフローは水平7方向と俯瞰1枚を加えた8枚を生成するつくりになっていますが、左下のテキストプロンプト欄(下図)を書き換えれば、好きな画角で生成するワークフローに変更することができます。

必要なプロンプトはマルチアングルLoRAのHuggingfaceに列挙されていますので、適宜使いたいものをコピペするだけでOK。「トリガーワード、方向、高さ、距離」の順で記述するルールとなっています。


4.キャラLoRAを学習する
できた9枚の画像を使ってLoRAを学習していきましょう。やり方は基本的にこちらの記事の通りです。
フォルダ構成はこのような感じ。トリガーワードを「takuhaiojisan」にするつもりなので、いつものように二重にフォルダを作り、画像を入れます。

WD1.4Taggerでタグ付けします。トリガーワード「takuhaiojisan」をAdditional tagsに入れ、検出閾値は0.28/0としました(ここは好みでOK)

検出結果がこちら。ざっと見た感じ、facial hairやold womanなど、誤検出タグも少々混じっているようです。

<タグ除去>
「takuhaiojisan」に集約して覚えさせたい概念(身体的特徴など)のタグと、誤検出タグ・重複タグを削除する必要があります。服装はシーンによって変更したいので、ここでは残します。(削除するとtakuhaiojisanは常にこの格好と覚えられてしまうため)
ここでは「facial hair, faceless, bald, old man, old, fat, fat man, wrinkled skin, no eyes, denim jacket, old woman, jumpsuit,pocket, breast pocket, blue shirt, grey shirt, denim」をExclude tagに入れて「インタロゲート」し、削除しました。これらのタグの中には生成時に召喚タグとして使えるものもあるので、控えておくとよいでしょう。(fat man,no eyesなど)

出力されたテキストファイルをチェックします。うち一つを開くとこのような感じ。
「takuhaiojisan, male focus, 1boy, solo, pants, box, grey pants, holding, simple background, smile, cardboard box, white background, holding box, blue jacket, shirt, standing, closed mouth, straight-on, faceless male, facing viewer, long sleeves, cowboy shot」
冒頭にトリガーワードが来ているか、重複タグ(old man+oldなど)や誤検出タグ(old ladyなど)はないかを見ていきますが、特に問題なさそうですね。これらのうち、おじさんの容姿に関わる部分があとで召喚タグになります。

<学習開始>
Kohya LoRA Param GUIで学習します。今回は基本的なオプティマイザ「AdamW」を使い、このような設定にしました。batch1相当で2000~3000ステップくらいが目安ですので、ちょうどよくなるようにエポック数を調整します。次元数は64/32と高くしていますが、8/4でも良かったかと思います。

VRAMに余裕があるので、バッチサイズは2。トリガーワード「takuhaiojisan」が先頭にあるので、トークン保持数を1にしてキャプションシャッフルしています。「保存頻度1」になっているので、エポックごとに計12個のLoRAが出力されます。
今回は「U-netのみ学習」としました。細部までおじさんを再現するより、モデルへの悪影響を防ぎたい考えです。テキストエンコーダ(TE)込みで学習すると再現度が上がりますが、構図・ポーズなどへの悪影響が出る場合があります。

これで学習開始。バッチサイズ2だとわずか1080ステップなので、倍速の15分ほどで学習終了しました。

10epochあたりが一番avr lossが落ちていますので、このあたりで学習し終えてしまった可能性があります。今回はデータセットがわずか9枚でバリエーションも画角のみ(=表情やポーズ、カメラ距離などに変化なし)なので、かなり早く学習できるはずです。
<生成テスト>
できたLoRAを強度1で適用し、どんな画像が出せるか確かめてみましょう。さきほどタグ付けした内容とExcludeTagsに入れたタグを参考に、召喚タグを考えます。「1boy, takuhaiojisan, male focus, solo, faceless male, bald,fat man, no eyes, box, grey pants,simple background, cardboard box, white background, holding box, jacket, shirt, standing, closed mouth, long sleeves」で生成すると、このようになりました。

おおむね見た目は学習できているようですね。
データセットにないようなパターンも生成できるか試したいので、wildcard機能を使ってポーズと表情をランダム化させてみました。

ごく簡単な学習方法でしたが、おおむね問題なさそうです!胸のラインや腕ポケットなどもよく学習できていますし、表情が変わってもちゃんと同一人物に見えます。試しに「chibi」タグでも生成してみましたが、違和感なくちびキャラにできました。


これ以降、男女の性行為を含むR-18画像が多数掲載されます。閲覧時は周囲にご注意ください。











