見出し画像

NovelAI新機能「バイブストランスファー」徹底検証 何ができて何ができないか

こんにちは、スタジオ真榊です。今日はNovelAIv3に搭載された新機能「バイブストランスファー」についての検証記事です。

バイブストランスファーを使うと、このように「参照画像」から抽出した要素を生成に適用することができます。この例では星月夜の画風を参照させているだけに見えますが、ちゃんと星や夜空、青と黄色を主体としたカラーリングといった要素も抽出されていますね。

NAIのストロングポイントであるV3インペイントにも対応しており、キャンバスの狙った部分にだけ効かせることも可能です。オリキャラの画像をトランスファーさせて別カットを作ったり、ポーズを引用するなど、LoRA代わりに使えるのであればかなりはかどるはず。この記事では、「第1章」でバイブストランスファーの概要からパラメータの設定方法を、「第2章」で具体的な使い道を実験・検証していきたいと思います。


第1章 バイブストランスファーとは

まずは機能の概要から見ていきましょう。2024年2月22日にNovelAIに追加された「バイブストランスファー(vive transfer)」は、Controlnetでいう「Reference」のように、入力画像から質感や構成要素、雰囲気といったバイブス(=テイスト)を抽出する機能です。NAI公式は「基準画像を生成時のインスピレーションの一種として使える」と説明していますが、決して目新しい機能というわけではなく、同様のものはMidjourneyやFireflyにも「スタイルリファレンス」などの名前で搭載されています。

この記事を書いている最中にも、Niji journeyではキャラクターの一貫性再現に特化した「キャラクターリファレンス」を実装しており、バイブストランスファーはそれらとどう違うのかがポイントになりそうですね。

NovelAIではローカル生成と違ってLoRAやControlnetが利用できないため、学習されていないキャラクターやポーズ、タッチなどは再現しにくいという弱点がありました。その代わり、V3のインペイントは異様に強力でしたので、ポーズや服装がイメージと違う場合は、基準画像をインペイントしてイメージに近づけていくというアプローチができたわけですが、そこに画像参照機能が加わるとどうワークフローに影響するか?何ができて、何ができないのか?ということを検証していきましょう。


バイブストランスファーの使い方

まずは基本操作から。使い方はごく簡単で、これまでのimage2imageと同じように生成画面で画像を読み込むと、image2imageをしたいか、バイブストランスファーをしたいか尋ねる画面がポップアップするようになりました。もちろんNovelAIで生成した画像以外も読み込むことが可能で、画像ファイルを画面にドラッグしても、画面左側のボタンから読み込んでもOKです。

NAIで生成した画像なら、こちらのようにプロンプトや設定、
シードをインポートすることもできます

バイブストランスファーの操作画面は非常にシンプルで、概念的な「抽出情報」直感的な「参照強度」の二つのパラメータしか操作できません。この二つはよく似ているので区別が難しいのですが、次のような区別があります。

・抽出情報(デフォルト値1)

バイブストランスファーの根幹を成すのがこの「抽出情報」パラメータ。入力画像を構成する「要素」を抽出し、生成に役立てようとする機能です。誤解を恐れずに例えれば、入力画像を構成するタグを抽出してプロンプトに付け加えるような動作をします(実際にそうしているわけではありません)。たとえば、白背景の画像を読み込ませると生成画像も白背景にしようとする効果が働きますし、ポーズや服装など、さまざまな要素を抽出してくれます。NAI公式は「デフォルト値(1)で使用することを勧める」としています。

・参照強度(デフォルト値0.6)

参照強度はバイブストランスファーで抽出した情報を、どれくらい生成時に重視するかを示しています。数値を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は重ね掛けが可能であるという点です。
たとえば、ある完成したイラストがあるとして、そのテイストを変化させたいとします。image2imageで完成イラストAを読み込ませ、バイブストランスファーで全く違うテイストのイラストBを読み込ませると、image2imageの強度にもよりますが、完成イラストの要素はそのままにテイストを段階的に変化させていくことができます。

例えばミナちゃんのイラストをimage2imageする際に、ゴッホの「ひまわり」を参照させると、プロンプトは全くそのままでもこのように雰囲気を変化させることができます。

「sunflower」のプロンプトは入れていませんが、ゴッホのひまわりから要素として抽出され、このように背景に描かれるわけですね。また、絵画調のタッチや全体のカラーリングも寄っており、プロンプトの「red glasses」の効果が排除されてしまっています。


インペイントでの利用

前述したように、バイブストランスファーはインペイントにも対応しています。さきほどの「重ね掛け」の要領で、影響を及ぼしたい部分にマスクをかければOK。インペイントでは強度を選ぶ必要がないので設定が楽です。この方法を使うと、例えば顔のみ、服部分のみ、手に持っている物体のみ、背景のみ、キャラクターのみ、入力画像をトランスファーさせることが理論上可能になります。

こちらはセーラー服のミナちゃん画像に、巫女衣装の画像をバイブスインペイント(仮称)して着替えさせた画像。「miko」のプロンプトだけでは下図のようにうまくいかなかったのですが、バイブストランスファーを適用することで上手に着替えさせることができています。

「miko」を強調して通常インペイントしても着替えられなかった


第二章 できる?できない?

バイブストランスファーの基本が押さえられたところで、では実際にどういった作例に利用できるかを考えてみましょう。

1.服を着せる

さきほど少し試しましたが、バイブストランスファーで衣装を参照させて、インペイントで着させるのは結構うまくいくようです。完全に参照画像通りにはならないようですが、よく特徴をつかんで….

>>FANBOXへ続く(4591/10321文字)

目次

第1章 バイブストランスファーとは
 バイブストランスファーの使い方
 ・抽出情報(デフォルト値1)
 ・参照強度(デフォルト値0.6)
 比較実験
 抽出情報と参照強度の使い分け方
 image2imageとの重ね掛け
 インペイントでの利用

第二章 できる?できない?
 1.服を着せる
 2.表情を模倣する
 3.背景を参照
 4.小物を持たせる
 5.背景にキャラクターを呼び出す
 6.i2iで構図を、トランスファーでキャラクターを引用
 7.バイブストランスファーで漫画・線画生成
 8.キャラクターの一貫性保持

終わりに