こんばんは、スタジオ真榊です。前回に引き続き、Google最新の画像生成AI「NanoBanana」の検証をお届けしていきます。今回は線画の着色や背景生成など、手描きイラストの工程にnano bananaをどのように活かすことができるのか、できることとできないことの境目を探ってみたいと思います。

前回の特集では20近くの各種検証を行い、だんだんとnano bananaの得意なこと、不得意なことが見えてきた感触があります。特に、convert 〇〇やchange 〇〇といったプロンプトを使って入力画像を変容させる場合に、上手に指示できると従来モデルでは不可能なレベルの画像編集ができることが分かってきました。

今回の検証に使うのは、こちらの線画。前回の特集で得られた知見を踏まえて、再現性の高いプロンプトを使うと線画から完成までの工程をどれくらい助けてもらえるのかを、より実践的な手法を探りました。今回もNanoBananaの実力ができるだけそのまま伝わるよう、生成失敗した場合に黙ってガチャをやり直したりはせず、失敗した結果とリカバリーのやり方を追っていきたいと思います。

【NanoBanana実践画像編集】線画▶着色▶スタイル変更▶文字入れ▶仕上げまで:図版1

上の線画はご想像の通り、手元にあったミナちゃんのカラーAI絵をNanoBananaに渡し、「Convert to line art.」と指示して得られたものです。この線画を題材にしてあれこれいじっていくのですが、まずその前段階として「従来の線画抽出はどれくらいの品質でできたのか?」「nano bananaによる線画抽出はそれに比べて便利・高品質と言えるのか?」というところから検証を始めたいと思います。

【NanoBanana実践画像編集】線画▶着色▶スタイル変更▶文字入れ▶仕上げまで:図版2

1.従来の線画化手法をおさらい

AI絵は本来、ラフや線画段階をすっ飛ばして、絵が描けない人でもいきなり完成段階近くまで高速・大量に生成できることがメリットです。ただ、ポン出ししたそのままの画像はどんなに高品質に見えても、意図がこもらないとつまらなさが生じてしまいますし、漫画やサイト素材、記事サムネイルを作るなど一定の目的を果たす画像が必要な場合には、どうしても順を追った作業が必要になります。そこで、今回は線画から最終的な記事サムネイルに至るまでの作業をNanoBananaと一緒に追ってみて、役に立つ部分・立たない部分をあぶりだしていきたいと思います。

線画抽出にはさまざまなやり方がありますが、スタジオ真榊ではこれまで、「①画像編集ソフトを使う」「②CNプリプロセッサを使う」「③画像生成で高品質な線画を生成する」の3つの手法を主に紹介していました。(下記記事参照)

①画像編集ソフトで線画抽出

そこまで線画の品質(拡大したときのジャギー感など)にこだわらない場合は、PhotoshopやClipstudioの画像編集機能で済ませてしまうのが早いです。色調補正機能でコントラストをはっきりさせて線画部分を濃くしたあとに、Photoshopなら「フィルター▶フィルターギャラリー▶コピー」でディテールと暗さの数値を調整することで、線画のみを抜き出すことができます。

①画像編集ソフトで線画抽出:図版1

あとは「イメージ▶色調補正▶諧調の反転」で白背景にすれば線画にできます。必要に応じてレベル補正などでコントラストや明暗を調整しましょう。

①画像編集ソフトで線画抽出:図版2

この手法は非常に手軽ですが、影やしわのアウトラインなどもどうしても拾ってしまうので、その後の使い勝手があまりよくありません。Controlnetで線画を指示して着色したいときなどに使うことが多いかなと思います。

①画像編集ソフトで線画抽出:図版3

ちなみに、線画の白い部分を透過させたい場合は、クリスタの「編集▶輝度を透明度に変換」で一発です。Photoshopにはこの機能がないので、色域選択機能で白い部分を選択▶削除したり、レイヤーマスクを使ったりする方法で透過する必要があります。

①画像編集ソフトで線画抽出:図版4

②プリプロセッサで線画抽出

Photoshopなどがない方は、ローカル画像生成で線画抽出を行うことができます。Controlnet機能には、CNモデルに画像を入力する前に「前処理(PreProcess)」を行うプリプロセッサというものが各種ありますが、線画を継承するLineartモデルに読み込ませるためのプリプロセッサを使えば線画抽出を行うことができます。

やり方はControlnet画面で線画化したい画像を入力し、プリプロセッサで「lineart_realistic」を選んで「💥」マークを押して少し待つだけ(初回は読み込み時間あり)。こうすると、画面右側に白黒反転した線画が出力されます。出力された画像は、右上の「↓」ボタンからDLできます。

②プリプロセッサで線画抽出:図版1

このとき画面下部の「Resolusion(解像度)」を2048pxにしておくと、幅2048pxで線画化してくれるので、より高精細な線画化が期待できます。「Lineart anime」などのプリプロセッサも、テイストは変わりますが線を抜き出してくれますので、比較してみるとよいでしょう。

こちらはLineart realisticプリプロセッサで抽出したもの(階調反転済み)。やや色合いが薄いので、レベル補正などでくっきりさせるとよいでしょう。Photoshopより線が均等な太さで抽出できていますが、やはりこちらも影のアウトラインを線画として認識しています。

②プリプロセッサで線画抽出:図版2

③Controlnetで線画抽出(線画生成)

影のアウトラインを拾わず、より品質のよい線画を求める場合、Controlnetを使って線画抽出をする方法があります。元画像と重なる「より品質のよい線」を新たにつくるわけですから、厳密には抽出ではなく「線画の生成」になります。

・線画抽出用プロンプトを組む

