AIアートの入門:Automatic1111 WEB UI 無料でAIアートを作ってみましょう。
今日 無料なStable diffusionのWEBUIをセットアップを紹介してあげます。必要なことはGoogleのアカウントだけです。すべて、GoogleColab内で実行するので、高級なGPUは必要ないです。そして、コードを書くことも必要ないです。
現在、AIプラットフォームの業界では戦国時代見たいです。
競合するプラットフォームがたくさん出てきて、これから始める人は戸惑うかもしれませんね。そして、現在のAIアートのプラットフォームは個人的にちょっと高いです。すべて年会員制を推進しているようですが、無料でも同じことができるんです。
それは、オープンソースソのWEBUIです。
Automatic1111 WEBUI セットアップ
最初に、自分のGoogleのアカウント内でGolabを使ったことがない場合は、インストールしてください
次は、Colabのノートブックを開きます。
レポ内で、いくつかの優れたノートブックにリンクされています。(ノートブックのリスト)今回 TheLastBenさんを使ったノートブックを使います。更新版は、ControlNetの機能を加えたので、とても役に立ちます。(ControlNetについて、この記事をご覧ください。AIアート: Controlネットは凄すぎる 動画を作ってみましょう。)
このコートブック内では、一箇所、更新が必要な箇所があります。これは、モデルのダウンロード/ロードのところです。
HuggingFaceからウェブサイトから希望のモデルをダウンロードできます。モデルのリンクをコピーして、MODEL_LINKのところで付けてください。
モデルをロードした後で、残っているセルを実行します。最後のセルはStableDiffusioの開始のセルです。
UIを開くためのウェブリンクが表示されます。このリンクを押してください。公開的なリンクなので、共有できます。より安全性を高めたい場合は、にユーザー名(User)とパスワード(Password)を追加してください。
WEBUIの操作
WEBUIでは複数のTabに分けています。最初に、基準なtext2imgタブを紹介します。
まず、上部のセクションバーでモデルを選択します。次 希望まプロンプトを見てください。長い文章を書く必要はなく、キーワードをコンマで区切って追加するだけでよい。
プロンプトの例1:dog in astronaute suit, on the moon, moon, space,high quality,
次、ネガティプロンプト(Negative Prompt)を書きます。ネガティプロンプトでは、画像内で、欲しくないことを書いてみます。今回、画像で宇宙船や低品質(が欲しくないので、「Spaceship, low quality, blurry, ugly」を記入します。
次、CFG を変化してみます。CFGはちょっと謎の設定ですが、英語で「Classifier-Free Guidance(CFG)」という略で、日本語で「分類にとらわれないガイダンス」に翻訳しまます。
しかし、この設定は何をするか?
簡単な説明は、CFGを大きくなると、Promptの中で分類はもっと近くなる指数です。犬の場合は、CFGが高くなると、画像はもっと犬っぽくなります。試してましょう
CFGを大きくすると、よりプロンプトに近い状態になるものを見えますね。しかし、CFGの値を増やしただけでは、より良い画像が得られるわけではありません。もっとよく見てみましょう
何か、もっと高くなると、もっと犬っぽくなったが、ちょっとおかしいところが出てしまいました。特に宇宙飛行士の犬の足ですね。CFG16.0で、犬足と人間の手が混在して、GFG21の場合は足が折れそうなんですね。しかし、CFG10では宇宙飛行士と犬と月と良い組み合わせがありましたが、ちょっと人間に似つかわしい。(宇宙飛行士の獣人 (笑))
CFGに最適な値はありませんが、5から15までの範囲でいくつかの値をテストすることは良い方法です。
X/Y/Z plots
宇宙飛行士の犬 CFG のテストでは、同時にすべての画像を作りました。それは、X/Y/ZPlotの機能です。一度に複数の値をテストして、グリッドプロットで結果を比較することができます。とても便利なツールです。
有効するために、UIの下部にある None と書かれたボックスをを開き、X/Y/Zplotを選択してください
複数の設定がありますが、主なものはXYZ軸の変数です。変数を選択したら、隣のボックスには、テストしたい値をカンマで区切って入れます。そして、「Draw Legend」という設定をオンにすることで、どの結果がどの値によるものかを知ることができます。
この設定で、generateを実行すると、次に結果のグリッドが表示されます。
このようなグリッドを使えると、最適な画像をもっと早く作れます。試行錯誤が多いので、こういうツールはとても便利です。
img2img + ControlNET
text2imgタグの隣にimg2imgのタブがあります。ここには、プロンプトだけじゃなくて、入力には画像を使います。「一枚の写真は1000語にも匹敵する」Xは、AIアートに本当に当てはまる有名なことわざです。img2imgでは例の画像に近い画像にしたり、微妙な変化を加えたり、細かいディテールをを増やしたり、することができます。
WEBUIでは、Imig2Imgと同じの設定があり、今回設定の上で、画像の入力エリアがあります。ここには、画像を付けてください。
今回の前澤友作の宇宙飛行士の写真を使ってみます。このような宇宙飛行士を作ってみましょう。
img2imgでは、一つの新しい設定があります。これは「Denoising Strength」で、日本語でノイズ除去ということです。AI画像生成では、ノイズから新しい絵を生み出します。img2img入力の場合は、このノイズは入力画像から作られたノイズです。画像にどの程度のノイズを加えるかはDenoising Strengthです。小さくなると、例の画像と同じになります。大きくなると、別な画像になります。X/Y/Zのプロットを使って、調べてみましょう。
0.3は若い前澤さんっぽいですね(笑)しかし、もっとノーズを加えると、犬になります。しかし、0.7値を渡すと、画像はそれ自体になります。0.5値はとても良い結果だと思います。犬ですが、前澤っぽいですね
AIアートの最近の大きな発展は、ControlNET(コントロールネット)です。同じのノートブックを使う場合は、CFGとDenosingの設定の下に、ControlNetのタブがあります。開いて、「Enable」を推して、有効します。次、処理の手法(PreProcessor)を選択して、隣のブックスでこの処理の手法のモデル(Model)を選択してください。Cannyの場合は、control_canny_fp16のモデルです。
このとき、画像は単なるノイズでできているのではなく、構造と形状のコントローラを持つようになりました。前澤さんの画像と試してみましょう。
宇宙服は、彼が着ているものと非常によく似ています。そして、犬もできます。しかし、失敗作も出ってしまいました。
ControlNetの結果から人間の顔の輪郭を従い過ぎて、ちょっとおかしくなっちゃう。赤いカツラ の犬(笑)。
現在、ControlNetは8種類の処理があるので、ぜひ試してみてください
ControlNetの他の機能について、この記事でより詳しく説明していますので、ぜひご覧ください。
そして、英語ですが、ControlNetについての Threadがあります。