カテゴリー: 画像生成AI

画像生成AIの使い方や最新情報についてお届けします。

  • [ComfyMaster31] AWS上にComfyUI環境を構築しよう!(準備編)

    こんにちわ!AICU media編集部です。
    AWS 生成 AI 実用化推進プログラム」に採択されました!

    クリエイティブAIで「つくるひとをつくる」をビジョンに、「わかるAIを届ける」をコンセプトに活動しているAICU mediaは、高い技術力と、わかりやすい記事を通して今後もより一層力を入れて、AWS(Amazon Web Services)の企業での社内開発やプロフェッショナル向けの使いこなし事例を当事者目線でお届けしていきます。


    あらためまして、こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」第30回目になります。
    本記事では、AWS上にComfyUI環境を構築するテクニックを詳細に解説します。お値打ち記事ですが、ちょっと長いので3編に分けて、お送りします!

    本シリーズの初回はこちら。前回はこちら目次はこちらです。

    AWS編第2回はこちら、「コスト効果大なComfyUIのAWSデプロイ(Cost Effective AWS Deployment of ComfyUI)」を準備していきます。

    「Cost Effective AWS Deployment of ComfyUI」

    つまり「お財布に痛くない、AWSでのComfyUI運用」というオープンソース(MITライセンス)のプロジェクトです。AWS公式サンプルとして公開されています。

    https://github.com/aws-samples/cost-effective-aws-deployment-of-comfyui/blob/main/README_ja.md

    このサンプルリポジトリは、強力な AI画像生成ツールである ComfyUI を AWS 上にシームレスかつコスト効率の高い方法でデプロイ(インストールして利用)するソリューションを提供しています。このリポジトリは、AWSの主要サービスであるECS(Amazon Elastic Container Service)や、EC2(Amazon Elastic Compute Cloud)、その他の AWS サービスを活用した構成の設定を無償提供しています。しかも日本語の解説付きです。

    このリポジトリの説明にもあるように、このソリューションの利用については AWS の費用が発生します。また設定次第では高額な費用になる可能性もあります。費用に関する詳細情報は、コスト セクションに記載されていますが、本記事では、まずAICU編集部での実用的な実験データで計測して共有していきたいと思います。

    AICUコラボクリエイター・Yasさんによる動画での解説冒頭はこちら

    動画での学びを求める方にはこちらがオススメです!

    https://j.aicu.ai/Coloso3

    それでは準備作業からはじめましょう

    (1) AWSのアカウントを作成
    (2) クォータの引き上げ申請
    (3) インストール環境をCode Editorで構築
    (4) デプロイオプションの変更
    (5) ComfyUI のデプロイ
    (6) 利用開始!

    (1)AWSアカウントの作成

    AWSを使用するためには、AWSのアカウントが必要になります。AWS公式が公開している以下の記事を参考にアカウントを作成しておいてください。

    https://aws.amazon.com/jp/register-flow

    IAMによる開発者アカウントの作成

    最初に作られるアカウントを「ルートユーザー」といいます。
    このユーザーは、アカウントの新規作成や削除、支払いなど全ての根幹的権限を持っていますので、操作するのはできるだけ短期間で終わらせたいところです。またパスワード等の流出によるリスクが大きすぎます。
    そこで、開発に頻繁に使うアカウントは分けておきたいと思います。

    AWSではこのユーザー作成及び管理を「AWS Identity and Access Management」つまり、「IAM」と呼ぶサービスで管理します。

    一番上の検索窓に「IAM」と打って、出てきたIAMの「主要な機能」から「ユーザー」を選びましょう。

    画像

    左側の「アクセス管理」→「ユーザー」でも構いません。

    画像

    ユーザ作成ボタンを押してください。
    この先、何か間違った?というときも「削除」を押せば元通りです。

    画像

    次はユーザー作成です。

    画像

    ユーザーの詳細を指定

    ・ユーザ名: 「ComfyUI-server」とします
    ・[チェックON] AWS マネジメントコンソールへのユーザーアクセスを提供する
    ・ユーザーにコンソールアクセスを提供していますか?
    →ユーザータイプ「IAMユーザーを作成」 でユーザーを指定する

    画像

    「次へ」を押すと「許可の設定」に移動します。

    画像

    ユーザーグループを設定します

    ここでは「ComfyUI-users」というAdministratorAccess権限のみを持ったユーザーグループを作成します。

    画像

    続いて、「ポリシーを直接アタッチする」を使って以下のポリシーをアタッチしてください。

    画像
    • ServiceQuotasFullAccess
    • AWSCloudFormationFullAccess
    • AmazonEC2FullAccess
    • IAMFullAccess
    • AWSCloudTrail_FullAccess
    • AmazonSageMakerFullAccess
    • AWSLambda_FullAccess
    • AWSAppSyncPushToCloudWatchLogs

    ※ここでは詳細な権限設定を考えるべきですが、設定の簡易のために、いったん「AdministratorAccess」と続く設定で必要となる権限のFullAccessのみを設定してすすめます。

    次のステップ「パスワードの取得」で、ユーザーのAWS マネジメントコンソールにサインインするための手順とパスワードを取得できます。

    画像

    「コンソールパスワード」の表示をして、ブラウザの別ユーザのウインドウでコンソールサインインURLにアクセスします。このURLの冒頭の12桁の数字がアカウントIDです。

    画像

    あらかじめ設定されたパスワードでの初回ログインが終わると、パスワード変更を求められます。ここでのパスワード設定は、英数大文字、数字、記号など、高い難度でお願いします。

    MFA(多要素認証)デバイスの設定もしておくことをおすすめします。

    作成したアカウントでAWSダッシュボードに入れるようになったら次のステップです。
    ここまでの作業を単純化したい場合は、次のステップでは、ルートユーザーでログインします(非推奨)。

    (2)スポットインスタンスの上限解放

    今回使うこのリポジトリでは、GPUのスポットインスタンス「All G and VT Spot Instance Requests」を使用しますが、このスポットインスタンスの上限のデフォルトは0であり、このままでは使用できません。さらに、この上限は自由に設定できるものではなく、AWSのサポートで変更してもらう必要があります。そのため、ここではスポットインスタンスの上限解放のリクエストを送る方法を説明します。

    まず、AWSに作成したユーザー(もしくはルートユーザー)でログインし、トップページに当たる「コンソールのホーム」画面を表示します。
    https://console.aws.amazon.com/console/home

    画像

    次にリージョン(地域)を選択します。
    右上のプルダウンで選ぶことができます。

    画像

    ここでは「us-west2」(オレゴン)を選んでおきましょう。
    新しい機械学習サービスなどが入りやすく、利用しやすい価格になっている事が多いためです。もちろん東京リージョンのほうが良い、など都合に合わせていただいて構いません。

    次に左上の検索ボックスに「service quotas」と入力し、表示されたサービス一覧から「Service Quotas」を選択します。

    こちらのURLでもアクセスできます。

    https://us-west-2.console.aws.amazon.com/servicequotas/home/services

    画像
    画像

    Service Quotasの画面が開くので、左サイドメニューから「AWSのサービス」を選択します。

    画像

    AWSのサービス一覧画面が表示されるので、上部の検索バーに「ec2」と入力し、下部のサービス一覧から「Amazon Elastic Compute Cloud (Amazon EC2)」を選択します。

    画像

    もしこのタイミングで以下のような画面になる場合は、必要な権限「ServiceQuotasFullAccess」が足りません(一つ前のステップを確認してきてください)。

    画像

    EC2のスポットインスタンス一覧が表示されるので、一覧から「All G and VT Spot Instance Requests」にチェックを入れ、右上の「アカウントレベルでの引き上げをリクエスト」をクリックします。

    画像

    表示されたダイアログボックスの左中央にある「クォータ値を引き上げる」の入力欄に「4」と入力し、下部の「リクエスト」ボタンをクリックします。

    画像

    ※ここでクォータ値が「4」以上になっている場合は、すでに同一アカウントでクォータの引き上げが実施されています。申請する必要はありません。

    「リクエスト」すると画面上部に「Submitting Quota increase request for All G and VT Spot Instance Requests with requested Value of 4.」と表示され、リクエストの送信が行われます。

    画像

    しばらくすると、AWSサポートより以下のような文面のメールが送信されてきます。おそらく人力で確認が実施されているようです。

    ご担当者様

    以下内容にて上限緩和申請を受領いたしました。

    [US West (Oregon)]: EC2 Spot Instances / All G and VT Spot Instance Requests, 新しい上限数 = 8

    現在、担当部署にて当上限緩和の申請内容について確認しております。
    進歩があり次第ご連絡いたしますので、今しばらくお待ちいただきますようお願いいたします。
    ※確認作業のためお時間をいただく場合がございます、予めご了承くださいませ

    Amazon Web Services

    さらにしばらくすると、上限緩和リクエストが受理された内容のメールが届きます。これで上限緩和が完了になります。

    ご担当者様

    以下内容にて、ご依頼いただきました上限緩和リクエストの設定が完了いたしました。
    反映されるまでに30分ほどかかる場合がございますことご了承くださいませ。

    [US West (Oregon)]: EC2 Spot Instances / All G and VT Spot Instance Requests, 新しい上限数 = 8

    何卒よろしくお願いいたします。
    Amazon Web Services

    (3) インストール環境をCode Editorで構築

    クォータの申請が終わったらしばらく時間がありますので、ここで一休みしても良いのですが、せっかくなのでもうちょっとだけ進めていきましょう。

    続いてのステップはインストール環境の構築です。
    cost-effective-aws-deployment-of-comfyuiの環境構築方法には、ローカル環境で行う方法と、SageMakerで行う方法があります。ローカル環境を使ったインストールは、ユーザー個々の環境でブレが大きく「おま環」(=「お前の環境だけで起こっている」)になりがちです。
    そのため最近の多くのAWSセットアップ手順では、SageMaker Studioでセットアップを行う手順が推奨されています。
    せっかくなので今回も、SageMaker Studioを体験しつつ、SageMaker Studio上で環境構築していきましょう!

    SageMaker Studioの起動

    SageMakerには、テンプレートが用意されています。このテンプレートを利用することで、最初からdockerやコードエディターなどの環境がインストールされた状態でSageMaker Studioを立ち上げられます。以下のリンクよりテンプレート用のリポジトリにアクセスしてください。

    https://github.com/aws-samples/sagemaker-studio-code-editor-template

    リポジトリにアクセスし、下の方にスクロールすると、「Deploymet (1-click)」という項目があることが確認できます。ここから好きなリージョンの「Launch Stack」ボタンを押下することで、そのリージョンでSageMaker Studioを起動できます。今回は、us-west-2を起動します。

    画像
    画像

    AWSにログイン済みの場合、以下のような画面が表示されます。

    画像

    AWSダッシュボードにログインできるにも関わらず、以下のような画面が表示された場合は、CloudFormationに関する必要な権限が足りません。一つ前のステップを確認するか、ルートユーザーで「AWSCloudFormationFullAccess」の権限追加を行ってください。

    画像

    さて、正しく権限がある場合は、ここで以下のパラメータ設定を行えます。

    画像
    • AutoStopIdleTimeInMinutes: SageMaker Code Editorが自動で停止するまでの時間を設定します。デフォルトは120分で、起動してから120分後にCode Editorが停止します。今回は、120分あれば十分なので、120分に設定します。
    • EbsSizeInGb: Code Editorで使用する容量を設定します。今回、Code EditorはIDEとしてデプロイを行うためだけに使用するため、デフォルトの容量「20GB」で問題ありません。
    • InstanceType: Code Editorを起動するインスタンスを設定します。デフォルト設定は「ml.t3.medium」で、選択できるインスタンスの中で最も性能が低いものになりますが、インストールのみに使用するので、これで問題ありません。
    • UseDefaultVpc: 各リージョンにデフォルトで用意されているVPCを利用するかどうかを決定します。デフォルト設定は「true」で、デフォルトのVPCを利用する設定になっています。デフォルトのVPCを使用したくない理由がなければ、デフォルト設定のままで問題ありません。

    上記の設定後に、下部の「AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。」にチェックを入れ、「スタックの作成」ボタンをクリックします。

    そうすると、CloudFormationが実行され、SageMaker Studioの環境構築が行われます。

    画像

    しばらくすると、ステータスが「CREATE_IN_PROGRESS」から「CREATE_COMPLETE」に変わり、SageMaker Studioの環境構築が完了します。

    画像

    もしROLLBACK_FAILDEDというエラーになった場合は、「SageMakerStudio」に関する必要な権限が足りません。

    画像

    この場合はいったんこのCodeEditorStackを「削除」して、ルートユーザー必要な権限を追加してきてください。

    https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/troubleshoot_roles.html

    理解のために CodeEditorStack.template.yaml を使ってChatGPT等に訊いてみるのもよいでしょう。

    このCloudFormationのデプロイに必要なARNを教えて

    1. EC2関連の権限必要な権限:
    ec2:CreateVpc, ec2:DescribeVpcs, ec2:CreateSubnet, ec2:DescribeSubnets
    ec2:CreateInternetGateway, ec2:AttachInternetGateway
    ec2:CreateRouteTable, ec2:CreateRoute, ec2:AssociateRouteTable
    理由: VPCやサブネット、ルートテーブルを作成し、インターネットゲートウェイをアタッチするために必要です。
    2. IAM関連の権限必要な権限:
    iam:CreateRole, iam:AttachRolePolicy, iam:PutRolePolicy, iam:PassRole
    理由: LambdaやSageMaker Studioの実行用ロール作成とポリシーのアタッチ、およびPassRole権限を必要とする可能性があります。
    3. SageMaker関連の権限必要な権限:
    sagemaker:CreateDomain, sagemaker:CreateUserProfile, sagemaker:CreateApp, sagemaker:DescribeDomain, sagemaker:DeleteDomain
    理由: SageMaker Studioのセットアップに必要な権限です。ドメイン、ユーザープロファイル、アプリの作成・削除を行うために必要です。
    4. CloudWatch Logs関連の権限必要な権限:
    logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents
    理由: Lambda関数の実行時にCloudWatch Logsへ出力するために必要です。
    5. Lambda関連の権限必要な権限:
    lambda:CreateFunction, lambda:InvokeFunction, lambda:DeleteFunction
    理由: CloudFormationスタックでLambda関数を作成・実行・削除するために必要です。
    6. CloudFormation関連の権限追加の権限として AWSCloudFormationFullAccess が必要ですが、他にも以下のような権限を確認してください:
    cloudformation:DescribeStacks, cloudformation:ListStackResources
    これらはスタックの管理に必要です。

    7. Service Quotas関連の権限すでにServiceQuotasFullAccessが提案されていますが、サービスクォータの確認と調整が必要な場合はこれを付与します。

    • AmazonEC2FullAccess
    • IAMFullAccess
    • AWSCloudTrail_FullAccess
    • AmazonSageMakerFullAccess
    • AWSLambda_FullAccess
    • AWSAppSyncPushToCloudWatchLogs

    以上のような権限があれば設定できるはずです。
    ※どうしてもうまく行かない場合はルートユーザーで実験しましょう。

    さて、デプロイに成功している場合、ここで「出力」タブを選択すると、「SageMakerStudioUrl」が出力されていることが確認できます。この値にあるURLを選択します。

    画像

    そうすると、SageMakerの画面が開きます。

    画像

    「Skip Tour for now」して、左上に5-6個のアイコンが並んでいるところから、「Code Editor」を選択します。

    画像

    Code Editorの起動画面に遷移します。既に起動中のCode Editorがあるので、このCode Editorの「Open」をクリックします。

    画像

    SageMaker Code Editorの画面が開きます。これでSageMakerの準備ができました。

    画像

    Microsoft の Visual Studio Code (vscode) そっくりですが、そもそも vscode もオープンソースです。こちらは「SageMaker Code Editor」というプロジェクトのようです。

    画像

    (4) デプロイオプションの変更

    今回はまずデプロイオプションの変更は行わずに、デフォルト状態でのデプロイを実験していきます。

    今回の手順では企業等での利用を想定して、ユーザーIDとパスワードによるログインを必須としています。この状態で問題なければ次のステップに進んでいただいて構いません。

    以下はセルフサインアップや自動シャットダウンなどの設定を行うデプロイオプションの変更点です。デプロイオプションは、主にcdk.jsonの内容を編集することで設定可能です。

    セルフサインアップの有効化

    Cognitoのセルフサインアップは、ログイン画面で新規アカウントをアクセスしたユーザーが作成することを可能とします。セルフサインアップの有効化は、cdk.jsonのコンテキストでselfSignUpEnabledをtrueに設定します。デフォルトはfalseですので「今回の手順でいますぐ使いたい!」という方はtrueにしておきましょう。

    {
      "context": {
        "selfSignUpEnabled": true
      }
    }

    MFAの有効化

    ユーザーの多段階認証 (MFA) を有効化します。MFAの有効化は、cdk.jsonのコンテキストでmfaRequiredをtrueに設定します(デフォルトはfalseです)。

    {
      "context": {
        "mfaRequired": true
      }
    }

    サインアップ可能なメールアドレスのドメインを制限

    allowedSignUpEmailDomainsコンテキストで、許可するドメインのリストを指定できます(デフォルトはnull)。文字列リストとして値を指定し、”@”シンボルは含めません。メールアドレスのドメインが許可ドメインのいずれかに一致する場合、ユーザーはサインアップ可能です。nullを指定すると制限なしで全ドメインが許可され、[]を指定すると全ドメインが禁止され、どのメールアドレスもサインアップできません。

    設定されると、許可されていないドメインからのユーザーは「アカウント作成」でエラーが表示され、サインアップが阻止されます。この設定は既存のCognitoユーザーには影響しません。新規サインアップやユーザー作成のみに適用されます。

    例:amazon.comドメインのメールアドレスでのみサインアップを許可する場合

    {
      "context": {
        "allowedSignUpEmailDomains": ["amazon.com"] 
      }
    }

    IPアドレス制限

    IPアドレスでWebアプリケーションへのアクセスを制限するために、AWS WAFを使用してIP制限を有効にできます。cdk.json内のallowedIpV4AddressRangesに許可するIPv4 CIDR範囲の配列、allowedIpV6AddressRangesに許可するIPv6 CIDR範囲の配列を指定します。

    { 
     "context": {
        "allowedIpV4AddressRanges": ["192.168.0.0/24"],
        "allowedIpV6AddressRanges": ["2001:0db8::/32"]
      }
    }

    SAML認証

    Google WorkspaceやMicrosoft Entra ID(旧称Azure Active Directory)などのIdPによって提供されるSAML認証機能と統合することができます。

    samlAuthEnabled: trueに設定すると、SAMLのみの認証画面に切り替わります。Cognitoユーザープールを使用した従来の認証機能は利用できなくなります。

      "samlAuthEnabled": true

    スポットインスタンス

    重要でないワークロードでコストを削減するためにスポットインスタンスを使用できます(デフォルトはtrue)。コンテキストでuseSpotをfalseに設定して無効にすることも可能です。また、spotPriceを変更してスポット価格を指定できます。スポット価格がspotPrice以下である場合のみインスタンスが利用可能です。

    {
      "context": {
        "useSpot": true,
        "spotPrice": "0.752"
      }
    }

    自動またはスケジュールでのスケールダウン

    コストをさらに削減するために、インスタンスをゼロにスケールダウンできます。

    例:活動が1時間ない場合に自動でスケールダウンするには、autoScaleDownをtrueに設定します。

    {
      "context": {
        "autoScaleDown": true
      }
    }

    これで自動でスケールダウンしてくれるようになります。

    • スケジュール(例: 勤務時間)でスケールダウン/アップするには、scheduleAutoScalingをtrueに設定します。timezone、scheduleScaleUp、scheduleScaleDownでスケールアップ/ダウンのスケジュールを指定できます。
    {
      "context": {
        "scheduleAutoScaling": true,
        "timezone": "Asia/Tokyo",
        "scheduleScaleUp": "0 9 * * 1-5",
        "scheduleScaleDown": "0 18 * * *"
      }
    }

    NATインスタンスの使用

    NATインスタンスは、NATゲートウェイと比較して安価ですが、利用可能性とネットワークスループットが制限されています。詳細はNATゲートウェイとNATインスタンスの比較を参照してください。

    デフォルトでNATインスタンスが使用されます。cheapVpcをfalseに設定すると、NATゲートウェイに変更できます。

    {
      "context": {
        "cheapVpc": false
      }
    }

    カスタムドメインの使用

    カスタムドメインをサイトのURLとして使用できます。Route53のパブリックホストゾーンがすでに同じAWSアカウントで作成されている必要があります。パブリックホストゾーンの詳細については以下を参照してください:Working with Public Hosted Zones – Amazon Route 53

    同じAWSアカウントにパブリックホストゾーンがない場合は、手動でのDNSレコードの追加やAWS ACMでのSSL証明書の検証中にメール認証を利用することも可能です。これらの方法を使用する場合、CDKドキュメントを参照し、適宜カスタマイズしてください:aws-cdk-lib.aws_certificatemanager module · AWS CDK

    cdk.jsonで以下の値を設定します。

    • hostName … サイトのホスト名。AレコードはCDKによって作成され、事前作成は不要
    • domainName … 事前に作成されたパブリックホストゾーンのドメイン名
    • hostedZoneId … 事前に作成されたパブリックホストゾーンのID
    {
      "context": {
        "hostName": "comfyui",
        "domainName": "example.com",
        "hostedZoneId": "XXXXXXXXXXXXXXXXXXXX"
      }
    }

    以上が主要な設定です。
    いまのタイミングでは見直す必要はありませんが、後ほど使用環境にあわせて変更してみてください。

    (5) ComfyUI のデプロイ

    ComfyUIのデプロイの実行

    それでは、SageMaker Code Editorを使ってComfyUIのデプロイを実行します。Code Editorの左上にある3本線のアイコンをクリックし、Terminal->New Terminalの順に選択します。


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

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

  • [ComfyMaster30] AWS上にComfyUI環境を構築しよう!(知識編) 

    こんにちわ!AICU media編集部です。
    このたびAICUは「AWS ジャパン 生成AI 実用化推進プログラム」に採択されました!

    クリエイティブAIで「つくるひとをつくる」をビジョンに、「わかるAIを届ける」をコンセプトに活動しているAICU mediaは、高い技術力と、わかりやすい記事を通して今後もより一層力を入れて、AWS(Amazon Web Services)の企業での社内開発やプロフェッショナル向けの使いこなし事例を当事者目線でお届けしていきます。


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

    Originally published at https://note.com on Nov 5, 2024.

  • [ComfyMaster29] 参照画像でAIをコントロール!IPAdapterの使い方

    理想のビジュアルをAIに伝えたいのに、テキストだけでは限界を感じていませんか?
    IPAdapterなら、参照画像を使って視覚的に指示できます。

    こんにちわ、AICU media編集部です。
    ComfyUI マスターガイド」第29回目になります。
    本記事では、1枚の画像から高度に画風を適用できる「IPAdapter」(アイピーアダプター)の解説です。例えば、「劇画風のしらいはかせ」画像を使うとこんな画像がプロンプトだけで生成できます。

    画像

    本稿ではIPAdapterの仕組みとComfyUIでの活用方法をステップバイステップで解説し、参照画像に基づいた高品質な画像生成を行えるようになることを目指します。気になる倫理面についても配慮していきましょう。

    本連載の初回はこちら。前回はこちら、目次はこちらです。

    [ComfyMaster28] 落書きが画像に!ControlNet Scribble入門 #ComfyUI

      1. 概要

      IPAdapterは、テキストプロンプトに加えて参照画像を入力することで、AIによる画像生成をより精密に制御する技術です。画像のスタイル、特定の視覚要素、全体的な構図など、テキストでは表現しきれないニュアンスをAIに伝えることを可能にし、生成画像の品質、一貫性、再現性を向上させます。

      本記事では、IPAdapterの仕組み、ComfyUI上での具体的なワークフロー、そして生成結果を通して、その効果と活用方法を解説します。蝶の画像を参考に人物画像を生成する例を通して、IPAdapterの強度や適用方法による変化、linear、style transfer、ease_inといった異なる重みタイプの効果の違いを検証します。

      2. IPAdapterとは

      IPAdapterは、テキストベースのプロンプトと視覚的な参照画像を組み合わせることで、AIに対してより詳細で正確な指示を与えることを可能にする技術です。この手法により、生成される画像の品質、スタイルの一貫性、特定の視覚要素の再現性が大幅に向上します。

      技術的背景

      IPAdapterの核心は、画像エンコーダーとテキストエンコーダーの出力を効果的に統合する能力にあります。この過程は以下のように要約できます。

      1. 画像エンコーディング: 入力された参照画像は、畳み込みニューラルネットワーク(CNN)などの画像エンコーダーによって処理され、高次元の特徴ベクトルに変換されます。
      2. テキストエンコーディング: 同時に、テキストプロンプトは言語モデルによって処理され、同じく高次元の特徴ベクトルに変換されます。
      3. 特徴の融合: 画像とテキストから得られた特徴ベクトルは、複雑な方法で結合されます。この過程では、注意機構(Attention Mechanism)などの技術が用いられることがあります。
      4. 潜在空間への投影: 融合された特徴は、Stable Diffusionの潜在空間に投影されます。この空間内で、画像生成プロセスが行われます。
      5. 画像生成: 最後に、潜在表現から実際の画像ピクセルへのデコードが行われ、最終的な出力画像が生成されます。

      IPAdapterの利点

      1. 精密な視覚情報の伝達: テキストだけでは表現しきれない細かいニュアンスや視覚的特徴を、AIモデルに効果的に伝達できます。
      2. スタイルの一貫性: 特定のアーティストのスタイルや、製品デザインなどを高い一貫性で再現することが可能です。
      3. 学習効率の向上: 新しい視覚概念や複雑な構図を、画像を通じてAIモデルに効率的に「教える」ことができます。
      4. 創造性の拡張: 視覚的なインスピレーションを直接AIに伝えることで、より革新的で予想外の結果を得られる可能性が高まります。

      3. ワークフローの使用準備

      カスタムノード

      • ComfyUI IPAdapter plus: IPAdapterをComfyUI上で使用できるようにしたカスタムノードです。ComfyUI Managerからインストール可能です。このカスタムノードの詳細を知りたい方は、以下のリポジトリを参照してください。

      https://github.com/cubiq/ComfyUI_IPAdapter_plus

      モデル

      • RealVisXL V5.0: 実写系を得意とするモデルで、商用利用可能(画像の販売、サービスへの組み込み可能)になります。このモデルを以下のリンクよりダウンロードし、「ComfyUI/models/checkpoints」フォルダに格納してください。

      https://civitai.com/models/139562/realvisxl-v50?modelVersionId=789646

      画像素材

      今回は、以下の画像をIPAdapterで参照します。

      画像

      画像ファイルは、以下よりダウンロードしてください。

      4. ワークフロー解説

      以下がワークフローの全体構成になります。

      GPU不要でComfyUIを簡単に起動できる
      AICU特製Colabノートブック(ConrolNetつき)はこちら
      https://j.aicu.ai/ComfyCN

      画像

      今回作成したワークフローのファイルは、文末のリンクよりダウンロードください。
      以下に、このワークフローの主要な部分とその機能を図示し、詳細に説明します。

      画像
      1. 入力画像の読み込みと前処理
        • Load Image ノード: 「butterfly_01.png」という画像を読み込みます。
      2. モデルとIP-Adapterの読み込み
        • Load Checkpoint ノード: 「RealVisXl.safetensors」モデルを読み込みます。
        • IPAdapter Model Loader ノード: 「ip-adapter-plus_sdxl_vit-h.safetensors」を読み込みます。
        • Load CLIP Vision ノード: 「CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors」を読み込みます。
      3. プロンプト処理 (CLIP Text Encode ノード x2)
        • ポジティブプロンプト: 「realistic, photorealistic, 1girl, t-shirt, black_hair, long_hair,」
        • ネガティブプロンプト: 「bad hand, bad anatomy, worst quality, ai generated images, low quality, average quality, nsfw, nude, naked,」
      4. IP-Adapterの適用 (IPAdapter Advanced ノード)
        • 入力画像、IP-Adapter、CLIP Visionモデルを組み合わせて、元のStable Diffusionモデルを調整します。
        • 重み: 1.0 (IP-Adapterの最大影響力)
        • ノイズ追加方法: linear
        • モード: concat
        • 適用範囲: V only (Value embeddings only)
      5. 潜在画像の準備 (Empty Latent Image ノード)
        • サイズ: 1024×1024
        • バッチサイズ: 1
      6. 画像生成 (KSampler ノード)
        • Seed: 860227022998597
        • Steps: 20
        • CFG Scale: 8
        • Sampler: dpmpp_2m
        • Scheduler: karras
        • Denoise: 1.0 (完全に新しい画像を生成)
      7. 画像のデコードと保存
        • VAE Decode ノード: 生成された潜在表現を実際の画像にデコードします。
        • Save Image ノード: 最終的に生成された画像を “ipadapter” という名前で保存します。

      IPAdapter Model Loderと IPAdapter Advancedの拡大です。パラメーターの参考にどうぞ。

      画像

      5. 生成結果

      以下が生成結果になります。左がIPAdapter非適用の画像、右がIPAdapterの強度を0.50で適用した結果です。IPAdapterを適用することで、シャツに学習元である蝶の模様が浮かんだり、背景が自然の風景になっています。

      画像

      IPAdapter Advancedノードのweight_typeがlinearの場合の強度ごとの生成結果一覧です。0.80になると、蝶が全面に現れてしまい、人物がいなくなってしまいます。

      画像

      これをweght_typeをstyle transfer、強度を1.0に変更して生成してみました。style transferの場合は、蝶の形状自体は継承しないので、蝶が前面に現れることなく、蝶の模様のみが反映されています。参照元画像のスタイルだけを適用したい場合は、weght_typeをstyle transferにした方が効果的です。

      画像

      weght_typeがlinearやease_inなどのスタイルと形状の両方を参照させるタイプの用途は、例えば左のパーカーの画像を参照し、右の画像のように生成した人物に着せることが考えられます。しかし、あくまで参照なので、完全に左の洋服を再現することは難しいです。
      補足として、右の画像は、weght_typeをease_in、強度を9.5にして生成した画像です。ease_inにすることで、最初はIPAdapterの効きを弱くし、後から効果が上がるようにすることで、プロンプトを反映させつつ、IPAdapterの効果も効かせるようにしています。

      画像

      6. まとめと倫理面への配慮

      本記事では、ComfyUIとIPAdapterを用いて、参照画像に基づいた高品質な画像生成を行う方法を解説しました。IPAdapterは、テキストプロンプトだけでは難しい、微妙なニュアンスや視覚的特徴の再現を可能にします。特に、IPAdapterの強度調整とweight_typeの選択によって、参照画像の要素をどのように反映させるかを細かく制御できることを示しました。linearでは形状とスタイルの両方を、style transferではスタイルのみを、ease_inでは徐々にIPAdapterの効果を強めることで、プロンプトと参照画像のバランスを調整できることを実例を通して確認しました。

      これらの技術を活用することで、AIによる画像生成の可能性は大きく広がり、より創造的で自由な表現が可能になります。今後の展望として、更なるモデルの改良や新たなカスタムノードの登場によって、IPAdapterの適用範囲はますます拡大していくことが期待されます。より高度な活用方法の探求や、他のモデルとの組み合わせなど、更なる実験を通して、IPAdapterの潜在能力を引き出し、自身の創作活動に役立ててください。

      一方では、「IPAdapter」の名前からも、IP、すなわち知的財産やキャラクタービジネスにとっては、著作権法違反、つまり違法行為や迷惑行為の原因となる技術でもあります。「技術的に出来る/できない」といった視点とは別に、Load Imageにおいて利用する画像の権利や、客観的に見た「依拠性」や「類似性」についても評価を行っておく習慣は大切です。この解説の中でも、weightパラメーターが0.5以上であれば、それは元の画像と同じものに近くなっていきます。パラメータを0.5以上にすることは「原作に対する類似と依拠を同時に認めているという証拠」とも言えますので、画像生成を行う際には、その責任をしっかりと認識して利用してください。

      AICUでは画像生成AIクリエイター仕草(v.1.0)といった形で、モラル面も啓蒙活動を行っていますが、IPAdapterの使用についてはより高度な倫理観をもっていくことを推奨します。

      次はいよいよLoRA編がはじまります。
      そしてその前に、特別編が予定されています!
      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メンバーシップ。
      退会率はとても低く、みなさまにご満足いただいております。
      ✨️オトクなメンバーシップについての詳細はこちら

      動画で一気に学びたい方は、こちらのColoso講座もオススメです

      ボーナストラック

      有料・メンバーシップ向けのボーナストラックには今回解説したワークフローの完成品ダウンロードリンクに加えて、お楽しみ画像です。

      某有名漫画家のアシスタントさんに書いていただいた劇画風しらいはかせをIPAdapterに使ったら…!?生成画像を収録しています。

      画像

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

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

    1. [ComfyMaster28] 落書きが画像に!ControlNet Scribble入門

      頭の中のイメージを、絵心がなくても、まるで魔法のように高品質な画像に変換できるとしたら?
      最新のAI技術、ControlNetの「Scribble」がそれを可能にします!
      シンプルな線画を描くだけで、あとはAIがあなたの意図を読み取り、驚くほどリアルで美しい画像を生成してくれるのです。

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」第28回目になります。
      本記事では、この革新的なScribble機能の使い方を、具体的な手順と豊富な作例を交えて分かりやすく解説します。AIによる画像生成の世界を、あなたも体験してみませんか?

      本連載の初回はこちら。前回はこちら、目次はこちらです。

      [ComfyMaster27] 写真もイラストも線画に!ComfyUIとControlNetによる線画抽出ワークフロー #ComfyUI

        1. 概要

        この記事では、ControlNetのScribble機能を使って、簡単な線画から高品質な画像を生成するワークフローを解説します。具体的な手順、使用したモデルやパラメータ、そして異なる強度設定による生成結果の違いなどを示し、Scribbleの効果と活用方法を理解することを目的とします。

        以前の記事で解説したControlNetの基本設定を前提に、今回は「scribble_01.png」というサンプル線画を用いて、人物画像を生成する例を紹介します。生成にはSDXL、RealVisXlモデル、controlnet-union-sdxl-1.0モデルを使用し、プロンプトによる調整も行います。最終的には、ControlNetの強度パラメータを調整することで、線画の反映度合いを制御し、思い通りの画像生成を実現する方法を学びます。

        2. ワークフローの使用準備

        ControlNet

        ControlNetの使用準備については、以下の記事をご覧ください。

        今回は、ControlNetのScribbleを使用します。Scribbleは、線画を元に、画像の内容を推定し、その内容に沿った画像を生成します。

        画像素材

        今回は、以下の画像をScribbleに使用します。

        画像

        画像ファイルは、以下よりダウンロードしてください。

        3. ワークフロー解説

        以下がワークフローの全体構成になります。

        画像

        ワークフローのファイルは文末のリンクよりダウンロードしてください。
        以下にワークフローの主要な部分とその機能を図示し、詳細に説明します。

        1. 入力画像の読み込みと前処理
          • Load Image ノード: 「scribble_01.png」というスケッチ画像を読み込みます。
          • Scribble ノード: 入力スケッチを処理し、ControlNetに適した形式に変換します。
            • 出力解像度: 1024×1024
        2. モデルとControlNetの読み込み
          • Load Checkpoint ノード: 「RealVisXl.safetensors」モデルを読み込みます。
          • Load ControlNet Model ノード: 「controlnet-union-sdxl-1.0.safetensors」を読み込みます。
        3. プロンプト処理 (CLIP Text Encode (Prompt) ノード x2)
          • ポジティブプロンプト: 「realistic, photorealistic, 1girl, t-shirt, black_hair, long_hair,」
          • ネガティブプロンプト: 「bad hand, bad anatomy, worst quality, ai generated images, low quality, average quality, nsfw, nude, naked,」
        4. ControlNetの適用 (Apply ControlNet (Advanced) ノード)
          • 前処理されたスケッチ画像を使用してControlNetを適用します。
          • 強度: 0.4 (中程度の影響力)
        5. 潜在画像の準備 (EmptyLatentImage ノード)
          • サイズ: 1024×1024
          • バッチサイズ: 1
        6. 画像生成 (KSampler ノード)
          • Seed: 860227022998597
          • Steps: 20
          • CFG Scale: 7
          • Sampler: dpmpp_2m
          • Scheduler: karras
          • Denoise: 1.0 (完全に新しい画像を生成)
        7. 画像のデコードと保存
          • VAEDecode ノード: 生成された潜在表現を実際の画像にデコードします。
          • SaveImage ノード: 最終的に生成された画像を「controlnet_scribble」という名前で保存します。

        4. 生成結果

        以下がScribbleの生成結果です。ControlNetの強度を0.10〜0.80まで変化させながら生成を行い、その違いを一覧化しました。

        画像

        まず、0.10は、ほとんどScribbleが効いていないようです。0.20から少し効果が出てきているようで、0.30-0.40で良い具合で効いているように見えます。0.50からは、反対に効果が出過ぎていて、形状が崩れていっています。0.70からは落書きが強く反映されてしまっています。

        強度を0.40にし、プロンプトを変更して色々と画像を生成してみました。

        画像

        5. まとめ

        Scribbleは、落書きやラフ絵をプロンプトで指定した画像に変換してくれる、特に絵を描きたい人に有効なControlNetです。今回は、私の適当な落書きで試しましたが、もう少ししっかりしたラフ絵であれば、より良い画像を生成できると思います。ぜひ色々なラフ絵でお試しください!

        次回は、IPAdapterでの生成画像のコントロールの方法を紹介します。乞うご期待!
        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/n8f82a5f619f1

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

      1. Stable Diffusion 3.5 Medium 登場! 盛り上がる開発者コミュニティ、LoRAやSkip Layer Guidance (SLG)で指も改善?

        2024年10月29日(日本時間)、Stability AIから予告通り、最新の画像生成モデル「Stable Diffusion 3.5 Medium」がオープンリリースされました。

        Stable Diffusion 3.5 Medium が登場しました!

        このオープンモデルは、25億のパラメータを持ち、消費者向けハードウェア上で「箱から出してすぐに」動作するように設計されています。

        ブログにMediumの内容を追加しています。ぜひご覧ください。

        https://x.com/StabilityAI_JP/status/1851268389140119774

        https://ja.stability.ai/blog/introducing-stable-diffusion-3-5

        「消費者向けハードウェア…!?」というドヨメキがAICU media編集部に響き渡ったのですが、Stability AI公式が具体的なモデル名とGPU製品名で推奨動作表を提供しています。

        画像
        https://ja.stability.ai/blog/introducing-stable-diffusion-3-5

        Stable Diffusion 3.5 Medium (以下、SD3.5M) は 2.5B(25億パラメータ)のモデルであり、NVIDIA GeForce RTX 3080 (VRAM 10GB以上) が推奨になっています。NVIDIA GeForce RTX 4060 (VRAM 6GB)では、[!] という黄色いマークがつけられており、「[!] indicates the model requires performance – compromising optimizations, such as quantization or sequential offloading, to run on this device.」(モデルをこのデバイスで実行するには、量子化や順次オフロードなどのパフォーマンスを犠牲にした最適化が必要であることを示します)と書かれています。

        ダウンロードはこちらから、ファイルサイズは4.75GBです。

        https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/sd3.5_medium.safetensors?download=true

        なお、SD3.5 Large (80億パラメータ)も配布されています(ファイルサイズとしては16.5GB!です)。動作させるには32GB VRAMを搭載した NVIDIA H100クラスのGPUが必要とのことです。

        https://huggingface.co/stabilityai/stable-diffusion-3.5-large/blob/main/sd3.5_large.safetensors

        https://github.com/Stability-AI/sd3.5

        Google Colab上でweightをダウンロードするテクニック!

        Google Colab上で、HuggingFaceに置かれたStable Diffusion 3.5 MediumやLargeを活用したい!でもHuggingFaceでの認証が通らないのでwgetすることができない…なんて諦めてしまったひとはいませんか?

        AICU AIDX Labではこんな方法で、自動でダウンロードできるスクリプトを組んでいます。
        まずはGoogle Colabの「シークレット機能」を使って、HuggingFaceのAPIキーを保存します。ここでは「HF_TOKEN」という名前にしてあります。

        画像

        Google Colabノートブック上でこちらのHF_TOKENにアクセスを許可して、以下のようなコードを書きます。

        #!wget -c https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/sd3.5_medium.safetensors  -P ./models/checkpoints
        # %cd /content/drive/MyDrive/ComfyUI/models/checkpoints
        !pip install huggingface_hub
        
        import os 
        from google.colab import userdata
        os.environ['HF_TOKEN'] = userdata.get('HF_TOKEN')
        !huggingface-cli login --token $token
        
        token = userdata.get('HF_TOKEN')
        from huggingface_hub import hf_hub_download
        hf_hub_download(repo_id="stabilityai/stable-diffusion-3.5-medium", filename="sd3.5_medium.safetensors", local_dir="/content/drive/MyDrive/ComfyUI/models/checkpoints")
        

        hf_hub_download(repo_id=”stabilityai/stable-diffusion-3.5-medium”, filename=”sd3.5_medium.safetensors”, local_dir=”/content/drive/MyDrive/ComfyUI/models/checkpoints”)

        と書くことで、HuggingFaceにログインした状態でファイルを指定ディレクトリに直接ダウンロードできます!これは便利。

        画像

        参考:その他のHuggingFaceの使いこなしはこの記事でも扱っています。

        盛り上がる開発者コミュニティ

        AICU media編集部でもSD3.5のリリース直後から評価に入っています。

        日本人などの人種や肌の多様性は確認できましたが、一方で「指の正確さ」については難があるという印象を得ましたが、実はその後、急速にコミュニティ内で改善が見られるので共有したいと思います。

        まずは、sampler をEuler Ancestral (Euler_a) にする!

        集合知的に様々なノウハウが集まってきていますが、SD3.5でMMDiT-Xにモデルが変わっていることもあり、サンプラーについても見直しが必要なようです。

        指に関しては、Euler Ancestral (Euler_a)がよいという説があります。

        世界のKohya氏、LoRA対応を追加。

        LoRA学習スクリプト「sd-scripts」を開発し、世界中のStable Diffusionコミュニティの英雄ともいえるKohya氏がSD3.5M対応をGitHubリポジトリにプッシュしました。

        https://github.com/kohya-ss/sd-scripts/pull/1719

        コメントでは世界中の開発者からの検証結果が寄せられ始めています。

        Civitaiによるマニュアル・ワークフローの提供

        SD3公開直後、荒れた瞬間があったCivitaiコミュニティですが、SD3.5については公式のエデュケーションブログやワークフローの公開が提供されています。

        せっかくなので翻訳を提供していきたいと思います。最新のモデルと専門用語を学ぶうえでも大変役に立ちます。

        Stable Diffusion 3.5 Mediumクイックスタートガイド

        Stable Diffusion 3.5 Mediumは、画質、タイポグラフィ、複雑なプロンプトの理解、リソース効率の向上を実現する、マルチモーダル拡散トランスフォーマー(MMDiT-x)をベースにしたテキスト画像生成モデルです。

        注記: このモデルはStability Community Licenseの下でリリースされています。商用ライセンスについては、Stability AIのサイトをご覧いただくか、当社までお問い合わせください。

        モデルの説明

        • 開発元: Stability AI
        • モデルの種類: MMDiT-Xテキスト画像生成モデル
        • モデルの説明: このモデルは、テキストプロンプトに基づいて画像を生成します。3つの固定の事前学習済みテキストエンコーダー、トレーニングの安定性を向上させるためのQK正規化、および最初の12個のトランスフォーマーレイヤーにおけるデュアルアテンションブロックを使用する改良版マルチモーダル拡散トランスフォーマー(https://arxiv.org/abs/2403.03206)です。

        ライセンス

        • コミュニティライセンス: 年間総収益が100万ドル未満の組織または個人の研究、非商用、および商用利用は無料です。詳細はコミュニティライセンス契約をご覧ください。https://stability.ai/license で詳細をご覧ください。
        • 年間収益が100万ドルを超える個人および組織の場合:エンタープライズライセンスを取得するには、当社までお問い合わせください。

        実装の詳細

        • MMDiT-X: トランスフォーマーの最初の13レイヤーに自己注意モジュールを導入し、マルチ解像度生成と全体的な画像の整合性を強化します。
        • QK正規化: トレーニングの安定性を向上させるためにQK正規化技術を実装します。
        • 混合解像度トレーニング:
          • プログレッシブトレーニングステージ:256→512→768→1024→1440の解像度
          • 最終段階には、マルチ解像度生成パフォーマンスを向上させるための混合スケール画像トレーニングが含まれていました
          • 低解像度ステージでは、位置埋め込み空間を384×384(潜在)に拡張
          • 混合解像度とアスペクト比の全範囲にわたるトランスフォーマーレイヤーの堅牢性を強化するために、位置埋め込みにランダムクロップ拡張を採用しました。たとえば、64×64の潜在画像が与えられた場合、トレーニング中に192×192の埋め込み空間からランダムにクロップされた64×64の埋め込みをxストリームへの入力として追加します。

        これらの機能強化は、マルチ解像度画像生成、一貫性、および様々なテキスト画像タスクへの適応性におけるモデルのパフォーマンス向上に総合的に貢献しています。

        • テキストエンコーダー:
          • CLIP:OpenCLIP-ViT/G、CLIP-ViT/L、コンテキスト長77トークン
          • T5:T5-xxl、トレーニングのさまざまな段階でのコンテキスト長77/256トークン
        • トレーニングデータと戦略:
          • このモデルは、合成データやフィルタリングされた公開データなど、様々なデータでトレーニングされました。

        元のMMDiTアーキテクチャの技術的な詳細については、研究論文を参照してください。

        使用方法と制限事項

        • このモデルは長いプロンプトを処理できますが、T5トークンが256を超えると、生成された画像の端にアーティファクトが発生する場合があります。ワークフローでこのモデルを使用する場合はトークン制限に注意し、アーティファクトが目立ちすぎる場合はプロンプトを短くしてください。
        • MediumモデルはLargeモデルとはトレーニングデータの分布が異なるため、同じプロンプトに同じように反応しない場合があります。
        • より良い構造と解剖学的整合性を得るためには、Skip Layer Guidanceを使ったサンプリングを推奨します。

        実装の詳細

        • MMDiT-X: トランスフォーマーの最初の13層に自己関心モジュールを導入し、マルチ解像度生成と全体的なイメージの一貫性を強化。
        • QK正規化: トレーニングの安定性を向上させるために、QK正規化技術を導入。
        • 混合解像度トレーニング:
          • 段階的なトレーニングステージ:256 → 512 → 768 → 1024 → 1440解像度
          • 最終段階では、マルチ解像度生成性能を高めるために、混合スケール画像のトレーニングを実施
          • 低解像度段階では、位置埋め込み空間を384×384(潜在)に拡張
          • 混合解像度およびアスペクト比の全範囲にわたってトランスフォーマー層の頑健性を強化するために、位置埋め込みにランダムなクロップ拡張を採用しました。例えば、64×64の潜在画像が与えられた場合、192×192の埋め込み空間からランダムにクロップした64×64の埋め込みを、xストリームへの入力としてトレーニング中に追加します。

        これらの強化により、多様なテキストから画像へのタスクにおける、マルチ解像度の画像生成、一貫性、適応性の向上というモデルのパフォーマンス改善に総合的に貢献しています。

        • テキストエンコーダー:
          • CLIPs: OpenCLIP-ViT/GCLIP-ViT/L、文脈の長さ77トークン
          • T5: T5-xxl、トレーニングの異なる段階における文脈の長さ77/256トークン
        • トレーニングデータと戦略:
        • このモデルは、合成データやフィルタリングされた公開データなど、さまざまなデータでトレーニングされています。

        MMDiT-X

        Stable Diffusion 3.5 Medium は、画像品質、タイポグラフィ、複雑なプロンプトの理解、リソース効率の向上を特徴とする、改良された Multimodal Diffusion Transformer with improvements (MMDiT-X; マルチモーダル拡散トランスフォーマー)によるテキストから画像へのモデルです。

        画像

        MMDiTのオリジナルアーキテクチャの技術的な詳細については、研究論文を参照してください。

        使用法と制限事項

        • このモデルは長いプロンプトを処理できますが、T5トークンが256を超えると、生成の端にアーティファクトが発生することがあります。このモデルをワークフローで使用する際はトークン制限に注意し、アーティファクトが顕著になる場合はプロンプトを短くしてください。
        • 中規模モデルは大規模モデルとは異なるトレーニングデータの分布であるため、同じプロンプトに対して同じように反応しない場合があります。
        • より良い構造と解剖学的整合性を得るために、Skip Layer Guidanceでサンプリングすることをお勧めします。

        Skip Layer Guidance (SLG)の推奨

        Stability AIが提案している方法としてはSkip Layer Guidance (SLG)です。Skip Connection(残差接続)についてはこちらの日本語解説が詳しいです。これによって指の改善がStability AIによって提案されており、ComfyUIやHuggingFaceでも試されています。

        https://github.com/comfyanonymous/ComfyUI/pull/5404

        https://github.com/huggingface/candle/issues/2588

        スキップ レイヤー ガイダンス (SLG) は、特定の範囲のサンプリング ステップで元の CFG に追加のガイダンスを追加するサンプリング手法です。追加のガイダンスは、元のモデルからの正の DiT モデル出力から、特定のレイヤー (たとえば、Stable Diffusion 3.5 Medium の場合はレイヤー 7、8、9) が削除されたバリアント モデルからの正のモデル出力を減算して比較することによって計算されます。

        SLG はオプションの選択肢のように見えますが、SAI は Stable Diffusion 3.5 Medium に対して SLG を有効にすることを公式に推奨しているようです。証拠には以下が含まれます:HuggingFace Hub の公式リポジトリでは、 SLG が有効になっているComfyUI ワークフローが提供されています。
        公式リファレンス デザイン GitHub リポジトリStability-AI/sd3.5には、SD3.5-medium の SLG をサポートする最近の変更が含まれています。
        Stable Diffusion 3.5 Medium での SLG の使用について取り上げたReddit (例:こちら) および Twitter/X (例:こちら) の投稿では、SLG の使用は「解剖学的失敗の可能性を減らし、全体的な一貫性を高める」ために重要であると思われると示唆されており、複数の独立した投稿がこの主張を相互検証しています。

        HuggingFaceにおいてワークフローが配布されています。

        https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/SD3.5M_SLG_example_workflow.json?download=true

        さいごに


        今後も、Stable Diffusionを中心としたオープンな画像生成モデルとそのコミュニティの熱狂は続きそうです。

        AICUとしては「つくる人をつくる」をビジョンにする専門AIメディアとして今後も、公平に、Stability AIやコミュニティの活動を応援していきたいと考えています。

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

      2. Google Colab 初手の初手 – GPUいらずでパワフルなAI開発環境を手に入れよう

        皆さん、こんにちは!生成AI時代に「つくる人をつくる」で活動しているAICU media編集部です。
        勉強がはかどる秋の夜長ですね!今回は手法を変えて、画像生成だけでなく、Pythonや機械学習の勉強に役立つGoogle Colabの基本操作について解説していきます。GPUいらず、Gmailアカウントさえあれば無料で利用できるパワフルなAI開発環境を手に入れましょう!

        Google Colabとは?

        Google Colabは、ブラウザ上で利用できるGoogleの無料のPython開発環境です。Googleドライブと連携しており、機械学習やデータ分析などの作業に最適な環境を提供しています。

        Google Colabへのアクセス

        ブラウザで「Google Colab」と検索し、検索結果から「Google Colaboratory」をクリックしてアクセスします。

        https://colab.google/

        画像
        画像
        Google Colabのトップページ

        サンプルノートブックの実行

        Google Colabにアクセスすると、最初に「Colaboratoryへようこそ」というサンプルノートブックが表示されます。このノートブックは、Google Colabの基本的な操作方法を学ぶためのものです。

        ノートブックは、コードセルとテキストセルで構成されています。コードセルにはPythonコードを記述し、実行することができます。テキストセルには説明文や注釈などを記述することができます。

        基本操作

        サンプルノートブックで基本的な操作を確認してみましょう。

        1. コードセルの実行

        コードセルを実行するには、セルの左側に表示されている再生ボタンをクリックするか、セル内で「Ctrl + Enter」キーを押します。

        画像
        スクリーンショット:コードセルの実行

        2. 結果の確認

        コードセルを実行すると、その結果がセルの下に表示されます。

        Googleへのログインが済んでいない場合は、Googleへのログインが必要です。

        画像

        3. ランタイムの設定

        Google Colabでは、コンピューターのスペック(CPU、GPU、TPUなど)を選択できます。

        画像
        スクリーンショット:ランタイムの設定

        ランタイムの設定は、ノートブックのメニューから「ランタイム」→「ランタイムのタイプを変更」を選択して行います。

        4. セッションの終了

        Google Colabのセッションを終了するには、ブラウザのタブを閉じます。

        次のステップは…?

        今回は、Google Colabの基本操作について解説しました。Google Colabは、機械学習や大規模言語モデルだけでなく、画像生成AIの学習にも非常に役立つツールです。今後、Google Colabを使って、様々な画像生成AIのモデルを学習していきましょう。

        ここまでの手順はこちらの動画でも解説しております。

        Google Colabも画像生成も学べちゃう 画像生成Lesson(無料動画)

        Google Colabにも公式サンプルやはあるのですが、公式は初心者向けではないかもしれません。特にPythonによる開発環境「Jupyter notebook」に慣れた方であればこちらの基本機能比較が役に立つと思います。https://colab.research.google.com/notebooks/basic_features_overview.ipynb

        「Curated Notebooks」には「ChatGPTとGoogle Geminiの比較」といった玄人ごのみのサンプルもあります。

        https://colab.google/notebooks

        やってみました。
        「日本語英語とフランス語の違い列挙して」

        画像

        上のサンプルの動作確認にはGoogle GeminiのAPIに加えてChatGPTのAPIも必要です(それぞれクレジットカード等の登録が必要になります)。
        ちょっと初心者向けとはいい難いので、やはり無料で試せるStability AIのAPIを使った学習が良いかなと思いました。

        超入門:Stable Diffusionではじめる画像生成AI

        https://j.aicu.ai/coloso1

        Google Colabさえあれば、GPUは不要です!!

        以上、初心者け動画 「#画像生成Lesson」の紹介でした。
        これをみて「これならやれそう…?」という方は、ぜひ上を目指してみましょう。

        「生成AIクリエイティブ AICU」シリーズ
        ■超入門:Stable Diffusionではじめる画像生成AI
        https://j.aicu.ai/AICUXColosoJP
        ■初級者:広告企画から動画制作までのプロセス
        https://j.aicu.ai/ColosoJPXAICU
        ■ComfyUIマスター:カスタムノードとアプリ開発
        https://j.aicu.ai/Coloso3

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

      3. Coloso講座第2弾「初級者:広告企画から動画制作までのプロセス」配信開始!!

        AICUxColosoコラボ企画第2弾「広告企画から動画制作までのプロセス」が2024年10月31日(木)18時に配信開始となります。この講座では、MidJourney, Runway, Sunoなどの生成AIツールを活用した広告の企画から動画と楽曲制作まで、初心者でも制作できるように解説しています。

        AICUのコラボクリエイター 藤吉香帆さんが中心になって製作しています。動画を中心としたデジタルクリエイティブや広告を制作しながら、生成AIの魅力と可能性を世の中に伝えています。

        生成AI時代の動画広告プロダクションを理解

        生成AI時代における動画制作工程のパラダイムシフトに対応するための知識を、各生成AIツールの設定や特徴と共に解説します。

        画像

        https://corp.aicu.ai/ja/runway-gen-3-alpha

        生成AIを活用したプロモーションビデオ制作方法を習得

        MidjourneyとRunway、Sunoを活用したキャッチーなCM動画制作の全プロセスを、基礎から学ぶことができます。

        画像

        プランニングにおける生成AIの活用方法

        動画広告制作の過程やプランニングをする上で、生成AIを活用してより効率的にする方法を、実演を通して分かりやすく解説します。

        画像

        こちらは ぽんずさんの作品です。Coloso番組内ではもっとすごい!

        本講座を通して、生成AIを用いた動画制作に挑戦することで、生成AIの活用法を学んでいただければ幸いです。

        画像
        画像

        生成AIツールを活用した広告企画から動画制作までのプロセスを習得

        講師陣はこちら

        画像

        藤吉香帆:動画クリエイター、セツナクリエイション合同会社 代表取締役。デジタルハリウッド大学 非常勤講師。

        ぽんず:生成AIクリエイター。各種イラスト・動画コンペで受賞歴多数。

        白井暁彦:生成AIクリエイティブAICU代表。デジタルハリウッド大学大学院 特任教授。著書に「AIとコラボして神絵師になる 論文から読み解くStable Diffusion」など。

        こんな方におすすめ

        ・動画広告制作に興味がある方
        ・生成AIを使ったクリエイティブ制作を学びたい方
        ・広告代理店や制作会社で働く方
        ・最先端の広告制作スキルを身につけたい方

        画像

        今ならお得な割引キャンペーン実施中!

        いよいよ、2024年10月31日リリース予定です。
        定価 25,350円
        →現在は 24%offの¥19,013円
        リリース後は割引価格が終了します!

        詳細はこちら: [https://j.aicu.ai/coloso2]

        https://note.com/iamkaho/n/n81b7691db92d

        AICU x Colosoコラボ企画3作はこちら
        【Coloso講座】ComfyUIマスター:カスタムノードとアプリ開発
        ComfyUIを活用したワークフローの構築と画像生成の実践講座

        https://bit.ly/3YsuzCP 👈 

        https://j.aicu.ai/coloso1

        https://note.com/o_ob/n/n4aa82191b566

        Originally published at https://note.com on Oct 28, 2024.

      4. 韓国の学生が作ったブラウザだけで動くAIモーションキャプチャ「Metive」

        ミクやMMDが大好きな韓国の学生3人が約6ヶ月情熱を注いで作ったAIモーションキャプチャサービス「Metive」がオープンベータとなりました。
        こちらのURLから無料で試用できます。
        https://metive.app

        まだ v.0.13.0ですが、動画付きで丁寧な日本語マニュアルが整備されています。
        https://metive.app/docs

        実際にやってみた様子がこちらです。

        「Metive」の使い方は簡単です。
        1. 動画をドロップ
        2. AIモーションキャプチャを処理→アニメーションデータがサーバー側で生成される
        3. MMD (PMX)を読み込む
        4. モデルを選択して、再生させたいアニメーションデータを選択
        5. 再生▶ボタンを押す
         今回は「Tda式初音ミクV4X」をお借りしました

        https://3d.nicovideo.jp/works/td30681

        ものすごい勢いでバージョンが上がっています。

        開発者の一人、nonameさんはDiscordでのインタビューに流暢な日本語で対応してくださいました。
        Metiveは「メーティブ」と読むそうです。
        どんな意味?と聞いてみたところ
        nomame「特に意味はなく、ただ発音しやすい言葉を考えました」とのこと。

        GitHubをみると、Web3Dのライブラリ「babylon.js」を使ったMMDなども開発されているようです。

        なかなか活発なGitHubです。今後の成長が期待されます。

        画像

        今後の成長が楽しみなAIツールの誕生の瞬間でした!

        ところで韓国のこの分野(3Dキャラクターモーションアニメーション)の研究開発ってすごいですよね。
        先日のSIGGRAPH2024でのKAIST「MOVIN TRACIN」とか

        AICUはSIGGRAPH ASIA 2024 学生ボランティアを応援します。

        Student Volunteers

        https://note.com/o_ob/n/nddab7d8298e9

        そういえば「つくる人をつくる」AICUも韓国とコラボしていました。
        https://note.com/aicu

        Colosoでフルバージョンが観れます!
        Coloso「生成AIクリエイティブ AICU」シリーズ

        ■「超入門:Stable Diffusionではじめる画像生成AI」動画公開開始

        https://j.aicu.ai/AICUXColosoJP

        ■「初級者:広告企画から動画制作までのプロセス」動画公開 10/31(木) 18時 予定

        https://j.aicu.ai/ColosoJPXAICU

        ■「ComfyUIマスター:カスタムノードとアプリ開発」動画公開 11/22(金) 18時

        https://j.aicu.ai/Coloso3

        これからもクリエイティブAI分野で世界の「つくる人をつくる」を探っていきます!

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

      5. [ComfyMaster27] 写真もイラストも線画に!ComfyUIとControlNetによる線画抽出ワークフロー

        デジタルアート制作において、画像から線画を抽出する技術は、イラストのトレースや3Dモデル作成の下準備など、様々な用途で重要性を増しています。特に、AI技術を活用した自動線画抽出は、作業効率の大幅な向上に貢献します。今回は、線画抽出をComfyUIで実現します。

        こんにちわ、AICU media編集部です。
        ComfyUI マスターガイド」第27回目になります。
        本記事では、ComfyUI、ControlNet、そしてLoRAを組み合わせることで、高品質かつ詳細な線画を効率的に生成するワークフローを紹介します。

        本連載の初回はこちら。前回はこちら目次はこちらです。

        [ComfyMaster26] ControlNetでイラストを精密に実写化! #ComfyUI

        1. 概要

        今回は、ComfyUIを用いて画像から高品質な線画を抽出するワークフローを紹介します。ControlNetとLineartを用いて画像から線画を生成し、LoRAを用いて漫画スタイルの線画に仕上げます。
        具体的には、「AnyLine LineArt」ノードで画像から粗い線画を抽出し、それを「controlnet-union-sdxl-1.0」と「LineAniRedmond」LoRAを用いて、より洗練された線画へと変換します。
        このワークフローを使用することで、元の画像の構図を維持しながら、アーティスティックで高精細な線画を生成することが可能です。 様々な画像(アニメ風、実写、建物)を用いた作例も提示し、ワークフローの有効性を示します。

        2. ワークフローの使用準備

        ControlNet

        ControlNetの使用準備については、以下の記事をご覧ください。

        今回は、ControlNetのLineartを使用します。Lineartで粗い線画を抽出し、その後にその線画を低ノイズでサンプリングし、補正をかけます。

        LoRA

        今回は、LoRAに「LineAniRedmond」を使用します。このLoRAは、漫画スタイルの画像を生成してくれるLoRAで、線画の質を上げるために使用します。以下のリンクよりダウンロードし、「ComfyUI/models/loras」フォルダに格納してください。

        https://civitai.com/models/127018/lineaniredmond-linear-manga-style-for-sd-xl-anime-style

        使用素材

        今回は、以下の画像を線画にします。

        画像

        以下のリンクから画像をダウンロードしてください。

        https://note.com/api/v2/attachments/download/54a45213199b43c2255a1c5713f59ba7

        3. ワークフローの解説

        以下がワークフローの全体構成になります。このワークフローは、入力画像から高品質な線画を抽出し、それを基に新しい、より詳細で洗練された線画を生成します。ControlNetとLoRAの使用により、元の画像の構造を維持しながら、高度にスタイライズされた線画が作成されます。結果として、元の画像の本質的な特徴を保持しつつ、より洗練された、アーティスティックな線画表現が得られることが期待されます。

        画像

        ワークフローは、文末のリンクよりダウンロードしてください。
        以下に、このワークフローの主要な部分とその機能を図示し、詳細に説明します。

        画像
        1. 入力画像の読み込みと線画抽出
          • Load Imageノード: 「girl_anime_02.jpeg」を読み込みます。
          • AnyLine LineArtノード: 入力画像から線画を抽出します。
            • モード: lineart_standard
            • 解像度: 1280
            • 詳細度: 0.1
          • Image Invertノード: 抽出された線画を反転させます。
        2. モデルとLoRAの読み込み
          • Load Checkpointノード: 「RealVisXl.safetensors」モデルを読み込みます。
          • Load LoRAノード: 「LineAniRedmondV2-Lineart-LineAniAF.safetensors」LoRAを適用します。
            • 強度: 1.0 (モデルとCLIP両方に適用)
        3. ControlNetの設定
          • Load ControlNet Modelノード: “controlnet-union-sdxl-1.0-pro.safetensors” を読み込みます。
          • Apply ControlNet (Advanced)ノード: 抽出された線画を使用してControlNetを適用します。
            • 強度: 0.5
        4. プロンプト処理 (CLIP Text Encode(Prompt)ノード x2)
          • ポジティブプロンプト: 「8k, best quality, masterpiece, ultra detailed, ultra high res, extremely detailed, finely detail, lineart,」
            • 線画が細かくなるように品質向上のタグを設定する
            • 「lineart」は、
          • ネガティブプロンプト: 「colorful, monochrome,」
            • 線画のみになるように、色が付くようなタグを設定しておく
        5. 画像生成 (KSamplerノード)
          • Seed: 474030329745381
          • Steps: 20
          • CFG Scale: 7
          • Sampler: dpmpp_2m
          • Scheduler: karras
          • Denoise: 0.8
        6. 画像のデコードと後処理
          • VAE Decodeノード: 生成された潜在表現を実際の画像にデコードします。
          • Color To Maskノード: デコードされた画像から白色部分をマスクとして抽出します。
          • Save Image With Alphaノード: 最終的に生成された画像をアルファチャンネル付きで保存します。

        AnyLine LineArtの詳細

        AnyLine LineArtノードは、複数の線画検出モデルを使用して入力画像を線画に変換します。このノードの各ウィジェットの意味は以下の通りです。

        • merge_with_lineart: 線画抽出を行う解像度を設定します。以下のモデルから選択可能です。
          • lineart_standard: 標準的な線画用の汎用モデル。
          • lineart_realistic: リアルな画像に特化し、細部を捉えるモデル。
          • lineart_anime: アニメスタイルの画像に最適化され、特徴的な要素を強調します。
          • manga_line: マンガスタイルのイラストに特化したモデル。
        画像
        • resolution: 線画抽出を行う解像度を設定します。デフォルトは512ですが、必要に応じて高解像度や低解像度に調整可能です。高解像度はより詳細な線画を提供しますが、計算資源を多く消費します。
        画像
        • lineart_lower_boundとlineart_upper_bound: 線検出プロセスの感度を制御するためのパラメータです。これらの値を調整することで、線画の細かさや強調具合を微調整できます。
        画像
        • object_min_size: 抽出時に考慮されるオブジェクトの最小サイズを指定し、小さなノイズやアーティファクトをフィルタリングします。デフォルト値は36です。
        画像
        • object_connectivity: 抽出中に接続されたコンポーネントの識別方法を定義します。デフォルト値は1で、オブジェクト間の接続性を決定します。例えば、複数のオブジェクトが接触している画像で、それらを一つの連続した形状として扱いたい場合、このパラメータを調整します。デフォルト値は1で、接続されたピクセルがどのようにグループ化されるかを制御します。(具体的に抽出される線画にどのような影響があるのか不明)

        4. 生成結果の確認

        以下が生成結果になります。背景は抽出できていないですが、前面の人物は線画に変換できています。

        画像

        出力される画像は、背景が透過画像となっているので、抽出元画像と重ねて表示してみました。元画像に比較的忠実に抽出されていることが分かります。

        画像

        他の画像でも試してみました。

        画像

        実写からの線画抽出例です。こちらも綺麗に抽出できています。

        画像

        建物から線画を抽出してみました。かなり細かいところまで線画として抽出できています。

        画像

        5. まとめ

        本記事で紹介したワークフローを用いることで、ComfyUI、ControlNet、LoRAの連携による高品質な線画抽出が可能になります。AnyLine LineArtノードによる柔軟な線画抽出、ControlNetによる精密な制御、そしてLineAniRedmond LoRAによる画風調整といった各要素が組み合わさり、様々な画像に対して精緻でアーティスティックな線画生成を実現します。アニメ風、実写、建物といった多様な画像例からも分かるように、このワークフローは幅広い用途に応用できる強力なツールとなります。今後のデジタルアート制作において、本記事で紹介したワークフローが、より効率的で創造的な作品制作の一助となることを期待します。

        次回は、ラフ画から画像生成の方法を紹介します。乞うご期待!
        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メンバーシップ。
        退会率はとても低く、みなさまにご満足いただいております。
        ✨️オトクなメンバーシップについての詳細はこちら

        そして本講座の内容は各種有料メディアでも展開準備中です!
        ■「ComfyUIマスター:カスタムノードとアプリ開発」

        https://j.aicu.ai/Coloso3


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

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

      6. あんしんなクリエイティブAIで「陽のあたる場所」をつくる

        エキサイティングな生成AIの年になった2024年も、もう残り僅かになってきました。「つくる人をつくる」をビジョンにするAICU Inc. は、新たな挑戦をいくつか準備していきます。その一つが「『生成AI倫理』に「AIクリエイター視点でしっかりと意見を述べていこう」という取り組みです。

        シリーズ「AIクリエイターに訊く生成AI倫理」

        生成AI分野、特にクリエイティブなAI、クリエイティブとAI分野で活躍する第一線のクリエイターの方々に直接!インタビューや講演録、寄稿や公開質問といったオピニオンを通して、法律や技術と同時に「ほんとうの意味で生成AIに求められる倫理感とは?」について時間をかけて考えてみたいというシリーズ企画「AIクリエイターに訊く生成AI倫理」を開始します。

        第1回はAICU代表、AICU media編集長、デジタルハリウッド大学大学院 特任教授、「しらいはかせ」こと白井暁彦(@o_ob)からスタートします。いつもは編集長として、プリンシパルライターとしてAICU編集部で執筆する白井氏ですが、今回は先日開催された東京科学大学INDEST「あんしんAIセミナー」で語られた講演録『あんしんなクリエイティブAIで「陽のあたる場所」をつくる』から、聞き手は編集部です。第三者視点で、最新の考えに迫ります。

        画像
        カバーアートはもちろん画像生成によるものです。しかもプロテクトが入っているそうです。

        今回の講演概要

        白井さんはエンターテイメントシステムの研究者です。

        画像
        https://akihiko.shirai.as/

        AICUという会社をやっています。AICUでは、例えばチャットボットを作ったり、動画を作ったり、レクチャーをしたり、読み物メディアとして『AICUmedia』、『AICUマガジン』等々のメディアを運営したりしてきています。また、画像生成をしていく人たちの品質やテクニック、倫理観を検定試験にしていく取り組みも提案しているそうです。

        今回は、そんな検定試験の中身になるようなお話です。白井さんは「つくる人をつくる」、クリエイティブAIで「陽の当たる場所」を作っていこうと考えています。法整備も大事ですが、そもそもAIが理解されていない問題が生成AIの普及を阻んでいます。事例とともにその問題をどんどん明らかにしていき、科学コミュニケーターで培った経験を元に様々な世代に「子供でもわかるような言葉」を意識して伝えています。白井さんのお話を全て紹介することはできませんが、その言葉の一部を見ていきましょう。

        事例1:『超入門:Stable Diffusionではじめる画像生成AI』

        最近、韓国をベースにする国際ラーニングメディア「Coloso」への3件の動画コンテンツシリーズをリリースしました。「Coloso(コロソ)」という韓国をベースにする国際ラーニングメディアで公開されています。

        画像

        ・『超入門:Stable Diffusionではじめる画像生成AI
        ・『初級者:広告企画から動画制作までのプロセス
        ・『ComfyUIマスター:カスタムノードとアプリ開発』 

        白井氏:この3作は基本的に、(アニメや漫画、イラストではなく)「リアリスティックな生成AIじゃなきゃ作れない」という画質の画像生成を「責任を持って活用する」ための「持続的創作活動を行う基盤を築く」というコンセプトで作っています。氏は『韓国の生成AI分野は日本と異なる進化・進歩・倫理観があり、困難も多いが韓国企業とのコラボレーションから学ぶことは多い』と述べており、また『結構な勢いで売れていて、こういうのを学びたい人はちゃんとお金払って学ぶんだなということが体感できた』と述べています。

        白井氏:日本では文化庁をはじめ、法整備が進んでいる一方で、議論がいわゆる「炎上屋」のおかげで変なブレーキが踏まれてしまうケースがみられます。それからテクノロジー的には「SD黄色本」で解説した「AUTOMATIC1111」に並んで「ComfyUI(コンフィユーアイ)」のほうが主流になっていて、知っている人たちの技術はものすごく高い一方で、まとまった体系的な知識を教えられる人がいるのかというとなかなかアンダーグラウンドな世界に落ちている感じがしています。なので、教科書などを真面目に作って、専門学校の先生とか大学の先生がそれを利用できるようにするということやっています。

        事例2:『AICUマガジン』

        また、中高生がこういったAIの世界を楽しそうと思って入ってこれるように『AICUマガジン』を毎月発行しています。漫画の書き方や生成AI時代の社会と倫理なども特集しました。

        画像
        画像

        「AniFusion」(アニフュージョン)みたいな最新刊のテクノロジーツールといったものが袋とじになっていて、これを買ってくれた人がコードを入れると1ヶ月無料で遊べるというのもやっています。書いてあるプログラムや書いてあるプロンプトを打ち込んだら同じことができるみたいなことができる世界は、すごく大事だなと思っています。なので、儲からないですけど、根性でAICU Magazineは出し続けています。

        画像

        頑張って続けていると、Stability AIも準公式で協力してくれますし、「BlendAI」のキャラクター「ガンマミィ」の漫画連載が始まるなどしました。漫画の連載が始まるというのはすごい大事なことで、「AIで漫画を描く人」に「漫画の原稿料が払える」ということなんですよね。そういう世界がやってこないと、いくら無料でコンテンツを作り続けても、それはその趣味への範囲を超えていかないということなんです。紙の本を出すということも結構重要で、ちゃんと産業が成り立っていく、その重さを感じられます。

        画像

        事例3:博士や修士卒が書く知的探求メディア

        実はAICUの主要ライター陣は「しらいはかせ」、東京工業大学知能システム科学卒・博士(工学)をはじめとして国内外の大学の修士卒以上が活躍しています。これは白井氏の日本科学未来館での科学コミュニケーターという経験からきているらしく、『専門的な知識を有しているからこそ、責任持って面白く、わかりやすく伝えるプロでもある』という考え方があるそうです。

        最近では、東京ゲームショウ(TGS2024)での紹介記事がきっかけになって、テレビ取材になったケースも有るそうです。

        画像

        ▲感情分析で変わるゲーム【トレたまneo】2024.10.03

        たしかに、ゲームやアニメの世界と違って、クリエイティブAIの世界は専門的な知識、特にコンピューターサイエンスから工学、芸術学、メディア学や文学などにも精通している必要がありますよね。怪しげな情報が飛び交うディープ・フェイクの時代に「博士や修士でなければ責任持って書けない」という視点は特徴があります。

        事例4:障害者向けクリエイティブワークショップ

        画像

        白井氏:僕らの仕事の中には、神奈川県をクライアントにして、「ともいきメタバース講習会」という障害者に向けたクリエイティブワークショップも実施しています。障害者の施設を回って、知的障害、身体障害、精神障害、発達障害といったいろんな人たちに実際に接してクリエイティブなことをやることによって、付加価値を出していっています。その中にメタバースやAI生成というのがいかに役に立つか、どんな問題が払われているのかといったことを研究しています。障害者の人たちにとって「AIで文字から画像生成をできるということは本当に求められていた技術だ」ということを、長年養護学校で先生を勤められた先生が生々しく僕に語ってくれました。『生成AIは悪だ』と言い放っている人たちに訊きたいのですが、あなた方が『生成AIは悪である、と思っているだけ』であって、「その技術を否定されることによってどんな人が傷ついているか?」を想像していますか。

        たしかに、音声文字入力や視線入力、漢字の予測変換入力なども「AIのおかげ」ですし、これは障害者だけでなく障がいを持たない方々にも有益な技術ですよね。画像生成がそのような技術になる可能性は大いにありますね。

        事例5:『CG WORLD』2024年11月号 vol.315の表紙

        今月の『CGWORLD』に注目です。表紙は杉山学長というデジタルハリウッド大学の初代学長・改革者です。『CGWORLD』が30周年で特集を組みました。

        画像

        https://amzn.to/4hhas22

        白井氏:杉山先生には30年前、僕が21歳のときに出会いました。この人が「この後デジタルコンテンツやCGなどを学びたい人がたくさん増えるからそういう学校を作ったほうがいいと思うんだ」と言って、株式会社で大学を作るということをやってきました。当時はゲームやCGの専門学校はなかったんです。今であれば想像もつかないかもしれませんけど、CG業界にはデジタルハリウッド卒業生がたくさんいます。さらに専門学校の先生にもいます。そういったところにちゃんとした「先生たちの先生」を送り込んだ人です。

        この背景は生成AIで作っています。杉山先生のご意向をFacebookメッセンジャーで聞いて「こういう絵にしたい」、それに合わせて僕はキャラクターデザインまで起こして、レイアウトや配置を編集部や本人と一緒にやりました。杉山先生はALSという病気で人工呼吸器をつけて車椅子でしか移動できません。AIの力がなかったらここまでできないです。AIのおかげで今月成し遂げました。そして僕はもちろん個人のAIクリエイターとして、『CGWORLD編集部』から結構なお金を頂きました。CGクリエイターとしてCGWORLDの表紙を飾ることは並大抵のことでは実現しませんし、「クリエイターとして飯を食う、対価をもらう」というのはこういうことの積み重ねなんだと思います。

        事例6:AIキャラクター「ガンマミィ」

        最新の事例として、先日AICUから電撃公開された「ガンマミィ・ジェネレーター」が紹介されました。

        画像

        白井氏:僕らはメディア企業というだけでなく、最新の制御された高品質な画像生成AIというテクノロジーを使って「ガンマミィジェネレーター」という「ガンマミィ」を誰でも使えるチャットシステムを1日ぐらいで作りきるだけの技術力はあります。ですが、その想像をさらに上回るようなテクノロジーやテクニックですごい絵を作ってくる人が出てくるんです。これは感動です。やはり予想を上回るようなことを作ってきてこそ、我々はやっと報われるんです。それに対してお金を出したいという人が出てきてこそ、やっと経済が回るということなので。生成AIに対して「エアプをやっている人たち」(※やってもいないことをやったように言ったりする、いわゆる知ったかぶりを指す言葉「エアプレイ」や「エアプレーヤー」の省略語)には「変な邪魔しないでください」と言いたいです。

        白井氏:僕たちは無料で作れる「ガンマミィ」をリリースしているのに、使ったこともないという人たちが「生成AIは悪だから」と言うのは構いませんけど、そういう世界線と我々の世界線がどういう風に今後変わっていくのかというのは、皆さんがしっかりと認識していただきたい事実だし、未来だと思います。例えば、真面目に商業をやっている人たちは「学習こそが価値だ」と言って、GPUを買い集めてライセンスを買い、新しいモデルを探求し、広告や映像制作に使っています。AIは安く作る技術じゃなくて不可能を可能にする技術なんです。

        事例7:『画像生成AI Stable Diffusion スタートガイド』

        画像

        https://j.aicu.ai/SBXL

        画像

        この本の中で、200ページのところに書いているのが、「画像生成AIクリエイター仕草(v.1.0)」というコンセプトで、「すべきことと、すべきでないこと」を「子供でもわかるよう」に話しています。簡単に言うと、「すべきでないこと」は「他人の迷惑」になること。技術的な可否や法律の可否、マナーやモラル、過去の常識、リスク、感情を混ぜて「混乱させること」。マナーやモラルというのは皆さんの知識、理解、お気持ち、感情なので、法律的にできる、できないという話や、技術的にできる、できないという話と混ぜてはいけないのです。

        画像

        白井氏:つまり、「赤信号は渡ってはいけないけど、僕は急いでるので渡ります」というリスクを犯している個人の話であって、その人が車に轢かれたら自業自得なのに、そこを混ぜて「自分はこう思う」みたいな話をしても仕方ないんです。そこを混ぜて混乱させるみたいなことがそもそもテクニックとして喋る人もいますけれど、それに混乱させられては技術やテクノロジー、商売といったものを整理することはできないです。だから『混ぜて混乱させているやつは誰だ?』という視点に皆さんの目を光らせてください。
        「生成AIだから安い」、「自動だ」、「無料で何か作れるなんて楽して儲かる」みたいなのも嘘です。これは完全に世間を誤解させている行為です。生成AIだから安くて早いということはないです。生成AIはやっているクリエイターだったらわかると思います。1時間の中で絵を作らなきゃいけないとなったら、できるだけ頑張ってたくさん作って、その中から「最高の絵を作った」という、これがクリエイターです。だからこそ人の心を動かすので、楽な道でもなければ、自動でできるものでもないです。そこは誤認をしてほしくないところです。
        すべきことは、とにかく楽しむこと、作品を作る情熱を持ち続けることだと思います。僕は、陽の当たる場所を作るためには徹底抗戦するつもりです。

        画像

        ここで「画像生成AIの価値創出」要素として、

        ・技術の進化速度について発信し続けていくことが価値
        ・「写真と同じ」
        ・オープンなモデルでどんな価値を出せるか?
        ・「学習こそが価値」
        ・「安く作る技術」ではなく「不可能を可能にする技術」
        ・「つくる人をつくる」

        とまとめました。

        画像生成AIの近年

        さらに歴史を振り返ります。ラスコー洞窟など先史時代の絵画から、

        画像

        写真の歴史、

        画像
        https://www.statista.com/chart/18488/camera-timeline/

        CG/画像生成AIの誕生と変遷 文化的背景 (1940-2020)

        画像

        そして近年の画像生成AIの歴史です。

        画像

        白井氏:画像生成の世界でLvmin Zhangさんを知らない人はいないと思います。Style Transferのアニメスケッチをやったり、style2paints、ControlNet、Fooocus、Forgeなどを開発している彼ですね。彼は実は日本のシモセラ・エドガーさんに習っています。日本で勉強していた人で今もまだ学生をやっています。

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

        こういう中国出身、もしくは中華系二世の研究者でアメリカの文化に馴染んで研究している人たちは、画像生成のコア的なテクノロジーをやってる人たちにかなりの確率でいます。この人たちは日本のアニメや漫画がめちゃくちゃ好きなんです。その人たちが我々のアニメや漫画を、外部のサイトを使ってAIに学習させています。僕は10年以上前に彼らの論文を読んだとき、「ちょっと待て。これは著作権違反だぞ。」と気づきました。学会に訴えたり、査読者としてコメント出したり。いくらテクノロジー的に楽しくても僕はこの論文はアクセプトできない、と言ったんだけれども、実はもうそのときすでにデータセットが存在していてもう止められなかったんです。
        ところが、日本の研究者や世界の研究者で、アニメを学習させることにこんなに価値があると分かっていた人がほとんどいなかったんです。その頃はまだ、欧米の研究者も日本の研究者も、それを問題だとは思っていなかったんです。イラストコミュニケーションサービスのSNSもたくさんありました。robot.txtも無視されていました。僕はそのときにもっと力を持っていたら、もっとこの問題に社会の目を向けるべきだと思いましたが、社会がそこに目を向けていたかというと疑問があります。CGの研究者そんなに多くないし。そして、今は中国の研究者はかなり野放し状態になっています。対中国人が云々という話をしているんじゃないです。中国のCG研究者やコンピュータービジョンの研究者は数千から数万いますが、我々日本の研究者は数百から数千です。彼らの興味と探究心と成果です。日本の研究がいかに不甲斐がないかということを身を持って感じています。もっと大きなところに出て、インパクトのある研究を世界のステージで対話して、英語で論文を書き、日本の研究者がちゃんとこの状況を認識している人が増えて、たくさんの才能が戦っていかないといけないということは認識してください。

        今後のAI利用に関する議論の可能性

        アメリカには法律があって、教育や引用などはフェアユースで公共物であるから使ってよいと認められています。そのフェアユースとしての引用は、日本の著作権法ではフェアユースの記述がないんです。最近議論はされていましたけど、生成AIの時代においてというのと、著作権法30条が適応してしまった瞬間にだいぶおかしくなりました。

        つまり、生成AIの議論のかなり過激な問題の原点は、著作権法30条の改正が原因だったし、多くの人たちはそこで声を上げるべきだったんですね。やらなきゃいけないのが著作権法30条の4の改正でしょう?ということは、僕は議論したいこととしてあります。日本は憲法改正には非常に保守的です。ところが、著作権法に関しては4〜5年に一度改正されてるんです。だったらこうするべきだって皆さんで言い続ければいいんですよ。議論のやり方は先ほど言った「混ぜるな禁止」をちゃんと考えてほしいなと思っています。

        やはり事業者レベルで言うと経産省だと思うんですね。つまり、文科省でもなく経産省が対応すべきだと思います。文化庁が著作権の定義で特に変える必要ないという結論に至ってる以上、これは経済の話です。誰が権利を持っていてどういう対価を払っているのかという話になるのであって、やはりちゃんと対話相手として権利団体はしっかりとそういう専門家を置いて、議論にちゃんと挟まっていてほしいと思っています。

        例題:NijiJourneyでみかけた他のユーザが生成した画像

        問題です。この画像に知的財産の侵害はあるでしょうか?この画像を自分のブログに自分の著作として利用することはできるでしょうか?この画像をブレンドして新たな画像を作ることはできるでしょうか?テクノロジーとしてできる、できないという問題と、法律としてできる、できないの問題を考えてみてください。

        画像

        答えです。これはとある弁護士さんによる2024年8月ごろの監修ですが、知的財産の損害はないとのことです。マクドナルドの商標は侵害していません。「マクドナルド」と書いちゃったら問題では?と思うかもしれませんが、それも大丈夫です。皆さんの考えている知的財産の侵害というものは、実はちょっと違うんじゃないの?ということがこの1枚でも語れます。

        自分のブログに利用できるかというと、これも「画像生成による生成物は著作物ではない」という判例が出ていまして、日本においても「著作とは、思想又は感情を創作的に表現したもの」なので、一般的なサービスによって生成されただけのテキストや画像には「著作権がない」ということになっています。なので、これは別に著作権侵害にならないです。つまり、「このNijiJourneyの画像可愛い。じゃあ“僕の画像として”ブログにおこう」と“僕の画像として”のところだけが問題であり、著作物ではなく、「NijiJourneyで拾った画像です」だったら別に問題がないです。

        ブレンドして新たな画像を作ることができるかという点は、「日本の法律においては問題がない」というのがこの問題を問われた弁護士さんのご意見ですが、他の人の画像をアップロードしたら、それは実は複製権を侵害している可能性があります。それから、依拠性や類似性を目的としてやってるんだったら、それは依拠性などを侵害する可能性があります。

        ほんとうの意味で生成AIに求められる倫理感とは?

        書籍「画像生成AI Stable Diffusionスタートガイド」から数十枚のスライドを引用しつつ、特にこの図を指しました。

        画像

        白井氏:欧州のリスクベースアプローチについても紹介をしておきます。「容認できないリスク」、「ハイリスク」、「限定的なリスク」、「最小限のリスク」等がある中、「画像生成AIはどのようなリスクレベルなのか?」をしっかり捉えてほしい。これが医療や法律、そして自動運転車に例えたら、どのようなリスクレベルなのかをはっきりと認識したうえで、反対するなら、反対としてきちんと責任を持って、どのような社会を考えているのか、すべてのひとにわかるように話をしてほしいと思います。

        まとめ

        しらいはかせ、白井暁彦氏は事例を交えながら、熱量たっぷりに、AIが理解されていない問題や著作権の問題がどうして起こっているのかをお話しくださいました。「画像生成AIクリエイター仕草(v.1.0)」の「子供でもわかるような、すべきこととすべきでないこと」を心に刻みながら、あんしんなクリエイティブAIで「陽のあたる場所」をつくる、そのための問題と向き合っていける世の中をつくっていきたいですね。

        みなさんの意見も訊きたい!

        ご感想はこの記事のコメント欄、もしくは
        Xでは引用いただいて、ハッシュタグは
        #AIクリエイターに訊く #生成AI倫理
        でよろしくお願い致します。みなさんの建設的な意見はネット上のみならず、AICU Magazineや動画メディアや論文等でも扱っていきたいと考えております。

        また「私はAIクリエイター、なので意見を述べたい!」という方はご寄稿いただく仕組みも準備しております。X@AICUai にてDMをいただけると幸いです。

        Originally published at https://note.com on Oct 24, 2024.