こんにちは、スタジオ真榊です。今日は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で生成した画像と比べると、かなり違う絵作りにはなっている。
特に、参照画像とプロンプトが矛盾するかしないかで動作がはっきり変わることは重要なポイントです。例えば、あるイラストから服装だけ持ち込みたいなら、顔や手などを消した衣装のみの画像を入力するのが良いことが想像できます。

※顔や手を消すことで、表情や視線や髪・目などの色といった情報が抽出されるのを防げそう。これでも「斜めからの画角」や「白背景」「座っている」「アニメ調」といった要素は抽出される。