まず、これから生成したい線画に必要なプロンプトを記述します。手打ちするのは大変なので、LoRA学習のときと同様にWD1.4タガーを使ってもよいですし、img2img画面でこのように線画画像(プリプロセッサで作るのが楽です)を読み込んで、生成ボタンの下にある段ボール型のボタンを押すことで簡易抽出もできます。

・線画抽出用プロンプトを組む:図版1

ここでは「1girl, :d, bangs, hair between eyes, hair ornament, hair scrunchie, holding, holding phone, jacket, long sleeves, looking at viewer, monochrome, open mouth, phone, pleated skirt, ponytail, sailor collar, school uniform, scrunchie, serafuku, skirt, smile, solo, sunazuka akira」というタグが抽出されました。段ボールボタンでの抽出はごく簡易的なものなので、本がスマホに誤認され、キャラクターが既存の版権キャラと取り違えられてしまっています。それぞれ削除するか書き直しましょう。

ポイントは、実際の画像と違うタグがないか(こっちを見ていないのでlooking at viewerは誤検出)、red eyewearやgreen hairといった色のタグがないか確認すること。これから白黒の線画を抽出したいので、カラー関連のタグがあると失敗してしまいます。

さらに、モノクロ画像ではなく線画にしたいので、線画化に特化したLoRAを使用します。ここでは月須和那々さんの「sdxl-lineart_11」(リンク先のsdxlフォルダ内にあります)を使いますが、Civitaiで「lineart」で検索してもいろいろな線画化LoRAが見つかるかと思いますので、好みの線のLoRAを探しましょう。

LoRAのトリガーワードとともに、白黒線画であることを下記のように強調すればOKです。

PP:1girl, :d, bangs, hair between eyes, hair ornament, hair scrunchie, holding, holding book, jacket, long sleeves,monochrome, open mouth, phone, pleated skirt, ponytail, sailor collar, school uniform, scrunchie, serafuku, skirt, smile, solo, monochrome,lineart,white and black,<lora:sdxl-lineart_11:1> (white background,simple background:1.3)

・白画像をimg2img

そうしたら、このような真っ白な画像を用意しておき、同じimg2img画面で読み込みます。txt2imgで生成しても良いのですが、白画像をimg2imgすることで、より背景を白く、線画部分をくっきりとさせられる効果があります。

white

配布ファイルはPixivFANBOX限定ですダウンロードはFANBOXの記事からどうぞ。PixivFANBOXの記事を開く

CN画面では、このように抽出したい画像を読み込み、プリプロセッサ「なし」でAnytest v4に入力します。

・白画像をimg2img:図版1

V3だとすべての線を守ろうとして再び影のアウトラインが出てしまいますが、v4の場合はプロンプト指示を優先して、アウトラインだけを抽出するバイアスが働くわけです。重みは1で、すべてのステップに掛けます。ケースバイケースですが、線がずれてしまうといけないので、Prefer Controlnet(プロンプトよりCNを優先する)にチェックを入れておくとよいかもしれません。(このあたりの意味が分からない方は"SDXL用Controlnetが理解る!"を参照ください)

あとは、抽出したいサイズを指定して、ノイズ除去強度「1」で生成すればOKです。

・白画像をimg2img:図版2

こちらが生成結果。このように、①②と違って影のアウトラインのない線画を抽出することができました。

・白画像をimg2img:図版3

・ちゃんと重なっている?

一見きれいに見えても、本当にこの線画が抽出前の画像と重なっていなければ何の意味もありません。Clipstudioの「透明度を輝度に変換」で上の線画の白い部分を透過し、もとの画像と重ねてみます。それだけでは重なり具合が分かりにくいので、「透明ピクセルをロック」した状態で、上から虹色のグラデーションをかけてみました。

・ちゃんと重なっている?:図版1

するとこのように、しっかり重なっていることが確認できました。

・ちゃんと重なっている?:図版2

スカート部分を確認してみても、ほぼ問題なさそうにみえます。端の方を見ると、わずかにズレがなくもないですが、許容範囲ではないでしょうか。

・ちゃんと重なっている?:図版3

・AI絵に「色トレス」

ちなみにこの手法を使えば、AIイラストに対する「色トレス」が簡単にできます。色トレスは、普通は黒で引かれる線画部分を周囲のカラーに近い色にすることで、イラストの印象を柔らかくすることができる手法。例えばこのように、体のアウトラインは濃い肌色で、セーターのアウトラインはグレーに近い線画にすると、真っ黒な線画より印象が違ってみえますね。

・AI絵に「色トレス」:図版1

           ◀黒い線画 / 色トレスした線画▶

アップにするとこのような感じ。生成画像そのままだとAI絵を編集するのはなかなか難しいのですが、正確な線画が抜き出せると、画像編集ソフトをぽちぽちしているだけでこうしたさまざまな加工が可能になって楽しいです。

・AI絵に「色トレス」:図版2

・簡易的な色トレスのやり方

「色トレス」ですから、本来は線画部分を適切なカラーでトレスする技術ですが、クリスタではガウスぼかしやクリッピング機能を使って簡単に色トレスをすることができます。

こちらのレイヤー順をご覧ください。元のカラーのAI絵の上に、抽出した線画レイヤーがある状態で、さらにその上にAI絵のレイヤーをコピーし、「下のレイヤーでクリッピング」します。これで、線画の上にだけ一番上のレイヤーの色合いが影響する状態になりました。

・簡易的な色トレスのやり方:図版1

そうしたら、クリッピングしたレイヤーをガウスぼかしするだけです。内部的にはこのようにボケるので…

・簡易的な色トレスのやり方:図版2

この色が線画部分に重なって、周囲の色となじんだ線画になるというわけです。この上から、エアブラシなどを使って自分で塗ってももちろんOKです(それが本来の色トレスです)。

・簡易的な色トレスのやり方:図版3