こんにちは、スタジオ真榊です。今日はNovelAIv3に搭載された新機能「バイブストランスファー」についての検証記事です。
バイブストランスファーを使うと、このように「参照画像」から抽出した要素を生成に適用することができます。この例では星月夜の画風を参照させているだけに見えますが、ちゃんと星や夜空、青と黄色を主体としたカラーリングといった要素も抽出されていますね。
NAIのストロングポイントであるV3インペイントにも対応しており、キャンバスの狙った部分にだけ効かせることも可能です。オリキャラの画像をトランスファーさせて別カットを作ったり、ポーズを引用するなど、LoRA代わりに使えるのであればかなりはかどるはず。この記事では、「第1章」でバイブストランスファーの概要からパラメータの設定方法を、「第2章」で具体的な使い道を実験・検証していきたいと思います。
目次
第1章 バイブストランスファーとは
バイブストランスファーの使い方
・抽出情報(デフォルト値1)
・参照強度(デフォルト値0.6)
比較実験
抽出情報と参照強度の使い分け方
image2imageとの重ね掛け
インペイントでの利用
第2章 できる?できない?
1.服を着せる
2.表情を模倣する
3.背景を参照
4.小物を持たせる
5.背景にキャラクターを呼び出す
6.i2iで構図を、トランスファーでキャラクターを引用
7.バイブストランスファーで漫画・線画生成
8.キャラクターの一貫性保持
終わりに
まずは機能の概要から見ていきましょう。2024年2月22日にNovelAIに追加された「バイブストランスファー(vive transfer)」は、Controlnetでいう「Reference」のように、入力画像から質感や構成要素、雰囲気といったバイブス(=テイスト)を抽出する機能です。NAI公式は「基準画像を生成時のインスピレーションの一種として使える」と説明していますが、決して目新しい機能というわけではなく、同様のものはMidjourneyやFireflyにも「スタイルリファレンス」などの名前で搭載されています。
この記事を書いている最中にも、Niji journeyではキャラクターの一貫性再現に特化した「キャラクターリファレンス」を実装しており、バイブストランスファーはそれらとどう違うのかがポイントになりそうですね。
NovelAIではローカル生成と違ってLoRAやControlnetが利用できないため、学習されていないキャラクターやポーズ、タッチなどは再現しにくいという弱点がありました。その代わり、V3のインペイントは異様に強力でしたので、ポーズや服装がイメージと違う場合は、基準画像をインペイントしてイメージに近づけていくというアプローチができたわけですが、そこに画像参照機能が加わるとどうワークフローに影響するか?何ができて、何ができないのか?ということを検証していきましょう。
まずは基本操作から。使い方はごく簡単で、これまでのimage2imageと同じように生成画面で画像を読み込むと、image2imageをしたいか、バイブストランスファーをしたいか尋ねる画面がポップアップするようになりました。もちろんNovelAIで生成した画像以外も読み込むことが可能で、画像ファイルを画面にドラッグしても、画面左側のボタンから読み込んでもOKです。
(※NAIで生成した画像なら、こちらのようにプロンプトや設定、シードをインポートすることもできます)
バイブストランスファーの操作画面は非常にシンプルで、概念的な「抽出情報」と直感的な「参照強度」の二つのパラメータしか操作できません。この二つはよく似ているので区別が難しいのですが、次のような区別があります。
バイブストランスファーの根幹を成すのがこの「抽出情報」パラメータ。入力画像を構成する「要素」を抽出し、生成に役立てようとする機能です。誤解を恐れずに例えれば、入力画像を構成するタグを抽出してプロンプトに付け加えるような動作をします(実際にそうしているわけではありません)。たとえば、白背景の画像を読み込ませると生成画像も白背景にしようとする効果が働きますし、ポーズや服装など、さまざまな要素を抽出してくれます。NAI公式は「デフォルト値(1)で使用することを勧める」としています。
参照強度はバイブストランスファーで抽出した情報を、どれくらい生成時に重視するかを示しています。数値を1に近づけるほど、「ぱっと見て似ている度合い」、つまり入力画像のテイストや色合いといった印象をできるだけ再現しようとします。強度が強いとどんどん入力画像に似ていくため、プロンプトで指示していない要素が持ち込まれるようになっていきます。例えば、何もしていないのに髪の色やポーズ、服装が同じになったり、全体的なタッチや画風が似ていくということです。MAXの「1」にしてもimage2imageほどは似ませんが、狙った結果を出すには何度か生成を繰り返して調整する必要があります。
(※ちなみに、バイブストランスファーのパラメータはpngのメタ情報に残りませんので、後で参照強度などを確認したい場合は、ファイル名などに書き加えておくなどの対策が必要になります)
公式の説明では今一つピンときませんので、いつもの比較実験をしてみます。
「1girl,pink hair,crossed arms,angry,T-shirt」で生成したこちらの画像。私が普段アイコンに使っているミナちゃんの画像をバイブストランスファーした状態で生成すると、どのように変化していくか確認してみましょう。Seed値は「12345」で固定、その他設定はスクショの通りです。
▲このアイコン
バイブストランスファーの数値は、いずれも0.1~1.0で調整しました。「参照強度」は低いとほぼ変化がないので、0.1の次は0.5まで飛ばしています。
単純に右下に行くにつれてアイコン画像のミナちゃんに似ていくのは当然として、いくつか気づいたことをまとめてみました。
・プロンプトを守ろうとする
バイブストランスファーのパラメータによらず、参照画像(アイコン)と矛盾しない範囲でプロンプトを守ろうとする働きが感じられる。例えば、参照画像に手が映っていないので、crossed arms(腕組み)は全てのレベルで再現されているが、髪色や表情など、プロンプト指示と参照画像が矛盾している場合は、二つの印象が混じったものになりやすいようだ。(ピンクと黒が混じった髪色、怒り眉で笑顔、など)
・参照画像が勝つ数値
プロンプト指示と参照画像が矛盾している場合、参照強度が0.8以上、抽出度が0.5以上だと、おおむね参照画像が勝つ模様。
・画風まで似る数値
参照画像の画風である「chibi」の要素は低い数値でも感じられるが、アイコンの画風とよく似ていると感じられるようになるのは最下段の参照強度1、抽出情報0.5以降。
・適用度0.1でも変化はする
抽出情報が0.1でもかなり影響は大きい(面積が大きい部分の色は影響力が大きい)のに対し、適用度が0.1だとほぼ影響は感じられない。ただ、トランスファーOFFで生成した画像と比べると、かなり違う絵作りにはなっている。
特に、参照画像とプロンプトが矛盾するかしないかで動作がはっきり変わることは重要なポイントです。例えば、あるイラストから服装だけ持ち込みたいなら、顔や手などを消した衣装のみの画像を入力するのが良いことが想像できます。
※顔や手を消すことで、表情や視線や髪・目などの色といった情報が抽出されるのを防げそう。これでも「斜めからの画角」や「白背景」「座っている」「アニメ調」といった要素は抽出される。
さて、この二つのパラメータは使い分けが非常に分かりにくいですね。「抽出情報」は基準画像に描かれた概念だけを無作為に吸い上げるので、image2imageのように似たような構図に寄っていくことはありません。NAI公式が言うように、MAXの1で固定してもかまいませんし、背景やポーズを寄せたくなければ、それを示すタグをネガティブに入れればよいことになります。一方、「参照強度」をデフォルト数値(0.6)で生成した場合に、画風や全体の色合いが引っ張られすぎてしまっていると感じた場合は、これを下げればOK。0.5くらいにするとプロンプトが効きやすくなります。画風も色合いももっと似せて良い場合、特に服装などを参照画像から「コピー」したい場合は大きく上げれば良いことになります。
NAI公式の言う通り、最初に生成する場合は「抽出情報1」「参照強度0.6」で行い、イメージと違う部分を排除する方向でプロンプトや2つのパラメータを調整するというのを基本としておおむね問題ないかと思います。どうしても望まない要素が再現されてしまう場合、先ほど顔を塗りつぶした例のように参照画像を加工する方法があります。また、設定欄の中にある「除外したい要素の強さ」をデフォルトの100%からさらに強めたり、Scale(プロンプトへの忠実度)を上げたりすることで調整することも可能です。
面白いのが、バイブストランスファーとimage2imageは重ね掛けが可能であるという点です。
たとえば、ある完成したイラストがあるとして、そのテイストを変化させたいとします。image2imageで完成イラストAを読み込ませ、バイブストランスファーで全く違うテイストのイラストBを読み込ませると、image2imageの強度にもよりますが、完成イラストの要素はそのままにテイストを段階的に変化させていくことができます。
例えばミナちゃんのイラストをimage2imageする際に、ゴッホの「ひまわり」を参照させると、プロンプトは全くそのままでもこのように雰囲気を変化させることができます。
「sunflower」のプロンプトは入れていませんが、ゴッホのひまわりから要素として抽出され、このように背景に描かれるわけですね。また、絵画調のタッチや全体のカラーリングも寄っており、プロンプトの「red glasses」の効果が排除されてしまっています。
前述したように、バイブストランスファーはインペイントにも対応しています。さきほどの「重ね掛け」の要領で、影響を及ぼしたい部分にマスクをかければOK。インペイントでは強度を選ぶ必要がないので設定が楽です。この方法を使うと、例えば顔のみ、服部分のみ、手に持っている物体のみ、背景のみ、キャラクターのみ、入力画像をトランスファーさせることが理論上可能になります。
こちらはセーラー服のミナちゃん画像に、巫女衣装の画像をバイブスインペイント(仮称)して着替えさせた画像。「miko」のプロンプトだけでは下図のようにうまくいかなかったのですが、バイブストランスファーを適用することで上手に着替えさせることができています。
▲「miko」を強調して通常インペイントしても着替えられなかった
バイブストランスファーの基本が押さえられたところで、では実際にどういった作例に利用できるかを考えてみましょう。
さきほど少し試しましたが、バイブストランスファーで衣装を参照させて、インペイントで着させるのは結構うまくいくようです。完全に参照画像通りにはならないようですが、よく特徴をつかんで模倣してくれます。
こちらはさきほどのミナちゃんを、見覚えのある服装にインペイントしたもの。ちなみに、プロンプトでは一切服装指定をしていません。NAIはミオリネさんを出せるので、普通にキャラクタータグを使えば着替えられるはずですが、バイブストランスファーのみでもここまで再現できるのはすごいですね。
服を参照画像からそのまま持ってきたいので、パラメータは両方MAXの「1」にしています。これ以降の実験でも、雰囲気を似せたい場合は「1&0.6」、そのまま持ってきたい場合は「1&1」を主に使うことにします。
NAIが学習していないであろう服装はどうでしょうか。こちらのドレス衣装(フリー素材)をバイブスインペイントしてみると…
模様をそのまま再現するのは無理でしたが、プロンプトなしでもかなり近づけることができました。スカートの丈を長くしたい場合は「long skirt」を使うなど、ある程度はプロンプトで手助けするとさらに似せることができるはずです。
次に、表情の模倣にトライしてみます。こちらのぐるぐる目のイラストをバイブストランスファーしてみましょう。プロンプトは「1girl,semi rimless eyewear,red glasses,ponytail,beautiful purple eyes,black hair,white ribbon」で、表情に関する指定はなしです。
こちらが生成結果。口を開け、眉を寄せ、目はぐるぐる…という表情部分は同じですが、参照画像そのままではなく、あくまで参照画像の要素をもとに新たに考えられた表情という感じがします。破綻はありませんが、文脈的にちょっとなじんでいないですね。
ここで、プロンプトに「@_@,open mouth」を入れてみると、さらに自然な表情になりました。バイブストランスファーだけでもよく要素を読み取って再現できますが、それをプロンプトで後押ししてあげることで、より意図通りにできることが分かります。
今度は背景を変えてみます。森のフリー写真を使い、ミナちゃんの体の周囲をすべて大き目にマスクしてインペイントしました。プロンプトには「forest」タグを付け加えています。
結果をみると、まあなんとなくそれらしくはなっているのですが、画像参照させた効果はあまり感じられません。インペイントによる背景交換は以前もV3インペイント記事で解説しましたが、あまり芳しくなく、むしろ背景を先に固定してしまってからキャラクターをインペイントで入れた方がうまくいくようです。
また、この画像では森の写真を読み込ませているのですが、V3インペイントはマスク外(この場合はミナちゃん)とタッチを調和させる力が非常に強いため、フォトリアルな背景にはせずにぼんやりさせて調和を図った可能性があります。バイブストランスファーで入力する画像は、i2iする画像と画風がバッティングしないものを選んだほうがよさそうです。
次は、こちらのフリー素材をバイブストランスファーで持たせてみます。
正直デザインは全く似ませんが、魔剣らしいものを持たせることはできました。3Dゲーム風のタッチが参照画像に引っ張られて、アニメタッチのミナちゃん部分と齟齬が生じていますね。やはり、2Dタッチのイラストに3Dタッチの参照画像をバイブスインペイントするのはなかなかうまくいかないようです。
Pinterestでお借りした魔法の杖もトライしてみました。こちらはアニメタッチですが…
今度も「それらしいもの」は持てましたが、デザインの再現度は非常に低い結果になりました。上手に持てること自体はすごいのですが、それはSDXLベースの描写力とV3インペイントのすごさなので、バイブス部分のすごさは活かしきれていないですね。
むしろ正確なデザインの武器を持たせたいなら、武器の画像にミナちゃんをインペイントした方が良いのではないか?ということに気づき、このように設定してみました。
結果はこちら。武器の正確性自体は確保されましたが、今度は持ち方の問題が出てしまっていますね。
正直なところ、「この」ミナちゃんに「この」武器をどうしても持たせたいなら、このように画像編集ソフトで重ねて不要な部分を消しまして、
このように破綻している部分をインペイントでマスクすれば、
武器画像・イラスト画像の双方をバイブスインペイントよりも上手に持たせることができてしまうんですよね。無理にバイブストランスファーを使うのではなく、切り貼り&インペイントではうまくいかないようなケース(例えば、素材画像を角度を大きく変えて適用したい場合など)に使うことを検討するのがよい感じがします。
今度はさきほどと逆に、背景画像をインペイントしてキャラクターを呼び出してみます。バイブストランスファーで参照させたのはこちらのイラスト。
部屋の背景画像にこのようにインペイントすると、おおむね近い感じのポーズで呼び出すことはできました。プロンプトは「1girl,semi rimless eyewear,red glasses,ponytail,beautiful purple eyes,black hair,white ribbon,arms behind back,expressionless」です。
バイブス画像と生成結果を見比べると、セーラー服の色合いは結構近いのですよね。普通「serafuku」などで生成すると、襟や袖、リボンなどがいろんなカラーリングの取り合わせになるので、なかなか難しいんですが、こちらの画像は襟や袖の白線の数こそ違えど、かなり再現度は高いです。その代わり、キャラクターのタッチや顔立ちはさほど似ていません。これは、V3インペイントによる調和が起きて、背景のカラーやタッチと矛盾しない画風に変換されているためと思われます。
これも、さきほどの武器の例のように雑コラ&V3インペイントで背景とキャラクターを保持しながら調和させることはできてしまうため、無理にバイブスインペイントでやらなくても良い場面かもしれません。
バイブストランスファーのよいところは、image2imageと違って全体の構図が引っ張られないところ。逆に言えば、image2imageのよいところは、参照画像をコラージュするような動作をするため、おおむね全体の構図とカラーリングを引き継がせられるというところです。つまり、構図を参照させたい画像をi2iして、プロンプトとバイブストランスファーでキャラクターを再現する方法が考えられます。
「ポーズマニアックス」さんにあるこちらのポーズを再現してみます。カラーを左下の目のボタンから白黒にしましょう。こうすることで、色の配置が引っ張られにくくなります。
このようにミナちゃんの画像をバイブストランスファーで参照させつつ、さきほどのポーズ画像をi2iすると、ちょっと近い画像が出ました。マッスル丸見え画像がおおもとなので、いきなり完成図に至らないのがこの手法の難しいところ。
プロンプトは「1girl,solo,hand up,open stance,hand on heel,open hand,looking up,red glasses,{school uniform,serafuku},long ponytail,short sleeves,navy pleated skirt, shiny skin,detailed black pantyhose,orange pupils,beautiful purple eyes,black hair,large white ribbon on hair, anime coloring, flat color, dot nose,red tie」としています。i2iの強度設定が難しいのですが、「0.65」くらいがなんとかミナちゃんになりつつ、ポーズはそのまま、というきわどいバランスかと思います。
あとはさきほどできた画像をもう一度image2imageすることで、ここまでは寄せられました。Controlnetで言うOpenposeやDepth的な使い方と言えるでしょうか。こうした突飛なポーズだと、細部はやはり完璧とはいきませんが、V3インペイントで整えていくのが良いと思います。
比較するとこう。Controlnetと違って特に四肢の先端まではコントロールできませんが、NSFWの絡みや複数人を配置するときなどに有用かと思います。
白黒の漫画風イラスト、もしくは線画を生成したいときに、単に「line art、monochrome,black and white,manga」等で生成するだけではなく、真っ白な画像を強度(denoising strength)高めでimg2imgするとより品質が良くなるテクニックが知られています。(私はAI漫画家のヒツジさんのツイートで初めて知りました)
似たテクニックに「ノイズ法」があります。こちらは白紙ではなく、さまざまな特徴のあるノイズ画像をimg2img元とすることで、描き込み量を強力に増やしたり、テーマカラーをある色に寄せたりできるテクニックですね。
白紙i2i法は、ノイズではなく白紙画像からノイズ除去をスタートさせることで、余計な色が混じりにくくしつつ、強度をMAXにすることで真っ白(白紙に引っ張られて何も描かれない)になってしまうのを回避するテクニックなのですが、これをバイブストランスファーで行ってみるとどうでしょうか。
まずは白紙画像を用意します。
こちらをバイブストランスファーで「1、1」(両方マックス)で読み込ませ、{{{lineart,monochrome}}}を入れて生成したのがこちら。色がついてしまうので、目や髪、衣装に関する色指定のタグは取り除いておきましょう。
全く同じSeed値でバイブストランスファーOFFで生成すると、このように漫画調になることが分かります。これはこれでよいのですが、トーンやベタのない綺麗な線画を得たいときに有用かと思います。
こちらはバイブストランスファーではなく、通常の白紙i2i法です。白紙画像をimg2imgに入れて、強度MAX(0.99)で生成したもの。Seed値によってうまくいくときもあるので、バイブストランスファーとどちらが良いかは微妙なところです。
ちょっとした漫画などで、コマごとのキャラクターの容姿のブレを抑えて一貫性を持たせるのにもある程度は有用です。つまり、バイブストランスファーを簡易的なLoRAのように使うということですね。
▲寄せられてこの程度
前回の記事では、インペイントによって顔部分だけを動かして一貫性を持たせることを試しましたが、構図も表情も全く別のイラストでキャラクターの一貫性を持たせたいときに、「1、0.6」のパラメータでバイブストランスファーするとある程度容姿を寄せることができます。より容姿を寄せたい場合は「1,1」を使いますが、その場合参照画像から抽出したくない要素も継承されてしまうため、いらない要素をネガティブ指定する必要があります。(上の画像なら笑顔が継承されてしまうのでsmileをネガティブ指定している)
◆著作権トラブルに注意!
「画像を参照」系で気を付けたいのは、i2iパクリと同様に著作権の問題。バイブストランスファーは学習を伴わない簡易的な抽出機能ですので、狙い撃ちLoRAのように「学習物そのまんま」のキャラクターを自由に動かすようなことはできませんが、アニメの公式画像を読み込ませたり、特定イラストレーターの作品を読み込ませて絵を公式に寄せようとするのはトラブルの元です。
画風は確かに著作権保護されませんが、「誰が見てもあの人の絵」というレベルになると、画風やアイデアのレベルではなく、著作権保護される「表現」をコピーしていると判断される可能性があるからです。「キャラクターもアイデアだから著作権保護されない」とよく誤解されていますが、保護されないのは「キャラクター概念」であって、いったん絵として表現された「キャラクターイラスト」は保護されます。
いつもの通り、それぞれの判断で自己防衛しましょう。
そんなわけで、「NovelAI新機能『バイブストランスファー』検証 何ができて何ができないか」でした。バイブストランスファーは非常に操作が簡単で、ニュアンスを操作するのにも有用な一方、LoRAやControlnetのように高度なコントロールが効くわけではありません。ただ、強力なV3インペイントと併用するなど、アイデアを働かせるといろいろと使い道が広がる非常に面白い機能ですね。
最近では、この作例ツリーでバイブストランスファーを使っています。クリスタを使って間違った部分(リボンの色や服のデザイン、髪の長さ)を直したあと、image2imageで仕上げる際に、モデル画像(文字を取り去ったもの)を参照させて画風を寄せています。
この最後の一枚にするところでバイブストランスファーを使っているわけですね。クリスタで手直しした画像をimage2imageに、前のページの画像をバイブストランスファーに入れて、i2i強度0.7、バイブストランスファー「1、1」で生成すると最後の1枚になります。クリスタの雑な直し部分がきれいに整えられつつ、瞳の印象やカラーなどが参照画像に寄っているのが実感できると思います。(ここからさらに加筆して自分らしい絵にする必要はあります)
アイデア次第で他にもさまざまな使い道があると思いますので、こんなことができた!という使用例がありましたら、コメント欄でぜひ教えていただけると幸いです。
それでは今日はこのへんで。スタジオ真榊でした。
スタジオ真榊【AIイラスト術解説】
2024-05-10 10:16:59 +0000 UTCponpokomask
2024-05-10 08:10:03 +0000 UTCwoodwood
2024-04-07 06:42:51 +0000 UTCスタジオ真榊【AIイラスト術解説】
2024-03-17 05:45:15 +0000 UTC萌業@Moegyou
2024-03-17 05:32:48 +0000 UTC