こんばんは、スタジオ真榊です。今夜は前回に続き、AIイラストと線画についての記事です。前回は線画に着色するやり方でしたが、今日は逆手順で「カラーイラストを線画化する方法」について紹介していきます。
単に主線を抜き出して線画化するだけでなく、ラフスケッチ調にしたり、鉛筆書き風に仕上げることも可能。主線を抜き出して元のイラストに重ねると、また違った表現になりますし、逆に主線を抜き出しておかしいところを線画レベルで修正し、それを新たにAIで着色する…といった今までにない手法もできるわけです。さっそく具体的手順を見ていきましょう!
傑作!「線画LoRA」の紹介
「AIを使って線画に色塗りをしてみよう!」では、最初にAI生成した線画を用意して、それに着色する方法について考察しましたよね。線画の生成に利用したのが、最近登場したこちらの線画LoRA「Anime Lineart Style」です。今回はこちらのLoRAを使って、前回とは逆にイラストを線画化する方法を紹介していきます。
(※個人配布のLoRAですので、例によって使用許諾をご確認の上、自己責任でご使用下さい)

(▲上記civitaiURLよりスクリーンショット引用)
CyberAIchemist氏が配布されているこちらのLoRA用モデルは、単にイラストをモノクロ化するわけではなく、主線を抜き出した「線画」を出力するためにトレーニングされたもの。LoRAを適用するだけでも効果がありますが、「monochrome」「lineart」をプロンプトに入れることで、余計な色の浸食を防ぎやすくなります。weightは「0.8~1が良い」とのことで、賢木はふだん1で利用しています。
本来は線画を出力するためのLoRAなわけですが、これをControlnetと組み合わせることで既存イラストの線画化に使用してみよう!というのが今回の試みです。

(▲前回着色に使った線画)
使うのはもちろん、線画からの着色でも使用した「Canny」。線画化したい画像を参照画像とし、weight:1、annotator resolusion:800で抽出します。線画から着色する場合と異なり、今回はカラーイラストから抽出処理をする必要があるので、preprosessorもモデルも両方「canny」にします。
ここからの作業は、線画化したいイラストが自分の環境でいつでも生成できるAIイラストである場合と、そうでないイラスト(AI未使用のイラストやAI生成後に加工してExif情報が残っていない場合など)の場合で異なります。順番に見ていきましょう。
【1】AIイラストを線画化する場合
まずは、自分で作ったAIイラストを線画にしたい場合。プロンプトやseed値、使用した学習モデルなどの生成条件が分かっており、t2i画面でいつでも全く同じイラストを生成できる環境なら、簡単に線画にすることができます。
まずは「PNG内の情報を表示」からプロンプトなどの設定を「txt2imageに転送」。学習モデルや画像サイズ、clip skipの設定など、全く同じ画像が生成できるように各種設定を確認します。以前生成したときと同じ条件が揃っていると確認できたら、プロンプトにLoRAの起動プロンプトと「monochrome,lineart」を追加します。
【重要ポイント】Hires.fixをONにすると、線画を着色したときと同様、参照画像と線画がズレてしまいます。そこで、元画像が高解像度補助(Hires.fix)を掛けていた場合は、t2i画面に設定をコピーした後Hires.fixをオフにして、元画像のHiresの倍数のキャンバスサイズを指定してください。
Ex:元画像が768✕512を2倍Hiresしていた場合→t2i画面の設定は「Hiresオフで1536✕1024サイズ」にする。
次に、Controlnet画面で線画化したい画像を読み込み、以下の通りに設定します。「preview annotator reslult」ボタンを押して抽出具合をチェックし、拾われていない線がある場合はannotator resolusionやpreprosessorの下限閾値を調整しましょう。リサイズモードは線画とずれないよう「Just Resize」にします。

今回は以前自分で生成したメイドさんのイラストを線画化してみます。
【GIF▼】

おおむね正確に主線を抜き出すことができました。自分で生成したAIイラストであれば、生成条件も分かっているので簡単ですね。しかし、線画化したい画像がいま手元でt2i生成できないイラストだった場合、少々手続きが大変になります。




