タグ: ComfyUI

  • [8]画像化も可能!ComfyUIワークフロー管理の基礎

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

    今回は、ComfyUIで作成したワークフローを保存し、後で呼び出すための様々な方法をご紹介します。JSONファイルとして保存する基本的な方法から、カスタムノード「ComfyUI-Custom-Scripts」を利用して画像として保存する便利な方法まで、詳しく解説します。これらのテクニックをマスターすることで、ワークフローの管理が容易になり、作業効率の向上と共同作業の促進に繋がります。

    前回はこちら シリーズ初回はこちら

      1. ワークフローの保存方法

      ComfyUIで作成したワークフローを保存する方法はいくつかあります。ここでは、JSONファイルとして保存する方法と、カスタムノード「ComfyUI-Custom-Scripts」(*1)を利用して画像として保存する方法について説明します。

      *1 ComfyUI-Custom-Scriptsは、様々な便利な機能を持ったカスタムノードです。ComfyUI-Custom-Scriptsの機能の詳細は、別記事で解説します。今回は、ワークフローの保存機能に焦点を当てて解説します。

      1.1 JSONファイルとして保存

      ワークフローをJSONファイルとして保存することで、後で簡単に呼び出すことができます。以下の手順に従ってください。

      ワークフローの保存

      • ComfyUIのキャンバスにグラフが表示された状態を作ります。ここでは標準のグラフを表示しています。
      画像
      • メニューの「Save」をクリックします。
      画像
      • 保存するファイル名を入力するダイアログが表示されるので、ファイル名を入力し、「OK」をクリックします。ここでは、ファイル名を「workflow_test.json」とします。
      画像
      • これで、ワークフローがJSON形式のファイルとしてダウンロードフォルダ(*2)に保存されます。

      *2 保存先のフォルダは、ブラウザで設定されている保存先になります。保存先のフォルダについては、お使いになられているブラウザのヘルプページをご確認ください。

      【主要なブラウザのヘルプページ】
      Google Chrome: ファイルをダウンロードする
      Microsoft Edge: ダウンロード フォルダーの場所を変更する
      Safari: MacでSafariを使用してWebから項目をダウンロードする
      Firefox: ダウンロードしたファイルを見つける方法と管理する方法

      1.2 ComfyUI-Custom-Scriptsを利用して画像として保存

      カスタムノード「ComfyUI-Custom-Scripts」を使用することで、ワークフローを画像として保存することができます。この方法は、視覚的にワークフローを共有したい場合に便利です。

      ComfyUI-Custom-Scriptsのインストール

      • まず、ComfyUI-Custom-Scriptsをインストールします。メニューから「Manager」をクリックします。
      画像
      • ComfyUI Manager Menuが立ち上がります。ここで、「Custom Nodes Manager」をクリックします。
      画像
      • Custom Nodes Managerが開きます。
      画像
      • 上部の検索部に「comfyui-custom-scripts」と入力します。そうすると、カスタムノード一覧に「ComfyUI-Custom-Scripts」が表示されるので、「ComfyUI-Custom-Scripts」の「Install」をクリックします。
      画像
      • しばらく待つと、インストールが完了します。その後、ComfyUIの再起動を求められるため、下部にある「Restart」をクリックします。
      画像
      • 再起動が実行されると、ComfyUI Manager Menuが閉じ、キャンバスの画面に戻ります。再起動実行中は、画面中央に「Reconnecting…」というメッセージがダイアログで表示されますが、再起動が完了すると自動でダイアログが閉じます。ダイアログが閉じたら、ブラウザを更新してください。
      画像
      • 再度Custom Nodes Managerを開き、「comfyui-custom-scripts」を検索してください。ComfyUI-Custom-ScriptsのInstall列が以下の画像のように表示されていれば、インストールが完了しています。
      画像

      ワークフローを画像として保存

      • ComfyUIのキャンバスにグラフが表示された状態を作ります。ここでは標準のグラフを表示しています。
      画像
      • キャンバスのノードがない場所を右クリックし、コンテクストメニューを表示させます。表示されたメニューの「Workflow Image -> Export -> png」または「Workflow Image -> Export -> svg」を選択します。
      • それぞれ「workflow.png」「workflow.svg」という名前でダウンロードフォルダに保存されます。
      画像

      2. ワークフローの呼び出し方法

      保存したワークフローを再度呼び出す方法について説明します。ここでは、JSONファイルからの呼び出し方法と画像からの呼び出し方法について説明します。

      2.1 JSONファイルからの呼び出し

      保存したJSONファイルを使用してワークフローを呼び出す手順は以下の通りです。

      • まずは、読み込まれたことが分かるように、グラフをクリアします。メニューの「Clear」をクリックし、表示されたダイアログで「OK」をクリックしてください。
      画像
      • グラフがクリアされ、キャンバスには何も表示されていない状態になります。
      画像
      • メニューの「Load」をクリックします。
      画像
      • ファイル選択ダイアログが表示されるので、キャンバスに読み込むワークフローのJSONファイルを選択します。
      画像
      • 選択したワークフローが読み込まれ、キャンバスにグラフが表示されます。
      画像

      2.2 画像からの呼び出し

      画像に埋め込まれたワークフロー情報を利用してワークフローを呼び出す手順は以下の通りです

      • 先ほどと同様にグラフをクリアします。メニューの「Clear」をクリックし、表示されたダイアログで「OK」をクリックしてください。
      画像
      • グラフがクリアされ、キャンバスには何も表示されていない状態になります。
      画像
      • 保存した「workflow.svg」または「workflow.png」をキャンバスにドラッグ&ドロップします。
      画像
      • ワークフローが読み込まれ、キャンバスにグラフが表示されます。
      画像

      まとめ

      ComfyUIでは、作成したワークフローを効率的に管理し再利用するために、いくつかの保存・呼び出し方法が用意されています。この記事では、主にJSONファイルによる保存と、ComfyUI-Custom-Scriptsを利用した画像による保存という2つの方法を解説しました。

      JSONファイルによる保存は、ワークフロー全体をテキストデータとして保存する方法です。この方法は、ワークフローの詳細な設定を保持できるため、編集や再利用に最適です。一方、ComfyUI-Custom-Scriptsを利用した画像による保存は、ワークフローを視覚的に分かりやすい画像として保存する方法です。共有やプレゼンテーションに役立ちます。

      本記事で紹介した方法を理解し、ワークフローを適切に保存・呼び出しすることで、作業効率の向上、共同作業の促進、そして創造的なワークフローの構築に繋がるでしょう。

      次回はワークフローの公開・共有方法について解説します。乞うご期待!

      AICU mediaの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/n41dcdc90dbe5

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

    1. 動画も高精度に!ComfyUIとSegment Anything Model 2(SAM 2)でセグメンテーションをマスターしよう

      コンピュータビジョンの世界に革命をもたらした画像セグメンテーションモデル「Segment Anything Model(SAM)」。その登場から約1年、METAが新たな進化を遂げた「Segment Anything Model 2(SAM 2)」を発表しました。画像だけでなく動画にも対応したこの最新モデル、使い方によってはかなり実用的になり得るでしょう。
      本記事では、SAM 2の特徴や機能、そして将来の可能性について詳しく解説します。また、ComfyUIで実際に動作させる方法についても解説します。

        1. Segment Anything Model 2(SAM 2)とは

        画像

        2024年7月29日、METAは画像と動画の両方に対応した最新のオブジェクトセグメンテーションモデル「Segment Anything Model 2(SAM 2)」を発表しました。SAM 2は、昨年リリースされた画像セグメンテーションモデル「Segment Anything Model(SAM)」の後継として開発され、画像だけでなく動画にも対応した革新的な機能を備えています。

        https://ai.meta.com/blog/segment-anything-2

        SAM 2の主な特徴

        1. 統合モデル: SAM 2は、画像と動画の両方でオブジェクトセグメンテーションを行える初めての統合モデルです。
        2. リアルタイム処理: プロンプトベースのセグメンテーションをリアルタイムで実行できます。
        3. ゼロショット汎化: 事前に学習していない物体や視覚ドメインでもセグメンテーションが可能です。
        4. 高性能: 画像と動画の両方で最先端の性能を達成しています。
        5. 柔軟性: カスタム適応なしに多様な用途に適用できます。

        技術的詳細

        SAM 2は、統一されたプロンプト可能なモデルアーキテクチャを採用しています。このモデルは、1100万枚のライセンス画像とプライバシーを尊重した画像、110万枚の高品質セグメンテーションマスクデータ、10億以上のマスクアノテーションという過去最大のデータセットで訓練されています。

        また、SAM2は、画像と動画のセグメンテーションを統合する革新的なアーキテクチャを採用しています。

        画像
        1. 画像エンコーダー: 入力フレームを高次元の特徴表現に変換します。
          • アーキテクチャ: Vision Transformer (ViT)ベース
          • 出力: 空間的に構造化された特徴マップ
        2. マスクデコーダー: セグメンテーションマスクを生成します。
          • アーキテクチャ: Transformer decoder
          • 入力: 画像特徴、プロンプト埋め込み
          • 出力: 2D確率マスク
        3. メモリメカニズム:
          • メモリエンコーダー: 現在のマスク予測からメモリトークンを生成
          • メモリバンク: 過去フレームとプロンプトからのメモリを保存
          • メモリアテンション: 現在フレーム埋め込みとメモリを統合
        4. オクルージョンヘッド: オブジェクトの可視性を予測します。
          • アーキテクチャ: 軽量なMLPネットワーク
          • 出力: フレームごとの可視性スコア

        SAM 2の特筆すべき機能の一つが「メモリバンク」です。これは最近のフレームや以前にプロンプトされたフレームの情報を空間特徴マップとして保持する機能で、短期的な物体の動きを符号化し、オブジェクトトラッキング能力を向上させています。

        応用分野

        SAM 2は以下のような幅広い分野での活用が期待されています。

        1. クリエイティブ産業: ビデオ編集の改善、ユニークな視覚効果の作成
        2. 医療画像処理: 解剖学的構造の正確な識別
        3. 自動運転: 知覚能力の向上、ナビゲーションと障害物回避の改善
        4. 科学研究: 海洋科学での音波画像のセグメンテーション、サンゴ礁の分析
        5. 災害救援: 衛星画像の分析
        6. データアノテーション: アノテーション作業の高速化

        オープンソースとデータセット

        METAは、SAM 2のコードとモデルのweightsをApache 2.0ライセンスで公開しています。さらに、SAM 2の開発に使用されたSA-Vデータセットも公開されており、約51,000本の実世界の動画と60万以上のマスクレット(時空間マスク)が含まれています。このデータセットはCC BY 4.0ライセンスで提供され、研究者やデベロッパーが自由に利用できます。

        2. ComfyUIでの実行準備

        まずは、SAM2をComfyUIで実行するための準備をしましょう。

        AICU謹製の ComfyUI Manger入りGoogle Colabノートブックです。
        https://j.aicu.ai/Comfy

        カスタムノード

        以下のカスタムノードをインストールしてください。すべてComfyUI Managerからインストール可能です。

        • ComfyUI-segment-anything-2
          • Kijai氏が作成したSAM2用のカスタムノード
          • SAM2に必要なモデルは、Kijai氏のHugging Faceのリポジトリから自動でダウンロードされる

        https://github.com/kijai/ComfyUI-segment-anything-2

        • ComfyUI-Florence2
          • Florence2を使用するためのカスタムノード
          • Florence2でプロンプトからのオブジェクト検出を実現する

        https://github.com/kijai/ComfyUI-Florence2

        • KJNodes for ComfyUI
          • ImageAndMaskPreview: 画像とマスクを両方合わせてプレビューするためのノード
          • Resize Image: 画像サイズの変更に使用されるノード

        https://github.com/kijai/ComfyUI-KJNodes

        • comfyui-tensorop
          • ComfyUI-Florence2で必要

        https://github.com/un-seen/comfyui-tensorops

        • ComfyUI-VideoHelperSuite
          • 動画を処理するためのカスタムノード

        https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite

        Google Colabのログにインストール経過が表示されます。

        画像

        ComfyUI Manager上からComfyUIの再起動が必要です。
        (URLは変わりません)

        ワークフロー

        ComfyUI-segment-anything-2のリポジトリで配布しているサンプルを使用します。サンプルは、オブジェクト自動検出による画像のセグメンテーション、同様の手法による動画のセグメンテーション、指定した箇所のセグメンテーションの3種類があります。以下のリポジトリからワークフローのJSONファイルをダウンロードし、ComfyUIのキャンバスにロードしてください。

        ロード直後は「truck.jpgがない」というエラーが出ますが、まずは動作確認をしていきましょう。気にせずにお好きな画像を左下の「Load Image」に読み込んで「Queue Prompt」を押してみてください。

        今回動作確認に使用した画像

        画像
        画像

        複雑な画像ですが見事に分離できています。

        以下は各ワークフローの詳細解説です。

        • オブジェクト自動検出による画像のセグメンテーション

        https://github.com/kijai/ComfyUI-segment-anything-2/blob/main/examples/florence_segment_2.json

        • オブジェクト自動検出による動画のセグメンテーション

        https://github.com/kijai/ComfyUI-segment-anything-2/blob/main/examples/image_batch_bbox_segment.json

        • 指定箇所のセグメンテーション

        https://github.com/kijai/ComfyUI-segment-anything-2/blob/main/examples/points_segment_video_example.json

        3. ワークフローの解説: オブジェクト自動検出による画像のセグメンテーション

        グラフの全体像

        以下がグラフの全体図になります。

        画像

        以下に今回使用するグラフのフローチャートと詳細を示します。

        画像

        このグラフは、Florence-2とSAM 2を組み合わせて画像内のオブジェクトを検出し、セグメンテーションを行うプロセスを示しています。以下に詳細な解説を提供します。

        グラフの主要コンポーネント

        1. 画像の読み込み (LoadImage ノード)
        2. Florence-2モデルのロード (DownloadAndLoadFlorence2Model ノード)
        3. SAM 2モデルのロード (DownloadAndLoadSAM2Model ノード)
        4. 画像のリサイズ (ImageResizeKJ ノード)
        5. Florence-2による物体検出 (Florence2Run ノード)
        6. 検出結果の座標変換 (Florence2toCoordinates ノード)
        7. SAM 2によるセグメンテーション (Sam2Segmentation ノード)
        8. 結果のプレビュー (ImageAndMaskPreview ノード)

        グラフの詳細な解説

        1. 画像の読み込み:
          • 「truck.jpg」という画像ファイルを読み込みます。
        2. Florence-2モデルのロード:
          • 「microsoft/Florence-2-base」モデルをFP16精度でロードします。
        3. SAM 2モデルのロード:
          • 「sam2_hiera_small.safetensors」モデルをCUDAデバイスでBF16精度でロードします。
        4. 画像のリサイズ:
          • 入力画像を768×512ピクセルにリサイズします。(大きすぎる画像を小さくしているだけなので、このノードをスキップしても問題ありません)
        5. Florence-2による物体検出:
          • リサイズされた画像に対してFlorence-2モデルを実行します。
          • 「wheel」(車輪)をプロンプトとして使用し、画像内の車輪を検出します。
          • 出力には検出されたオブジェクトの情報(バウンディングボックスなど)が含まれます。
        6. 検出結果の座標変換:
          • Florence-2の出力をSAM 2で使用可能な座標形式に変換します。
        7. SAM 2によるセグメンテーション:
          • Florence-2で検出されたバウンディングボックスを使用して、SAM 2モデルでセグメンテーションを実行します。
          • 結果として、検出されたオブジェクト(車輪)の詳細なセグメンテーションマスクが生成されます。
        8. 結果のプレビュー:
          • 元の画像とセグメンテーションマスクを組み合わせて表示します。
          • マスクは赤色(RGB: 255, 0, 0)で表示されます。

        4. ワークフローの解説: オブジェクト自動検出による動画のセグメンテーション

        グラフの全体像

        以下がグラフの全体図になります。

        画像

        以下に今回使用するグラフのフローチャートと詳細を示します。

        画像

        グラフの主要コンポーネント

        1. 動画の読み込み (VHS_LoadVideo ノード)
        2. Florence-2モデルのロード (DownloadAndLoadFlorence2Model ノード)
        3. SAM 2モデルのロード (DownloadAndLoadSAM2Model ノード)
        4. Florence-2による物体検出 (Florence2Run ノード)
        5. 検出結果の座標変換 (Florence2toCoordinates ノード)
        6. SAM 2によるセグメンテーション (Sam2Segmentation ノード)
        7. 結果の合成と表示 (MaskToImage, ImageCompositeMasked, VHS_VideoCombine ノード)

        グラフの詳細な解説

        1. 動画の読み込み:
          • 「katana_02.mp4」という動画ファイルを読み込みます。
          • 16フレームを上限とし、5フレームごとに1フレームを選択して処理します。
        2. Florence-2モデルのロード:
          • 「microsoft/Florence-2-large」モデルをFP16精度でロードします。
        3. SAM 2モデルのロード:
          • 「sam2_hiera_base_plus.safetensors」モデルをCUDAデバイスでBF16精度でロードします。
        4. Florence-2による物体検出:
          • 読み込んだ動画フレームに対してFlorence-2モデルを実行します。
          • 「sword」(剣)をプロンプトとして使用し、画像内の剣を検出します。
        5. 検出結果の座標変換:
          • Florence-2の出力をSAM 2で使用可能な座標形式(バウンディングボックス)に変換します。
        6. SAM 2によるセグメンテーション:
          • Florence-2で検出されたバウンディングボックスを使用して、SAM 2モデルでセグメンテーションを実行します。
          • 結果として、検出されたオブジェクト(剣)の詳細なセグメンテーションマスクが生成されます。
        7. 結果の合成と表示:
          • セグメンテーションマスクを画像に変換し、元の動画フレームと合成します。
          • 合成された画像をフレームごとに処理し、最終的な動画として出力します。

        5. ワークフローの解説: 指定箇所のセグメンテーション

        グラフの全体像

        以下がグラフの全体図になります。

        画像

        以下に今回使用するグラフのフローチャートと詳細を示します。

        グラフの主要コンポーネント

        1. 動画の読み込み (VHS_LoadVideo ノード)
        2. SAM 2モデルのロード (DownloadAndLoadSAM2Model ノード)
        3. ユーザーによる点の指定 (PointsEditor ノード)
        4. SAM 2によるセグメンテーション (Sam2Segmentation ノード)
        5. 結果のアニメーションプレビュー (PreviewAnimation ノード)
        6. 座標情報の表示 (ShowText ノード)

        グラフの詳細な解説

        1. 動画の読み込み:
          • 「ballerina_davinci.mp4」という動画ファイルを読み込みます。
          • 16フレームを上限とし、3フレームごとに1フレームを選択して処理します。
        2. SAM 2モデルのロード:
          • 「sam2_hiera_base_plus.safetensors」モデルをCUDAデバイスでBF16精度でロードします。
        3. ユーザーによる点の指定:
          • 動画の最初のフレームを表示し、ユーザーがセグメンテーションしたいオブジェクト(この場合はダンサー)上に点を配置できるインターフェースを提供します。
          • この例では、ダンサーの上半身に2つの正の点が配置されています。
        4. SAM 2によるセグメンテーション:
          • ユーザーが指定した点の情報と動画フレームを入力として、SAM 2モデルでセグメンテーションを実行します。
          • 結果として、指定されたオブジェクト(ダンサー)の詳細なセグメンテーションマスクが生成されます。
        5. 結果のアニメーションプレビュー:
          • 元の動画フレームとSAM 2で生成されたセグメンテーションマスクを組み合わせて、アニメーションとして表示します。
          • これにより、ユーザーはセグメンテーション結果をリアルタイムで確認できます。
        6. 座標情報の表示:
          • ユーザーが指定した点の座標情報を表示します。

        6. ワークフローの実行

        オブジェクト自動検出による画像のセグメンテーション

        今回使用した画像は以下になります。

        画像

        これを「truck.jpg」という名前でLoad Imageの「choose file to upload」でComfyUI上にアップロードします。

        画像

        画像サイズに合わせて、Resize Imageのwidthとheightを変更します。

        画像

        検出するオブジェクトは、wheelのままにします。

        画像

        これでワークフローを実行してみます。メニューの「Queue Prompt」をクリックしてください。
        しばらくすると、検出結果が出力されます。まずは、Florance2によるオブジェクトの検出結果です。しっかり写真に写っているタイヤがすべて検出されています。

        画像

        次にSAM2によるセグメンテーションの結果です。Florance2で検出したタイヤがしっかりとマスクされています。

        画像

        オブジェクト自動検出による動画のセグメンテーション

        まず、検証に使用する動画素材を入手します。以下のリンクから動画をダウンロードします。今回選んだ動画は、女性が牧場ではしゃいでいる動画になります。

        https://www.pexels.com/ja-jp/video/4919748

        今回は実験的にSAM2を動かすので、426×226の小さいサイズをダウンロードします。

        画像

        ダウンロードした動画をComfyUIにアップロードします。Load Video (Upload)の「choose video to upload」から動画をアップロードします。
        Load Video (Upload)の初期設定では、frame_load_cap(*1)が16になっており、最初の16フレーム(*2)のみを読み込むようになっています。検証としては、それで問題ないですが、もし動画を全て読み込んで欲しい場合は、frame_load_capを0に設定してください。
        また、初期設定では、select_every_nthが5になっていますが、これは1に変更してください。select_every_nthは、何フレームごとに1フレームを選択するかを指定するウィジェットです。1を設定することで、フレームをスキップせずに、全てのフレームが対象になります。

        *1 読み込むフレーム数を指定するウィジェット。例えば、24fpsの動画で、frame_load_capに16を指定すると、16/24 ≒ 0.7秒となる。
        *2 動画を構成する個々の静止画であり、1秒間に表示されるフレーム数(fps: frames per second)によって動きの滑らかさが決まります。

        画像

        次に、Florence2Runのプロンプトを変更します。今回は、女性をセグメンテーションするため、「girl」を入力します。

        画像

        これで生成を実行(Queue Prompt)します。以下が最終的な実行結果です。最初に後ろの牛を誤検出しているように見えますが、それ以外は問題ないように見えます。

        画像

        指定箇所のセグメンテーション

        前項の「オブジェクト自動検出による動画のセグメンテーション」で使用した動画を今回も使用します。動画は以下からダウンロードしてください。

        https://www.pexels.com/ja-jp/video/4919748

        前項と同様に、Load Video (Upload)の「choose video to upload」から動画をアップロードします。

        画像

        次にセグメンテーションする箇所を指定します。オブジェクトの指定は、Points Editorで行います。ワークフローの初期状態では、Points Editorにバレエの女性の写真が表示されています。

        画像

        まずは、オブジェクト検出箇所を指定するために、この写真を現在の動画の1フレーム目の画像にする必要があります。それには2つの方法があります。1つは、動画の1フレーム目の画像を用意し、Points Editorに写真の箇所を右クリックして表示されるコンテキストメニューの「Load Image」で画像を差し替える方法です。2つ目は、ワークフローを実行すると、Points Editorに写真の箇所が自動でアップロードした動画の1フレーム目に切り替わる性質を利用して、一先ずワークフローを実行し、オブジェクト検出箇所指定に使う画像を差し替える方法です。後者の方が楽なので、一先ずワークフローを実行し、画像を差し替えます。

        画像

        一度ワークフローを実行すると、以下のように動画の1フレーム目の画像が表示されます。Points Editorにバグがあるようで、左上に赤丸が残った状態になってしまいます。こちらは利用せずに、画像上に緑色の丸が表示されている場合は、女性の上に緑色の丸を配置してください。緑色の丸が表示されていない場合は、女性をクリックすると、新たに緑色の丸を追加できます。

        画像

        これで生成を実行(Queue Prompt)します。以下が最終的な実行結果です。女性が綺麗にマスクされています。

        画像

        7. まとめ: ComfyUIとSAM 2でセグメンテーションがより身近な存在に

        本記事では、画像や動画のセグメンテーションにおいて革新的な進化を遂げた「Segment Anything Model 2 (SAM 2)」について解説し、ComfyUIを用いた具体的な使用方法を紹介しました。

        SAM 2は、従来のSAMと比較して、動画への対応リアルタイム処理高精度なセグメンテーションを実現しており、その応用範囲は多岐に渡ります。

        ComfyUIのワークフローを活用することで、オブジェクトの自動検出によるセグメンテーションや、指定箇所のセグメンテーションを容易に行うことができます。

        SAM 2はまだ発展途上の技術ですが、今後の進化によって、映像制作医療画像解析自動運転など、様々な分野で大きな影響を与える可能性を秘めていると言えるでしょう。

        この記事に「いいね!」と思ったら、いいねとフォロー、おすすめをお願いします!

        https://note.com/aicu/ X(Twitter)@AICUai

        この記事を読んで「ComfyUIをマスターしたい!」と思った方はこちらもおすすめです。

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

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

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

        ComfyUIの世界はまだまだ拡がっていきそうです!

        ✨️本記事は Yas@BizDev支援のエンジニア さんの寄稿をベースにAICU AIDX Labおよび編集部にて加筆・検証したものです。ご寄稿いただきありがとうございました。


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

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

      1. [6]ComfyUI設定完全ガイド!(前編)

        こんにちわ、AICU media編集部です。
        ComfyUIマスターガイド」シリーズの第6回です!
        今回は、ComfyUIの設定画面について、前後編にわけて解説していきたいと思います。

        前回はこちら シリーズ初回はこちら

        本記事では、ComfyUIの設定で知っているとオトクな詳細項目を初心者の方にも分かりやすく解説します。ロギング、開発者モード、ノード接続線の表示、別名保存、プレビュー品質、ウィジェット更新タイミングなど…。これらの設定をマスターして、ComfyUIを自分好みにカスタマイズしましょう!

          1. 設定画面の開き方

          キャンバスの画面にて、メニューの上部の歯車マーク[⚙]をクリックします。

          画像

          ComfyUIの設定画面が開きます。

          画像

          2. 設定画面の項目の分類

          設定画面には、多くの設定項目がありますが、本記事では重要な機能を紹介します。設定画面の項目の中には、ComfyUIで標準機能として提供されている項目と、ComfyUI Managerで追加機能として提供されている項目があるため、この分類も同時に説明していきましょう。

          • ロギングの有効/無効(ComfyUI)
          • 開発者モードの有効化(ComfyUI)
          • ノードの接続線の表示方法の変更(ComfyUI Manager)
          • ワークフローを別名で保存機能の有効化(ComfyUI)
          • プレビュー時の画像品質の指定(ComfyUI)
          • ウィジェットの更新タイミングの設定(ComfyUI Manager)

          3. 重要な機能の解説

          ロギングの有効/無効

          Logging(ロギング)は、ComfyUIが起動されたブラウザやOSの情報や、拡張機能のロード情報などのシステムに関連する情報をログとして出力します。デフォルトで有効化されていますが、チェックボックスのチェックを外せば無効化することもできます。

          画像

          View Logs」をクリックすることで、ログを確認することができます。

          画像

          開発者モードの有効化

          Enable Dev mode Optionsは、開発者モードを有効化する項目です。この項目にチェックを入れることで、開発者モードに移行します。

          画像

          開発者モードになると、メニューに「Save (API Format)」という項目が追加され、API用のワークフローを出力できるようになります。

          画像

          ComfyUIはAPIとして使用することもできます。ComfyUIのAPI化については後日別記事にて解説しますので、本記事ではAPI化のセーブができるということを知っておいていただければ大丈夫です。

          ノードの接続線の表示方法の変更

          Link Render Mode(リンクのレンダーモード)は、ノード間を繋ぐ線の表示方法を変更します。通常は、曲線で描かれますが、これを直線や直角線、表示なしに変更することができます。ぜひ皆さんの見やすい表示方法を探してみてください。

          画像

          リンクのレンダーモードは、以下の4種類から選択できます。

          • Spline
            デフォルトのモードがSplineで、下図のように接続線が曲線で描かれます。
          画像
          • Straight
            下図のように接続線が直線で描かれます。曲がる箇所は、自動で直角になります。
          画像
          • Linear
            下図のように接続線が直線で描かれます。Straightと異なり、曲がる箇所はなく、すべて一直線で繋がるように描かれます。
          画像
          • Hidden
            接続線を非表示にします。
          画像

          ワークフローを別名で保存機能の有効化

          Prompt for filename when saving workflowは、ワークフローの保存時、標準のファイル名ではなく、別名を付けて保存する機能を有効化する項目です。

          画像

          ワークフローの保存は、メニューの「Save」をクリックすることで、JSON形式のファイルで保存できます。

          画像

          この機能のチェックボックスにチェックが入っていない場合は、標準のファイル名である「workflow.json」で保存されます。チェックが入っていた場合、下図のように別名を入力するダイアログが表示されます。保存される場所は、いずれの場合もブラウザで設定されているダウンロードフォルダに保存されます。

          画像

          プレビュー時の画像品質の指定

          When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.では、生成画像のプレビュー時の画像品質を指定できます。

          画像

          例えば、512×512の解像度で画像を10枚生成した場合、プレビューでは512×512の解像度で10枚の画像が表示されます。生成する画像の解像度が高かったり、枚数が多くなると、プレビューの表示が遅くなってしまいます。
          そこで、この項目に画像形式を指定すれば、低い解像度で生成画像をプレビューでき、表示速度を上げることができます。例えば、「webp;50」と指定した場合、webp形式で品質50%の画像をプレビューに表示します。品質値は、パーセントで指定するため、1-100の間で指定してください。

          画像

          ウィジェットの更新タイミングの設定

          Widget Value Control Modeは、ウィジェットの更新タイミングを指定します。更新タイミングは、「after」と「before」から選択でき、デフォルトでは「after」が設定されています。

          画像

          この設定は、固定値ではないウィジェットの更新タイミングを制御する設定です。例えば、ランダム生成時のシード値(*1)が対象になります。ここでは、シード値を例にウィジェットの更新タイミングについて説明します。

          *1 シード値(seed)は、Stable Diffusionでの画像生成内部で使われる乱数列を決める種(seed)のようなものです。(ゲームやサイコロとは異なり)同じシード値を使えば、同じ乱数列が生成され、結果として同じ画像が生成される可能性が高くなります。いわば画像の性質の種を決める番号と言えるでしょう。

          「before」の場合(編集部のオススメ)

          • ウィジェットの値は、ノードの実行直前に更新されます。つまり「Queue Prompt」ボタンを押す前に設定した値が適用されます。
          • 表示されているシード値は、現在表示されている画像に使用された値です。
          • 例えば、画像生成を開始する前のシード値が「98765」だったとします。beforeの場合、画像生成の前にウィジェットが更新(シード値が更新)されるため、このシード値は使用されません。ウィジェットの更新後のシード値が「12345」と設定されて画像生成された場合、画像生成後に画面に表示されているシード値は「12345」となり、画像生成に使用されたシード値を画面で確認することができます

          「after」の場合(デフォルト)

          • ウィジェットの値は、ノードの実行後に更新されます。つまり、画像生成が完了した後に設定した値が表示されています。
          • 表示されているシード値は、次回の画像生成で使用される値です。現在表示されている画像のシード値は直接確認できません。
          • 例えば、画像生成を開始する前のシード値が「1」だったとします。afterの場合は、「1」を使用して画像が生成されます。しかし、その後にシード値が更新され「2」が表示されています。つまり画像生成に使用されたシード値を画面で確認できません
          画像
          実験してみました。

          「before」設定では、同じシード値を再入力することで、以前生成した画像と同じ画像を再現できます。「after」設定では、シード値が自動更新されるため、同じ画像を再現するには、自動更新される前にシード値をメモしておく必要があります。

          AICU編集部としてはオススメは「before」ですね!
          説明のためにも、入れた値が表示と一致しているのがありがたいです。

          本記事では、ComfyUIの設定画面にある、知っていると便利な詳細項目を初心者の方にも分かりやすく解説しました。ロギング、開発者モード、ノード接続線の表示、別名保存、プレビュー品質、ウィジェット更新タイミングなど…これらの設定をマスターすることで、ComfyUIを自分好みにカスタマイズし、より快適に画像生成を行うことができるようになります。ぜひ、本記事を参考にして、ComfyUIを最大限に活用してください!

          次回は更に便利となる設定をご紹介していきたいと思います!


          画像生成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

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

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

          今回のボーナス画像とプロンプトはプラネタリウムに来たLuC4くんです。
          みなさんは天体観測お好きですか?色々な星座たちが「幾千光年離れた星々のきらめきを繋げて生まれた存在…」と思うと心がとても揺らぎますよね。

          画像

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

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

        1. [5]ComfyUI カスタムノード徹底解説!機能とメリットを理解しよう

          こんにちわ、AICU media編集部です。
          「ComfyUI マスターガイド」第5回目になります。今回は、「カスタムノード」について、実際にインストールをした後の使い方と合わせて掘り下げていきたいと思います。

          前回はこちら シリーズ初回はこちら

            1. カスタムノードとは?

            カスタムノードとは、使う人が独自に機能を拡張することができる、ComfyUIの「拡張パーツ」のようなものです。まるでレゴブロックのように、様々なカスタムノードを組み合わせることができるので、自分だけのオリジナル作品を創造していくことできます。とても楽しそうですね!

            さて、カスタムノードがなぜあるのか。それは、使う人一人ひとりのニーズや創造性に合わせた柔軟な画像生成環境を提供するためです。標準機能だけでは実現できない、細かな調整や特殊効果、また最新のAI技術の導入などをカスタムノードでは行うことができます!

            初心者にとって、カスタムノードを理解することは、ComfyUIの可能性を最大限に引き出すための非常に重要な一歩となります。最初は難しく感じるかもしれませんが、この記事を通して、ぜひカスタムノードの基本的な知識を理解いただき、さらにComfyUIの世界をより深く探求するきっかけにしてみてください。

            2. カスタムノードの基礎知識

            カスタムノードとは何か

            カスタムノードは、ComfyUIの機能を拡張するためのユーザー定義のモジュールになります。料理で例えると、標準ノードが「基本的なレシピ」だとすれば、カスタムノードは「その人それぞれの独自のレシピ」と言えるでしょう。

            例えば、「野菜炒め」という料理を作る際に、野菜を切る、炒める、味付けをするといった基本的な手順は標準ノードでカバーできます。しかし、「特製ソースを使う」「隠し味を加える」といった独自の工夫は、カスタムノードで実現できます。

            画像

            カスタムノードの基本的な構造は、標準ノードと同様に、入力 → 処理 → 出力の流れで成り立っています。入力として画像やテキストなどのデータを受け取り、内部でPythonコードによって処理を行い、結果を出力します。

            例えば、「色調整ノード」であれば、入力として画像データを受け取り、明るさやコントラストなどを調整し、調整後の画像データを出力します。また、「プロンプト拡張ノード」であれば、入力として短いプロンプトを受け取り、それを詳細なプロンプトに拡張して出力します。

            カスタムノードとPythonの関係

            カスタムノードの内部処理は、Pythonというプログラミング言語で記述されています。Pythonは、その読みやすさと豊富なライブラリ、活発なコミュニティサポートによって、世界中で広く使われているプログラミング言語です。

            Pythonがカスタムノードに使用されている理由は、その柔軟性と拡張性の高さにあります。様々なライブラリを活用することで、画像処理、自然言語処理、機械学習など、多岐にわたる機能を簡単に実装できます。

            Pythonコードの基本構造は、入力の受け取り → 処理 → 出力の生成という流れです。カスタムノードでも、このPythonコードによって入力データを処理し、 望ましい出力を生成します。例えば、以下のようなコードでカスタムノードは作成されています。

            # カスタムノードの基本構造を示すサンプルコード
            
            # 1. 必要なライブラリをインポート
            import numpy as np
            from PIL import Image
            
            # 2. カスタムノードのクラスを定義
            class SimpleImageProcessor:
                # 3. 初期化メソッド
                def __init__(self):
                    self.brightness_factor = 1.5
            
                # 4. 入力を受け取り、処理を行い、出力を生成するメソッド
                def process_image(self, input_image):
                    # 入力画像をNumPy配列に変換
                    img_array = np.array(input_image)
            
                    # 画像の明るさを調整
                    brightened_array = np.clip(img_array * self.brightness_factor, 0, 255).astype(np.uint8)
            
                    # 処理結果を新しい画像として生成
                    output_image = Image.fromarray(brightened_array)
            
                    return output_image
            
            # 5. カスタムノードの使用例
            if __name__ == "__main__":
                # 入力画像を読み込む(実際のComfyUIでは自動的に提供されます)
                input_img = Image.open("input_image.jpg")
            
                # カスタムノードのインスタンスを作成
                processor = SimpleImageProcessor()
            
                # 画像を処理
                result_img = processor.process_image(input_img)
            
                # 結果を保存(実際のComfyUIでは自動的に次のノードに渡されます)
                result_img.save("output_image.jpg")
            
                print("画像処理が完了しました!")

            何が書いてあるかわからない?安心してください!Pythonコードを理解していなくても、カスタムノードを利用できます!ComfyUIは、ユーザーフレンドリーなインターフェースを提供しており、コードを直接操作することなく、カスタムノードの機能を活用できるのです。

            標準ノードとカスタムノードの違い

            標準ノードは、ComfyUIにデフォルトで搭載されている基本的な機能を提供するノードです。例えば、画像を読み込む「Load Image」や、プロンプトを入力する「CLIP Text Encode (Prompt)」などが挙げられます。これらのノードは、ComfyUIの基本的な操作を行うために必要不可欠です。

            しかし、標準ノードだけでは実現できない機能や、より高度な処理が必要になる場合もあります。そこで登場するのがカスタムノードです。カスタムノードでは、標準ノードではカバーできない機能を補完し、ComfyUIの機能を拡張することができます。

            例えば、複数の標準ノードを組み合わせて行っていた複雑な処理を、1つのカスタムノードにまとめることで、ワークフローを大幅に簡略化することもできます。また、最新のAIモデルを統合したカスタムノードを使用することで、より高品質な画像生成が可能となります。

            3. カスタムノードの重要性

            ComfyUIの柔軟性向上

            カスタムノードは、ComfyUIの柔軟性を飛躍的に向上させます。使う人は自分のニーズや好みに合わせて、様々な機能を追加し、ComfyUIを自分だけのツールへとカスタマイズすることができます。例えば、特定の画風や効果を簡単に適用できるカスタムノードを作成することで、自分だけのオリジナル作品を効率的に制作することも可能です。

            画像

            ユーザー体験の改善

            カスタムノードは、複雑な操作を簡略化しより直感的にComfyUIを使用できるようになります。また、視覚的にわかりやすいアイコンや名称を使用することで、ノードの機能を容易に理解し、スムーズなワークフローを実現できます。

            例えば、「efficiency-nodes-comfyui」というカスタムノードでは、モデルのロード(Load Checkpoint)、プロンプトの入力(CLIP Text Encode (Prompt))、空の潜在空間の作成(Empty Latent Image)などを1つのノードにまとめ、簡略化を実現しています。
            実際にインストールをしてみてみましょう。

            画像

            ワークエリア上でカチカチッとダブルクリックをして『efficient』と入力したら…出てきました!早速クリックをしてみます。

            画像

            補足です。空の潜在空間の作成(Empty Latent Image)とはいつもの text to imageな空の潜在空間では、画像のサイズや生成回数を記入しているノードのことです。

            画像

            通常の「Empty Latent Image」ノード
            ここではempty_latent_width, empty_latent_height, は 512, 512(SD1.5系)もしくは、1024, 1024 (SDXL系)、batch_size(生成回数) 1→15 など、用途に合わせて記入しましょう。

            画像生成プロセスの最適化

            カスタムノードは、画像生成プロセスの最適化にも貢献します。最適化されたアルゴリズムを使用することで、処理速度を向上させ、より短時間で高品質な画像を生成できます。また、高度なノイズ除去や詳細強化機能を追加することで、画像の品質をさらに向上させることができます。
            例えば、「ComfyUI_IPAdapter_plus」というカスタムノードでは、IP-Adapterという参照画像を基に画像生成を行える技術を簡単に使用することができるノードです。標準ノードでは実現が難しい技術をカスタムノードでサポートしています。

            画像

            コミュニティ駆動の革新

            カスタムノードは、ComfyUIコミュニティの活発な活動を促進し、革新的なアイデアを生み出す原動力となっています。使う人々が自由にアイデアを共有し、カスタムノードとして実装することで、多様なニーズに対応した機能が次々と誕生しています。特定の業界や用途に特化したカスタムノードも開発されており、ComfyUIの可能性は無限に広がっています。

            画像

            プログラミングの知識がなくても活用できる利点

            カスタムノードは、プログラミングの知識がなくても活用できるという大きな利点があります。ユーザーフレンドリーなインターフェース、コミュニティによるサポート、豊富な情報源など、初心者でも安心してカスタムノードを利用できる環境が整っています。最初は既存のカスタムノードを使用し、徐々に使い方を学び、最終的には自分でカスタムノードを開発する、といった段階的な学習も可能になってきます。

            画像

            4. まとめ

            カスタムノードは、ComfyUIの機能を拡張することで、ユーザー体験は格段と向上します。Pythonで記述されたこれらのモジュールは、ワークフローの効率化、高度な機能の追加、コミュニティ駆動の革新など、様々なメリットをもたらすことができます。

            Pythonとカスタムノードの関係を理解することで、ComfyUIの無限の可能性を最大限に引き出すことができます。初心者の方は、まずは既存のカスタムノードを試してみて、その機能や使い方を学んでみましょう!コミュニティのサポートや豊富な情報源を活用することで、徐々にカスタムノードに慣れていくことができます。

            今回は以上になります。
            どんどんComfyUIについて学ぶことが出来ているのではないでしょうか?この後のボーナストラックではお得なTipsを公開しております。次回も楽しくComfyUIを学べるような内容をご用意しておりますので是非楽しみにしていてください!

            画像生成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

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

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


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

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

          1. [3]ゼロからつくるとよく分かる!ComfyUIワークフロー作成で学ぶStable Diffusionの内部動作

            おかげさまで第3回となりました!
            今回の「ComfyUIマスターガイド」では、連載第3回はComfyUIに初期設定されている標準のワークフローを自分の手で一から作成し、ノード、Stable Diffusionの内部動作の理解を深めていきます!

            前回はこちら

            1. ワークフローの作成手順

            今回作成するワークフローは、ComfyUIの初回起動時に表示される標準のワークグラフになります。Stable Diffusion 1.5を使った標準的なグラフで画像生成を実現するシンプルなグラフになります。

            画像

            上図のように、左側からノードを順に追加していき、最後に各ノードの入力/出力ポートを接続します。

            2. ワークフローのクリア

            ComfyUIを起動すると、以下の画像のように標準のグラフが表示されます。今回は、一からこのグラフを作成するため、全てのノードを削除します。ここで、右下のコントローラから「Clear」を選択します。

            画像

            上部に以下のようなダイアログが表示され、「Clear workflow?」と尋ねられるので、「OK」ボタンを押下します。

            画像

            そうすると、画面上の全てのコンポーネントが削除され、真っさらな状態になります。

            画像

            3. モデルのロード (Load Checkpoint)

            まずは、モデルをロードするノード「Load Checkpoint」を追加します。
            グラフ上の何もない箇所で左ダブルクリックします。そうすると、ノードの検索ダイアログが表示されます。

            画像

            検索ダイアログの検索バーに「load checkpoint」と入力します。検索バーの下部のノード一覧に検索にヒットしたノードが表示されます。ここから「Load Checkpoint」を選択します。

            画像

            Load Checkpointがワークグラフ上に追加されます。

            画像

            Load Checkpointでは、使用するモデルを選択します。Load Checkpointのパラメータ「ckpt_name」をクリックすると、インストール済みのモデル一覧が表示されます。今回は、「v1-5-pruned-emaonly.ckpt」を選択します。
            このファイルは Stable Diffusion 1.5のベースとなるモデルチェックポイントファイルとなります。

            画像

            これでLoad Checkpointの作成が完了になります。ワークグラフ上には、Load Checkpointのみが組み込まれている状態になります。

            画像

            4. プロンプトの設定 (CLIP Text Encode (Prompt))

            次は、プロンプトを設定するノード「CLIP Text Encode (Prompt)」を追加します。前項と同様に、グラフ上の何もないところでダブルクリックして検索ダイアログを開き、検索バーに「clip text encode」と入力し、表示されたノードから「CLIP Text Encode (Prompt)」を選択します。

            画像

            ワークグラフ上にCLIP Text Encode (Prompt)が追加されます。

            画像

            プロンプトは、ポジティブプロンプトネガティブプロンプトが必要になるため、CLIP Text Encode (Prompt)は2つ必要になります。先ほど追加したCLIP Text Encode (Prompt)を複製し、プロンプト用のノードを2つ用意します。

            先ほど追加したCLIP Text Encode (Prompt)上で右クリックすると、ノード用のコンテキストメニューが表示されます。この中から「Clone」を選択します。

            画像

            「Clone」が実行され、CLIP Text Encode (Prompt)が複製されます。複製された直後は、複製元のノードと重なって表示されるため、1つのノードに見えますが、しっかり複製されています。重なっていると見づらいため、ノードをドラッグし、下の方に移動しましょう。

            画像

            今回は、作成した2つのノードのうち、上のノードをポジティブプロンプト、下のノードをネガティブプロンプトとして利用します。

            ※もし見分けがつきにくいときは、「Colors」からノードの色を変えてみると良いかもしれません。

            画像

            入力するプロンプトは、お好みのプロンプトを入力して問題ありませんが、
            今回は標準のワークフローに記載されていた内容を入力してみましょう。

            ポジティブプロンプトには、
            beautiful scenery nature glass bottle landscape, purple galaxy bottle
            を入力します。

            画像

            ネガティブプロンプトには、
            worst quality, low quality, normal quality
            を入力します。
            ここでは、低いクオリティの画像が生成されないように「見たくものを入れる指示」を与えています。部品としては画像を生成するためのプロンプト(ポジティブプロンプト)と同じCLIPというテキストと画像の対比を学習した条件付けのためのモデルを利用しています。

            画像

            これでプロンプトの設定が完了です。現状のワークグラフ上には、Load CheckpointCLIP Text Encode (Prompt)が2つ表示されている状態になります。

            画像

            5. 空の潜在空間の画像の作成 (Empty Latent Image)

            次に空の潜在空間の画像を作成するノード「Empty Latent Image」を追加します。前項と同様に検索ダイアログを開き、検索バーに「empty latent image」と入力し、表示されたノードから「Empty Latent Image」を選択します。

            画像

            ワークグラフ上にEmpty Latent Imageが追加されます。

            画像

            Empty Latent Imageの各パラメータの設定は、初期値をそのまま利用します。
            Stabled Diffusion 1.5の場合はデフォルトのまま「512×512」、「batch_size = 1」で構いません。Stable Diffusion XL (SDXL) の場合は「1024×1024」です。

            画像

            これで空の潜在空間の画像を作成するノードの追加が完了です。ワークグラフ上には、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent Imageが表示されている状態になります。

            画像

            ※Stable Diffusion XL (SDXL) を使用する場合はEmpty Latent Imageの width, heightは 1024 にすべきであることをお忘れなく。

            画像

            6. サンプリングの実行 (KSampler)

            次は、サンプリングを実行するノード「KSampler」を追加します。前項と同様に検索ダイアログを開き、検索バーに「ksampler」と入力し、表示されたノードから「KSampler」を選択します。

            画像

            ワークグラフにKSamplerが追加されました。

            画像

            KSamplerの各パラメータの設定は、初期値をそのまま利用します。

            画像

            これでサンプリングの実行ノードの追加が完了です。ワークグラフ上には、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent ImageKSamplerが表示されている状態になります。

            画像

            7. 潜在空間のデコード (VAE Decode)

            次は、潜在空間のでコードを行うノード「VAE Decode」を追加します。前項と同様に検索ダイアログを開き、検索バーに「vae decode」と入力し、表示されたノードから「VAE Decode」を選択します。

            画像

            ワークグラフ上にVAE Decodeが追加されます。

            画像

            VAE Decodeはパラメータを持たないので、これでVAE Decodeの追加が完了になります。現状のワークグラフには、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent ImageKSamplerVAE Decodeが表示されている状態になります。

            画像

            8. 画像の保存 (Save Image)

            次は、生成した画像の保存を行うノード「Save Image」を追加します。前項と同様に検索ダイアログを開き、検索バーに「save image」と入力し、表示されたノードから「Save Image」を選択します。

            画像

            ワークグラフ上にSave Imageが追加されます。

            画像

            Save Imageのパラメータでファイル名のプレフィックスを設定できます。お好みのプレフィックスを設定してください。今回は、初期値の「ComfyUI」を使用します。

            画像

            これで画像の保存ノードの追加が完了です。現状のワークグラフは、Load CheckpointCLIP Text Encode (Prompt)が2つ、Empty Latent ImageKSamplerSave Imageが表示されている状態になります。

            画像

            9. 各ノードの接続

            ここまでに追加した各ノードを接続していきます。

            Load CheckpointとCLIP Text Encode (Prompt)の接続

            最初にLoad Checkpointの出力ポート「CLIP」と、2つのCLIP Text Encode (Prompt)の入力ポート「clip」を接続します。まずは、ポジティブプロンプト用のCLIP Text Encode (Prompt)と接続するために、Load Checkpointの出力ポート「CLIP」の黄色のドットをドラッグします。

            画像

            ドラッグした状態でマウスを動かすと、以下の画像のようにポートから線が伸びます。

            画像

            この状態でCLIP Text Encode (Prompt)の入力ポート「clip」の黄色のドットまでマウスを移動させます。

            画像

            CLIP Text Encode (Prompt)の入力ポート「clip」の黄色のドットの上にドロップすることで、ノードを接続することができます。

            画像

            同様にネガティブプロンプト用のCLIP Text Encode (Prompt)と接続させます。

            画像

            CLIP Text Encode (Prompt)とKSamplerの接続

            CLIP Text Encode (Prompt)の出力ポート「CONDITIONING」と、KSamplerの入力ポート「positive」および「negative」を接続します。

            まずは、ポジティブプロンプト用のCLIP Text Encode (Prompt)(上部のノード)の出力ポート「CONDITIONING」と、KSamplerの入力ポート「positive」を接続します。前述した方法でポートを接続してください。

            画像

            次に、ネガティブプロンプト用のCLIP Text Encode (Prompt)(下部のノード)の出力ポート「CONDITIONING」と、KSamplerの入力ポート「negative」を接続します。

            画像

            Load CheckpointとKSamplerの接続

            Load Checkpointの出力ポート「MODEL」と、KSamplerの入力ポート「model」を接続します。前述した方法でポートを接続してください。
            CLIP Text Encode (Prompt)を跨いで接続するため見づらいですが、紫色の線で繋がっています。

            画像

            Empty Latent ImageとKSamplerの接続

            Empty Latent Imageの出力ポート「LATENT」と、KSamplerの入力ポート「latent_image」を接続します。前述した方法でポートを接続してください。

            画像

            Load CheckpointとVAE Decodeの接続

            Load Checkpointの出力ポート「VAE」と、VAE Decodeの入力ポート「vae」を接続します。前述した方法でポートを接続してください。
            複数のノードを跨いで接続するため見づらいですが、赤色の線で繋がっています。

            画像

            KSamplerとVAE Decodeの接続

            KSamplerの出力ポート「LATENT」と、VAE Decodeの入力ポート「samples」を接続します。前述した方法でポートを接続してください。

            画像

            VAE DecodeとSave Imageの接続

            VAE Decodeの出力ポート「IMAGE」と、Save Imageの入力ポート「images」を接続します。前述した方法でポートを接続してください。

            画像

            10. ワークフローの完成!

            これでワークフローが完成しました。最終的なグラフは、以下の画像のようになっています。

            画像

            それでは、作成したワークフローで画像生成ができるか試してみましょう。「Queue Prompt」をクリックして、画像生成を実行します。

            画像

            無事に画像生成が成功しました。皆様の環境でも画像生成が成功したでしょうか。失敗した場合は、どこかに誤りがある可能性があるので、ここまでの内容を再度見直してみると解決できると思います。

            今回、ワークフローを一から組んでいくことで個々のノードについてと、ノードとノードを繋げていくことでのワークフロー全体への理解や、Stable Diffusionの内部動作への理解を深めることができました!

            次回はカスタムノードとモデルのダウンロードについてお送りしたいと思います!

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

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

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

          2. ComfyUIの操作系とショートカット、ノードで「Stable Diffusion」の内部処理を学ぼう

            こんにちわ、AICU media編集部です。
            ComfyUIマスターガイド」シリーズの第2回になります。
            今回は、ComfyUIの基本操作と画像の生成についてご説明をしていきたいとおもいます。

            第1回はこちら

            第2回は、ComfyUIの基本的な操作から、ショートカット、画像の出力までの簡単な流れを解説します。AUTOMATIC1111と違い、完全にグラフィカルなユーザーインターフェースで操作するノードシステムは慣れるまで大変かと思いますが、用語や操作方法に慣れると大変見やすく効率的になります。またここでは、簡単な用語と中で起きている生成AIの処理についても解説していきます。

            ComfyUIの基本操作とUIの名称

            ComfyUI Manager入りのComfyUIが起動したら、まずは基本的な操作方法やユーザーインターフェース(UI)の名称をおさらいしておきましょう。

            ユーザーインターフェース

            画像

            ComfyUIではおもに上のようなグラフキャンバス(GraphCanvas、以下Canvas)上で作業します。以下で説明をする『ノード(node)』と呼ばれる部品を使用して、画像生成を行うためのネットワークを作成していきます。

            Canvasの右にあるメニュー(Menu)では、画像生成(Queue Prompt)のコマンドを投入したり、その他各種設定を行うことができます。

            ノード (node)

            ノード (node) とは、こぶ、結び目、節、という意味ですが、 ネットワーク用語では「結び目」「集合点」といった意味で「ノード」と呼びます。例えばコンピュータネットワークは、点(装置)とそれを結ぶ線(伝送路)で表すことができます。
            ComfyUIにおける画像生成AIはこのようなネットワークの部品で表現されています。

            例えば以下は「プロンプトとネガティブプロンプトを指定して、KSamplerに入力とする」を意味します。

            画像

            ComfyUIではノードシステムを利用して「グラフ」もしくはワークフロー(後述)を構築することで画像生成のネットワークをつくることができます。

            ノードシステムとは、指示を出すノード(点)とその指示を受けるノードをライン(線)で繋げるイメージです。
            複数の点を連結させていくことで、複雑な指示を出すことができ、
            最終的に精密な画像を出力することができます。

            ちなみに、ノードを繋げた一連を『ノードツリー』と呼ぶこともあります。
            (ノードの一連流れが樹と枝葉に似ていることからこのような呼び方が生まれました)

            マウス操作

            左・中ボタンドラッグアンドドロップ:画面の移動
            中央ホイールのスクロール:画面の拡大 / 縮小
            ワークスペース上で右ボタンのクリック:ノードの追加

            左ボタンダブルクリック:ノードの検索

            キーボードショートカット

            上から順によく使うものです、いまはまだわからない用語も多いかもしれませんが、使いながら覚えていくことをおすすめします。

            Ctrl + S : ワークフローの保存
            Ctrl + Enter : 現在のグラフを生成するためにキューに入れる
            グラフとは現在のワークフローのことを指します。
            キュー(queue)とはこれから画像生成を行う待ち列です。
            Ctrl + Shift + Enter : 現在のグラフを生成の最初としてキューに入れる
            いま作業している内容を待ち列の先頭に入れるという意味になります。

            Ctrl+Z:もとに戻す
            Ctrl+Y:操作のやり直し

            Ctrl + O : ワークフローの読み込み
            Ctrl + D : デフォルトのグラフを読み込み

            [ノード操作系]
            Ctrl/Shift + Click : クリックしたノードを選択範囲に追加
            Ctrl + A : すべてのノードを選択
            Delete/Backspace(Windows) : 選択したノードを削除
            Ctrl + Delete/Backspace : 現在のグラフを全削除
            Shift + Drag : 選択した複数のノードを同時に移動
            Alt + C : 選択したノードを折りたたむ/折りたたまない
            Ctrl + M : 選択したノードをミュート/ミュート解除
            Ctrl + B : 選択したノードをバイパス
            (ノードがグラフから削除され、ワイヤが再接続されたように動作)
            Ctrl + C/Ctrl + V : 選択したノードをコピーして貼り付け
            (選択されていないノードの出力への接続は維持されない)
            Ctrl + C/Ctrl + Shift + V : 選択したノードをコピーして貼り付け
            (選択されていないノードの出力から貼り付けたノードの入力への接続を維持)

            [表示系]
            Q : キューの表示を切り替え
            H : 履歴の表示を切り替え
            R :グラフを更新

            Space : カーソルを押しながら移動するとキャンバスが移動


            ComfyUIのワークフローとノード

            ComfyUIで画像生成を実行する前に、基本となるワークフローについて説明をします。ここでは、ComfyUIの起動時に表示されるデフォルトのワークフローを例にとります。Ctrl + Dでいつでも読み込めます。

            画像

            ワークフロー(Workflow)とは

            ワークフローとは、ComfyUIにおいて画像生成プロセスを視覚的に表現したものです。複数のノード(点)を線で接続し、データの流れを示しています。各ノードは特定の処理を担当し、それらを組み合わせることで望む画像を生成します。
            ワークフローはjson形式でテキストファイルとして保存することもできますが、ComfyUIで生成されたPNG画像にも埋め込まれています。

            デフォルトのワークフローの構成

            デフォルトのワークフローは、以下のノード構成になっています。
            この連載では基本的に、左上から右下に向かうようにノードツリーを配置して解説していきます。

            画像
            • Load Checkpoint
              • モデルをロードするノードです。
              • ここでは “v1-5-pruned-emaonly.ckpt” というStable Diffusion 1.5のベースモデルが使用されています。
              • ダウンロード済みであれば他のファイルを選択することができます。
            画像
            • CLIP Text Encode (Prompt)
              • CLIP (Contrastive Language-Image Pretraining)というOpenAIが最初に提案した言語と画像の学習モデルです。
              • テキストプロンプトを「条件付け(Conditioning)」にエンコードします。
              • 2つあり、上部のものがポジティブプロンプト(生成したい内容)、下部のものがネガティブプロンプト(見せたくない要素)を指定します。ノードの種類としては同じものです。
            画像
            • Empty Latent Image
              • 潜在空間(Latent Space)から与える初期画像です。この段階では「サイズだけを持った無の画像」とイメージしておくと良いでしょう。
              • 生成する画像の解像度やバッチサイズ(一度の画像生成で何枚の画像を生成するか)を設定します。
              • ここでは512×512ピクセル、バッチサイズ1が設定されています。
            画像
            • KSampler
              • 実際の画像生成を行うノードです。
              • サンプリング方法、ステップ数、どれだけプロンプトに従うかを指定するCFG(Classifier Free Guidance)、乱数のシードなど、画像生成とその画質に関わる重要なパラメータを設定します。
            画像
            • VAE Decode
              • ここまでの処理は潜在空間での演算なので、最終的に人間が見れる画像(RGBのPNGファイル)に変換するため、VAE(Variational autoencoder; 可変オートエンコーダ)を使って圧縮された潜在表現(latent representation)を実際の画像に変換します。
            画像
            • Save Image
              • 生成された画像を保存します。保存される場所は、”ComfyUI/output”フォルダになります。
              • ファイル名のプレフィックス(前置詞)を設定できます。例えば、プレフィックスに”ComfyUI”を設定した場合、保存される画像のファイル名は”ComfyUI_00001″、”ComfyUI_00002″となります。
            画像

            以上で、ComfyUIの基本的な操作から、ショートカット、画像の出力までの簡単な流れを解説しました。ノードシステムは慣れるまで大変かと思いますが、慣れると大変見やすく効率的になります。また、AUTOMATIC1111と違い、用語の解説とともに触ってみると、中で起きている生成AIの処理がわかりやすくなったかと思います。
            次回はComfyUI Managerやmodelの基本的な使い方をご説明したいと思います。

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

            画像

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

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

            メンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

            https://note.com/aicu/membership/boards/61ab0aa9374e/posts/db2f06cd3487

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


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

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

          3. 【新シリーズ開始】 Google ColabでComfyUIを動かしてみよう!

            「ComfyUIマスターガイド」シリーズの第1回になります。
            第0回はこちら

            ComfyUI ManagerとGoogle Colabではじめる「ComfyUI」

            ComfyUIには様々なインストール、セットアップ方法があります。「SD黄色本」でA1111を学んだ方が、ComfyUIを簡単に試すのであれば、「Stability Matrix」によるインストールが速いかもしれません。
            GPU搭載のWindows11をお持ちの方は「Stability Matrix」公式サイトからインストーラーを使い、A1111と並んで「ComfyUI」をパッケージからインストールするだけで起動できます。

            https://github.com/LykosAI/StabilityMatrix

            より実用的かつシンプルなインストール手順

            このシリーズではAICU特製の Google Colabノートブックを使ってよりシンプルなインストール手順を紹介します(文末)。

            さらに実用的な方法として「ComfyUI Manager」という拡張機能を使用することで、カスタムノードやモデルの管理、ComfyUI本体の更新など、より効率的な運用が可能になります。

            本記事では、ComfyUIの基本的な特徴から、Google Colabでの使用方法、基本的なワークフローの解説、そしてComfyUI Managerの活用方法まで、幅広くカバーしています。AI画像生成に興味がある方、より高度な制御を求めているクリエイターの方々に、ComfyUIの可能性を探っていただければ幸いです。

            1. ComfyUIとは

            ComfyUIは、AI画像生成の世界に革新をもたらした強力かつ柔軟なオープンソースのグラフィカルユーザーインターフェイス(GUI)です。Stable Diffusionをベースにしており、画像生成プロセスを視覚的に構築し、細かく制御することができます。

            https://github.com/comfyanonymous/ComfyUI

            ComfyUIの主要な特徴

            1. ノードベースのインターフェイス:
              • 複雑な画像生成プロセスを視覚的にデザインできます。
              • 各ノードが特定の機能を表し、それらを線で結んでワークフローを作成します。
              • この方式により、初心者でも直感的に操作でき、上級者は複雑な処理を構築できます。
            2. 高度なカスタマイズ性:
              • 生成プロセスの各段階で細かなパラメータ調整が可能です。
              • プロンプト、シード値、サンプリング方法、ステップ数など、あらゆる要素を制御できます。
              • これにより、望む結果を得るための精密な調整が可能になります。
            3. 拡張性と柔軟性:
              • プラグインやカスタムノードを追加することで機能を拡張できます。
              • コミュニティによって開発された多様な拡張機能を利用できます。
              • 必要に応じて独自のノードを作成し、特殊な処理を組み込むことも可能です。
            4. リソース効率:
              • 他のGUIに比べて軽量で、システムリソースの使用が効率的です。
              • これにより、比較的低スペックのマシンでも快適に動作します。
              • Google Colabのような環境でも十分なパフォーマンスを発揮します。
            5. 幅広い互換性:
              • 様々なStable Diffusionモデルに対応しています。
              • LoRA(Low-Rank Adaptation)やControlNetなどの技術もサポートしています。
              • これにより、多様なスタイルや特殊な画像生成が可能になります。
            6. バッチ処理と自動化:
              • 複数の画像を一度に生成するバッチ処理が可能です。
              • ワークフローを保存し、再利用することで作業を効率化できます。
              • これにより、大量の画像生成や実験的な試行が容易になります。
            7. コミュニティサポート:
              • 活発なユーザーコミュニティがあり、情報交換や問題解決が容易です。
              • GitHub上でオープンソースとして開発されているため、最新の機能や改善が継続的に行われています。

            ComfyUIの活用シーン

            ComfyUIは、以下のような幅広い用途で活用されています:

            • アーティストやデザイナー: 独創的なビジュアルアートの制作
            • ゲーム開発者: キャラクターデザインや背景画像の生成
            • 映画・アニメ制作者: コンセプトアートやストーリーボードの作成
            • 研究者: AI画像生成の実験や新しいテクニックの開発
            • 教育者: AI技術と創造性の教育ツールとして
            • ホビースト: 個人的な創作活動や画像生成の探求

            ComfyUIを使いこなすことで、AIアート制作の可能性が大きく広がります。その柔軟性と強力な機能セットにより、初心者から上級者まで、様々なレベルのユーザーが自分のビジョンを実現するためのツールとして活用できます。

            2. ComfyUI Managerとは

            ComfyUI Managerは、ComfyUIの機能を大幅に拡張し、使いやすさを向上させるための強力な拡張機能です。

            https://github.com/ltdrdata/ComfyUI-Manager

            主に以下の機能を提供することで、ComfyUIの管理と拡張を容易にします。

            1. カスタムノードの管理: ComfyUI Managerを使用すると、カスタムノード(拡張機能)のインストール、アンインストール、有効化、無効化を簡単に行うことができます。これにより、ComfyUIの機能を柔軟に拡張し、ワークフローをより高度にカスタマイズすることが可能になります。
            2. モデルの管理: チェックポイントモデル、AIアップスケーラー、VAE、LoRA、ControlNetモデルなど、様々なAIモデルのインストールと管理が可能です。
            3. ComfyUI本体の更新: ComfyUI自体のアップデートも、ComfyUI Managerを通じて行うことができます。
            4. ワークフローの互換性確認: 現在のワークフローに必要な不足ノードを検出し、インストールする機能があります。これにより、他の人が作成したワークフローを簡単に使用できるようになります。
            5. 検索機能: 必要なカスタムノードを簡単に見つけることができる検索機能を提供しています。
            6. バージョン管理: インストールされたカスタムノードのバージョン管理が可能で、最新の状態を保つことができます。

            ComfyUI Managerのインストール後は、ComfyUIのインターフェースに「Manager」ボタンが追加され、そこから各種管理機能にアクセスできるようになります。

            ComfyUI Managerを使用することで、ユーザーはComfyUIの潜在能力を最大限に引き出し、より効率的かつ柔軟な画像生成ワークフローを構築することができます。特に、多様なカスタムノードを簡単に追加・管理できる点は、ComfyUIの利用者にとって非常に有益な機能と言えるでしょう。

            3. Google ColabでのComfyUIの使用準備

            ComfyUIをGoogle Colabで使用するには、ComfyUI ManagerのGitHubページで提供されているGoogle Colabノートブックを利用します。以下の手順に従い、環境構築を行います。

            Google Colabの有料プランへの加入

            Google ColabでStable Diffusionを動作させるには、Colabの有料プランに加入する必要があります。プランにより、使用可能なGPUの種類や、付与されるコンピューティングユニットの量が変わるため、お好みのプランに加入してください。今回は、Colab Proプランに加入します。

            画像

            Notebookのコピー

            ComfyUI-ManagerのGitHubページ(原作)はこちらです。

            https://github.com/ltdrdata/ComfyUI-Manager

            GitHubページには、以下のようにComfyUIおよびComfyUI-ManagerをインストールするためのGoogle ColabのNotebookが提供されています。”click on this link”をクリックすることで、Notebookにアクセスできます。

            画像

            以下、メンバーシップ向けに続きます!

            画像生成AI「ComfyUI」マスター プランをご購読お願いします


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

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

          4. [新連載] ここからはじめる「ComfyUIマスターガイド」

            【特報です!!】2024年8月からAICU mediaにて集中連載「ComfyUIマスターガイド」がはじまります!

            コンセプト:こんな方に読んでほしい

            ・イラストレーションや漫画だけでなく映像制作に画像生成AIを使いたい
            ・画像生成AI「Stable Diffusion」を業務に活かしていきたい
            ・AUTOMATIC1111は何となく使えるが、ComfyUIに移行したい
            ・いったんゼロから学んで、最新の技術をキャッチアップできるところまで連れて行ってほしい
            ・Pythonのプログラミングとかはわかりません!
            ・高価なVRAM搭載PCを買えないわけではないけど、プロとしてはクラウドやサービスでの利用も当然可能、活用していきたい
            ・どうやったら品質を上げられるのか知りたい
            ・画像生成AIシステム開発の社内PoCをつくりたい、相談したいが、そもそも技術者として広範な知識が必要すぎる
            ・法律だけでなくクリエイターや消費者の倫理など、危ない技術やモデル、使い方における注意点もしっかり教えてほしい
            ・(わかっている人向け情報ではなく)映像系の読み手でもわかるように、環境やセットアップについても丁寧に教えてほしい
            ・内部の技術についても解説してほしい

            配信方式

            無料/有料を含めて様々な方法で配信します!
            ・毎日のnoteでの配信(週3本程度を予定)
            ・メンバーシップ向けの優先配信
            ・noteマガジンでの配信
            ・オウンドメディアでの無料配信
            ・インデックス化による読みやすい体系化
            ・多メディア等による配信(予定…!!)

            配信予定コンテンツ

            (随時更新・変更される可能性もございます)

            1. Google ColabでComfyUIを動かしてみよう!
            2. 操作系とショートカット、ノードで「Stable Diffusion」の内部処理を学ぼう
            3. ゼロからつくるとよく分かる!ComfyUIワークフロー作成で学ぶStable Diffusionの内部動作
            4. ComfyUIカスタムノード導入ガイド! 初心者でも安心のステップバイステップ解説
            5. ComfyUI カスタムノード徹底解説!機能とメリットを理解しよう
            6. ComfyUI設定完全ガイド!(前編)
            7. ComfyUI設定完全ガイド!(後編)
            8. 画像化も可能!ComfyUIワークフロー管理の基礎
            9. ComfyUIでワークフロー大公開!あなたの作品を世界へ発信
            10. ComfyUIで画像を高解像度化!Hires.fix完全ガイド
            11. ComfyUIでのTextToImageを極める!!(1)プロンプトの基本文法
            12. ComfyUIでのTextToImageを極める!!(2)CombineとConcat

            ・Image to Image
            ・ContorolNet
            ・LoRA
            ・アプリケーション開発
            ・画像生成の原理と歴史
            ・AIの倫理と社会
            ……以下続きます……!

            基本的な流れは書籍「画像生成AI Stable Diffusionスタートガイド」のAUTOMATIC1111を踏襲しつつ、A1111からより実用的な画像生成AIのプロフェッショナル/マスターとして体系的な知識を得られる構成になっています。

            豪華なライター陣

            ・ゲストライター Yas さん @earlyfield8612

            生成AIを含む最新テクノロジーの実用化と企業のDXを支援するポノテク株式会社の代表。AICUコラボクリエイターとして技術調査や記事の全般に参加します。電気電子工学専攻、Bond University MBA取得。

            ・エディター はねごろう @hane_desu

            ボーカロイドからゲームCGなど映像系ラインプロデューサーを経験し、AICUではメディアエディター「クリエイティブAIプロマネ」という新しい職業を開拓するAIビジュアルデザインPさんです。映像系のプロフェッショナルの視点から見た「画像生成AIのここがわからん!」、クリエイティブの分野にいつつ、画像生成AIの初心者や中級者にやさしい視点を担保します。

            ・アーティスト 犬沢某 いぬさわばう @InsBow

            働きすぎて肩を壊して絵描きとしての筆を折ってしまったのですが画像生成AIのおかげで最近リハビリ中……という経歴を持ったビジュアルアート/漫画/イラストレーターさん。グラフィックス、挿絵、カバーアートなどで参加します。

            ・AICU media代表 しらいはかせ @o_ob

            画像生成AI「Stable Diffusion」をリリース直後からまいにち研究・開発・発信し続けてきた「つくる人をつくる」AICU mediaの代表。デジタルハリウッド大学大学院特任教授。東京工業大学知能システム工学・博士(工学)、東京工芸大学画像工学専攻、写真工学科。芸術科学会副会長。科学コミュニケーター。画像生成AIの使い手として、学習者やクリエイター、オープンソース開発者にとってわかりやすい解説や視点を「わかるAIを伝える」AICUとしての品質を高く維持・管理して発信しています。

            「noteメンバーシップ」ご参加がオススメ

            生成AIクリエイターユニオン『AICU: AI Creators Union』は、「つくる人をつくる」をビジョンに活動するアメリカのスタートアップ企業「AICU」社が「note」で提供するプロ生成AIクリエイター養成ユニオンです。このユニオンでは、画像生成AIやLLMなど、高速に進化する生成AIの最先端を学びながら、一緒に生成AIの価値を生む仲間を得ます。メンバーは、生成AIに関する最新の知識と技術を自分のペースと興味の深さで追い、それを社会に明確に伝えて価値を生む能力を養うことに焦点を置いています。
            Google Colabで動くGPU不要な環境についても紹介しています。
            AICU社のパートナーである生成AIトップの企業での技術と専門知識や情報にいち早く触れる機会を得られます。プロフェッショナルな環境で学び、実践的なライティング技術、PoC開発、コンテンツ作成のノウハウを習得しましょう。
            プロのクリエイターを目指す学生さんや、個人ブログでの執筆を超え生成AIでの転職や起業を考えるプロフェッショナル志向の方々の参加を歓迎します。もちろん「これから勉強したい」という人々も歓迎です。

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

            画像

            新登場: 画像生成AI「ComfyUI」マスターPlan

            画像

            画像生成AI「Stable Diffusion」特に「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メンバーシップ。
            退会率はとても低く、みなさまにご満足いただいております。

            AICUメンバーシップは「AI Creator Union」つまりお仕事を得やすい?

            メンバー限定の会員証、活動期間に応じたバッジに加えて、以下のような「AIクリエイターユニオン」としてのメリットも可能性があります。

            AICU メンバーシップ向け情報の例

            AIクリエイターユニオンならではのオトクな情報が…
            ・コンテスト情報
            ・編集部からのおしらせ(キャンペーンとか)
            ・ライター依頼(フルリモートワーク)
            ・業務案件
            ・サンプルアートの募集など
            ・人材募集
            などなど

            もちろん、参加するだけでなく、記事へのフィードバックやご貢献、
            Discordでの自己紹介やご反応をよろしくお願いいたします!

            ご参加はこちらから!

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

            ↓例えばペイウォールの向こうには「何人の人が参加しているのか」が表示されます↓


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

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

          5. AICU、業務拡大に伴い、新プロジェクトの主軸となるAIアート系人材をオーディション形式で募集開始

            AICU、業務拡大に伴い、新プロジェクトの主軸となるAIアート系人材をオーディション形式で募集開始

            「つくる人をつくる」をビジョンに、書籍「画像生成AI Stable Diffusionスタートガイド」などを執筆・開発しているAICU Inc.がこの夏、あらたにAIアート時代のプロクリエイターを育成する目的で「AIアート系インターン」をオーディション形式で募集します。

            【AICU Creators University Audition 2024 Summer】

            • 賞金総額: 10万円
            • インターン期間: 3ヶ月(有償インターン)

            https://corp.aicu.ai

            【目的】

            AICU Inc.(本社:米国Sunnyvale、CEO:白井暁彦)は、生成AI時代に「つくる人をつくる」をビジョンに活動しています(https://corp.aicu.ai/)。主要取引先はStability AIや電通、SBクリエイティブといった世界を代表する企業であり、一般向け書籍「画像生成AI Stable Diffusionスタートガイド」、ブログメディア「AICU media」や、中高生向けKindle雑誌「AICUマガジン」、各種ワークショップ開発などを通して生成AIクリエイティブの発展に寄与しています。

            今回のオーディションは、業務拡大に伴い、さらなる新プロジェクトの主軸となる生成AI時代のビジュアルアートクリエイターの長期育成を目的としています。

            https://corp.aicu.ai/visual

            【募集要項】

            美大・芸大・情報メディア系・専門学校の現役学生を対象とした、AIビジュアルアート作品を通した賞金付きオーディションを開催します。

            【応募スケジュール 】

            • エントリー受付期間: 随時
            • オーディション作品提出締切: 2024年6月16日23:59
            • 2次審査プレゼン兼面接: 2024年6月19日~21日(調整あり)

            【募集部門】

            • 動画部門: YouTubeのURLでショート動画を提出
            • 静止画部門: X(Twitter)のURLでキャラクターイラストを提出
            • タテ動画部門: TikTok向けのダンス動画やCM動画をURLで提出
            • 技術部門: ComfyUIを中心とした技術ブログを評価

            各部門から最終候補作品を選定し、2次審査(プレゼンテーション・面談)を経て最優秀賞を決定します。

            【エントリー応募条件】

            • Stable Diffusion「ComfyUI」を中心に使用(AUTOMATIC1111も歓迎)
            • 作品のメイキングを社内・社外に公開可能
            • アウトプットの動画や静止画は既発表・公開済みでも可
            • メイキング発表用のスライドをGoogle Slidesで作成し、URLを提供(更新は発表会直前まで可能)
            • 2024年7月~10月にかけて、新規事業におけるプロダクション業務に従事できること(週3日程度から。教育あり・時給保証)
            • 上記の要件を満たしていれば、現役学生である必要はありません。

            【2次審査までの流れ】

            • 先着順で評価
            • 既発表作品歓迎
            • SNSでのインフルエンス、コミュニケーション力もプラス評価
            • 過去作品も評価(Pixiv、GitHub、X等)
            • AI作品以外の作品制作力も評価
            • 提出資料は随時更新可能
            • 作品の優劣だけでなく、AI時代のクリエイターとしての適性を評価
            • 未完成な要素も歓迎
            • インターンで体験したいこと、担当したい業務や将来の希望も評価

            【インターン採用に関してのFAQ】

            • 書籍や動画、ワークショップの開催を実施する開発アシスタントとして、サンプルアートの制作、ブログの執筆などを担当
            • 基本はリモートワークになります。
            • 「画像生成AI Stable Diffusion スタートガイド」の内容をマスターしていると有利
            • 現在のアーティストネームやAICUでのクリエイターネームで活動(名義は希望・相談可)
            • 守秘義務契約、インターンプログラム参加契約および業務委託契約を締結

            興味のある方はぜひエントリーを検討してみてください。
            詳細情報はこちらのURL()およびX(Twitter)@AICUai にお問い合わせください。

            【応募フォーム】

            https://docs.google.com/forms/d/e/1FAIpQLSeA939fc4nmu28fcUH14CHM2g6gCgS04qfMad28eZLTLTLpaA/viewform

            【業務内容・プロダクト・企業紹介】

            https://corp.aicu.ai/ja/products


            (参考資料)過去のインターンに関する募集はこちらからご参照ください。

            学生インターン募集(2024年1-2月期) #長期有給インターン募集
            https://note.com/aicu/n/n732ed1580ba4

            AICU インターン募集(2024年3-6月期)
            https://note.com/aicu/n/n45e15b2091f9

            AICU media 学生インターン募集(2023年11月期)
            https://corp.aicu.ai/ja/intern20231103