月: 2024年9月

  • 【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(2)AWS活用企業100以上の生成AI事例に見るビジネスインパクト創出の方程式

    2024年9月9日開催の「AWS AI Day」レポート第2弾!今回は、アマゾン ウェブ サービス ジャパン合同会社 金融事業開発本部長の飯田 哲夫 氏による講演「100 以上の生成 AI 事例に見る ビジネスインパクト創出の方程式」をピックアップします。
    「つくる人をつくる」AICU mediaでは総力を上げてレポートしております。

    ▶前回の記事はこちら
    【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(1)新人こそがAI開発のエース!?リクルートの最新事例 #awsAIday

    生成AI導入企業の課題に切り込む!

    生成AIへの関心が高まる一方で、「具体的な活用方法がイメージできない」「社員の利用率が低い」という悩みを持つ企業も多いのではないでしょうか?

    飯田氏の講演では、AWSが支援する国内100社以上の生成AI導入事例を分析。そこから見えてきた、ビジネスインパクトを創出する「成功の方程式」 が示されました。

    100以上の事例を6つの分野に分類!

    飯田氏は、生成AIのユースケースを「一般的なユースケース」と「業界特化の課題にフォーカスしたユースケース」の2つに大きく分類。さらに、ハイインパクトなユースケースとして、以下の6つの類型に分類しました。

    • データの抽出
    • 商材作成の支援
    • サポート業務の支援
    • パーソナライゼーション
    • 営業活動の支援
    • 審査業務の効率化

    公式「AWS AI Day Tokyo」はこちら!

    生成AIの最前線を探る: 最新事例と実践的ハンズオン
    https://aws-ai-day-jp.splashthat.com/
    2024 年 09 月 09 日 14:00 – 18:00 JST

    今回は、イベント内の講演セッション中盤の刺激的な企業での事例紹介と分類から見えてきた価値ある視点をレポートします。

    100 以上の生成 AI 事例に見る ビジネスインパクト創出の方程式

    アマゾン ウェブ サービス ジャパン合同会社 金融事業開発本部長

    画像

    飯田哲夫 氏による講演は「100 以上の生成 AI 事例に見る ビジネスインパクト創出の方程式」というタイトルでした。

    生成 AI に関心がある企業が増える一方、具体的な活用方法がイメージできない企業は 6 割、さらに導入したものの社員の利用率が 1~2 割に留まる調査結果が報告されています。この結果は、生成 AI の敷居の低さに比べて価値創出の難易度が決して低くないことを示しています。本セッションでは、AWS の 100 社超える国内の生成 AI 本番導入事例と Amazon を含む海外の事例から、効果の高いユースケースと、事例化した企業に共通するビジネスインパクト創出の方程式を解き明かします。

    えっ、25分の講演で「100 以上の生成 AI 事例」なんてどうやって紹介するんだろう!?しかも「具体的な活用方法がイメージできない企業は 6 割、さらに導入したものの社員の利用率が 1~2 割に留まる調査結果が報告」という状況は報道等でも言われている雰囲気ではありますが、どんなAWSマジックがあるのでしょうか、聞く前からワクワクです。

    飯田氏「数十万の日本のAWSのお客さんの中で100事例は少なすぎるぐらい」

    画像

    飯田氏の講演では、まずユースケースを2つに分けました。
    ・業界特化のユースケース
    ・一般的なユースケース

    画像

    さらに様々な産業で共通する「一般的なユースケース」において
    ・顧客体験をさらに高める
    ・従業員の生産性と創造性を加速する
    ・ビジネスプロセスの最適化
    といった軸で具体的な整理が進められました。

    画像

    さらに「業界特化の課題にフォーカスしたユースケース」において
    ・ヘルスケア/ライフサイエンス
    ・製造業
    ・金融サービス
    ・流通/小売
    ・メディア&エンタメ
    といった各業界において具体的な事例を列挙していきます。

    画像

    ハイインパクトなユースケースの類型

    そして「ハイインパクトなユースケースの類型」
    ・データの抽出
    ・商材作成の支援
    ・サポート業務の支援
    ・パーソナライゼーション
    ・営業活動の支援
    ・審査業務の効率化
    という分類が示されました。

    画像

    さてここからは具体的な事例です。

    1社あたり3行程度の事例ですが、具体的な数字を入れつつすごい勢いでインパクトのある事例が紹介されていきます。

    ・データの抽出

    画像

    第一興商:入社1ヶ月の新人が3週間で9割は採用基準を満たす会話記録

    画像

    AWS未経験で入社1ヶ月の新人が3週間でAmazon TranscribeとAmazon Bedrockを利用して検証。約9割は基準を満たす良好な結果。

    ・商材作成の支援

    画像

    パルシステム:マーケティングのための商材作成
    FFB: ユーザーが撮影した写真をSNSへ投稿する際、ハッシュタグの作成キャプションとタグの生成に15分以上要していた。生成AIの適用により作業効率50%以上削減。

    北海道文化放送:FAXで届くリリース情報からニュース原稿の作成フローにAI活用

    画像

    ・サポート業務の支援

    日本製鋼所: 営業応対に活用。開発期間2ヶ月

    画像

    セゾンテクノロジー: HULFT製品のテクニカルサポートエンジニアが回答作成時間を最低30%短縮

    画像

    ・パーソナライゼーション

    パーソナライゼーションではNatWestの事例

    画像
    画像

    ・営業活動の支援

    営業活動の支援ではエフピコさんの事例で日報作成を紹介。

    画像
    画像

    ・審査業務の効率化

    画像

    審査業務の効率化では野村ホールディングスの事例と、FleGrowthでの監査対応トレーニング事例が紹介されました。 ISMS(情報セキュリティマネジメントシステム)認証のために参照する社内規定、マニュアルは100以上。
    一人のエンジニアが3ヶ月でデモを構築、3ヶ月のブラッシュアップでリリース。

    100以上の事例に見る共通点

    これまで6分野に分類して一気にインパクトのあるユースケースを紹介いただきましたが、実はこれらの事例には「共通点」があるそうなのです。

    画像

    ・顧客起点文化: 顧客体験はもちろん社内の営業やカスタマーサポートの人たちの作業評価サイクルがあること。
    ・小規模なチーム: 2-4名もしくは1名
    ・頻繁な実験: 1-3ヶ月で本番稼働

    これらはリクルートの新卒エンジニアチームによる事例もエビデンスと言えると感じました。

    まず始める
    そして加速する

    画像
    画像

    成功事例には、顧客起点の文化、小規模なチーム、頻繁な実験という共通点があることがエビデンスとともに示されました。 汎用性の高いものから、各企業の独自性、業界特有のものへと発展していきます。 飯田氏の講演は「まずはハイインパクトなユースケースから取組み、実験・傾聴・反復のサイクルを加速させましょう」というメッセージでまとめられました。

    画像

    成功企業に共通する「3つのポイント」とは?

    100以上の事例を分析した結果、成功企業には以下の3つの共通点があることが明らかになりました。

    1. 顧客起点文化: 顧客体験はもちろんのこと、社内の営業やカスタマーサポートにおける評価サイクルが確立されている。
    2. 小規模なチーム: 2〜4名、もしくは1名体制でプロジェクトを推進。
    3. 頻繁な実験: 1〜3ヶ月という短期間で本番稼働までこぎつけ、PDCAサイクルを高速で回している。

    これらのポイントは、リクルートの新卒エンジニアチームによる事例からも裏付けられています。

    まずは小さく始めて、高速PDCAで成果を最大化!

    飯田氏は最後に、「まずはハイインパクトなユースケースから取り組み、実験・傾聴・反復のサイクルを加速させましょう」と締めくくりました

    聴講した感想

    圧倒的な事例数と説得力のあるメッセージが印象的な講演でした。

    近い講演が資料が8月に公開されていますが、飯田氏の講演ではさらに事例の追加と整理が進んでいるという印象でした。

    https://speakerdeck.com/player/4e1225d6d4664ad3818cce81a60a4114

    世間一般で言われているような「企業でのAI活用が進まない」というステレオタイプとは裏腹に、かなりのスピード感で一般化しており、また「インパクトのある成果の影にAWSあり」という印象を持つことができました。

    圧倒的な事例数によるすごくいい講演だと思いました。
    前後の講演の構成もフワッとした話が具体的になり、さらに「自分でやりたい」という気持ちが起きる良い構成でした。
    良い講演をありがとうございました。

    【レポートはまだまだ続きます!】

    次回は、KDDIアジャイル開発センター株式会社のテックエバンジェリスト、御田 稔(みのるん)氏による講演「突撃!隣のAmazon Bedrockユーザー ~YouはどうしてAWSで?~」をレポートします! お楽しみに!

    こちらのレポートと、気になるワークショップについてのレポートを予定しております。

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

  • 【イベントレポート】AWS AI Day:生成AIの最前線に迫る最新事例と実践ハンズオン(1)新人こそがAI開発のエース!?リクルートの最新事例

    2024年9月9日、生成AIの最新動向と活用事例を学べるイベント「AWS AI Day」が開催されました。会場は、生成AIの可能性に期待を寄せる多くの参加者で熱気に包まれました。

    今回は、イベントの注目セッションや見どころをレポートします。

    AWS AI Day

    生成AIの最前線を探る: 最新事例と実践的ハンズオン

    https://aws-ai-day-jp.splashthat.com/
    2024 年 09 月 09 日 14:00 – 18:00 JST

    画像

    会場となったザ・プリンス パークタワー東京

    画像

    ボールルーム ABC

    画像

    オープニングセッション:AWSの生成AI戦略と最新アップデート

    オープニングセッションでは、アマゾン ウェブ サービス ジャパン合同会社 Data & AI事業本部 プリンシパル事業開発マネージャーの黒川 亮 氏が登壇。

    画像

    AWSが考える生成AIのビジョンや戦略、そしてAmazon Bedrockをはじめとする生成AIサービスの最新アップデートが紹介されました。

    画像

    これまで326機能をリリース。これはクラウド各社と比較しても群を抜いて多い数。

    画像
    画像
    画像

    最先端のAIは、クラウド上にある。

    画像

    世界最速の演算環境をクラウドで。

    画像

    推論と学習で別の演算環境を用意
    AWS Inferentia(インファレンシア)
    Amazon EC2 で、深層学習と生成 AI 推論について最低コストで高パフォーマンスを実現

    画像


    そしてサステナビリティ。

    業務に効くモデルの選択、組み合わせ

    画像

    Bedrockで最新リリース
    Claude3.5, Stable Diffusion 3が可能に

    画像

    そしてモデル評価も

    画像
    画像

    RAGによるナレッジベースデーターコネクター拡張もお任せ

    画像
    画像

    Knowledge Bases for Amazon Bedrock

    画像

    https://aws.amazon.com/jp/bedrock/knowledge-bases

    ナレッジベース・データコネクター拡張

    URLやSalesForceなど…

    画像

    新しいデーターソース、コネクタが用意されています。

    https://aws.amazon.com/jp/blogs/news/knowledge-bases-for-amazon-bedrock-now-supports-additional-data-connectors-in-preview

    アマゾン ウェブ サービス ジャパン合同会社 Data & AI事業本部 プリンシパル事業開発マネージャー 黒川亮 氏は、LLMによる知識を「チーズ」に例えます。知識の「チーズの穴」を埋めるRAG以外の手法が「ファインチューニングである」としています。

    画像
    画像

    そしてエージェント機能によるメモリー保持とコード解釈。

    画像

    生成AI Contents Hubを公開

    画像

    Generative AI Use Cases JP (略称:GenU)

    https://github.com/aws-samples/generative-ai-use-cases-jp

    特に、生成AIの先進をリードするAWSの姿勢が強調され、参加者の注目を集めました。

    顧客事例講演(1):リクルート

    リクルートの今年4月の新卒入社、の柴田さん中川さんによる講演。
    新人が感まったくない、堂々とした生成AIプロフェッショナルによる講演でした。

    顧客事例講演では、株式会社リクルートとKDDIアジャイル開発センター株式会社が登壇。

    リクルートは、Amazon Bedrockを活用した入稿文章校正システムの構築事例を紹介。新人検索エンジニアがRAG(Retrieval Augmented Generation)の性能評価や改善に取り組んだノウハウを共有しました。

    画像
    画像
    画像

    リクルート新卒中川さん「RAGは(構築するだけなら簡単だが)評価が大事」

    画像
    画像
    わかりみです

    様々な「社内規定」をテーマに事例を紹介 されました。
    たとえば「『約』という表現は可能か?」 リクルートの営業さんからの過去の問い合わせメールなどを使い、RAGの中にプロンプトで「常識的に回答」を加えて実態に沿わせた回答に。 さらにここから「評価」に。 改善の方法が汎用できるのか? 方向性が正しかったのか?を評価していきます。

    画像
    画像
    画像
    画像

    過去のリクルート営業さんからの質問からテストケースを作成。一方で、 回答の性能評価の難しさについても語られました。

    画像

    それで大丈夫?RAGのチューニング

    画像
    画像
    画像


    RAGの品質を自動評価するOSSフレームワーク「RAGAS」を使用

    https://docs.ragas.io/en/stable

    画像

    RAGASの出力から。
    Answer Similarity: 真の回答の類似度
    Fathfulness:コンテキストにどれだけ沿っているか

    画像
    画像
    画像

    今回の例だとAnswer Similarityは上がっているけどFaithfulnessが上がっている。これはハルシネーションリスクが上がっている。

    画像
    画像
    画像

    真の回答には背景となる状況を考慮している そこで 事実の仮定と場合わけを追加 RAGASの導入によって改善サイクルが回るようになった 3ヶ月で40以上のサイクルを回して改善を実施した

    画像
    画像
    画像

    まとめ

    画像
    画像
    画像

    様式美もきっちりで
    まるで新人とは思えない発表でした

    ありがとうございました!

    <続きます>

    ツイートスレッドでの紹介はこちらから

    #イベントレポート #awsAIday

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

  • AICU media好アクセスランキング- 2024年8月

    こんにちわ!AICU media編集部です。
    noteで先月よく読まれた記事を紹介します
    生成AIクリエイティブのコミュニティの盛り上がりを体感していただければ幸いです!

    img2img入門(1) i2iでできることを知ろう

    1788ポイント

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

    [保存版] Animagine XL 3.1 生成比較レポート

    1615ポイント

    FLUX.[dev]の実力は?比較しながらGoogle Colabで動かしてみた。

    1537ポイント

    日本人が開発した「Regional Prompter」がなかなかすごい!

    1509ポイント

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

    AUTOMATIC1111 v1.10.xリリース – Stable Diffusion 3 Mediumをサポート

    1451ポイント

    AICU編集部が選ぶ、8月のおすすめ記事

    8月に投稿した記事でAICU編集部がお勧めしたい記事をピックアップしてみました。まだほかの人が知らない、生成AIの情報を読んでみませんか?

    [ComfyMaster1] Google ColabでComfyUIを動かしてみよう! #ComfyUI

    【超入門】Stability AI API の革新的機能(1)Edit機能からInpaintとOutpaintを便利に使おう!

    【広告にAIは使えない?】広告の先生×AIクリエイター=「生成AI時代の広告企画から動画制作プロセス」をどうぞ

    【音楽知識ゼロでもOK!】Sunoでオリジナル曲を完成させよう!初心者向け【無料】

    超高速なAUTOMATIC1111をクラウド上で利用できる「ConoHa AI Canvas」リリース!担当さんに突撃インタビューしてみた

    AICUマガジン Vol4に収録されている特集

    最後にAICUマガジン Vol4の特集について紹介します。特集は「完全解説Anifusion」! Anifusionを書籍形式で詳しく紹介しています。

    • 特集「Anifusionで漫画制作」
    • あなたの才能が、デルタもんの世界を動かす!「デルタもん4コマ漫画コンテスト」開催決定
    • 推しAIインフルエンサー紹介!ゆなゆなさん
    • サクッと先取り!クリエイティブAIツール  
    • 日本語で使える!「パープレ」最安課金で忖度なしのガチレビュー!! #Perplexity
    • 描画工程を推論する「Paints-Undo」、Google Colabで実際に動作させてみた 
    • Stability AI Fan! 
    • Stable Video 4Dリリース
    • Stable Audio Openリリース

    AICUマガジン Vol4はkindle unlimitedに加入されている方は無料で、加入されていない方は電子版、書籍版の購入ができます。ぜひ読んでください!

    https://j.aicu.ai/MagV4

    バックナンバーはこちらです

    https://j.aicu.ai/Mag2404

    https://j.aicu.ai/Mag2405

    https://j.aicu.ai/MagV3

    カバーアートはジュニさん!

    最後に

    AICU mediaでは生成AIに関する情報をこれからも皆さんにお届けしてまいります。
    面白い!参考になった!と感じていただけましたら、ぜひいいねやフォローをお願いします

    https://x.com/AICUai

    https://note.com/aicu

    9月も AICU media をよろしくお願いします!

    AICU media 編集部一同


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

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

  • 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.