投稿者: media

  • FLUX@falで デルタもん 準公式LoRAをつくってみた!!

    falは開発者向けのメディアプラットフォームです。今日はfalにホストされているFlux.1[dev]のLoRAを使ってデルタもんの漫画向けLoRAをつくる実験を行ってみます。
    https://fal.ai/

    画像

    falは人気の漫画制作ツール「Anifusion」の内部の演算基盤としても使用されているようです。非常に高速で比較的安価なAPIコストで画像生成が実現できます。

    今回はこちらのfalにおいて公開されている「FLUXによるキャラクターLoRA生成」を紹介します。

      デルタもんを使った準公式LoRA生成実験

      今回の実験はAIキャラクター「デルタもん」を開発・管理するBlendAIさんのご協力により「デルタもん4コマ漫画コンテスト」の提供でお送りします!

      まずデルタもんには既に公式LoRAが存在します

      https://blendai.booth.pm/items/5801621

      こちらはSDXLをベースにした追加学習(LoRA)であり、「Anifusion」使ったデルタもん漫画に利用できます。

      Anifusionを使ったすべての漫画制作工程を知りたい読者は、現在配信中の「AICUマガジン」最新刊「AICUマガジンVol.4 完全解説Anifusion」を御覧ください。
      書籍版、Kindle版があり、Kindle Unlimited加入者は無料で購読可能です。

      https://j.aicu.ai/MagV4

      【前提】LINEスタンプ画像を使った機械学習は大丈夫なの?

      デルタもんはLINEスタンプとしてリリースされています

      https://store.line.me/stickershop/product/28076624/ja

      LINE スタンプ – デルタもんが来た!

      これは可愛いですね!買いました!

      BlendAIさんの「かわいい!! みどりちゃんスタンプ」もいいですね!

      https://store.line.me/stickershop/product/11304932/ja?from=sticker

      このようなキャラクター画像は通常IP(Intellectual Property:インテレクチュアル プロパティ)つまり知的財産として管理されています。
      このようなスタンプ画像をソースにして、機械学習や情報分析をすることは「日本の著作権法では可能」ですが、贋作をつくることが目的になったり、実際に偽物・類似品の「デルタもん」つまり、「デルタもの」をリリースして販売することは一般的には許可されていることはあまりないことです。
      ※「利用規約」によります。

      画像

      今回の実験にあたり、BlendAIさんに利用規約を確認したところ、ご許諾いただけました。

      Q: 商用利用はできますか?
      A: 以下に該当する利用であれば、利用規約の範囲内で自由に商用利用ができます(ボイスは除きます。詳細は後述)。
      非営利目的の利用
      Youtube、Twitter(X)、Facebook、Tiktok、Instagram 等、動画投稿サイトへの投稿目的での利用
      pixivリクエスト等のコミッションサイトでの利用
      FANBOX や Patreon 等ファン限定作品のデータもしくはそのアクセス権を販売するサイトでの利用
      ハッカソンまたはコミケ等の同人イベントでの利用(常設ではない単発のイベントのみ)
      同人誌等の同人作品の販売(ダウンロード販売含む)
      AIの研究開発の為の利用(ただし、成果物を頒布・公開する場合は、対価を受け取ってはならない)
      個人による年間の売上が10万円以下の商品またはサービスを作る際の利用
      上記以外の利用を希望する場合、ライセンス申請してください。また、ボイスの利用については、声優の権利保護のため商用利用可能な条件が異なります。ボイスの商用利用を希望する場合は、こちらのページを見てください。

      https://blendai.jp/guideline

      AICU Inc.が定める
      画像生成AIクリエイター仕草(v.1.0)
      も参照しておきます。

      すべきでないこと
      他者の迷惑になること。
      技術的な可否と法律上の可否とマナーやモラル、過去の常識やリスクや感情を混ぜて混乱させること。
      (スキルがあるからといって)他者の作品を上から目線で批判すること。
      画像生成 AI だから安いとか、自動だとか、無償で何かを作れるとか「楽して儲かる」など世間を誤解させるようなこと。
      すべきこと
      楽しむこと。作品を作る情熱を持ち続けること。
      わからないことは自分で調べて、共有し、コミュニティや Issue で共有すること。
      あいさつ、返事、お礼、質問を具体化、質問時は「わからない」だけでなく詳細な情報、進行具合を報告するなど誠意、他者に対するリスペクトや理解する姿勢を持つこと。
      「ぬくもりティ」だいじ。オープンソースコミュニティの開発者には敬意をもって接しよう。
      画像生成AIクリエイター仕草(v.1.0)は、AICU media が提唱するものです。
      倫理や法律を大切に、他者を尊重したコミュニティ構築を行っていきましょう。

      手順:LoRA生成と公開

      fal-aiが公開している flux-lora-general-training を使用して、デルタもん公式が配布している画像を学習させてみます。

      https://blendai.jp/resources

      画像
      画像

      実際にかかるコストなどのレポートも行っていきます!

      falアカウントの作成

      GitHubアカウントでのみ登録可能です。

      画像

      プロジェクト「flux-lora-general-training」を開く

      https://fal.ai/models/fal-ai/flux-lora-general-training

      画像

      実は商用利用可能なようです。

      クレジットを追加する

      今回のLoRAを作成するには5ドル、その後の生成も含めると、まずは10USDぐらい必要です。Stripeで決済できますので、クレジットを追加しておきましょう。

      画像の登録

      実は4枚ぐらいでもできます。まずは小規模に試してみるのもいいかもしれません。

      画像

      素材はBlendAIの「素材配布」から「LINEスタンプ画像」を使って登録してみます
      https://blendai.jp/resources

      画像
      画像

      PNGファイルの001-040までの40枚を追加してみます。

      画像

      トリガーワードは「DeltamonStamp」としてみます。
      キャプションファイルがあるとなお良いかもしれませんが、今回は実験なのでデフォルトのまま進行します。

      画像

      予算(クレジット)を確認する

      このLoRA学習用エンドポイントを実行するには5ドル相当のクレジットが必要です。なお、クレジットが不足しても実行はできることがありますが、その分、マイナスになって、次回以降は何もできなくなってしまいます。

      画像

      画像生成はメガピクセルあたり0.035ドルかかります。日本円で5円弱、1ドルで約29回実行できますので生成自体の単価は安いのかもしれません。

      ちなみにこの実験では1000ステップほどで実行していますが、たとえば複数のLoRAを生成した場合は、どんどんコストが大きくなります。例えば5400ステップですと…27ドルといった具合です。

      画像

      学習を実行する

      枚数にもよりますが10分ぐらいで終わります。速い!

      画像

      生成したLoRAを試用する

      結果の右側にある「▶Run interface」を押すと、TextToImageのプロジェクトが開かれ、すぐに試すことができます。

      「chibi manga panels of DeltamonStamp」で生成してみました。

      画像

      後頭部が描かれているのは尊いですね。

      画像
      スタンプ画像の雰囲気再現性が高いです
      画像
      漫画コマを生成してみました
      画像
      キャラクター紹介シートっぽい
      画像
      謎文字が可愛い
      画像

      生成したsafetensorsをHugging Faceで公開する

      今回生成したsefetensorsファイルをHugging Faceで公開してみます。

      画像

      「Hugging Face」ボタンを押します。

      画像

      ・Hugging Faceのトークンを取得して、設定します。
      ・リポジトリ名を設定します
      ・説明書きを加えます

      デルタもんStampをベースにしたLoRAです。特徴的な日本語の描き文字が化けて可愛いですね。
      This LoRA is based on Deltamon Stamp. It is cute with distinctive Japanese drawn characters that have been transformed.

      ・インスタンスプロンプトとしてトリガーワード「DeltamonStamp」を指定します。
      ・ここではアクセス権を「Public」にしていますが、これは「Private」でもいいと思います。

      こんな感じに公開されます。

      公開できました!(publicになっています

      画像

      Hugging Faceでの生成もできます

      画像

      Flux.1[dev]のワークフローを使って、ComfyUIでLoRAとして利用することもできますね。

      画像

      ご許諾いただいたBlendAIさんと、かわいらしいイラストと描き文字を書いて、LINEスタンプのフォーマットに揃えて納品していただいている作者の方に感謝を表明します。

      画像

      https://huggingface.co/AICU/deltamon-flux-lora

      ※メンバーシップ向け追加情報


      この記事の続きはこちらから https://note.com/aicu/n/n02e4dc8b88d6

      Originally published at https://note.com on Sept 7, 2024.

    1. [ComfyMaster15] ComfyUIの{動的|推奨}プロンプトの落とし穴!

      「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
      Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」第15回目になります。
      この記事では、ComfyUIを始めたばかりの方向けに、プロンプトの基本から応用、そしてComfyUI特有のテクニックまでを、実用的なプロンプト例を交えながらわかりやすく解説します。

      前回はこちら

      プロンプトテキストのランダム置換

      ComfyUIでは、{選択肢1 | 選択肢2 | 選択肢3}のように記述することで、プロンプトの一部をランダムに選択することができます。

      プロンプト例

      A {red | blue | green} apple on a table

      このプロンプトでは、red、blue、greenのいずれかがランダムに選択され、テーブルの上にある赤い、青い、または緑のりんごの画像が生成されます。

      画像

      AUTOMATIC1111での「Dynamic Prompt」に当たる機能ですね!でもComfyUIの場合は特に機能拡張などは不要です。

      https://note.com/aicu/n/n56807d61efac

      動的プロンプトの注意点

      注意点があります。実は、Empty Latent Imagebatch_sizeを増やしたとしても、一度のワークフローで生成される画像には、同じプロンプトが適用されます。動的プロンプトによるランダム置換を適用するには、Queue Promptを複数回実行する必要があります。
      以下は、batch_sizeを4にして実行した例です。全て緑のりんごが生成されています。

      画像
      画像

      Queue Promptを複数回実行した場合の結果も見てみましょう。
      Extra optionsにチェックを入れて、Batch countを4にして生成します。

      画像
      画像

      先ほどと違い、ランダム置換が適用されています!

      これを応用して、キャラクターの生成でもランダム置換が適用されるかテストをしてみます。以下、テストで使用したプロンプトになります。

      1girl, short bob, {wearing dress | wearing t-shirt and jeans | coveralls}, looking at me and smiling, realistic, full body

      ショートボブの少女がワンピース or Tシャツとジーンズ or 作業着を着て笑っている。という設定

      画像

      モデルカードに注目! 推奨プロンプト

      他のモデル(CheckpointやLoRAなど)を使用する際は、そのモデルが推奨するプロンプトを使用しましょう。モデルが推奨するプロンプトは、モデルの説明ページに書かれているので、モデルを使用する前にしっかり説明をよむことが大切です。

      Checkpointの例

      Checkpointの例を見てみましょう。以下のRealVisXL V4.0というモデルのページを確認してみます。

      https://huggingface.co/SG161222/RealVisXL_V4.0

      説明を読むと、Recommended Negative Promptの項に以下のプロンプトが記載されています。

      (face asymmetry, eyes asymmetry, deformed eyes, open mouth)
      画像
      https://huggingface.co/SG161222/RealVisXL_V4.0

      これは、RealVisXL V4.0を使用する際は、ネガティブプロンプトに上記のプロンプトを使用することを推奨しています。他にもHiresFixでの推奨設定なども書かれています。RealVisXL V4.0を使用する際は、ネガティブプロンプトに指定のプロンプトを入力し、この種の推奨設定をしっかり理解することで、より高品質な画像を生成することができます。

      新しいモデルを試すときにも、利用規約やライセンスと並んで、推奨プロンプトや設定はしっかり読みましょう!

      LoRAの例

      次にLoRAの例を見てみましょう。以下のデルタもんLoRAを確認してください。

      https://civitai.com/models/492694

      デルタもんLoRAのページを見ると、「The trigger word is ap_deltamon.」と記載があります。

      画像

      <lora:deltamon_official_v1.0:1.0>, ap_deltamon,1girl,solo,white_background,simple_background

      ap_deltamonだけでもかなり正確に生成できる。

      このLoRAを使用する際は、ポジティブプロンプトに「ap_deltamon」を含めることで、デルタもんを生成できる、とあります。
      トリガーワードがわからないと、LoRAを活用することができませんから、超重要情報です。

      まとめ

      この記事では、ComfyUIでSDXLのプロンプトを記述する基本的な方法から、応用的なテクニックまでを紹介しました。プロンプトエンジニアリングは、試行錯誤を通して習得していくものです。様々なプロンプトを試してみて、自分にとって最適な表現方法を見つけてみましょう。

      ComfyUIとSDXLは、非常に強力な画像生成ツールです。プロンプトの力を最大限に活用することで、あなたの創造性を形にすることができます。ぜひ、色々なプロンプトを試して、素晴らしい画像を生み出してください!

      次回は、image-to-imageの方法を紹介します。乞うご期待!


      【お知らせ】「デルタもん4コマ漫画コンテスト」開催中!

      【応募方法】

      1. 「デルタもん」をテーマにしたオリジナル漫画を作成する
      2. 作品をX(Twitter)に投稿し、応募フォームへ記入します
        エントリーフォームのURL → https://j.aicu.ai/Delta4manga

      必須ハッシュタグ #デルタもん4コマ #AICU #BlendAI
      締め切り:2024年9月10日(火)23:59

      審査期間:2024年9月11日(水)~2024年9月13日(金)
      結果発表:2024年9月14日(土) AICU media公式noteにて発表(予定)!

      X(Twitter)@AICUai も忘れずフォローよろしくお願いいたします!


      画像生成AI「ComfyUI」マスターPlan

      画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

      • メンバー限定の会員証が発行されます
      • 活動期間に応じたバッジを表示
      • メンバー限定掲示板を閲覧できます
      • メンバー特典記事を閲覧できます
      • メンバー特典マガジンを閲覧できます
      • 動画資料やworkflowといった資料への優先アクセスも予定

      ゼロから学ぶ「ComfyUI」マガジン

      https://note.com/aicu/m/md2f2e57c0f3c

      マガジン単体の販売は1件あたり500円を予定しております。
      2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

      https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487?from=self

      もちろん、初月は無料でお試しいただけます!
      毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
      退会率はとても低く、みなさまにご満足いただいております。
      ✨️オトクなメンバーシップについての詳細はこちら

      本日のメンバーシップ向けボーナストラックは犬沢某@InsBow さんのカバーアート(文字入れなし)です!
      かわいいイラストをいつもありがとうございます!


      この記事の続きはこちらから https://note.com/aicu/n/n7f69b22479c9

      Originally published at https://note.com on Sept 6, 2024.

    2. [ComfyMaster14]ComfyUIでのTextToImageを極める!!(4)複数キャラを同時に制御する

      ComfyUIで「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
      Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

      画像
      制御したいですよね

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」第14回目になります。

      前回「ComfyUIでのTextToImageを極める!! (3)Concatで複数CLIPをつなぐ」で
      は、Conditioning(Concat)ノードと複数CLIPを結合して「プロンプトの限界」を超え、その内部動作をソースコードから確認しました。
      今回は実験を通して確認していきたいと思います。

      長いプロンプトを使った実験

      前回、Concatをつかうことで、長いプロンプト中の「緑の森」「赤い城」といった背景/世界と建築物での「色分け」を紹介しました。

      CLIP1「a red castle on a hill」(1344×768, seed:13)
      CLIP2「A fantasy landscape, overlooking a vast green forest」

      画像

      さらに Conditioning(Concat)のToとFromはToがベースプロンプトで、Fromが追記であることを解説しました。でも短いプロンプトで入れ替えてみても絵に変化はなく、どちらがベースなのかは確認できなかったという結論になっていました。
      今回はキャラクターイラストを使って、ものすごく長いプロンプトで実験してみましょう。
      AICUで生成AIを使ってキャラクターデザインやイラストレーションを担当している犬沢某先生に相談して長めのプロンプトをいただきました。

      face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old,

      beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff

      これは2つのキャラクターを表現する2つのプロンプトを貼り付けたものです。途中に「髪を食べる(eating hair)」という謎の単語を含めて合計78ワードあります。

      画像

      Concatを使った実験:単純な結合

      まずは実験として、「Load Default」をつかって初期のワークフローにして、モデルをSDXL(sd_xl_base_1.0.safetensors)に変更し、, seed=13 fixed, 1344×768にして、CLIPひとつでそれぞれ生成してみます。

      「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old, beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」、ネガティブプロンプトは「text, watermark」(2トークン消費)で生成してみます。

      画像

      さすが!!かわいい!
      男性と女性が混ざった雰囲気ですね。長いプロンプトが結合できていることが確認できました。

      プロンプトの整理

      次にこの2人分のプロンプトを前半と後半に分けて生成してみます。

      画像

      前半「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old」
      Negative 「text, watermark」, SDXL, 1344×768, seed=13

      (顔の焦点, 犬の耳, 1boy, 最高品質, 16K, 髪を食べる, 犬の鼻, 見る人を見ている, 短い髪, 痩せている, 大きな目, 浅黒い肌, 背が高い, 裸のオーバーオール, 20歳)

      画像

      顔に焦点を当てた半裸でオーバーオールを着た20歳の青年が生成されました。続いて後半です。

      後半「beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」
      Negative 「text, watermark」, SDXL, 1344×768, seed=13

      (美しい, 太い黒の輪郭, ピンク, パステルカラー, ライトピンク, しかめっ面, 茶色の髪, 金色の目, シンプルな線画, 動物の耳, ソロ, 茶色の髪, オーバーオール, 猫耳, 浅黒い肌, 短い髪, 浅黒い肌の女性, シンプルな背景, チョーカー, セーター, 黄色のシャツ, 長袖, ピンクのチョーカー, 白背景, 閉じた口, 余分な耳, 動物の耳の綿毛)

      画像

      Concatを使った実験:整理と結合

      これらを Conditioning(Concat)を使って繋いでみます。

      画像

      CLIP1-Conditioning_to「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old」
      CLIP2-Conditiong_from「beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」
      Negative 「text, watermark」, SDXL, 1344×768, seed=13

      画像

      1boyとdark-skinned femaleが混ざっていますので、難しいと思います。中性的ではありますが、どちらかというと男性っぽいですね。
      まずはConcatで結合が機能していると考えられます。

      FromとToはどっちがベースなのか実験的に確認する

      さてFromとToはどっちがベースなのか実験的に確認していきましょう。
      さきほどの中性的なイラストの前後半を入れ替えてみます。

      画像

      CLIP1-Conditioning_to「beautiful, bold black outline, pink, pastel colors, Light Pink, scowl, brown hair, golden eyes, simple line drawing, animal ears, solo, brown hair, overalls, cat ears, dark skin, short hair, dark-skinned female, simple background, choker, sweater, yellow shirt, long sleeves, pink choker, white background, closed mouth, extra ears, animal ear fluff」
      CLIP2-Conditiong_from「face focus, dog ears, 1boy, best quality, 16K, eating hair, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old」
      Negative 「text, watermark」, SDXL, 1344×768, seed=13

      画像

      たしかに同じではなさそうです。toとfromは英語的な意味とは逆で、「toがベースでfromが追加条件」という説が実証できているようにも見えます。

      キャラクターの描き分け実験:空白CLIP、クオリティプロンプト

      実はこのプロンプト、2つのキャラクターが混ざっています。1boyとfemale、Dog earsと Cat ears、「髪の毛を食べる」と「口を閉じる」という破綻しやすそうなキーワードが混在していますので、これを整理してみます。

      混ざっているプロンプトをわかりやすく、キャラクター1,2と演技、画風やクオリティプロンプト、と分けて入れ替えてみます。

      キャラクター1「1girl, pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff」(1girl、ピンク、パステルカラー、ライトピンク、しかめっ面、金色の目、動物の耳、ソロ、オーバーオール、猫耳、黒い肌、ショートヘア、肌の黒い女性、チョーカー、セーター、黄色のシャツ、長袖、ピンクのチョーカー、口を閉じた、余分な耳、動物の耳の綿毛)

      これをConditioning_toに設定して、Conditioning_fromを空白する例と、それを入れ替えた例、さらにクオリティプロンプトと背景設定を入れ替えた例を実験します。

      画像

      やはり空白のような極端に短いCLIPでは効果は確認できないようです。クオリティプロンプトを加えてみます。

      画像

      Conditioning_to「1girl, pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff」
      Conditioning_From「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」

      画像
      画像

      Conditioning_to「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」
      Conditioning_from「1girl, pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff」

      画像

      たしかに、ベースプロンプトがConditioning_toではありそうです。長いプロンプトでの実験は効果ありそうです。画風とキャラクターについての実験を続けます。

      続いてキャラクター2のプロンプトを設定します。もともと頂いたプロンプトからキャラクターとして一貫性がありそうな「1boy, dog ears, dog nose, short hair, skinny, big eyes, looking at viewer, dark skin, tall, naked overalls, 20-year-old, brown hair」(1boy、犬耳、犬鼻、短髪、痩せ型、大きな目、視聴者を見ている、黒い肌、背が高い、裸のオーバーオール、20歳、茶髪)として、先程のキャラクター1の代わりに入れてみます。

      画像

      Conditioning_to「1boy, dog ears, dog nose, short hair, skinny, big eyes, looking at viewer, dark skin, tall, naked overalls, 20-year-old, brown hair」
      Conditioning_from「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」

      画像

      入れ替えてみます。

      画像

      Conditioning_to「beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」
      Conditioning_from「1boy, dog ears, dog nose, short hair, skinny, big eyes, looking at viewer, dark skin, tall, naked overalls, 20-year-old, brown hair」

      画像

      たしかに、ベースプロンプトがConditioning_toではありそうです。

      実験:多段Concat

      それではConcatを多段にするとどうなるでしょうか?
      接続としては以下のようになります。
      Concat1(To:画風 + From: キャラクター1boy)
      Concat2(To:Concat1の結果+Form:キャラクター2girl)

      画像
      画像

      多段Concatは問題なく接続されますし、結果も良好です。
      さて次は問題です。

      Concat1(To:画風 + From: キャラクター2girl)
      Concat2(To:Concat1の結果+Form:キャラクター1boy)

      このようなネットワークを組んだときに、boyが出るのかgirlが出るのか、皆さんはどう考えますか?

      画像
      画像

      結果は「入れ替えても変わらない」です。Conditioningの多段、特にFromを多段Concatで入れ替えても結果は変化ありませんでした。
      シードによって描かれる結果は変わりますが、Fromを入れ替えても変化はないのです。これは便利ですね。

      画像
      画像

      Concat1(To:キャラクター1boy+ From: 画風
      Concat2(To:Concat1の結果+Form: キャラクター2girl

      画像

      Concat1(To:キャラクター1boy+ From: キャラクター2girl
      Concat2(To:Concat1の結果+Form: 画風

      画像

      ComfyUIにおいて強調構文は平均ではなく、Fromは掛け算のように働くと覚えておくと良いのかもしれないですね。

      実験:Combineでの融合と入れ替え

      同じようにConditioning(Concat)ではなく、Conditioning(Combine)で融合と入れ替えをしてみます。こちらも全く変化なしです。

      画像
      画像
      画像
      画像
      画像
      画像

      複数の異なる特徴を持ったキャラクターを描くには?

      さて、Concatの理解は進みましたでしょうか?
      では複数の異なる特徴を持ったキャラクターを描くにはどうやったら良いのでしょうか?

      ポイントは、まず「大事なものはToに設定」そして「それぞれのCLIPにも設定」しましょう。
      複数のキャラクターの画風の統一を図りたい、同じ空間や世界に配置したいときはToに書きます。これをベースとして、このように2人の人物が出てくれば、あとは詳細を75トークン以内で表現するだけで2人以上のキャラクターの画像をそれぞれ生成することができるようになります。

      CLIPを2つでConcatだけで構成する場合にはこんな感じです。
      [CLIP1] best quality, beautiful, 1girl and 1boy,
      [CLIP2] best quality, beautiful, 1girl and 1boy,
      ここまでいれる、というテクニックが非常に重要です。
      こんな絵も作れるようになります。

      画像

      [CLIP1]
      best quality, beautiful, 1girl and 1boy, 1girl, female, 20-year-old, cat ears, pink choker, sweater, yellow shirt, long sleeves, white background, closed mouth, extra ears, animal ear fluff, solo, brown hair, overalls, pink, pastel colors, Light Pink, face focus,

      [CLIP2]
      best quality, beautiful, 1girl and 1boy, blue choker, eating hair, dog ears,16K, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, bold black outline, scowl, brown hair, golden eyes, simple line drawing, animal ears, simple background, dark skin, short hair, dark-skinned

      多段Concatを使った作例

      実際にはCLIP2つだけで複数キャラクターと世界や画風を設定するよりも、多段のConcatを使ったほうが楽かもしれません。
      一連の流れを出力例からおさらいします。

      画像

      ベースになる画風を1段目のConditiong_toに設定します。

      Conditiong_to「1boy and 1girl, beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K」

      画像

      二人がどんな演技をしているか、共通で維持したいものはすべてのCLIPに入れておけば強調されます。

      画像

      conditioning_fromとconditioning_toに共通に「1girl and 1boy」を入れて、それぞれの特徴をCLIP1とCLIP2で詳細に描写していくことができます。

      画像

      このあたりで一度、シードをfixedからIncrementに変更して、Queue Prompt Extra Options▶Batch countを20として、20枚、シードを増やしながら一気に生成してみます。

      画像
      画像
      美しい結果はメンバーシップエリアに置いておきます…!

      肌の褐色をプロンプトで強調していくか、いろんな方向性があり得ると思いますが、ここまで制御性が高くなっていると、好きなテイストを選ぶことも難しくないと思います。

      この段階では画風、肌の色やレイアウトのほうが表情や指といった細かいところよりも重要です。画面比率を変えると大幅に変わってしまいますので今回は1344×760で固定しておいたほうが良いでしょう。
      SDXLの場合、テキスト以外にも画像解像度等の条件が加えられる場合はconditioning_toの方を使います。

      表情や指がおかしいところはImageToImageで修正できますが(次回以降)、今回はネガティブプロンプトやembeddingで仕上げていきます。

      プロンプトだけのSDXL、TextToImageで完成させた作品がこちらです。
      便宜上、CLIP0、CLIP1、CLIP2と呼んでいますが、いままでの2段構成のConditioning(Concat)によって実装しています。

      画像

      CLIP0(conditioning_to) : 1boy and 1girl looking each other, beautiful, bold black outline, simple line drawing, simple background, white background, best quality, 16K

      CLIP1(Conditiong_from) : 1boy and 1girl looking each other,1boy face focus, dog ears, 1boy, best quality, 16K,, dog nose, looking at looking at viewer, short hair, skinny, big eyes, dark skin, tall, naked overalls, 20-year-old

      CLIP2(Conditioning_from) : 1boy and 1girl looking each other, 1girl , pink, pastel colors, Light Pink, scowl, golden eyes, animal ears, solo, overalls, cat ears, dark skin, short hair, dark-skinned female, choker, sweater, yellow shirt, long sleeves, pink choker, closed mouth, extra ears, animal ear fluff

      Negative: text, watermark, embeddings:negativeXL_D

      まとめ:conditioning

      これまで4回にわたってComfyUIでSD1.5およびSDXLを使ってプロンプトの基本的な方法から、応用的なテクニックまでを紹介してきました。今回はイラストレーションで「複数のキャラクターを同時制御する」という実験を行いましたが、プロンプトだけでなく、CLIPの内部やConditioningを使ってComfyUIならではの絵作りを探求していくベースになったようであれば幸いです。実はconditioningにはたくさんあり、今回紹介したCombine、Concatの他にはAverage、 Set Areaなど複数存在します。例えばAverageは結合ではなく線形補間します。

      画像

      次回は、image-to-imageの方法を紹介します。乞うご期待!

      X(Twitter)@AICUai もフォローよろしくお願いいたします!

      画像生成AI「ComfyUI」マスターPlan

      画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

      • メンバー限定の会員証が発行されます
      • 活動期間に応じたバッジを表示
      • メンバー限定掲示板を閲覧できます
      • メンバー特典記事を閲覧できます
      • メンバー特典マガジンを閲覧できます
      • 動画資料やworkflowといった資料への優先アクセスも予定

      ゼロから学ぶ「ComfyUI」マガジン

      https://note.com/aicu/m/md2f2e57c0f3c

      マガジン単体の販売は1件あたり500円を予定しております。
      2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

      https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487?from=self

      もちろん、初月は無料でお試しいただけます!
      毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
      退会率はとても低く、みなさまにご満足いただいております。
      ✨️オトクなメンバーシップについての詳細はこちら

      本編で2人以上のキャラクターをそれぞれ描くことができるようになりましたね。ここではシードを変えた問のさまざまな中間生成画像を紹介します。


      この記事の続きはこちらから https://note.com/aicu/n/nacf66b92d2d5

      Originally published at https://note.com on Sept 4, 2024.

    3. [ComfyMaster13]ComfyUIでのTextToImageを極める!! (3)Concatで複数CLIPをつなぐ

      ComfyUIで「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
      Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」第13回目になります。

      前回は「ComfyUIでのTextToImageを極める!!(2)Combineでプロンプト融合」と題して複数プロンプトを組み合わせての生成について解説いたしました。
      今回は、長文プロンプトを分割して意図した絵を生成する方法を解説いたします。

      前回「ComfyUIでのTextToImageを極める!!(2)Combineでのプロンプト融合」はこちら

      前回は複数CLIPの活用として「Combine」を学びました。ComfyUIでは、複数のCLIPTextEncodeノードとConditioning(Combine)ノードを組み合わせることで、複数のプロンプトを同時に使用できます。例えば「龍」と「虎」を別々のCLIPTextEncodeノードに指定すると、「龍」と「虎」を組み合わせた画像を生成することができるようになりました。

      でも今回のカバーアートのような「複数の人物を一つの画像で描くためには?」…?今回はConcat機能と複数CLIPを使って「プロンプトの限界」を超えていきます。

        CLIPの内部と「Concat」

        まず、自然言語処理やStable Diffusionにおける「トークン」とは、プロンプトに入力する単語や文字列といった「テキストデータを処理する際に使用される基本的な単位」を指します。1単語を1トークンとしてカウントし、区切りに使われるカンマ(,)も1トークンとみなされます。
        モデルにもよりますが、SDXLの場合は75トークン(≒単語数)が1つの処理単位(バッチ)であり、75トークンを超える長いプロンプトの場合は、プロンプトを複数のバッチに分割して処理する方法が推奨されます。

        長いプロンプトをChatGPTで作ってみる

        例えば、 “A beautiful garden with red roses and white lilies blooming under a clear blue sky” というプロンプトがあるとします。

        画像
        画像

        例えばChatGPTを使って「もっと詳細を!」と作文してもらいました。
        プロンプトとしてはこんな感じです。

        extract this stable diffusion prompt longer to 75 tokens.
        “A beautiful garden with red roses and white lilies blooming under a clear blue sky”
        make more detail for each words.

        (このStable Diffusionのプロンプトを75トークンに長く引き延ばします。
        「澄み切った青空の下、赤いバラと白いユリが咲き誇る美しい庭」
        それぞれの単語をより詳しく説明)

        A stunning, vibrant garden filled with deep red roses, their petals velvety and rich, alongside pristine white lilies, their petals delicate and gracefully open, all flourishing under a vast, clear blue sky with soft clouds gently drifting in the distance.

        (深紅のバラが咲き誇る見事な庭園。その花びらはビロードのように滑らかで、濃厚な色合いです。その傍らには、花びらが繊細で優雅に開く純白のユリが咲いています。すべては広大な澄み切った青空の下で、遠くには柔らかな雲が静かに漂いながら、咲き誇っています)

        画像

        更に拡大していきます。「more」といえば、ChatGPTがどんどん作ってくれます。

        “A breathtaking, lush garden teeming with radiant, deep crimson roses, each petal exquisitely velvety and glowing under the sunlight. The roses stand tall and proud, surrounded by elegant, snow-white lilies with intricate, soft petals that curve gracefully outward. The lilies’ golden stamens catch the light, contrasting with their pure white petals. The garden is bathed in warm sunlight, the vibrant greenery of the foliage complementing the vivid flowers. Above, the expansive sky is a brilliant, azure blue, with delicate wisps of clouds painted across the horizon, creating a serene and peaceful atmosphere, where every bloom flourishes in perfect harmony with nature.”

        「息をのむほど見事な緑豊かな庭には、鮮やかな深紅のバラが咲き乱れ、その花びらは、日光に照らされて、どれもこれも見事にベルベットのように艶やかです。バラは堂々と誇らしげに咲き、その周りには、複雑に入り組んだ柔らかな花びらが優雅に外側へと反り返る、エレガントな純白のユリが咲いています。ユリの黄金色の雄しべは光を浴びて輝き、純白の花びらとコントラストを描いています。庭は温かい日差しに包まれ、鮮やかな花を引き立てる葉の生き生きとした緑色が映えています。頭上には広々とした空が鮮やかな紺碧色に輝き、水平線には繊細な雲の塊が描かれ、静かで穏やかな雰囲気を醸し出しています。そこでは、あらゆる花が自然と完璧な調和を保ちながら咲き誇っています。」

        画像

        ここまで来ると美しさも素晴らしいのですが、ワードカウントすると101ワードありました。

        画像

        https://wordcounter.io/#google_vignette

        Tokenizerによるトークンの理解

        トークン数についても数えていきましょう。CLIPは実はOpenAIによって開発された技術です。2021年1月5日にOpenAIによって公開された「言語と画像のマルチモーダルモデル」で、インターネットから集めた画像とテキストの40億ペアからなるデータになっています(最新のStable DiffusionではOpenCLIPなど違うCLIPが使われています)。

        トークン化をカウントできるツール「Tokenizer」がOpenAIによって公開されています。

        https://platform.openai.com/tokenizer

        画像

        ワード数は101ワードでしたが、トークン数は137です。

        画像

        [Token IDs]ボタンを押すと、トークンのIDを見ることができます。

        画像

        Claudeを使ったComfyUIソースコードの理解

        トークン数が75トークン超の場合、一般的に言われている仕様は以下のようなものです。

        • 現在のバッチに入りきるだけの単語を追加します。
        • 残りの単語は新しいバッチの先頭に追加します。

        「誰かが言っている」という理解ではなく、実際のソースコードを分析してみる習慣をつけましょう。
        ComfyUIのsd1_clip.pyの処理をClaudeに解説してもらいました。

        https://github.com/comfyanonymous/ComfyUI/blob/8ea165dd1ef877f58f3710f31ce43f27e0f739ab/comfy/sd1_clip.py


        このコードではトークンの最小値と最大値が設定されています。SD1Tokenizer クラスを詳しく見てみましょう

        SD1Tokenizer Token Details
        Token RangeMinimum token value: 0 (pad token when `pad_with_end` is False)
        Maximum token value: Size of the vocabulary – 1
        Special TokensStart token: Typically 49406
        End token: Typically 49407
        Maximum Length`max_length`: 77 (default, can be set in the constructor)
        `max_tokens_per_section`: 75 (max_length – 2)
        Note: The actual vocabulary size and special token values may vary depending on the specific CLIP tokenizer used.

        SD1Tokenizer クラスでは、トークンの範囲が以下のように設定されています:

        1. 最小トークン値:
          • 基本的に 0 です。これは `pad_with_end` が False の場合のパディングトークンとして使用されます。
        2. 最大トークン値:
          • 明示的には設定されていませんが、使用される CLIPTokenizer の語彙サイズによって決まります。
          • 通常、CLIP モデルの語彙サイズは 49408 ですので、最大トークン値は 49407 になります。
        3. 特殊トークン:
          • 開始トークン(start_token): 通常 49406
          • 終了トークン(end_token): 通常 49407
        4. 最大長:
          • `max_length`: デフォルトで 77 に設定されています(コンストラクタで変更可能)
          • `max_tokens_per_section`: `max_length – 2` で、通常は 75 になります

        これらの値は、使用される具体的な CLIP トークナイザーによって若干異なる可能性があります。また、このコードでは埋め込み(embeddings)も扱えるようになっており、これらは通常のトークン範囲外の値を持つ可能性があります。トークナイザーの実装上、0 から語彙サイズ-1 までの整数値がトークンとして使用されます。特殊トークン(開始、終了、パディング)も含めて、この範囲内に収まるように設計されています。全てのトークンをバッチに分けたら、最後のバッチも空欄を追加して75トークンにします。


        Claudeによるソースコード分析は便利で丁寧です。

        他にもこんな質問もできます。

        この処理はどこで扱われますか?
        1.1 倍の重みになる (a b c d e) と、
        数値指定有りでその倍数になる (a b c d e:1.1)

        質問ありがとうございます。その特定の処理は、`token_weights` 関数内で行われています。この関数を詳しく見てみましょう。

        def token_weights(string, current_weight):
            a = parse_parentheses(string)
            out = []
            for x in a:
                weight = current_weight
                if len(x) >= 2 and x[-1] == ')' and x[0] == '(':
                    x = x[1:-1]
                    xx = x.rfind(":")
                    weight *= 1.1
                    if xx > 0:
                        try:
                            weight = float(x[xx+1:])
                            x = x[:xx]
                        except:
                            pass
                    out += token_weights(x, weight)
                else:
                    out += [(x, current_weight)]
            return out
        

        この `token_weights` 関数は、括弧で囲まれたテキストとその重みを処理します。具体的には(略)

        この関数により、(a b c d e)`は1.1倍の重みを持ち、(a b c d e:1.1) は指定された1.1倍の重みを持つようになります。また、これらの構造がネストされている場合も適切に処理されます。

        この処理の結果は、その後 `tokenize_with_weights` メソッド内で使用され、各トークンに適切な重みが割り当てられます。


        AUTOMATIC1111にはプロンプトの文法やトークン数のチェックを行う補助機能がありますが、ComfyUI にはありません。 これはComfyUI の自由度との引き換えになります。しかもAUTOMATIC1111WebUIとは文法は同じでも中身は全然違うようです。AUTOMATIC1111内部ではCLIPの隠れ層出力に重み付けをしたあと、元の平均で正規化します。つまりあるトークンを強くしようとすると、他のトークンは弱くなるようです。ComfyUIでは単に定数倍するのではなく、空文によるCLIP出力を基準に重み付けします。正規化はしないので、重みをつけたトークンのみが影響を受けます。

        このような「CLIPでプロンプトをどのように扱っているか?」はソースコードを直接読んだり分析したりする以外は、モデルとの対話を通して推測することができます。

        AUTOMATIC1111WebUIにおいては「BREAK構文」や、オープンソースで数多くの拡張機能やテクニックが開発されてきました。例えば日本人が開発したExtentions「Regional Prompter」を使うことで複数の特徴を持つ人物を同時にプロンプトで表現できるようになります。

        https://note.com/aicu/n/n832941df99c5

        これから解説する「Concat Conditioning」はComfyUIにおいてAUTOMATIC1111の「BREAK構文」を実装するものです。複数のCLIP出力を結合します。

        分割位置の明示的な指定

        • プロンプトは最初にトークン化されます。
        • トークン化されたプロンプトは、最大長(デフォルト77トークン)のバッチに分割されます。
        • 各バッチは開始トークン(START_TOKEN)、プロンプトのトークン(最大75トークン)、終了トークン(END_TOKEN)、必要に応じてパディングトークンで構成されます。
        • 8トークン以上の「長い単語」は、複数のバッチにまたがって分割される可能性があります。
        • バッチ間で直接的な文脈の共有はありません。
        • 各バッチは独立して処理されます。

        モデルは各バッチを個別に処理するため、バッチ間の長距離の依存関係は失われる可能性があります。
        しかし、全てのバッチが同じプロンプトの一部であるため、全体的なテーマや文脈は維持される傾向があります。

        つまりComfyUIにおいて「長いプロンプトをそのまま1つのCLIPに入力した場合、意図しない位置で分割され、その文脈が無視される可能性がある」ということは知っていてください。しかしこの特性を利用することで、プロンプトレベルで「描き分け」や「色分け」を明示的に行うことができます。

        Conditioning(Concat)ノードの実装

        Conditioning(Concat)ノードを使って「色分け」を実装してみましょう。
        Concatとは「結合」、という意味です。

        標準ワークフローを改造し、以下のプロンプトを意図した位置で分割し、「色分け」を明示的に行った画像を生成してみます。使用するプロンプトは以下になります。

        A fantasy landscape, a red castle on a hill, overlooking a vast green forest,

        「広大な緑の森を見下ろす丘の上の赤い城」という「緑の森」と「赤い城」が混在するプロンプトです。

        普通に生成するとこのような画像になります。色が混ざってしまう事が多くなり、制御性が低く、運任せになってしまいます。

        画像
        画像

        これを「赤い城」と「緑の森」をそれぞれ複数のCLIPで表現できるようになれば制御性がよさそうです。

        • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。前回の続きで改造しても構いません。
        画像
        • ポジティブプロンプト用のCLIPTextEncodeノードを1つ追加します。
        画像
        • 1つ目のCLIPTextEncodeノードのプロンプトに「a red castle on a hill」と入力します。これをCLIP1と呼ぶことにします。
        • 2つ目のCLIPTextEncodeノードのプロンプトに「A fantasy landscape, overlooking a vast green forest」と入力します。これをCLIP2と呼ぶことにします。
        画像
        • Conditioning(Concat)ノードを作成し、2つのCLIPTextEncodeノードの出力を接続します。
        画像
        • Conditioning (Concat)ノードの入力「conditioning_to」と「conditioning_from」をそれぞれ2つのCLIPを接続します。
        • どちらのCLIPを to と from につなぐのかは、この段階ではどちらでも構いません(後ほど解説します)。
        • Conditioning (Concat)ノードの出力をKSamplerpositive入力に接続します。
        画像
        • 以下が最終的なワークフローになります。
        画像

        これでCLIP1が「丘の上の赤い城」、CLIP2が「広大な緑の森を見下ろす幻想的な風景」となり、それぞれがConcatを通して条件づけされることになります。どんな画像が生成されるのでしょうか。

        以下の画像は、分割前と分割後の比較画像になります。分割前は、森は緑ですが、丘が赤くなっています。分割後は、城だけが赤くなっていることが確認できます。

        画像

        Default workflowにて「a red castle on a hill,
        A fantasy landscape, overlooking a vast green forest」(1344×768, seed:13)

        画像

        CLIP1「a red castle on a hill」(1344×768, seed:13)
        CLIP2「A fantasy landscape, overlooking a vast green forest」

        画像

        Conditioning_toとConditioning_fromの意味

        今回の実装例ではConditioning_toとConditioning_fromは「どちらのCLIPに接続しても構いません」としましたが、実際のプロンプトで絵作りをする時にはどのような意味を持っているのでしょうか。まずは入れ替えてみます。

        画像

        Conditioning_to: a red castle on a hill
        Conditioning_from: A fantasy landscape, overlooking a vast green forest
        512×512, seed:12

        画像

        Conditioning_to: A fantasy landscape, overlooking a vast green forest
        Conditioning_from: a red castle on a hill 
        512×512, seed:12

        画像
        画像

        絵的にはほとんど変化がありません。しかしこれはプロンプトが短すぎるせいかもしれません。

        SDXLを使った実験は次回に行うとして、今回は、このノードのソースコードを使って、Claudeに内部の定義を聞いてみましょう。

        https://github.com/comfyanonymous/ComfyUI/blob/febea8c1015888ea81e9efc92236bdb4ceabc623/nodes.py#L105

        Claudeによる解説


        ConditioningConcatクラスの concat メソッドを詳しく見てみると、conditioning_to と conditioning_from には実際に違いがあります。以下にその違いを説明します。

        1. 役割の違い:
          • conditioning_to は主要な条件付けであり、修正される対象です。
          • conditioning_from は付加的な条件付けで、conditioning_to に追加されます。
        2. 処理方法:
          • メソッドは conditioning_to の各要素に対してループを行います。
          • conditioning_from は最初の要素のみが使用されます。
        3. 連結(Concatenation)の方法:
          • conditioning_to の各要素の最初のテンソルが、conditioning_from の最初の要素の最初のテンソルと連結されます。
        4. メタデータの扱い:
          • conditioning_to の各項目のメタデータ(2番目の要素)は保持されます。
          • conditioning_from のメタデータは使用されません。
        5. 出力構造:
          • 出力は conditioning_to の構造を維持しつつ、各要素が連結によって修正されます。

        つまり、英語の「to」と「from」の直感的な意味とは逆で、正しい覚え方は

        「conditioning_to」がベースとなるプロンプトまたは主要な条件付け
        「conditioning_from」が追加または補足的な条件付け

        ということになりそうです(何度か確認しました)。
        以上、Conditioning(Concat)ノードと複数CLIPを結合して「プロンプトの限界」を超え、その内部動作をソースコードから確認しました。
        次回は実験を通して確認していきたいと思います。

        具体的にはこんな絵を作ってみます。

        画像

        まとめ:変化しつつある画像生成AIの常識

        これまで3回にわたってComfyUIでSDXLのプロンプトを記述する基本的な方法から、応用的なテクニックまでを紹介してきました。画像生成AIが登場したばかりの頃のTextToImage、特にプロンプトは、かつては試行錯誤を通してテキストや構造を工夫することが中心でしたが、AUTOMATIC1111とComfyUIのCLIPの扱いが大きく変わっていることに気づかれたと思います。
        AICUでは従来のような仮説や構造、文法や有効なワードを探求するだけでなく、ChatGPTやClaudeなどのLLMを使ってプロンプトそのものをメタに扱ったり、ソースコードを分析して正しい解釈を得たり、実験をして確かな情報を獲得していく方法が重要と考えて記事中で提案しています。次回はさらに実用的に、今回の内容を使って「複数のキャラクターを同時制御する」という実験を行います。様々なプロンプトを試してみて、自分にとって最適な表現方法を見つけてみましょう。

        ComfyUIは、非常に強力な画像生成ツールです。プロンプトの力を最大限に活用することで、あなたの創造性を形にすることができます。ぜひ、色々なプロンプトを試して、素晴らしい画像を生み出してください!

        X(Twitter)@AICUai もフォローよろしくお願いいたします!

        画像生成AI「ComfyUI」マスターPlan

        画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

        • メンバー限定の会員証が発行されます
        • 活動期間に応じたバッジを表示
        • メンバー限定掲示板を閲覧できます
        • メンバー特典記事を閲覧できます
        • メンバー特典マガジンを閲覧できます
        • 動画資料やworkflowといった資料への優先アクセスも予定

        ゼロから学ぶ「ComfyUI」マガジン

        https://note.com/aicu/m/md2f2e57c0f3c

        マガジン単体の販売は1件あたり500円を予定しております。
        2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

        https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487?from=self

        もちろん、初月は無料でお試しいただけます!
        毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
        退会率はとても低く、みなさまにご満足いただいております。
        ✨️オトクなメンバーシップについての詳細はこちら


        この記事の続きはこちらから https://note.com/aicu/n/n301bb146abdd

        Originally published at https://note.com on Sept 4, 2024.

      1. 1時間でここまでできる!「AniFusion」でデルタもん漫画を描いてみた

        こんにちわ、AICU media編集部のはねごろうです。
        9月に入りましたが暑さが続いておりますね。皆さん変わりなくお過ごしですか?

        さて、ただいまAICU media編集部ではBlendAIさんにご協賛をいただいて、「デルタもん4コマ漫画コンテスト」を開催中です!

        必須ハッシュタグ #デルタもん4コマ #AICU #BlendAI

        〆切は9月10日(月)23:59となります!
        是非皆さん、力作をご応募くださいね!

        と、言われても…イラストと違って漫画はコマ割りや吹き出しなど、少し敷居が高いイメージがして手が出しづらい・・・・・

        そんなお悩みを解決しましょう!
        今回はAniFusionを使った「4コマ漫画作ってみた」をお送りしたいと思います!

          材料

          材料はたったふたつ!

          ・素晴らしいアイデア
          ・AniFusion

          https://anifusion.ai

          AniFusionの設定はこちらの記事をご参考ください

          作り方

          今回はコンテストの告知ツイートで使用したこちらの作品を元に解説をしていきましょう。

          コマ割りを決める

          画像

          まず、ワークスペースタイプを選びます。今回は4コマ漫画を作成するので、コミックワークスペースを選びましょう。

          画像

          パネルテンプレートの選択

          「パネル」とは日本語の漫画用語で「コマ」のことです。

          画像

          キャンバスが出てきたら、右側のパネルテンプレートから好きなコマを選びます。コマに振られている数字は、1→2→3→4の順に物語が展開する、という意味です。 

          次に、モデルとLoRAの準備をしましょう。

          画像

          モデルタブを開くと、モデルなどの設定を行えるようになります。
          今回は、デルタもんの4コマを作成したいので上記のような設定にしたいと思います。
          ・モデルがAnimagineXL 3.1
          ・LoRAにDeltamon Official version1.0

          デルタもんの公式LoRAは以下のCivitaiのリンクからご利用ください。

          https://civitai.com/models/492694

          ※まずストーリータブにある「FLUXを使用」をOFFにしましょう。デルタもんLoRAは FLUX.1 という最新のモデルに対応していないため、ONになっているとLoRAがうまく作用しません。

          画像

          ストーリーを打ち込んでみよう

          ページタブを開くとストーリープロンプトがあります。ここには物語の起承転結を書き込むと、自動生成できるようになっています。

          画像

          ストーリープロンプトですが、冒頭の作品の場合はこんな感じでした。

          1コマ目で「え、デルタもん4コマコンテスト開催」と喜ぶデルタもん、2コマ目で口元に手を当て呟く、3コマ目で握りこぶしを空に上げながら「私にもできますわ!」、4コマ目で笑顔で両手でサムズアップをしながら「皆さんの応募をお待ちしています」

          こういうコマごとの情景を記述することもできますし、ストーリー展開やコマ数、キャラクターを明示することもできます。

          ごきげんなデルタもん(ap_deltamon)が、近所の駄菓子屋さんにお買い物に行くけど、財布を忘れて泣きながら走っていたら、マラソン大会で優勝してしまうギャグ漫画を6パネルで構成して。

          画像

          皆さんも思い思いのストーリーを打ち込んでいただき、実際に生成してみましょう。

          画像

          生成された画像がこちら。これも学生感があってとても爽やかですね!…でも、最初に考えていた印象と少し違う?あと、吹き出しもありませんね。
          それでは、各コマごとに画像の再生成、調整と吹き出しの作成をしましょう、

          各コマの絵柄の調整を行い、吹き出しを乗せる

          各コマの調整方法ですが、まずは調整したいコマを選択します。

          画像

          すると、パネルアクションというものが出てきます。
          『画像を追加』をクリックしましょう。すると、プロンプトを入力する画面が出てきます。ここからは普段みなさんが画像生成するときと同じように、プロンプトを打ち込んでいただき生成をします。

          画像

          次に、吹き出しの作り方です。
          画面下のメニューでテキストを選択すると吹き出しを選ぶことができます。

          画像

          吹き出しを選ぶと最初は横書きのセリフ吹き出しが出てきますが、
          右側のメニューで縦書きに変更することができます。話させたいセリフを入力してみましょう。

          画像

          このように各コマを調整し、吹き出しを追加すると完成です!

          画像

          完成漫画。この漫画を作った時の制作時間は約1時間程でした。
          皆さんですともっと気軽に作品を制作することができると思います!

          画像

          まとめ

          いかがでしたか?思ったより簡単に漫画を作ることができましたね!皆さんの制作の幅がぐっと広がったかと思います。そして、今回の記事を通じてもっとポーズや構図にこだわりたい…そんなクリエイティブな欲求が沸いてきた方もいらっしゃるかと思います。
          そんな方にはこちら!
          AICUマガジンVol.4!!今回はAniFusion特集です!

          マガジンでは基本から応用まで140ページ越えの充実の内容で解説しております!
          KindleUnlimitedで無料で読むこともできますので、是非お手に取ってご欄くださいね!

          画像

          「デルタもん4コマ漫画コンテスト」についての情報も!

          画像

          X(Twitter)@AICUai もフォローよろしくお願いいたします!

          ✨️オトクなメンバーシップについての詳細はこちら

          画像
          メンバーシップ「漫画製作のための画像生成AI

          プロフェッショナルな漫画製作のための画像生成AI技術や関連ツール活用技術に加えて、サンプルデータなどを提供する[漫画製作メンバー特典マガジン]です。退会率はとても低く、みなさまにご満足いただいております。

          https://note.com/aicu/membership/join

          メンバーシップ向け情報!編集部による作例と
          Anifusion初月50%OFFコードはこちら


          この記事の続きはこちらから https://note.com/aicu/n/n408ca6d901d5

          Originally published at https://note.com on Sept 3, 2024.

        1. [12]ComfyUIでのTextToImageを極める!!(2)Combineでプロンプト融合

          「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
          Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

          こんにちわ、AICU media編集部です。
          ComfyUI マスターガイド」第12回目になります。
          この記事では、ComfyUIを始めたばかりの方向けに、プロンプトの基本から応用、そしてComfyUI特有のテクニックまでを、実用的なプロンプト例を交えながらわかりやすく解説します。

          前回は「ComfyUIでのTextToImageを極める!!(1)プロンプトの基本文法」と題してプロンプトの基本文法について解説いたしました。

          前回はこちら

            複数CLIPの活用: Combine

            ComfyUIでは、複数のCLIPTextEncodeノードとConditioning(Combine)ノードを組み合わせることで、複数のプロンプトを同時に使用できます。例えば「龍」と「虎」を別々のCLIPTextEncodeノードに指定すると、「龍」と「虎」を組み合わせた画像を生成することができます。

            使用方法

            標準ワークフローを改造し、「龍」と「虎」を組み合わせた画像を生成してみます。

            • メニューの「Load Default」をクリックし、標準のワークフローをロードした状態にします。
            • モデルがSDXLの場合は「Empty Latent Image」を「1024, 1024, 1」
            • ポジティブプロンプト用のCLIP Text Encode (Prompt)ノードを1つ追加します。なにもない場所をダブルクリックして「CLIP」と打ちます。
            • 追加したノードの入力「clip」には、Load Checkpointの出力「CLIP」を接続します。
            画像
            • 1つ目のCLIPTextEncodeノードのプロンプトに「tiger」と入力します。
            • 2つ目のCLIPTextEncodeノードのプロンプトに「dragon」と入力します。
            画像
            • Conditioning(Combine)ノードを作成し、2つのCLIPTextEncodeノードの出力を接続します。

            なにもない場所をダブルクリックして「combine」と打つと現れます

            画像
            • Conditioning(Combine)ノードの出力をKSamplerpositive入力に接続します。
            画像

            概念図としては以下のような接続になります。

            画像
            • 最終的なワークフローは以下になります。
            画像

            このようにすることで、「龍」と「虎」を組み合わせた画像を生成することができます。以下が生成した画像です。

            画像
            画像
            画像
            画像
            画像

            この記事では、ComfyUIでSDXLのプロンプトを記述する基本的な方法から、応用的なテクニックまでを紹介してまいります。

            次回は、プロンプトテクニックの第3弾で、『プロンプトのバッチ分割: Concat』について解説をしていきたいと思います!こうご期待ください!

            X(Twitter)@AICUai もフォローよろしくお願いいたします!

            画像生成AI「ComfyUI」マスターPlan

            画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

            • メンバー限定の会員証が発行されます
            • 活動期間に応じたバッジを表示
            • メンバー限定掲示板を閲覧できます
            • メンバー特典記事を閲覧できます
            • メンバー特典マガジンを閲覧できます
            • 動画資料やworkflowといった資料への優先アクセスも予定

            ゼロから学ぶ「ComfyUI」マガジン

            https://note.com/aicu/m/md2f2e57c0f3c

            マガジン単体の販売は1件あたり500円を予定しております。
            2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

            https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487?from=self

            もちろん、初月は無料でお試しいただけます!
            毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
            退会率はとても低く、みなさまにご満足いただいております。

            ✨️オトクなメンバーシップについての詳細はこちら


            この記事の続きはこちらから https://note.com/aicu/n/n39bfb3e55468

            Originally published at https://note.com on Sept 2, 2024.

          1. [11]ComfyUIでのTextToImageを極める!!(1)プロンプトの基本文法

            「思い通りの画像を生成したい!けど思うようにいかない…」という方、TextToImage(t2i)を使いこなせていますか?
            Stable Diffusionの内部の仕組みを理解し、ComfyUIでのText to Imageテクニックを身につけて、思い通りの画像を生成できるようになりましょう!

            こんにちわ、AICU media編集部です。
            ComfyUI マスターガイド」第11回目になります。
            この記事では、ComfyUIを始めたばかりの方向けに、「text to image」プロンプトによる画像生成の基本から応用、そしてComfyUI特有のテクニックまでを、実用的なプロンプト例を交えながら数回に分けて解説していきます。

            前回はこちら

              1. 今回の対象とするモデル

              今回は、SDXLを対象にプロンプトテクニックを解説します。特定のモデルに焦点を当てて話す理由としては、プロンプトの書き方や使用するノードがモデルの種類やバージョンにより異なるためです。ここでは、複雑性を減らして解説するために、メジャーなモデルのSDXLを利用します。各種モデルの評価については、別記事にて解説予定です。

              ユーザーが知っておくべき「モデルとの対話」について簡単に図解しておきます。

              画像

              ここからの画像生成では、モデル(checkpoint)としてstable-diffusion-xl-base-1.0を使用します。

              • メニューから「Manager」を選択します。
              画像
              • ComfyUI Manager Menuが開きます。ここで「Model Manager」を選択します。
              画像
              • モデルの検索画面が表示されます。
              • 上部の検索バーに「sd_xl_base_1.0.safetensors」と入力すると、モデル一覧にsd_xl_base_1.0.safetensorsが表示されます。
              • sd_xl_base_1.0.safetensors「Install」をクリックしてください。
              画像
              • しばらくすると、インストールが完了し、Refreshを求められます。
              画像
              • トップ画面に戻り、メニューの「Refresh」をクリックしてください。
              画像
              • Load Checkpointsd_xl_base_1.0.safetensorsを設定できるようになります。
              画像

              2. プロンプトと画像サイズ、シードの基本をおさらいしよう

              プロンプトとは、AIモデルに画像を生成させるための指示文のことです。人間が言葉でAIに指示を出すための手段とも言えます。例えば、「夕焼けのビーチで遊ぶ子供たち」というプロンプトを入力すると、SDXLはそのような画像を生成しようとします。プロンプトが具体的であればあるほど、思い通りの画像が生成されやすくなります。

              プロンプト例

              A photo of a cat wearing a Santa hat, sitting on a Christmas present

              このプロンプトは、クリスマスのプレゼントの上に座っている、サンタの帽子をかぶった猫の写真を生成するようにSDXLに指示します。「Santa hat」や「Christmas present」といった具体的な単語を追加することで、よりクリスマスらしい画像が生成されやすくなります。

              画像

              画像サイズとシードを固定して実験

              [TIPS] SD1.5系からSDXLに切り替えたときは、「Empty Latent Image」を[512, 512]から[1024, 1024]に切り替えるのを忘れずに。SDXLは1024×1024に最適化されているので、生成するLatent画像のサイズが小さいと本来の能力が発揮されません。
              なお 1024×1024=1,048,576で必要なピクセル幅で割れば高さが求められますが、例外もあります。特に注意したいのは「16:9」で、割り算するとwidth:1365, height:768が最適…と思いきや、実はSDXL自体がこのサイズで学習をしておらず、推奨の16:9設定は「”1.75″: (1344, 768)」、もしくは「”1.91″: (1344, 704)」(nearly 16:9)となります。

              画像

              実験のためにseedを1234, control_before_generateをfixedにして実験してみます。

              画像

              1368×768 (seed:1234)

              画像

              1344×768 (seed:1234)

              画像

              1344×704 (seed:1234)

              画像

              あんまりわかりやすい違いはありませんが、実用的には以下のようにおぼえておくと良いかもしれませんね!

              ■ComfyUI SDXLでのHDTV(16:9)最適画像サイズ

              1368×768: 非推奨 (AS比1.77) 最適解像度より2,048ピクセル多い
              1344×768: 学習済 (AS比1.75) 最適解像度より16,384ピクセル少ない
              1344×704: 学習済 (AS比1.91) 最適解像度より102,400 ピクセル少ない。noteカバーアートにぴったりサイズ

              画像

              AICU mediaでの実験によると、Google ColabのT4 GPU, RAM13GB, GPU RAM 15GB環境でのSDXLにおいて、1344×768、1344×704が平均23秒/生成(1.15s/it)であるところ、1368×768は28秒/生成(1.27s/it)というところです。なおs/itという単位はiterationといって、1ステップあたりの処理時間であるようです。この場合の設定はstep=20なので、ちょうど計算があいます。

              生成時間が気になるひとは、ぜひログを見てみてください!

              画像
              Google Colab上で確認できます

              3. 基本的なプロンプトの書き方

              SDXLのプロンプトは、基本的に英語で記述します。シンプルな英語で記述しても高品質な画像が生成されますが、より詳細な指示を与えることで、より思い通りの画像を生成できます。

              3.1 プロンプトの構成要素

              プロンプトは、以下の要素を組み合わせて文章形式で記述します。

              • 芸術スタイル: 画像の雰囲気や画風(例:写真、絵画、アニメなど)
                • 例1: oil painting(油絵)
                • 例2: Pencil drawing(鉛筆画)
                • 例3: Concept art(コンセプトアート)
              • 主題: 描写したいもの(例:猫、風景、人物など)
                • 例1: Lion(ライオン)
                • 例2: Panda(パンダ)
                • 例3: A warrior with a sword(剣を持った戦士)
              • 色とトーン: 画像の全体的な色彩や雰囲気を指定
                • 例1: Vibrant colors(鮮やかな色彩)
                • 例2: Monochrome(モノクロ)
                • 例3: Warm tones(暖かい色調)
              • ディテールと複雑さ: 画像の細部の精密さや全体的な複雑度を指定
                • 例1: Highly detailed(非常に詳細)
                • 例2: Intricate patterns(複雑な模様)
                • 例3: Minimalist(ミニマリスト)
              • 技術的特性: 画像の技術的な側面や品質に関する指定
                • 例1: High resolution(高解像度)
                • 例2: Photorealistic(写真のようにリアル)
                • 例3: 8K(8K解像度)

              プロンプト例

              以下にこの構成に従って作成したプロンプトと生成画像を示します。

              oil painting, majestic lion, golden sunset hues, Highly detailed, photorealistic, 8K
              画像

              これらの要素を組み合わせて、より複雑なプロンプトを作成できます。

              3.2 単語の区切りと記号

              • 単語は空白で区切ります。
              • `,`などの記号は、単語区切りとなる場合があります。

              プロンプト例

              A cat, black and white, sleeping on a red, fluffy rug
              画像

              3.3 コメント

              プロンプトにコメントを追加したい場合は、C言語のような記法が使えます。`//` で行末まで、`/* */` で囲まれた部分がコメントになります。

              プロンプト例

              A portrait of a man with a beard // ひげを生やした男性の肖像画
              /* 年齢は30代くらい */ wearing a suit, photorealistic style
              画像
              画像
              イケメンです

              4. プロンプトの強調

              特定の単語やフレーズを強調したい場合は、括弧で囲みます。

              • (単語): 1.1倍強調
                • 例: A portrait of a woman with (green) eyes
              • ((単語)): 1.21倍強調
                • 例: A portrait of a woman with ((long)) blonde hair
              • (単語:数値): 数値で任意の倍率を指定
                • 例: A landscape with a (bright:1.5) blue sky

              プロンプト例

              A fantasy landscape with a (red:1.5) castle on a hill, overlooking a vast forest

              この例では、「red」が強調され、より赤が強調された描画がされやすくなります。以下の画像は、強調前と強調後の比較画像です。両方とも同じシード値を利用して生成しています。強調後は、全体的に赤くなっており、赤が強調されていることが分かります。

              画像
              画像

              5. ComfyUIでのプロンプト入力

              ComfyUIでは、CLIPTextEncodeノードでプロンプトを入力します。このノードは、プロンプトをSDXLが理解できる形式に変換する役割を果たします。

              ComfyUIでのSDXL環境では、ポジティブプロンプトとネガティブプロンプトの両方を同じCLIPTextEncodeノードで指定できます。

              画像
              • ポジティブプロンプト: 生成したい画像の特徴を記述します。
              • ネガティブプロンプト: 生成したくない画像の特徴を記述します。

              それぞれのプロンプト用にCLIPTextEncodeノードを用意し、KSamplerノードの対応する入力に接続します。詳細は、以下の記事をご覧ください。

              6. embeddingでの品質向上

              embedding(エンベッディング)は、特定の概念やオブジェクトを表現する埋め込みベクトルを学習したファイルで、非常に小さなファイルなのですが、これをComfyUIで読み込むことで、画像生成の際に特定のスタイルや要素を反映させたり、ネガティブプロンプトを簡略化することができます。
              例えば、ネガティブプロンプトをまとめたembeddingを使うと、たくさんのネガティブプロンプトを指定する必要がなくなります。

              使用方法

              冒頭で紹介した通り、ComfyUI Manager → Model Manager →検索窓に入れる方法でインストールできるものはそちらの方法がオススメです。例えばSD1.5でよく使われる「EasyNegative」は簡単にインストールできます。

              画像

              今回は、「negativeXL_D」というSDXLで人気の複数のネガティブプロンプトが埋め込まれているembeddingを使用します。ComfyU Manager経由でのインストールではない方法を紹介します。

              https://civitai.com/models/118418/negativexl

              https://huggingface.co/gsdf/CounterfeitXL/blob/main/embeddings/negativeXL_D.safetensors

              • negativeXL_D.safetensorsをダウンロードし、ComfyUI/models/embeddingsフォルダに格納してください。

              このリンクからいったんPC/Macのストレージにダウンロードし、Google ColabかGoogle Driveを使って、アップロードします。

              画像

              メニューの「Refresh」すると反映されます。「Restart Required」と表示された場合は、ComfyUI Managerからの再起動で問題なく利用できますが、それ以外の問題が起きた場合は、念の為Google Colabを再起動しましょう。

              • embeddingを使用するには、プロンプトに「embedding:[embeddingの名前]」を含めます。今回の場合は、ネガティブプロンプトに「embedding:negativeXL_D」を含めます。ポジティブプロンプトは「1girl」のみとします。
              画像

              以下が生成結果です。embeddingありの場合は、リアル調で細部がはっきり描かれています。

              画像

              1344×704 (seed:3) “1girl”のみ

              画像

              1344×704 (seed:3) “1girl” +  ネガティブプロンプトに「embeddings:EasyNegative」を指定

              画像

              1344×704 (seed:3) “1girl” +  ネガティブプロンプトに「embeddings:negativeXL_D」を指定

              画像

              1344×704 (seed:3) “1girl” +  ネガティブプロンプトに「embeddings:EasyNegative, embeddings:negativeXL_D」を指定

              画像

              EasyNegativeとnegativeXL_Dは同じ作者・rqdwdw 氏によるembeddingsであり、近い特性を持っていますが、混ぜて使うことは必ずしも良い結果を産まないようです。¥

              AUTOMATIC1111では「Textual Inversion」という機能で扱われていたembeddingですが、かつてのテクニックもモデルさえ同じであればそのまま使うことができます。 embedding、negative XLについての混合実験についてはこちらの記事もご参照ください。

              https://note.com/aicu/n/n1ebba31e4514

              中間まとめ

              この記事では、ComfyUIでSDXLのプロンプトを記述する基本的な方法をまとめました続いて、応用的なテクニックを紹介していきます。

              <次回に続きます!>

              X(Twitter)@AICUai もフォローよろしくお願いいたします!

              SDXLによる画像生成AIについてしっかり学びたいひとはこちらの書籍「画像生成AI Stable Diffusionスタートガイド」(通称「#SD黄色本」)がオススメです。

              https://j.aicu.ai/SBXL

              画像生成AI「ComfyUI」マスターPlan

              画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。

              • メンバー限定の会員証が発行されます
              • 活動期間に応じたバッジを表示
              • メンバー限定掲示板を閲覧できます
              • メンバー特典記事を閲覧できます
              • メンバー特典マガジンを閲覧できます
              • 動画資料やworkflowといった資料への優先アクセスも予定

              ゼロから学ぶ「ComfyUI」マガジン

              https://note.com/aicu/m/md2f2e57c0f3c

              マガジン単体の販売は1件あたり500円を予定しております。
              2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

              https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487?from=self

              もちろん、初月は無料でお試しいただけます!
              毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
              退会率はとても低く、みなさまにご満足いただいております。
              ✨️オトクなメンバーシップについての詳細はこちら


              この記事の続きはこちらから https://note.com/aicu/n/n93bac52cfcf5

              Originally published at https://note.com on Sept 1, 2024.

            1. [期間限定有料]リポジトリに異変あり!?AUTOMATIC1111 vs ComfyUI

              本記事はメンバーシップ向け期間限定有料記事です

                画像生成AIで注目される「ComfyUI」とは

                AI画像生成の世界では、ユーザーフレンドリーなツールの需要が高まっています。その中で、ComfyUIは画期的なソリューションとして注目を集めています。

                ComfyUIは、Stable Diffusionをベースにした強力かつ柔軟なオープンソースの画像生成AIのためのグラフィカルユーザーインターフェイス(GUI)です。その特徴的なノード(node: ネットワークの節点)ベースのインターフェイスにより、複雑な画像生成プロセスを視覚的に構築し、細かく制御することが可能になりました。

                初心者にとってノードベースのGUIは直感的な操作性を提供し、上級者には複雑な処理を構築する自由度と可視化性能を与えています。そのほかにも高度なカスタマイズ性、拡張性、リソース効率の良さなど、ComfyUIは多くの利点を備えています。

                2024年7月末現在の世界の画像生成AIの2大WebUIのGoogle検索のトレンドを可視化してみました。

                画像

                念の為、2024年8月末で過去90日で確認してみました。

                画像

                See Interest over time on Google Trends for ComfyUI, automatic1111 – Worldwide, Past 90 days

                結果は圧倒的な差で、2023年12月以降ComfyUIが注目されています。AUTOMATIC1111が下がっているのではなく、ComfyUIに対する検索がこの期間で2~3倍に増えているという見方もできます。

                つまり、従来の「AUTOMATIC1111」だけでなく「ComfyUI」に関する注目が相対的に3倍に増えているということで、AUTOMATIC1111(以下A1111)からComfyUIに全移行しているということではなく、興味関心が集まっており、かつこの分野「画像生成AI」の検索人口が増えているという理解です。

                更に重大な問題が起きていた

                AICU media編集部がこの問題、「ComfyUIとAutomatic1111の関係」に注目をはじめてリサーチを開始した7月末から1ヶ月、実はもっと重大な問題が起きていました。

                画像

                こちらは、ComfyUIの作者である「ComfyUIAnoymous」さんのGitHubアカウントです。

                https://github.com/comfyanonymous

                御名前が「ComfyUIの匿名希望」ですが、非常に精力的に活動されており、実在する人物であることがわかります。GitHubは複数のアカウントをつくることを推奨されていません。なお、ComfyUIさんの正体についてご興味がある方は、最後までお読みいただければ幸いです。御本人のメッセージも翻訳しておきました。

                一方で、AUTOMATIC1111さんのGitHubです。

                画像

                https://github.com/automatic1111

                実は、AUTOMATIC1111氏はこの2ヶ月、AUTOMATIC1111/stable-diffusion-webui(便宜上A1111webUIと呼びます)のメインブランチにコミットしていません。

                https://github.com/AUTOMATIC1111/stable-diffusion-webui/commits/master

                AICU mediaでも最新のA1111webUIの状況は常にレポートしてきたのですが、最新のv.1.10.0が最新かつ、長期メンテンナンスに適したバージョンであるという予測は間違っていなかったようです。

                AUTOMATIC1111氏の消息はわかりませんが、コミット状況から察するに、週末のみの活動(平日はオープンではない仕事に従事している)か、燃え尽きてしまったのかもしれません。

                A1111webUI-Extensionのほうのリポジトリは動いていますので、メインリポジトリは動いています。

                https://github.com/AUTOMATIC1111/stable-diffusion-webui-extensions

                AUTOMATIC1111氏の実在はA1111webUI以前の過去の活動から知られていた人物であり、確認はされていますが、一方で最近のGitHubの状況はオープンソースの世界では望ましい状況であるとは言い難いかもしれません。

                参考までに、AICU media編集長のGitHubアカウントです。

                画像

                https://github.com/kaitas

                過去のオープンソース活動などのメンテナンスも行っていることが普通の状態なので「数カ月にわたって草が生えていない」という状態は、このアカウント自体の生存が心配されるレベルなのではないでしょうか。人気のオープンソースプロジェクト開発の重圧というものは想像を絶する大変さがあると考えますが、AICU mediaとしてはまず無事であることを祈っています。

                ComfyUIannoymous氏のGitHubにも異変

                ここ数日の動きですが、ComfyUIannoymous氏は、リポジトリの移行作業を行っているように見えます。

                画像

                現状の個人のアカウントでの開発から、自動でComfy-orgのリポジトリへコードを引き上げています。

                https://github.com/Comfy-Org/ComfyUI-Mirror

                このComfy-Orgのリポジトリには興味深いプロジェクトが多くあります。

                ComfyUIフロントエンド

                https://github.com/Comfy-Org/ComfyUI_frontend

                ComfyUIコマンドライン・インタフェース(CLI)

                https://github.com/Comfy-Org/comfy-cli

                ・ComfyUI をコマンド 1 つで簡単にインストールできます
                ・ComfyUI 拡張機能と依存関係のシームレスなパッケージ管理
                ・ComfyUI の機能を拡張するためのカスタムノード管理
                ・チェックポイントをダウンロードしてモデルハッシュを保存する
                ・クロスプラットフォーム互換性(Windows、macOS、Linux)
                ・包括的なドキュメントと例

                pip install comfy-cli

                シェルのオートコンプリート機能:シェルに自動補完ヒントをインストールするには、次のコマンドを実行します。

                comfy –install-completion

                これにより、[tab]キーやコマンドとオプションを自動補完できるようになります。

                ComfyUIのインストール:comfy を使用して ComfyUI をインストールするには、次のコマンドを実行します。

                comfy install

                MacのOSXでよく利用されるhomebrewコマンドンライン・インタフェースです

                https://github.com/Comfy-Org/homebrew-comfy-cli

                brew tap Comfy-Org/comfy-cli
                brew install comfy-org/comfy-cli/comfy-cli

                ComfyUIのUI部分だけを切り出したプロジェクト「LiteGraph.js」

                https://github.com/Comfy-Org/homebrew-comfy-cli

                デモサイトはこちら https://tamats.com/projects/litegraph/editor/

                Pure DataMax/MSP/Jitterスタイルの音楽UIがデモされています

                画像

                Web上でノードベースのUIをつくるのに便利そうです。

                公式Webサイトなどにも注意

                2024年6月19日、Xに@ComfyUIというアカウントが誕生しました。

                なお、似たドメインに「ComfyUI.org」がありますが、これは非公式サイトです。公式サイトはこちら「https://comfy.org」です。

                https://www.comfy.org

                最初にComfyUIで生成された画像、というトップ画像が印象的です。

                画像

                https://github.com/Comfy-Org

                ComfyUI公式「よくある質問」より(翻訳)

                Q:今後の計画について教えてください。
                A:Comfyでは、常に最先端を行くために、最先端のモデルを採用し続けます。また、PRをレビューし、Githubの問題に迅速に対応することを目指しています。また、カスタムノード作成者のユーザーエクスペリエンスと開発者エクスペリエンスを向上させる必要があります。正確なモデルについてはまだ検討中ですが、将来の改良はGithubのProjectsで共有する予定です。すべての大きな変更はGithubのディスカッションとして始まり、私たちのDiscordとMatrixサーバーで共有されます。最終的なデザインに達したら、公開ロードマップに実装を追加します。私たちのTwitter、Discord、Matrixサーバーで最新情報をご確認ください。

                Q:プロジェクトはどうやって維持するのですか?
                A:現在、私たちはお金を稼いでいません。オープンソースのAIツールを開発するという私たちのビジョンに賛同してくださるサポーターや投資家に支えられています。そのような方は、hello@comfy.org。将来的にはお金を稼ぐつもりです。

                Q:どうやってお金を稼ぐのですか?
                A:最近のComfyUIのセキュリティ上の懸念にはどのように対処するのですか? レジストリ上のノードは意味的にバージョン管理され、悪意のある動作についてスキャンされます。すべてをキャッチすることはできませんが、ノードがカスタムピップホイールを含むかどうか、任意のシステムコールを実行するかどうか、外部APIを呼び出すかどうかのチェックを近々追加する予定です。フラグが立てられたノードは人間がレビューします。さらに重要なことは、セキュリティ上の懸念が見つかった場合、そのノードを禁止し、そのノードをインストールしたユーザーに通知することです。このプロセスは時間をかけて改善される予定です。

                Q:他に取り組んでいるプロジェクトはありますか?
                A:ComfyUIはアプリケーションであり、バックエンドであり、開発者プラットフォームです。私たちはComfyUIを安全で信頼性の高いものにするためにツールに投資しています。私たちは、カスタムノードをホストするリポジトリであるComfy Registryをホストしています。レジストリ上のノードは意味的にバージョン管理され、悪意のある動作がないかスキャンされます。我々はすべてをキャッチすることはできませんが、ノードがカスタムピップホイールを含むかどうか、任意のシステムコールを実行するかどうか、または外部のAPIを呼び出すかどうかのチェックをすぐに追加する予定です。また、Comfyの新しいコミットを様々なオペレーティングシステムやGPU上のワークフローに対してテストする継続的インテグレーションテストスイートもホストしており、Comfyの信頼性を高めています。

                Q:コアとなる原則は何ですか?
                A:透明性とコミュニケーション。2.オープンソースとコミュニティ主導。3.AIの民主化

                Q:基盤モデルについてはどうですか?
                A:OSS AIコミュニティにおける最近の混乱にもかかわらず、OSS AIモデルには膨大な進歩があります。私たちはOSSモデルビルダーと密接に協力し、最高のモデルをComfyUIに導入しています。また、将来的にはAIモデルにより多くのリソースを投入する予定です。

                Q:どのようにComfyUIに貢献できますか?
                A:私たちのdiscord/matrixチャンネルでフィードバックをしたり、参加することができます。バグレポートや機能リクエストの提出にご協力いただける場合は、Githubに課題(Issue)を作成してください。多くの課題には #good-first-issue というタグがつけられています。それ以外の場合は、PRを投稿してください。近い将来、他のOSSプロジェクトと同様のガバナンス構造を導入する予定です。

                Q:Comfyの最新情報を得るにはどうしたらいいですか?
                A:Twitterでフォローしたり、DiscordやMatrixチャンネルに参加してください。


                以下は御本人のブログからの翻訳です。


                この記事の続きはこちらから https://note.com/aicu/n/n4ded178bc0e5

                Originally published at https://note.com on Aug 31, 2024.

              1. クリエイティブAI入門誌 AICUマガジンVol.4「特集!完全解説Anifusion」9,363円分の割引クーポン付録付き! 印刷版もリリース

                「つくる人をつくる・わかるAIをとどける」高校生でも楽しめる未来のクリエイターのためのクリエイティブAI入門情報誌「AICUマガジン Vol.4」が漫画制作AIツールを特集し、好評発売中です!
                ▲KindleUnlimitedで無料! お求めはこちらから https://j.aicu.ai/MagV4

                表紙・LuC4「全力肯定彼氏くん」by犬沢某さん @insbow

                特集は「完全解説Anifusion」!いま世界で話題の生成AIによる漫画制作ツールで本格的な漫画を描くための機能を完全解説します!Anifusionってどんなサービス?こんな漫画描いてみたいんだけどできるのかな?日本語の文字って入れられるの?といった疑問に110ページ超え!!のボリュームでAICUゲストライターYas@earlyfield8612 がお届けします。

                世界最速最強の「Anifusion」特集になります…!

                最新の「コミックワークスペース」についての解説もしっかりです。

                そして何より注目なのは、ドイツ在住の開発者 Nucleusさん のご協力で、AICUマガジン読者限定!「Anifusion」初月半額コード(10Euro相当!!)が付録してついています。

                あなたの才能が、デルタもんの世界を動かす!「デルタもん4コマ漫画コンテスト」開催決定

                【コンテスト概要】

                印刷版は見ごたえがありますね!

                個性的なキャラクターとユニークな世界観を持つ「デルタもん」の4コマ漫画をあなたの想像力とユーモアで、新たな魅力を引き出し、多くの人の心を掴む作品を生み出してください!
                AICU media公式SNS、note、AICUマガジンで作品公開!
                さらに有力作品のクリエイターにはAICU編集部やパートナー企業からの連載のチャンスも!才能あふれるクリエイターの皆様、このコンテストで、あなたの才能を世にアピールしましょう!

                【募集テーマ】「デルタもんの日常」4コマ漫画
                デルタもんの世界観をモチーフにしたカジュアルな4コマ漫画作品を募集します。
                エントリー期間:2024年9月10日(火)23:59まで

                必須ハッシュタグ #デルタもん4コマ #AICU #BlendAI

                詳細はこちら https://ja.aicu.ai/deltamon20240821/

                推しAIインフルエンサー紹介!ゆなゆなさん

                今号より試験的に開始した読者コミュニティ企画「推しAIインフルエンサー紹介!」です。

                ゆなゆなさん、ご寄稿いただきありがとうございました。

                [ゆなゆなさん]こういった知見はAICUさんの雑誌から学んでます。特にプロンプトのやり方や、効果的なAIの使い方を知るのに重宝してます!また、AIの新しいツールの最新情報も手に入りますので、自分が知らないAIツールを知るのもこの雑誌の醍醐味の一つです。今後もこの雑誌と共に、便利なAIツールをどんどん学び、YouTube活動に生かしていきたいです。

                Web3業界の有名な読者の方からご参加、光栄です!

                AICUマガジンではAIインフルエンサーの読者のみなさまからコミュニティ企画の持ち込みをお待ちしております。
                ご出稿は media@aicu.ai までご相談ください。

                サクッと先取り!クリエイティブAIツール  

                ・日本語で使える!「パープレ」最安課金で忖度なしのガチレビュー!! #Perplexity  

                ・描画工程を推論する「Paints-Undo」、Google Colabで実際に動作させてみた 

                Stability AI Fan! 

                ・Stable Video 4Dリリース
                ・Stable Audio Openリリース

                イベントレポート

                ・バンダイナムコスタジオ GYAARCon試遊会
                ・国際AI映像制作コンペ Project Odyssey 第1回アワード
                ・Create.xyz CEOら来日ミートアップ #CreateTokyo
                ・読者のひろば:カバーアート・ジュニさん @jAlpha_create

                生成AIの常識を覆した「Stable Diffusion」の革命から2年…「つくる人をつくる」AICUが世界を舞台に大型新作をリリース!

                クリエイティブAI時代に「つくる人をつくる」をビジョンに活動する生成AIの最先端を走り続けるクリエイターユニオン「AICU」が、Stable Diffusionによる最新・最先端・最高品質の画像生成の基礎から応用までを丁寧に解説するオンライン講座を国際的なラーニングプラットフォーム「コルソ」で開講します!

                ▼ Coloso講座ページはこちら ▼
                https://j.aicu.ai/AICUXColosoJP

                ◼️詳細はこちら「超入門: Stable Diffusionではじめる画像生成AI」

                クリエイティブAI入門誌として初の「印刷版」のリリース

                このたび、2024年8月25日に先行リリースされたKindle版に加えて、印刷版のリリースを発表いたします。

                印刷版は持ちやすいA5サイズで現在、Kindleレビュー中です。133ページプレミアムカラー印刷で販売予定価格 3,000円 を予定しています。

                「つくる人をつくる」そして「わかるAIをつたえる」AICUが、より幅広い年齢層に向けて品質高く制作しております。お子さんや図書館への配架をご検討いただければ幸いです。

                ASIN: B0DF4TN9VW
                ISBN: 9798336818420
                出版社名: Independently published
                2024年8月末発行予定

                ご購入はAmazonにて https://j.aicu.ai/MagV4

                お得!!日本円で約9,363円の価値が…!

                さらに、この「AICUマガジン Vol.4」は、ご協力各社により、さまざまな割引クーポンコードが含まれています。

                Anifusion初月半額クーポン:10ユーロ(1,607円相当)

                Create.XYZ 初月無料コード:19ドル(2,756円相当)

                ・そして先着100名様限定で、AICUのColoso講座で5,000円割引が受けられるシークレットクーポン

                これらの割引額を合計すると、日本円で約9,363円の価値があります。

                これから価値を生む世界の生成AIサービスをお得にスキルを得られるメディアになっています。

                新鮮な話題を凝縮した新感覚の「AICUマガジンVol.4」、ぜひともお早めにご購入いただければ幸いです。

                購入は Kindle、Kindle Unlimited から https://j.aicu.ai/MagV4

                ご感想はこちらのリンクからどうぞ https://j.aicu.ai/MT24v4

                ハッシュタグは #AICUmag です!

                AICU media 編集部 https://note.com/aicu

                「わかるAIを楽しく届ける」総合AI情報メディア。クリエイティブAIを中心に24時間365日最新情報をお届けしています。 活動メディアはnote、 X(Twitter)@AICUai、 動画メディア、各種商用サイトへの記事提供、同人誌・商業書籍・電子書籍など書籍企画との開発、子ども向けからお年寄り向けまで「つくる人をつくる」をビジョンに幅広いワークショップ、企業向けセミナー、社会発信イベントを開発しています。日本・世界のAI先進企業の新サービスの普及展開のお手伝い、AI活用したい企業の技術検証や社内展開、学校・スクール等のコンテンツ開発についても案件をお待ちしております。

                ファンコミュニティは note.com/aicu/membership

                AICU Inc. について:Xアカウント@AICUai https://corp.aicu.ai/ja

                生成AI時代につくる人をつくる」をビジョンに活動する2023年に設立された米国シリコンバレーを本拠地にするデジタルハリウッド大学発のスタートアップ企業です。書籍「画像生成AI Stable Diffusionスタートガイド」(SBクリエイティブ刊)、LINEアカウント「全力肯定彼氏くん」「AI確定申告さん」、Webに住むAIアイドル「AICuty」など楽しみのあるAI体験を開発する「AIDX Lab」、わかるAIを楽しく届ける AI総合メディア「AICU media」、AI人材教育コンテンツ開発、障がい者向けワークショップ開発、AIキャラクター開発運用、某有名企業の新技術プロトタイプコンテンツ開発など「クリエイティブAI」ならではのコンテンツ技術開発・体験開発を世界的な企業に展開している価値開発企業。画像生成AI「Stable Diffusion」を開発公開した Stability AI 公式パートナーであり、Google for Startups認定スタートアップでもあります。1994年に杉山知之が創立したデジタルハリウッド大学(愛称「デジハリ」)はCGやデジタルクリエーションを専門に学ぶ学校ですが、開学のころからずっと変わらず伝えていることは『すべてをエンタテインメントにせよ!』 。エンタテイメント技術の研究開発で30年の経験を持つCEO白井暁彦とAI社員、少数精鋭の人間味あふれる多様なスタッフや協力クリエイターとともに、すべてをエンタテインメントにするまで追求する文化が AICUにも息づいています。

                Originally published at https://note.com on Aug 30, 2024.

              2. [Stability AI API] Stable Fast 3DをGoogle Colabで動かす

                魅力的な機能をたくさん備えた「Stability AI API」を使いこなすシリーズです。今回は、2024年8月に公開された「Stable Fast 3D」を使ってみます。このAPI は、単一の 2D 入力画像から高品質な 3D アセットを生成します。

                試してみる

                API キーを取得し、Google Colab サンプルにアクセスしてください。

                ▶基本はこちら
                【超入門】Stability AI API 公式サンプルで「TextToImageの最近の文法」を総ざらい!

                Fast 3DのGLBファイル生成はGoogle Colabでほんの3-5秒ぐらいです

                背景画像の除去は自動で処理されます。

                画像

                ちゃんと後頭部の厚みがあります。

                画像
                画像

                例えば漫画の構図出しとか、アクリルキーホルダーのバーチャル試作といった使い道もあるかもしれませんね。

                画像
                画像
                画像

                ちゃんと後頭部の厚みがあります。

                画像

                マテリアル推定がうまくいかないときもあります。

                画像

                犬沢某(@InsBow)さんのキャラクターイラストで実験。かわいいです。

                画像

                同じく、キャラクターイラストより。ちゃんと見えないところも3D化しています。

                画像

                全体としてイラストレーションのほうがうまくいく印象がありました。

                APIの詳細

                POST リクエストでエンドポイント
                https://api.stability.ai/v2beta/3d/stable-fast-3d
                を呼び出してください。
                Colabのサンプルコードより

                #@title Stable Fast 3D
                
                #@markdown - Drag and drop image to file folder on left
                #@markdown - Right click it and choose Copy path
                #@markdown - Paste that path into image field below
                #@markdown <br><br>
                
                image = "/content/cat_statue.jpg" #@param {type:"string"}
                texture_resolution = "1024" #@param ['512', '1024', '2048'] {type:"string"}
                foreground_ratio = 0.85 #@param {type:"number"}
                
                host = "https://api.stability.ai/v2beta/3d/stable-fast-3d"
                
                response = image_to_3d(
                    host,
                    image,
                    texture_resolution,
                    foreground_ratio
                )
                
                # Save the model
                filename = f"model.glb"
                with open(filename, "wb") as f:
                    f.write(response.content)
                print(f"Saved 3D model {filename}")
                
                # Display the result
                output.no_vertical_scroll()
                print("Original image:")
                thumb = Image.open(image)
                thumb.thumbnail((256, 256))
                display(thumb)
                print("3D model result:")
                display_glb(filename)
                

                リクエストのヘッダーには、authorization フィールドに API キーを含める必要があります。リクエストの本文は multipart/form-data でなければなりません。

                リクエストの本文には、以下を含める必要があります。

                • image

                リクエストの本文には、オプションで以下を含めることもできます。

                • texture_resolution
                • foreground_ratio
                • remesh

                注: これらのパラメーターの詳細については、以下のリクエストスキーマを参照してください。

                出力

                出力は、JSON、バッファー、画像を含む glTF アセットを含むバイナリ BLOB です。詳細については、GLB ファイル形式仕様 を参照してください。

                クレジット

                生成が成功するごとに 2 クレジットの定額料金がかかります。生成が失敗した場合、課金されません。
                ※10USD = 1,000 creditsなので、2セント、3円ぐらいですね。

                APIリクエストスキーマより

                • image (必須): 3D モデルを生成する画像。
                  1. サポートされている形式:
                    • jpeg
                    • png
                    • webp
                  2. ルール:
                    • 各辺は少なくとも 64 ピクセルである必要があります
                    • 合計ピクセル数は 4,096 ~ 4,194,304 ピクセルの間である必要があります

                Colabのサンプルでの引数

                画像
                • texture_resolution (オプション): デフォルト: 1024。列挙型: 1024, 2048, 512。アルベド(カラー)マップ法線マップの両方に使用されるテクスチャの解像度を決定します。解像度はピクセル単位で指定され、値が大きいほどテクスチャのディテールレベルが高くなり、サーフェスをより複雑かつ正確にレンダリングできます。ただし、解像度を上げるとアセットサイズも大きくなるため、読み込み時間とパフォーマンスに影響を与える可能性があります。1024 は適切なデフォルト値であり、変更する必要はほとんどありません。
                • foreground_ratio (オプション): デフォルト: 0.85。フレーム内で処理されるオブジェクトの周囲のパディング量を制御します。この比率は、フレーム全体のサイズに対するオブジェクトの相対的なサイズを決定します。比率が高いほどパディングが少なくなり、オブジェクトが大きくなります。比率が低いほどパディングが増え、フレーム内のオブジェクトのサイズが効果的に小さくなります。これは、車やバスなどの長くて狭いオブジェクトを正面(狭い側)から見た場合に役立ちます。この場合、前景比を下げると、生成された 3D アセットが押しつぶされたり歪んだりするのを防ぐのに役立つ可能性があります。デフォルト値の 0.85 は、ほとんどのオブジェクトに適しています。
                • remesh (オプション): デフォルト: none。列挙型: none, triangle。3D モデルの生成に使用されるリメッシュアルゴリズムを制御します。リメッシュアルゴリズムは、入力画像から 3D モデルをどのように構築するかを決定します。「none」のデフォルト値は、リメッシュなしでモデルが生成されることを意味し、ほとんどのユースケースに適しています。「triangle」オプションは、三角形の面を持つモデルを生成します。

                Blenderでみたメッシュの状態

                画像

                GLB形式なので、Mozilla HubsやDOOR.NTTをはじめ、多様なWeb3D系で利用できます。Unityの場合はUniGLTFを使えばできますね。

                なお、Stable Fast 3DのAPI提供ではなくセルフホストのためのモデルデータも入手可能です。以下のHugginFaceで公開されています。
                stabilityai/stable-fast-3d · Hugging Face
                https://huggingface.co/stabilityai/stable-fast-3d

                なお、ライセンスは「Stability AI Community License」が適用されており、年間収益100万ドル(約1億5000万円)以内の個人または組織なら商業利用も可能とのことです。

                実はStability AI の 3D関連APIは、Stable Zero123など他にもあります。

                https://ja.stability.ai/3-d

                Stable Fast 3D

                Stable Fast 3Dは、TripoSRを基にした重要なアーキテクチャの改善と強化された機能により、単一の画像からわずか0.5秒で高品質な3Dアセットを生成します。これはゲームやVRの開発者、リテール、建築、デザイン、およびその他のグラフィック集約型の分野の専門家に役立ちます。

                Stable Video 4D

                Stable Video 4Dは、単一の動画をアップロードすることで、8つの視点からダイナミックな新視点動画を受け取ることができるモデルです。単一のオブジェクト動画を複数の新視点動画に変換し、約40秒で8つの視点から5フレームの動画を生成します。カメラアングルを指定することで、特定のクリエイティブニーズに合わせて出力を調整できます。これにより、新たなレベルの柔軟性と創造性が提供されます。

                Stable Zero 123

                Stable Zero123は、3Dオブジェクトの生成に特化した高度なAIモデルです。さまざまな視点からオブジェクトがどのように見えるべきかを正確に解釈する能力に優れており、3Dビジュアライゼーションの分野で重要な進歩を遂げています。

                Stable Video 3D

                SV3Dは、Stable Video Diffusionのパワーを活用し、斬新なビュー合成において優れた品質と一貫性を保証することで、3D技術における新たなベンチマークを設定します。このモデルには2つの異なるバリエーションがあります: SV3D_uは単一画像から軌道動画を生成し、SV3D_pは単一画像と軌道画像の両方からフル3D動画を生成するための強化された機能を提供します。

                Stable TripoSR

                Tripo AIとのコラボレーションによる、3Dオブジェクト再構築モデル「TripoSR」です。この新しい画像から3Dへのモデルは、エンターテインメント、ゲーム、工業デザイン、建築の専門家の高まる需要に応えるために設計されており、詳細な3Dオブジェクトの視覚化に対応するレスポンシブな出力を提供します。

                画像
                画像

                https://ja.stability.ai/self-hosted-license

                Stable Fast 3DのStability AI APIによる利用は、高度な演算基盤を持っていなくても1回3円で高速ならAPI利用が可能になります。
                ゲームやメタバースプロジェクトへの活用が期待されますね。

                以上、Stable AI API より Fast 3D をお伝えいたしました。

                マガジン「Stability AI Fun!」、各API解説への目次はこちらです。

                https://note.com/aicu/m/m6000f560d1db

                https://note.com/aicu/n/n4eda1d7ffcdf

                Originally published at https://note.com on Aug 29, 2024.