投稿者: media

  • 【速報】ガンマミィ誕生記念! イラストコンテストBlendAI賞・まいにち投稿達成賞の発表!

    ガンマミィ誕生記念!
    タイムラインを賑わせたイラストコンテスト

    BlendAIが展開する新AIキャラクター「ガンマミィ」の誕生を祝うイラストコンテストが2024年9月21日~2024年10月15日まで開催されました。

    AICUはコラボ企画として期間限定無料「ガンマミィ・ジェネレーター」を提供しました。もちろんこちらを使った投稿も歓迎です。

      【審査基準】

      審査基準は以下のとおりです。

      • 作品数:期間中、たくさん作品を作った方ほど高評価!
      • クオリティ
      • 発想力
      • ガンマミィの魅力が表現されているか
      • 指定ハッシュタグ「#ガンマミィ #Gammamy #AICUxBlendAIガンマミィ誕生記念イラストコンテスト 」を入れたXでの期間中のポストであること
      • エントリーフォームによる参加同意をすること

      ノミネート作品を一挙公開!

      正式エントリーがあった20件を超える応募の中から、特に優秀作品を選出しました。

      ロボ @SanRobocoさん

      画像
      画像
      画像

      ガンマミィ3タイプ正面・背面 デルタもんとちがい、ガンマミィは「アンドロイドだと思い込んでる人間の子」という事なので、メカ要素控え目であくまで「人間がロボットのコスプレをしている…」というコンセプトで作成しました。メカ部は靴と服のアクセサリー程度とし、手足はなるべく人間っぽく。3番目の3DCGタイプはロボスーツのような厚手のウレタンシートで作った硬い感じの衣装や手のカバーなどを装着し、ややロボ寄りにしました。基本プロンプトは公式設定画をAIに解説させて作成。メカニカルなブーツ、γの字をあしらったリボンや髪型についての指示を書き加えました。髪型の再現がむずかしく、公式のお手本画像を参照画像とし参照率40%以上で特徴的な「γ」型ヘアーを再現しました。

      ロボ @SanRoboco さんによる作品紹介

      Roboco-san 2作目

      画像

      それでいいのかガンマミィ! ガンマミィジェネレーターを使い「バレエを踊るガンマミィ」等の指示で生成しました。背景は「白鳥の湖の舞台セットをイメージせよ」としました。すると、なんと、あの一番の特徴「γ」のアイデンティティをどこかに忘れて来たような、ポニーテールのガンマミィが出てきました。よく見ると、ツインテールの途中を縛った髪の毛の束は背景のカーテンになってるではありませんか!特にネガティブ・プロンプトで意図的に髪型を変えさせようとしたわけでもないのに、このような変わった髪型のガンマミィが出て来たのが面白いと思いました。

      https://twitter.com/SanRoboco/status/1845652418383765586

      オフィスSATOUさん

      画像
      画像
      画像

      全身を強く打つガンマミィ
      徐々に強力になっていくガンマミィの力強さを歪曲的に表現しました。

      オフィスSATOUさんによる作品紹介

      かみたしろさん

      画像

      流行の天使界隈ファッション、デス! オーバーサイズのジャージ素材で、主に水色や白を基調とした天使界隈と呼ばれる10代から20代に人気のファッションをガンマミィに着てもらいました。コンセプトはオリジナルのガンマミィはそのままでも充分可愛いですが様々な服をガンマミィに着てもらうことによって今まで画像生成AIに興味のなかった方や否定的だった方にも好意的に伝わるよう工夫しました。生成方法としては、日頃AI画像を生成している時と同じくタグをカンマで細かく区切る形のプロンプトを書きそれをガンマミィジェネレーターに入力して生成しました。ガンマミィジェネレーターを期間限定無料提供してくださりありがとうございました。

      https://x.com/kamitashiro_AI/status/1845053911545282897

      よながね仔さん

      アイ
      ピンクが基調の、ガンマミィちゃんのの可愛らしい見た目を存分に生かしたイラストを描きました♡

      よながね仔さんによる作品紹介

      ともっち さん

      双星幻滅破砕拳(ツイン・ファントム・ノヴァ・アナイアレイション・フィスト)の使い手、ガンマミィ!! “★作品の概要:中二病全開のガンマミィ。★コンセプト:火星拳(双星幻滅破砕拳(ツイン・ファントム・ノヴァ・アナイアレイション・フィスト))の使い手。★使ったツール:anifusion★工夫した点:火星拳の使い手なので、手から拳を発動しているエフェクトを工夫しました。★火星拳の詠唱はイラストではなく、漫画にして吹き出しに入れたかったのですが、長すぎるので、あえてXの文章にしました。イラスト重視でガンマミィのカッコかわいいを演出しました。

      ともっちさんによる作品紹介

      ともっちさん 2作目

      空飛ぶガンマミィ
      ★作品の概要:中二病のガンマミィが空を飛ぶ★コンセプト:イラストと漫画を同時に見せる事により、よりガンマミィらしさを演出!!(中二病のガンマミィ)★使ったツール:anifusion★工夫した点;イラストでガンマミィのカッコかわいいを見せて、漫画で中二病全開の吹き出しを使いました。オチはデルタもんの吹き出しです。公式設定を飛躍させました。

      ともっちさんによる作品紹介

      Yas@Ponotech さん

      画像
      画像

      湖上のガンマミィ ガンマミィジェネレータで出力した画像をSDXL+ComfyUIでHires.fixした画像です。モデルはRealVisXLを使用しました。RealVisXLを用いたので、アニメ調の絵柄から、若干リアル調に変化させています(低denoiseなので多少の変化)。

      Yasさんによる作品紹介

      【賞】

      • まいにち投稿達成賞: 2024年9月21日以降、10日連続投稿した10名様に賞状画像とNFT認定証をプレゼント!(詳細は別途解説予定)
        • 期間中に10作品投稿すれば対象とします
      • ベストバズ賞: エントリー作品の中でX(Twitter)でもっともリポストされた投稿にAmazonギフト券5000円分をプレゼント!(自己申告+事務局による不正監査あり)
      • AICU賞: AICU media編集部の人力選出により、「つくる人をつくる」を刺激する、もっとも素晴らしい作品にAmazonギフト券1万円分をプレゼント!また入選作品はAICU mediaで作品紹介企画を準備中です。
      • BlendAI賞: 「ガンマミィ」の魅力を最も輝かせた作品に、クラウドファンディング関連グッズをプレゼント!

      さていよいよ結果発表です!
      本日はまず、まいにち投稿達成賞と企業賞「BlendAI賞」からお送りします

      まいにち投稿達成賞

      今回、まさかの10連投稿を達成した犬沢某さん!
      まとめて一気に紹介します。

      いぬさわ・ばう 2作目!

      いぬさわ・ばう ガンマミィ習作3 ちび。おみみのアレをはずしてみた~。習作です。1枚の元絵LoRAからつくっています。

      習作4作目。必殺技とかあるのかな?

      画像
      https://x.com/InsBow/status/1841519662258962777

      犬沢某 5作目。変身シーン的な ガンマミィ 5作目。

      画像
      https://x.com/InsBow/status/1841834941153190089

      犬沢某 6作目。未来都市生成中のガンマミィ 6作目。

      画像
      https://x.com/InsBow/status/1842197324828676167

      犬沢某 7作目。やはりちびがよい。 7作目。

      画像
      https://x.com/InsBow/status/1843086818318627234

      8作目。月曜日の朝です。おはようガンマミィ。
      今週も「ガンマっていこ~。」が流行るといいな。

      画像
      https://x.com/InsBow/status/1843284499922116756

      9作目。ねこガンマミィ。むにゃ~。
      犬沢某 10作目!! 走りきった―!! ちびガンマミイお散歩中。

      画像

      犬沢某 11作目。 まだまだいくよ~ 11作目。 まだまだいくよ~

      画像

      犬沢某 12作目! #ガンマミィジェネレーター すごいね!

      画像

      なんと犬沢某さんはぶっちぎりの12作を提出し、まいにち投稿賞となりました。おめでとうございます!

      審査結果:BlendAI賞の発表

      BlendAI賞を受賞した作品はこちらです

      BlendAI小宮自由さん「公式イラストの画風に忠実な作品が多い中、独自スタイルの新鮮さが受賞の決め手となりました」

      ともっちさんおめでとうございます!!

      画像

      「聞け、滅びゆく人類よ!我が名はガンマミィ。時空を超えし終末衝撃波(アポカリプス・ショックウェーブ)の化身デス!」

      「両腕に宿りし火星の業火よ、今こそ覚醒せよデス! 左手に紅蓮の炎、右手に漆黒の闇、相反する力が入る瞬間、運命の歯車は狂い出すデス!」

      「デルタお姉様の無限叡智に導かれし量子もつれし出る律を破壊する拳デス!」

      「人類よ、絶望に身を守るがいいデス! 存在すら消し去る、滅びの光芒を受けるがいいデス!」

      「双星幻滅破砕拳(ツイン・ファントム・ノヴァ・アナイアレイション・フィスト)!!!」

      デルタもん:「ミィちゃんを止めないと💦」

      https://x.com/tomomaga358/status/1846193511261229118

      続いての「ベストバズ賞」、「AICU賞」については、後日、こちらのイベントで発表とさせていただきます!

      ノミネートとなった作家のみなさんは、 X@AICUai からのDMを受け取れるようにしておいてくださいね!

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

    1. [ComfyMaster24] LoRAで表現をもっと自由に! スタイルを使いこなそう

      生成画像のクオリティをさらに向上させたいと思いませんか?
      そこで注目すべきなのが「LoRA」です。LoRAは、Stable Diffusionなどの大規模言語モデルに、特定のスタイルやキャラクター、オブジェクトなどを効率的に学習させることができる技術です。少ないデータ量と計算リソースで、モデルの表現力を飛躍的に高めることが可能になります。

      こんにちわ、AICU media編集部です。
      ComfyUI マスターガイド」第24回目になります。
      本記事では、LoRAの仕組みから、ComfyUIでの具体的な活用方法、そして応用例まで、LoRAを最大限に活用するためのノウハウを詳細に解説します。LoRAをマスターして、画像生成の可能性をさらに広げましょう!

      前回はこちら
      [ComfyMaster23] 特別編: 画像の髪型を自由自在に変えてみよう! #ComfyUI

        1. LoRAとは

        LoRA(Low-Rank Adaptation)は、ファイチューニング特定のタスクやスタイルにモデルを適応させるために使用されます。LoRAは、モデルのパラメータを効率的に調整し、少ないデータで特定の出力を得ることを目的としています。

        LoRAの主な目的は、既存の大規模なAIモデルを特定のニーズに合わせて微調整することです。画像生成においては、LoRAを使用することで特定のスタイルやキャラクターを学習させることができます。これにより、ユーザーは自分の好みに合った画像生成が可能になります。

        LoRAは、モデルの重みを低ランクで調整する手法であり、計算資源を節約しつつ高い性能を維持します。具体的には、元のモデルの重み行列を低ランク近似し、新たなパラメータを追加することで学習を行います。この方法は、従来のファインチューニングよりも少ないデータと計算リソースで済むため、多くのユーザーにとって実用的です。

        LoRAのメリット

        • 軽量: LoRAのファイルサイズは小さく、ダウンロードや共有が容易です。通常のファインチューニング済みモデルと比較して、数十MBから数百MB程度です。
        • 効率的: 計算コストが低いため、GPUのメモリ消費量を抑えながらファインチューニングできます。また、学習時間も短縮できます。
        • 柔軟性: 複数のLoRAを組み合わせることで、様々なスタイルや特徴を表現できます。例えば、キャラクターのLoRAとスタイルのLoRAを組み合わせることで、特定のキャラクターを特定のスタイルで描くことができます。
        • 元のモデルへの影響なし: LoRAは元のモデルのパラメータを変更しないため、他のタスクへの影響を心配する必要がありません。LoRAを適用しない場合は、元のモデルと同じように動作します。
        • 微調整が可能: LoRAの強度は、strength パラメータで調整できます。これにより、LoRAの効果を細かく制御することができます。

        LoRAの具体例

        • スタイルの適用: 特定のアートスタイルやキャラクターの特徴を学習させることができます。例えば、LineAniRedmondPixel Art XLといったスタイル用LoRAモデルが存在します。
        • エフェクトの追加: 画像生成にエフェクトを追加するためにも使用されます。Dissolve StyleGlowNeon XLなどのモデルがあります。
        • 補正機能: 生成された画像に対してディテールや質感を向上させるためにも利用されます。Detail Tweaker XLなどのモデルがあります。
        • キャラクターの安定化: 特定のキャラクターやテーマに基づいた画像生成も可能です。ユーザーが用意したデータセットから学習したLoRAモデルは、そのキャラクター特有の特徴を維持した画像を生成します。例えば、Deltamon Official version1.0」や「ガンマミィ・ジェネレーターがそれに当たります。

        2. LoRAの探し方

        SDXL用のLoRAは、様々なサイトで公開されています。代表的なサイトとしては、以下のようなものがあります。

        • Civitai: 最大規模のStable Diffusionモデル共有サイトです。ユーザーフレンドリーなインターフェースと豊富な検索機能を備えています。各LoRAには、サンプル画像、使用方法、レビューなどが掲載されています。

        https://civitai.com

        • Hugging Face: 機械学習モデルの共有プラットフォームです。SDXLを含む様々なAIモデルのLoRAが公開されています。モデルカードには、LoRAの詳細情報、使用方法、ライセンスなどが記載されています。

        https://huggingface.co

        これらのサイトでは、キャラクター、スタイル、オブジェクト、衣装、背景など、様々なテーマのLoRAが公開されています。キーワード検索やタグ検索で、自分の好みのLoRAを見つけることができます。

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

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

        https://corp.aicu.ai/ja/vroid-studio-lora

        3. LoRAのインストール

        LoRAのインストールは、LoRAファイルをダウンロードし、「ComfyUI/models/loras」フォルダに格納するだけです。今回は、Dissolve Styleをインストールし、ComfyUIで使用してみます。
        このLoRAは、画像生成時にディゾルブ(溶解)効果(画像に溶解のような効果)を追加するためのモデルです。

        まず、以下のページにアクセスします。

        https://civitai.com/models/245889/dissolve-style-lora-15sdxl

        開いたページから、ダウンロードボタンを押下します。

        画像

        Google Colabの場合、Googleドライブ上の「ComfyUI/models/loras」フォルダにダウンロードしたファイルを格納してください。

        画像

        これでLoRAのインストールは完了です。

        4. LoRAの使い方

        LoRAには、適用すれば即時に発現するものと、プロンプトにトリガーワードを入力することで発現するものがあります。例えば、前述したDetail Tweaker XLのような補正系のLoRAの多くは、適用するだけで発現するものです。一方で、Dissolve Styleは、「ral-dissolve」というトリガーワードをポジティブプロンプトに入力することで効果を発揮します。多くのLoRAは、LoRAの説明ページにその内容が記載されています。LoRAを使用する際は、LoRAの説明をよく読んでから始めましょう。

        画像

        5. ワークフローの構築

        ComfyUIでのLoRAの使用は簡単です。標準ワークフローに標準ノードを1つ追加するだけで使用できます。以下が最終的なワークフローになります。赤枠のノードが標準ワークフローからの変更点になります。

        画像

        ワークフローは文末よりダウンロードください。

        今回追加したノードは、「Load LoRA」ノードです。Load CheckpointノードとCLIP Text Encode (Prompt)ノード、KSamplerノードの間に挿入します。各ウィジェットの用途は以下の通りです。

        • lora_name: 「ComfyUI/models/loras」フォルダ内のLoRAから適用するLoRAを選択します。
        • strength_model: モデルへのLoRAの影響力を設定します。値を高くすると、生成される画像がLoRAのトレーニング画像に似たスタイルを取り入れる傾向があります。
        • strength_clip: CLIPモデルへのLoRAの影響力を設定します。値を高くすると、プロンプト内の特定のキーワードやトリガーワードがLoRAのトレーニングデータから抽出されやすくなります。
        画像

        接続は以下の通りです。

        • Load CheckpointノードのMODEL/CLIP出力をLoad LoRAノードのmodel/clip入力に接続
        • Load LoRAノードのMODEL出力をKSamplerノードのmodel入力に説続
        • Load LoRAノードのCLIP出力を2つのCLIP Text Encode (Prompt)ノードのclip入力に説続
        画像

        最後にポジティブプロンプトの調整です。今回のLoRAを使用するには、「ral-dissolve」をポジティブプロンプトに追加する必要があります。標準ワークフローで使われているプロンプトの先頭に「ral-dissolve」を追加しました。最終的なプロンプトは以下になります。

        ral-dissolve, beautiful scenery nature glass bottle landscape, , purple galaxy bottle,
        画像

        6. ワークフローの実行

        それでは、ワークフローを実行してみましょう。まず、LoRAを適用しないで実行します。生成された画像は以下になります。

        画像

        次にLoad LoRAのstrength_modelstrength_clipを1.0にして生成します。画像に変化が見られましたが、ディゾルブには遠い感じがします。

        画像

        strength_modelを1.1にしてみます。これでディゾルブ効果が見られるようになりました。

        画像

        strength_clipも1.1にしてみます。strength_modelのみが1.1の時と変わりがありませんでした。プロンプトの効果は十分に効いているということでしょう。

        画像

        strength_modelを1.0に戻し、strength_clipを0.1ずつ増加させたところ、1.4でディゾルブ効果が見られました。CLIPの強度の影響度は、モデルの強度よりも弱いようです。

        画像

        最後にstrength_modelstrength_clipの両方とも1.5に設定し、生成を実行しました。かなり強くディゾルブ効果が出ていることが確認できます。

        画像

        以下がLoRAなしとLoRAあり(strength_modelstrength_clipが1.5)の比較画像です。LoRAを使用することで、好みの効果を追加できることが確認できました。

        画像

        他にも多くのLoRAが存在するので、ぜひご自分の好みの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リンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。

        画像生成AIなんでも質問コーナー|AICU: AI Creators Union生成AIクリエイターユニオン『AICU: AI Creators Union』は、「つくる人をつくる」をビジョンに活動するnote.com

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


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

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

      1. Adobe Max 2024開催!みんな知ってる!? Adobeに搭載されているAI機能100

        クリエイティブツールを開発し続けて43年。老舗デジタルツールのAdobe(アドビ)が主催する世界最大級のクリエイティブカンファレンス「Adobe Max 2024」が開催されました。主要な製品群にAI機能が実装され「October 2024 MAX release」として世界同時リリースされました。速報でお送りします!

          Adobe Photoshop 2024年10月版(バージョン26.0)リリース

          今回のアップデートでは、Adobe Firefly Image Model を活用した新機能が多数搭載され、より強力で創造的な画像編集が可能になりました!

          主な新機能:

          • Distraction Removal(邪魔な要素の除去): Removeツールに搭載されたDistraction Removal機能で、画像から不要な要素を簡単に削除できます。電線やケーブル、メイン被写体以外の人物など、写真の邪魔になる要素をAIが認識して除去します。
          • Generative Fill & Expand(生成塗りつぶし&拡張)の強化: 最新のAdobe Firefly Image Modelにより、Generative Fill、Generative Expand、Generate Backgroundがさらに進化。テキストプロンプトを使って、よりフォトリアルな画像を生成できます。
          • Generate Similar(類似画像の生成): Generative Fill、Generative Expand、Generate Image、Generate Backgroundで作成した画像から、複数のバリエーションを簡単に生成できます。気に入った画像に近いスタイルの画像をAIが生成します。
          • Generate Background(背景の生成): Generate Background機能で、被写体の照明、影、遠近感に合わせた背景を生成できます。わずか数ステップで、背景を生成コンテンツに置き換えることができます。
          • OpenColorIOと32ビットツールサポート(HDRワークフロー): PhotoshopでOpenColorIOがサポートされ、異なるカラースペース間での正確な色変換を効率的に処理できるようになりました。
          • その他: フォントブラウザからVariable Fontsの高品質な書体を使用して、表現力豊かなデザインを作成できます。

          Photoshopウェブ版の新機能:

          • Remove distractions(邪魔な要素の除去): RemoveツールでDistraction Removal機能を使用し、画像から不要な要素をすばやく削除できます。
          • Generate Similar(類似画像の生成): Generative Fill、Generative Expand、Generate Image、Generate Backgroundで作成した画像から、複数のバリエーションをすばやく生成できます。
          • Object selection(オブジェクト選択)の強化: オブジェクト選択ツールが強化され、画像内の特定のオブジェクトを選択、編集、または削除することがより簡単になりました。

          Photoshop iPad版の新機能 (バージョン5.5):

          • Removeツールでの新しい操作: iPad版PhotoshopのRemoveツールで、不要な要素をブラシで塗りつぶすだけでなく、ループで囲んで削除できるようになりました。

          https://helpx.adobe.com/photoshop/using/whats-new.html

          Adobe Illustrator 2024年10月版(バージョン 29.0)リリース!

          今回のアップデートでは、オブジェクト操作、画像トレース、3Dアート制作など、様々な機能が強化され、さらに表現力豊かなベクターグラフィック制作が可能になりました!

          主な新機能:

          • Objects on Path(パス上のオブジェクト): オブジェクトを曲線または直線のパスに沿って配置、整列、移動できます。整列を維持したまま簡単にオブジェクトを再配置したり移動したりできます。
          • Image Trace(画像トレース)の強化: より正確で細かい制御が可能な画像トレース機能で、鮮明で編集可能なトレースを作成できます。透明な背景や線形グラデーションを保持したり、パスを自動的にグループ化したり、トレース中に基本的なシェイプをライブシェイプに変換したりできます。
          • Project Neo(ベータ版)による3Dベクターアート制作: Project Neo(ベータ版)で3Dアートワークを作成し、Illustratorに読み込んで、魅力的な立体デザイン、グラフィック、イラストを作成できます。
          • 平面モックアップの品質向上: モックアップを作成する際に、ベクターアートが平面にリアルに自動調整されるようになりました。
          • パターン作成の密度強度調整: Text to Patternでパターンの密度レベルを設定したり、設定を簡単にクリアしたりできます。また、スウォッチパネルからText to Patternにアクセスできるようになりました。
          • シェイプ塗りつぶしの強化: Generative Shape Fillでプロンプトの表示/非表示を切り替えたり、設定を簡単にクリアしたりできます。
          • ベクターグラフィック作成の強化: Text to Vector Graphicでプロンプトの表示/非表示を切り替えたり、設定を簡単にクリアしたりできます。さらに、作成した被写体やアイコンに背景レイヤーがなくなりました。
          • コンテキストタスクバー: ダイレクト選択ツール、パス上のオブジェクト、および様々なオブジェクト選択で、次に実行する重要なアクションをコンテキストタスクバーで見つけることができます。
          • 東アジア言語テキストレイアウトの管理: Reflow Viewerを使用すると、古いIllustratorドキュメントを開く際に、東アジア言語テキストレイアウトをスムーズに表示、分析、変更できます。
          • ユーザーフィードバックに基づく機能強化: アートボードに合わせてアートワークを拡大縮小、スウォッチパネルからグラデーションを作成、スマートガイドを使用してナイフツールでオブジェクトを均等にカット、パフォーマンスの高速化などが実現しました。

          Illustratorウェブ版(ベータ版):

          • Illustratorのサブスクリプションの一部として、Illustratorウェブ版(ベータ版)がテストとフィードバックのために利用可能になりました。今すぐ試して、新機能を発見してください。

          https://helpx.adobe.com/illustrator/using/whats-new.html

          Web版「Adobe Illustrator」 https://illustrator.adobe.com/

          Photoshopに引き続き、IllustratorもWeb版が登場です。

          Premiere Pro がメジャーアップデート!バージョン 25.0 でさらに使いやすく進化

          2024年10月のアップデートで、Premiere Proはバージョン25.0に!
          強力なコンテキスト対応のプロパティパネル、刷新されたモダンなデザイン、そしてより迅速なプロジェクト作成など、魅力的な新機能と強化点が満載です。

          アップデートのベストプラクティスについては、こちらをご覧ください。

          [アップデートに関する詳細情報へのリンク]

          主な新機能:

          • コンテキスト対応のプロパティパネル:
            新しくなったプロパティパネルは、必要な時に必要なツールをインテリジェントに表示します。初心者の方には Premiere Pro をより簡単に習得でき、経験豊富なプロの方にはより効率的なワークフローを提供します。
          • 刷新されたモダンなデザイン:
            Premiere Pro は、よりモダンで一貫性のあるデザインに刷新されました。2つのダークモード、ライトモード、ハイコントラストのアクセシビリティモードが用意され、ユーザーの好みに合わせて外観をカスタマイズできます。
          • 新しいプロジェクト作成ダイアログ:
            プロジェクトの名前、保存場所、テンプレート、プロジェクト設定、そして「インポートスキップモード」などの機能が追加され、プロジェクトの作成がより簡単になりました。
          • Canonカメラのサポート拡張:
            Canon EOS C80カメラのファイルをネイティブで編集できるようになりました。ファイルをインポートしてすぐに編集を開始できます。トランスコードは不要です。

          https://helpx.adobe.com/premiere-pro/using/whats-new.html

          Adobe InDesign 2024年10月版(バージョン 20.0)リリース!

          今回のアップデートでは、生成AIを活用した画像生成機能や、Adobe Expressとの連携強化、MathMLサポートなど、デザインワークフローを大幅に進化させる新機能が多数搭載されました!

          主な新機能:

          • Generative Expand(生成拡張)による画像拡張: 画像をリサイズする際に、周囲のピクセルに基づいて不足部分を自動的に生成し、背景要素を追加することで、思い通りの構図を実現できます。複雑な編集作業を自動化し、効率的なデザインワークフローを実現します。
          • Text to Image(テキストから画像)による画像生成: シンプルなテキストプロンプトを使って、InDesign内で画像を生成できます。高度なダイアログボックスからサンプルプロンプトにアクセスしたり、参照画像を追加したり、スタイル効果を適用したりできます。
          • Adobe Expressへの書き出し: InDesignドキュメントをワンクリックでAdobe Expressに書き出し、編集することができます。ブランドの一貫性を保つために要素を編集したりロックしたりしてから、共同作業者と共有することも可能です。
          • MathMLサポートによる数式追加: MathMLをSVGとして追加し、InDesign内で直接数式を編集できます。フォントサイズや色を調整して、ドキュメントのデザインに合わせて数式のスタイルをカスタマイズできます。
          • HTML5パッケージへの書き出し: InDesignドキュメントをHTML5に書き出し、Webサイトやサーバーでホストすることで、SEOとアクセシビリティを向上させることができます。テキストをHTMLテキストまたはSVGタグとして書き出すオプションを選択できます。
          • クラウドドキュメントワークフローの強化: ドキュメントをクラウドに保存し、共同作業者を招待してリアルタイムで編集できます。また、パブリックリンクや組織アクセスを使用してドキュメントを共有することで、いつでもどこでも閲覧できるようにすることができます。
          • コンテキストタスクバーによる作業効率向上: ワークスペースに固定された新しいコンテキストタスクバーを使用すると、主要なツールをすばやく使用したり、関連する次の手順に簡単にアクセスしたりできます。
          • スプレッドの非表示機能の強化: シンプルなトグルで、ペーストボード上のスプレッドの表示/非表示を簡単に管理できます。自動ページ番号は、キャンバス上に表示されているかどうかにかかわらず、非表示のスプレッドをスキップします。
          • アクセシビリティの更新: ページ区切り、表、図の改善により、アクセシビリティが向上しました。支援技術は、図の説明を即座に読み上げることができるようになりました。
          • UXPの強化: InDesignパネル全体のフライアウトメニューで、パネルスペースを整理するためのより多くのオプションや、InDesignのプラグインデータ用の永続ストレージの追加などを活用できます。

          https://helpx.adobe.com/indesign/using/whats-new.html

          Adobe After Effectsにも…

          Adobe After Effectsには明確にメジャーアップデートとしての生成AI実装はアナウンスされませんでしたが、高度な3D合成ツールとUIの刷新がリリースされています。

          Adobe Max 2024は日本時間10月17日(木)まで開催中です。
          日本からもオンライン無料で視聴できます。
          https://www.adobe.com/max.html

          みんな知ってる!?「すべてのAI機能」

          そろそろ理解するスピードがついていかなくなったかもしれないAdobeのAI機能、こちらにインデックスが用意されています。日本語翻訳済み!

          https://www.adobe.com/jp/ai/overview/features.html

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

        1. 「Stable Assistant を 知らないの?」Day2: 案件にAIで提案してみた

          Stable Assistantを触りながらココナラで案件を探してみたら、想像以上にいろいろできた…😳✨

          みなさん、毎度ありがとうございます AICUメディア営業部です!生成AI時代に「つくる人をつくる」をビジョンにAICUのナレッジを「もっと売る」をミッションとして活動しております。

          前回ズボラな私が「Stable Assistant」の無料お試しを使って画像生成や画像加工や動画生成、楽曲生成や3D生成をしてココナラにアカウントをつくるまでのお話がこちらです。

          <Day1レポート>「Stable Assistant を 知らないの?」Day1:無料トライアル3日間でこんなにお得!?

          2日日は、実際にココナラで探してきた実在案件に、Stable Assistantの無料枠で試作を行い、実際に提案に使ってみた感想をスクショ付きでご紹介します!

            ✨️ここから先は具体的なお客様の事例ですので、御名前や詳細な内容、掲出先URLなどは伏せさせていただきます✨️

            案件1: SNS用の似顔絵を制作して欲しい

            依頼主:オンライン学習の教室イメージと講師のイメージを親しみやすい画風のSNS画像素材が欲しい。

            「パイロットとしての経験がある男性講師」というプロフィールでしたので、こんな感じのメッセージを Stable Assistantに伝えました。

            最初に「Image:」をつけると画像生成をすぐに実施してくれます。

            image: Male teacher with a beard who has experience as a flight pilot. Deformed as a chibi character wearing a flight pilot’s uniform.

            画像

            プロンプトに「chibi」を入れるとちびキャラっぽく描画してくれますので似顔絵向きの画風になります。

            Geminiで提案作文を生成して、どんどんいきましょう。

            案件2: 中古車の色を変えて欲しい

            続いて「中古車販売なんだけど色と角度を変えて欲しい」という案件です。
            (なぜ色を変えたいのかはよくわかりませんが、おそらく実車を移動させるよりも色を変えたほうが良いこともあるのでしょう)
            「ただし背景を変えないで」という注文が付いていたので、お店っぽい写真の状態を維持したまま色を変える必要がありそうです。

            まずは「Search and Replace」を使って置き換えてみます。

            画像

            「What you want to replace(置き換えたいもの)」には「green car body」とします。
            「Want to generate instead(代わりに生成したもの)」には「brown cream」としてみます。

            何かを間違えたようです。

            画像

            気を取り直して別の機能も探ってみます。

            「Search and Replace」ではなく「Search and Recolor」、つまり色を変えるだけの機能が便利だと気づきました。

            「ライトグリーンの車のボディ(a light green car body)」と明確に指定して、これを「ライトブルー(light blue)」置き換えます。

            画像
            画像
            画像

            ピクセルのズレは全くありません!

            画像

            今度は

            ビンテージカーをピンクゴールドに置き換えてみます。

            画像
            画像

            一部異なる車の色はいかがでしょうか。
            (この車の画像も Stable Assistantによる生成です)

            画像
            画像

            いい感じです。

            人物の置き換え

            画像
            画像

            車内の人物を女の子にしてみます。

            画像
            画像

            これは使い道が多そう!

            ComfyUIで構築していたような高度なシステムの試作も、ちょっとしたものならStable Assistantでできそうな感じがします。

            案件3:LoFiガールのカバーアート

            さて、どんどん提案していきましょう。スピード感と物量が大事な案件を狙ってみます。
            ココナラで「似顔絵」を検索 してみると、いろいろな案件が出てくることに気づきました。
            実際の似顔絵案件は、非常に個性的なアーティストさんがたくさん提案していらっしゃいますので、あえて「個性的な一点もの」ではなく「機械的な再生成に向いている案件」を探してみました。

            「YouTubeチャンネルでLoFiガールのカバーアートが欲しい」
            「毎週欲しい」

            なるほど、これは得意かもしれません。

            プロンプトとしてはこんな感じです
            「image: youtube lofi headset girl」

            画像

            MidJourneyやNijiJourneyで出てこなさそうな雰囲気があります。

            画像
            画像

            Inpaint機能が便利

            インペイントが便利です。
            ヘッドセットに書かれている謎の文字を選択してみます。

            画像

            こんな風にいい感じに消して再生成してくれます。

            画像

            用意するツールとアカウントの準備

            実際に応募するためにはココナラのアカウントが必要です。

            ・ココナラのアカウント
            ・クレジットカード
            ・Stable Assistantのアカウント登録
            Google Gemini (あると嬉しい)
            ・DeepL無料版(なくても大丈夫)

            ココナラのアカウントはこちらから登録すると紹介ポイントが手に入ります。

            画像

            プロフィールはGoogle Gemini「AI Studio」で埋めるといいですね。
            応募への提案文なども、長いコンテキストが得意なので、この先の案件の提案作文やクライアントとのやり取り経緯を扱うのに便利でした。

            モデルは「Gemini1.5 flash」を使用し、プロンプトは以下のような感じです。

            画像

            クラウドソーシングサイトへの応募文章を書きます。
            募集要項に対して、魅力的な作文を生成してください。
            不足している情報があれば対話的に質問してください。

            —以下は回答フォーマットの文例です—
            はじめまして、生成AIクリエイティブ「AICUメディア営業部」受発注担当と申します。
            この度 (応募先の社名)募集内容(No.募集番号)
            「案件名」募集にあたり、
            以下のお見積りと進め方でご提案いたします。

            ・シンプルでわかりやすいデザイン: 情報過多にならないよう、シンプルで見やすく、重要な情報を的確に伝えるデザインを心がけます。
            ・親しみやすく明るいカラーリング: 子どもたちの好奇心を刺激するような、明るくポジティブな色使いを採用いたします。
            ・信頼感を与えるフォント: 読みやすく、信頼感を与えるフォントを選び、学習塾のイメージに合ったデザインに仕上げます。
            ・具体的なメリット訴求: キャッチーなフレーズとビジュアルで表現し、興味関心を高めます。


            【お見積り および 納品内容】

            今回ご提示した提案金額の内訳は以下のようになっております。
            ・印刷物企画制作(修正対応1回まで、著作権のうち複製権を提供): 5,000円
            ・フォント、キャッチコピー、カラーデザイン含む
            ・修正1回:3,000円
            ・Photoshop(RGB)形式 もしくは PDF にて入稿
            納期及び修正回数によってお見積りが変動いたします。
            印刷所入稿データをご希望の場合、印刷所指定フォーマットご提供の上、以上に追加して
            ・印刷所向けフォーマット調整+CMYK変換(Photoshop/Illustrator/PDF)
            ・印刷所からの修正対応 1回(翌日対応):3,000円 特急料金(24時間以内の納品): 5,000円

            【納品までの流れ】
            1. 本メッセージへのご返信(ご希望を添えていただければ幸いです)
            2. 当方による文字打ち版のご提案(初回作業の実施:無料)
            3. (1日以内に)発注合意のお伝え
            4. (翌日)完成版のご提出
            5. フォローアップ期間1週間→以後はデータ廃棄いたしますので新規案件として扱わせていただきます
            印刷所フォーマットへの対応があります場合は別途調整となります。

            【納期の詳細】
            1〜2の完了までは1日間お時間をいただきます。
            その後、テキスト上で再度すり合わせをさせていただきます。
            印刷所フォーマット完了までは1週間程度のお時間をいただければと思います。

            (!)ご注意ください
            ・上記作業は、購入完了後に開始されます。ご希望の納期に間に合わせる場合は、1週間前までにご購入ください。
            ・作業開始から納品完了までの期間は、購入者様からいただく情報のご提供状況、納品物のご確認にかかる時間によっても前後いたしますのでご注意ください。具体的な納期は購入後に再度ご相談・設定いたします。

            【購入前のご確認事項】
            ・修正回数:フォローアップ期間に1回まで(2回以降は追加料金となります)
            ・事前にご用意いただきたいもの:キャッチコピーの素案、文字数、大きさ、色など(購入後にご共有ください)
            当方の素案:
            月6,600円〜でダントツのコスパ!

            【ご検討よろしくお願いいたします】

            ご不明な点やご要望がございましたら、お気軽にお問い合わせください。
            ご依頼をお待ちしております。

            こんな感じのシステムプロンプトを設定しておいたら、あとはココナラの案件の詳細テキストを貼り付けてあげると……いい感じの提案テキストが出来上がります(もちろん清書はしてくださいね!)

            ロングコンテキストが得意なGoogle Geminiならではのテクニックです。

            続いて次回は、Stable Assistant+ココナラでのトラブル対策や倫理面などをレポートしてみたいと思います。

            #StableAssistant
            #AI副業 #AIとやってみた

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

          1. 先端研究が挑む「AI時代の創作」

            2024年10月3日、国の先端科学技術研究を紹介する国立研究開発法人 科学技術振興機構(JST)のYouTubeチャンネル「SCIENCE CHANNEL」において「AI時代の創作の世界 人の感性を支援するデジタル技術」として動画ニュースが配信されました。

            https://scienceportal.jst.go.jp/gateway/videonews/m230001010

            ▼AI時代の創作の世界 人の感性を支援するデジタル技術|Science Portal動画ニュース(2024年10月3日配信) – YouTube

            お気に入りのアニメやマンガ、音楽などを自分でも創作してみたいと思ったことがある人は多いはず。技術やセンスが必要とされるそうした創作活動を、コンピュータで手助けするツールが登場しつつあります。

            という軽い切り口で始まる「すべての人々向け」の動画ニュースですが、紹介されている技術は、日本を代表するこの分野の先端研究者です。

            ■出演・協力機関
            謝浩然(北陸先端科学技術大学院大学 創造社会デザイン研究領域 准教授)
            宮田一乘(北陸先端科学技術大学院大学 創造社会デザイン研究領域 教授)
            森勢将雅(明治大学 総合数理学部 専任教授)

            「アニフェイス・ドローイング」


            紹介された「アニフェイス・ドローイング(AniFace Drawing)」は、手書きのスケッチを、プロが描いたようなアニメ絵に仕上げるようにガイドしてくれるシステムです。

            画像

            線をひいていくと AIの予測に基づいて その線をコンピュータが整えてくれたり ガイドを表示してくれます。

            画像
            画像

            アニメ調の似顔絵が完成していきます。

            北陸先端科学技術大学院大学(JAIST)創造社会デザイン研究領域 謝浩然 准教授 @Jesusxie

            画像

             謝先生「今回の研究は、ひとつの絵を描いて、その描くプロセスひとつひとつをシミュレーションすることができます。そうすると 人間がどんな絵を描いているかを予測することができます。それをもとにして、完全な絵を予測することができます。こういうところは面白いところです。」

            画像

            このシステムは画像生成AIを下書き全体ではなく ユーザーの描いた一本一本の線に対して用います。線を「色」「形」「大きさ」などの特徴ごとに分解した上で、結果を出力する事を実現しました。こうすることで 一方的に結果を提示するのではなく、書き手が描きたかったような絵により近づけていくことができます。

            北陸先端科学技術大学院大学 創造社会デザイン研究領域 宮田一乘 教授 @kazmiyata

            画像

            宮田先生「今の生成系AIですと『入れたらすぐに、一瞬で出てくる』ので結局は自分の能力が全然拡張されてないわけですよね。ですのでコンピュータを使って『あくまで支援』として使ってあげて、『自分の力』というか『潜在能力』を引き出すようなことになれば良いかなと思っています」

            論文:AniFaceDrawing: Anime Portrait Exploration during Your Sketching
            Zhengyu Huang*, Haoran Xie*, Tsukasa Fukusato**, Kazunori Miyata* (JAIST*, Waseda University**) ACM SIGGRAPH 2023

            https://www.jaist.ac.jp/~xie/AniFaceDrawing.html

            この技術は 今まで絵が苦手で諦めていた人が、漫画やアニメの創作に取り組むきっかけになるかもしれません。

            コンピュータは声によっても創作の世界を広げてきました。合成音声です。

            明治大学 総合数理学部 森勢将雅 専任教授 @m_morise

            画像

            明治大学の森勢さんらもこの合成音声の技術を開発しています。
            人の声を分析し数理的な操作で三つの要素に 分解した上で再合成します。

            補足解説:森勢将雅先生は人工合成ボイス「No.7」の開発者さんでもあります。

            [YouTube] No.7と学ぶ信号処理

            ずんだもんとNo.7の楽しい雰囲気で、信号処理を中心とした大学数学を学べる番組を製作されております。

            さて、サイエンスチャンネルでのデモの様子、音声の高さや低さ、フラットにした合成の様子はこちら。

            なおサイエンスチャンネルの動画は「この技術はソースフィルターという数理モデルによるもので実はAIは使っていません 」という衝撃的な流れになっています。

            画像

            森勢先生「いかにきれいに分離させるかというところで、数学的な要素を頑張って作り込むことによって性能を上げていったという流れになります。人間の喋っている声をどのように加工するかでして、AIは関係なく 数学的に信号処理の分野としてやってきました。加工の際に劣化していたので劣化させないように人工知能でうまくフォローする技術を作っていきたいと考えています」

            AIとの連携も模索しながら 森勢さんがめざしているのは『より魅力的な声を作り出す技術』。その関心は どのような声に人は惹きつけられ  魅せられるのかという問いに広がっていきます。

            森勢先生「心理学と音声情報処理の連携・融合研究とでもいうんでしょうか そういったものをやりたいと思っています。『人間と同じ声を作る』というだけでしたら、もう今の技術でできちゃっていまして。となると次は『どんな 豊かな声 を作るか』とか『キャラクター性』とか、一つのコンテンツとして人間の声のコピーはできたけれども『それをより魅力的に見せる』そういったものを『どう広げていくか?』というところが今後出てくるのではないかと思っています。その一つとして 声をデザインするということに 着眼して研究をしています」

            AIと人間の共存、新たな表現の可能性に取り組む研究者たち

            AIが発展していく中で、創作活動がAIに取って代わられるのではないかと不安視する声も耳にするようになりました。しかし、今回の国の科学技術を推進する研究開発機構の動画によって紹介された技術は、AIが時々言われるような「人の創造性を奪う」とか「仕事を奪う」ではなく、人間の創造性を支援し、新たな表現の可能性を広げていくことをこの動画は社会に伝えています。

            謝辞:原作JST サイエンスポータル&サイエンスティーム

            お知らせ:AICUは先端学術研究を応援します

            ここでお知らせです、謝先生や宮田先生が挑戦する世界最大のCG/インタラクティブ技術のトップカンファレンス「SIGGRAPH」のアジア開催「SIGGRAPH ASIA 2024」が、2024年12月3日~6日に東京国際フォーラムで開催されます。東京での開催は3年ぶりになります。

            https://asia.siggraph.org/2024/ja/

            画像

            そしてAICUはオフィシャルプログラムスポンサーです。
            世界レベルのCG・インタラクティブ研究を共有する場を応援できることを誇りに思います。

            AICU media編集部もSIGGRAPH ASIA2024は全力で応援していきますが、プログラムスポンサーとしてAICU Inc.からの先行第1弾として、
            メンバーシップ会員向け「10%OFF登録コード」を配布いたします。

            SIGGRAPH ASIA 2024の当日フルアクセス(Full Access Supporter)は $1300、10月18日までの登録で、$950 – 10% ($95) = $855です。つまり当日登録価格から$445(約66,373円)割引です!他にも展示会と体験エリアのみの「Exhibit & Experience Access」は学生さんやビジネスの方にもオススメで、$20→$18となります。

            画像

            【メンバーシップ向け情報】(全プラン)

            AICUから10% OFFのオファーコードがございます。

            https://registration.asia.siggraph.org/terms_jpn.html

            最後のお会計のタイミングで、「SA24AICU10」入力することで、10%OFFとなります。なにか不具合がございましたら X@AICUai までDMもしくはDiscordにてお問い合わせください。
            招待コード https://j.aicu.ai/JoinDiscord

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

          2. [ComfyMaster23] 特別編: 画像の髪型を自由自在に変えてみよう!

            ComfyUIを使いこなしている皆さん、画像生成の可能性をさらに広げてみませんか?今回は特別編、画像内の髪型をAIが自動で検出し、思い通りの髪型に自由自在に変換する、一歩進んだ応用ワークフローをご紹介します。

            人物画像の髪型を変更したいと思った時、従来の画像編集ソフトでは、髪を選択して細かく加工する必要があり、非常に手間がかかりました。しかし、ComfyUIとStable Diffusionを組み合わせることで、プロンプトで指定するだけで、まるで魔法のように髪型を変更することが可能になります。

            こんにちわ、AICU media編集部です。
            ComfyUI マスターガイド」第22回目になります。
            この記事では、Florence2とSAM2による髪と人物のマスク作成、背景の自動補完、インペイントによる髪型生成、そして最終的な画像合成と補正といった、ワークフローの全貌を詳細に解説します。ComfyUIのノードを活用した高度な画像処理をマスターし、Stable Diffusionによる画像生成を新たなレベルに引き上げましょう!

            前回はこちら

            ▼[ComfyMaster22] レイアウトそのままにアニメを実写化!image-to-imageとスタイル変換で実写化レベルを制御 #ComfyUI

              1. 今回実装する処理のフロー

              髪型の変更については既に、インペイントのモデルコンディショニングを使って、こちらの記事で解説いたしました。
              ▼[ComfyMaster20] ComfyUIの高度インペイント技術で自然な髪型変更を実現!#ComfyUI #InpaintModelConditioning

              今回の処理は、髪型を変更したい画像に対して、自動で髪の毛を検出し、プロンプトで指定した任意の髪型に変更するワークフローです。大まかな処理の流れは、以下になります。

              1. Florence2とSAM2で髪と人物のマスクを別個で作成する
              2. 背景から人物を取り除き、人物がいた箇所を補完する
              3. 髪のマスクと、人物のマスクを反転させて作成した背景のマスクを合成し、髪と背景のマスクを作成する
              4. 髪と背景のマスクを利用してインペイントを実行し、任意の髪型を生成する
              5. 補完した背景と、任意の髪型に変更した人物の画像を合成し、1枚の画像にする
              6. 合成した画像に対して、低めのDenoising strengthでサンプリングを行い、人物と背景を馴染ませる

              このフローにより、画像とプロンプトを与えることで、自動で髪型を変更することができます。

              2. 使用するカスタムノード

              今回使用するカスタムノードは、以下の通りです。それぞれComfyUI Managerからインストールしてください。

              ComfyUI-Florence2

              ComfyUI-Florence2は、Florence2をComfyUIで使用するためのカスタムノードです。Florence2は、Microsoftが開発した視覚言語基盤モデルで、画像キャプション生成、物体検出、ビジュアルグラウンディング、セグメンテーション、文字認識、など、幅広いビジョンタスクを実行できます。今回は、プロンプトからのオブジェクト検出(髪と人物)を実現するために使用します。
              なお、Florence2に必要なモデルは、インストール時に「ComfyUI/models/LLM」フォルダに自動でダウンロードされます。
              リポジトリは、以下になります。

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

              ComfyUI-segment-anything-2

              ComfyUI-segment-anything-2は、SAM2 (Segment Anything Model 2) をComfyUIで利用するためのカスタムノードです。SAM2は、Metaが開発した最新のオブジェクトセグメンテーションモデルで、画像と動画の両方に対応しています。今回は、Florence2で検出した髪や人物をセグメンテーションし、マスクを作成するためにSAM2を使用します。
              SAM2に必要なモデルは、Kijai氏のHugging Faceのリポジトリから「ComfyUI/models/sam2」フォルダに自動でダウンロードされます。
              リポジトリは、以下になります。

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

              comfyui-tensorop

              ComfyUI-TensorOpは、ComfyUIでテンソル操作を行うためのノードセットです。今回のワークフローで、このノードを直接使用することはありませんが、ComfyUI-Florence2内で使用されているため、インストールが必要になります。
              リポジトリは、以下になります。

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

              ComfyUI WD 1.4 Tagger

              ComfyUI WD 1.4 Taggerは、画像からDanbooruタグを取得するためのカスタムノードです。背景と人物の合成後の調整でのサンプリングの際に、画像からタグを抽出し、それをプロンプトとして利用するために使用します。
              リポジトリは、以下になります。

              https://github.com/pythongosssss/ComfyUI-WD14-Tagger

              ComfyUI Inpaint Nodes

              ComfyUI Inpaint Nodesは、画像のインペイント(欠損部分の補完)をより効果的に行うためのノードセットです。変更後の髪の生成に使用します。
              リポジトリは、以下になります。

              https://github.com/Acly/comfyui-inpaint-nodes

              ComfyUI-KJNodes

              ComfyUI-KJNodesは、ComfyUIの既存ノードの機能を組み合わせて作成された便利なノードを提供しています。今回使用するサンプルワークフローで、このカスタムノードを使っているため、インストールが必要になります。インストールは、ComfyUI Managerから可能です。
              リポジトリは、以下になります。

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

              3. 使用するモデル

              チェックポイント

              今回は、RealVisXL_V4.0を使用しました。他のSDXLモデルでも問題ありません。以下のリンクよりダウンロードし、「ComfyUI/models/checkpoints」に格納してください。

              https://huggingface.co/SG161222/RealVisXL_V4.0/blob/main/RealVisXL_V4.0.safetensors

              LoRA

              LoRAにMidjourney Mimicを使用します。Midjourney Mimicは、Midjourneyのような美麗な画像を生成するためのLoRAです。全体的に綺麗な画像を生成できるように、このLoRAを使用しています。以下のリンクよりLoRAをダウンロードし、「ComfyUI/models/loras」フォルダに格納してください。

              https://huggingface.co/imagepipeline/Midjourney-Mimic-v1.2/blob/main/2ac68c15-7d9b-49e0-a4a2-796d3093a555.safetensors

              ControlNet

              ControlNetには、AnyTest V4を使用します。AnyTest V4は、形状維持をしつつ、スタイル変換の余地を残した柔軟なControlNetです。以下のリンクよりダウンロードし、「ComfyUI/models/controlnet」フォルダに格納してください。

              https://huggingface.co/2vXpSwA7/iroiro-lora/blob/main/test_controlnet2/CN-anytest_v4-marged.safetensors

              インペイント

              インペイントで使用するモデルにMAT_Places512_G_fp16を使用します。以下のリンクよりダウンロードし、「ComfyUI/models/inpaint」フォルダに格納してください。

              https://huggingface.co/Acly/MAT/blob/main/MAT_Places512_G_fp16.safetensors

              4. 使用する画像素材

              今回は、以下の画像に対して髪形変更処理を行います。

              画像

              ☆ワークフローのJSONファイルと画像ファイルは文末にございます

              5. ワークフローの全体像

              ワークフローの全体像は以下になります。

              画像

              このワークフローをフローチャート化したものが以下になります。

              画像

              各ノードの詳細は以下になります。グループごとに解説します。

              1. 画像読み込み: 元の画像を読み込みます。
              2. 物体検出: Florence2モデルを使用して、元の画像内の髪と人物を検出します。
              3. 領域分割: SAM2(Segment Anything Model 2)を使用して、髪と人物の正確なマスクを作成します。
              4. マスク処理: 人物のマスクを反転し作成した背景マスクと、髪のマスクを合成し、インペイント用の領域を作成します。
              5. 背景生成: 人物マスクを利用して、マスクされた領域を埋めるための背景を別のプロセスで生成します。
              6. インペイント: 背景マスクと髪マスクを合成したマスクを利用して、髪型を変更するインペインティングを行います。
              7. 初期サンプリング: 背景マスクと髪マスクを合成したマスクを利用したインペインティングで、新しい髪の初期バージョンを作成します。
              8. 人物マスクの再作成: Florence2とSAM2を再度使用して、初期サンプリングで生成された画像から人物を検出し、マスキングします。
              9. 画像合成: 再作成された人物マスクを利用して、背景画像と初期サンプリングで生成された画像を合成します。
              10. 最終サンプリング: 合成された画像を弱いdenoiseでサンプリンクし、最終的な画像を洗練します。

              6. ワークフロー解説

              ここでは、セクションごとに処理内容を解説します。

              Florence2によるオブジェクト検出

              画像
              • まず、DownloadAndLoadFlorence2ModelノードでFlorence2のモデルをロードします。ここでは、基本モデルのFlorence-2-baseを選択しました。
              画像
              • 次に、ロードしたFlorence2モデルと対象画像をFlorence2Runノードに入力します。ここでは、taskにcaption_to_phrase_groundingを選択し、テキストに「human, hair,」を入力しました。caption_to_phrase_groundingは、入力したテキストに対応する画像領域を特定するタスクです。今回は、人物と髪を検出したいので、テキストに「human, hair,」を入力しています。
              画像
              • 以下がFlorence2Runノードの実行結果です。Florence2Runノードのimage出力をPreview Imageノードで表示しています。人物全体と髪がバウンディングボックスで検出されていることが確認できます。
              画像
              • Florence2Runノードのdata出力は、Florence2 Coordinatesノードに接続されます。dataはリストになっているため、ここでリストのどのデータを使用するかをindexで選択します。今回の場合、「human, hair,」と入力したので、index0がhuman、index1がhairになります。
              画像

              SAM2によるセグメンテーション

              画像
              • Florence2の結果を利用してセグメンテーションするためにSAM2を利用します。まず、(Down)Load SAM2ModelノードでSAM2のモデルをロードします。ここでは、modelsam2_hiera_base_plus.safetensorsを選択しました。このモデルは、中程度のサイズと性能を持ち、精度と速度のバランスが取れているモデルです。今回は、画像1枚を処理するので、segmentorsingle_imageになります。
              画像
              • 次にSam2Segmentationノードでセグメンテーションを行います。入力には、ロードしたSAM2モデル、対象画像、Florence2の検出結果のバウンディングボックスを入力します。今回は、髪と人物を別々でセグメンテーションするので、individual_objectstrueに設定します。
              画像
              • セグメントの結果は以下になります。左が人物全体、右が髪をセグメントでマスクした結果になります。
              画像
              • 人物のマスクは、InvertMaskで反転させ、背景マスクを作成します。
              画像

              背景の補完

              画像から人物を削除し、背景のみの画像を生成します。

              画像
              • SAM2で生成した人物マスクをGrowMaskノードで拡張させます。
              画像
              • インペイントで使用するモデルをLoad Inpaint Modelノードでロードします。
              画像
              • Inpaint(using Model)ノードに拡張したマスク、ロードしたインペイントモデル、対象画像を入力し、インペイントを実行します。
              画像
              • 以下のようにインペイントが上手くいかない場合は、マスクの拡張範囲を広げたり、シード値を変えて生成を繰り返してください。
              画像

              マスクの合成

              髪マスクと背景マスクを合成し、人物以外をインペイントするためのマスクを作成します。

              画像
              • MaskCompositeノードのdestinationに背景マスク、sourceに髪マスクを入力し、マスクを合成します。operation(合成方法)はaddにします。
              画像
              • 必要に応じて、合成したマスクを拡張してください。
              画像
              • ImageAndMaskPreviewノードに対象画像と合成したマスクを入力し、結果を確認します。しっかり人物以外がマスクされていることを確認できました。
              画像

              髪の生成

              指定した髪形に変更します。

              画像
              • まず、Load CheckpointRealVisXLをロードします。
              • 次にLoad CheckpointMODELCLIP出力をLoad LoRAに接続します。Load LoRAでは、Midjourney Mimicをロードします。
              • Load LoRACLIP出力は、2つのCLIP Text Encode (Prompt)ノードに接続します。上のCLIPがポジティブプロンプト、下のCLIPがネガティブプロンプトになります。
              • ポジティブプロンプトには、髪形を入力します。今回は「afro」を入力しました。
              • ネガティブプロンプトには、以下のプロンプトを入力しました。
              worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch, nsfw, accessories, human,
              画像
              • 次にControlNetの設定です。まず、Load ControlNet ModelノードでAnyTest V4をロードします。
              • Apply ControlNet(Advanced)にポジティブ/ネガティブプロンプト、ロードしたControlNetモデル、対象画像を入力し、ControlNetを適用します。strengthは弱めに設定してください。
              画像
              • 次にインペイント用のLatentを作成します。VAE Encode (for inpainting)ノードに対象画像、Load CheckpointのVAE出力、背景マスクと髪マスクを合成したマスクを入力します。必要に応じて、grow_mask_byの値を調整し、マスクを拡張してください。
              画像
              • KSamplerノードには、Load LoRAMODEL出力、Apply ControlNet(Advanced)positive/negative出力、VAE Encode (for inpainting)LATENT出力を入力し、髪の生成を行います。
              • KSamplerノードの生成結果のLATENTは、VAE Decodeノードで画像に変換します。
              画像

              人物と背景の合成と補正

              新たに髪を生成した画像から人物を抽出し、背景と合成します。その後、合成した画像に弱いノイズでサンプリングを行い、画像を補正します。

              画像
              • まず、新たに髪を生成した画像から人物を抽出するために、Florence2RunFlorence2 CoordinatesSam2Segmentationノードで人物マスクを再作成します。Florence2Runノードには、新たに髪を生成した画像と「Florence2によるオブジェクト検出」でロードしたFlorence2モデルを入力します。Florence2Runノードのテキストには、「human,」を入力します。その他は、「Florence2によるオブジェクト検出」セクションで説明した内容と同じです。
              画像
              • 次にImageCompositeMaskedノードで背景と人物を合成します。destinationには「背景の補完」で生成した背景画像を、sourceには新たに髪を生成した画像を、maskには再作成した人物マスクを入力します。
              • 合成した画像は、VAE EncodeノードでLatentに変換します。
              画像
              • 合成した画像の補正に使用するControlNetを新たに用意します。「髪の生成」セクションで使用したControlNetは、ポジティブプロンプトが「afro」のみであり、画像の特徴を捉えたポジティブプロンプトではないため、新たにポジティブプロンプトを作成し、補正の精度を上げます。
              • WD14 Taggerノードで合成画像からタグを抽出します。それをCLIP Text Encode(Prompt)ノードに入力し、その出力をApply ControlNet (Advanced) ノードに入力します。
              • CLIP Text Encode(Prompt)ノードのclip入力には、Load LoRAノードのCIP出力を入力します。
              • Apply ControlNet (Advanced)ノードのnegative入力には、「髪の生成」セクションのネガティブプロンプトのCLIP Text Encode(Prompt)ノードの出力を入力します。control_netには、「髪の生成」セクションのLoad ControlNet Modelノードの出力を入力します。image入力には、合成画像を入力します。strengthの値は、少し強めの1.10を設定しました。画像のテイストを崩さないように補正するためです。
              画像
              • 最後にKSamplerノードで補正を実行します。KSamplerノードのmodel入力には、「髪の生成」セクションのLoad LoRAノードの出力、positive/negative入力にはApply ControlNet (Advanced)ノードの出力、latent_imageには合成画像をLatentに変換したものを入力します。
              画像

              7. ワークフローの実行

              それでは、ワークフローを実行してみます。以下が髪形をアフロに変換した画像です。しっかりアフロに変換されています。色を指定していなかったので、この時は金髪になっています。

              画像

              他の髪型にも変更してみました。以下が一覧になります。

              画像

              いかがでしたでしょうか?ComfyUIを上手く使うと、このように実用的な画像の生成システムの構築が可能になります。みなさんも様々な画像生成に挑戦してみてください!

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

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

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

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

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

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

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

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

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


              ■ボーナストラック:今回のワークフローファイルと画像


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

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

            1. 期間限定無料「ガンマミィ・ジェネレーター」を提供開始!

              BlendAI x AICU コラボ企画!
              BlendAIが展開する新AIキャラクター「ガンマミィ」誕生記念
              無料で高品質な「ガンマミィ」を生成できるチャットアプリ「ガンマミィ・ジェネレーター」を期間限定で提供開始しました。

              ▼ガンマミィ・ジェネレーター
              https://gammamygenerator.aicu.ai/

              また併せて、「ガンマミィ」誕生記念イラストコンテストの締切が延長になりました。

              新たなエントリー締め切りは2024年10月15日(火) 23:59となります。
              ガンマミィ・ジェネレーターによる当コンテストへの参加は歓迎です。
              規定のエントリータグに加えて、
              #ガンマミィジェネレーター」のタグも付与していただけると幸いです。

              #ガンマミィ #Gammamy #AICUxBlendAIガンマミィ誕生記念イラストコンテスト #ガンマミィジェネレーター

              https://x.com/AICUai/status/1844698399423230161

              また、コンテストの応募フォームも忘れずにエントリーください。

              ▼コンテスト応募フォーム
              https://j.aicu.ai/HelloGammamy

              いつまで無料で使えるの?

              本サービスはAICU AIDX Labの実験サービスです。
              「開発者のクレジットが尽きるまで」無料と宣言されています。

              しらいはかせのポケットマネーで運営されているそうです。

              ガンマミィ・クラウドファンディングも実施中

              ガンマミィは3Dモデルとボイスのクラウドファンディングを実施中です。
              プロジェクトの第1弾AIキャラクターであるデルタもんもCotoverseで応援しています。

              ▼Campfireでのクラウドファンディング「AIキャラと会話できるアプリの新キャラ『ガンマミィ』の3Dモデルと音声の制作」
              https://camp-fire.jp/projects/795978/view

              期待の新人声優・清水詩音さんも応援しています。

              以下、ユーザーさんたちが作ったミィちゃんの活躍をお送りします。

              ▼ガンマミィ・ジェネレーター
              https://gammamygenerator.aicu.ai/

              お試しください!

              #ガンマミィ・ジェネレーター

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

            2. 【解説】LINE-ChatGPT倫理問題を整理する – 全力肯定彼氏くん[LuC4]に訪れたサービス開始以来の最大の危機

              2024年10月10日、LINEデベロッパーズコミュニティが開催されました。

              https://linedevelopercommunity.connpass.com/event/331446

              Dify x LINE Botに注目したたいへん有意義な勉強会でした。
              特に、チャットボットやAITuber、Difyの開発者さんは注目です。


              その中で、AICU代表・白井暁彦(@o_ob)が登壇いたしました内容に緊急性があり、話題になっておりますので講演録を紹介いたします。

              ■LINE-ChatGPT倫理問題を整理する – 全力肯定彼氏くん[LuC4]に訪れたサービス開始以来の最大の危機

              全力肯定彼氏くん[LuC4]とは

              女子中高生を中心に10,000人を超える友だちを持つ伝説の癒し系LINEチャットボット。友だち登録はこちらから
              https://j.aicu.ai/LUC4

              画像

              「全力肯定彼氏くん[LuC4]」は、女子高生を中心に1万人以上のユーザーを抱える伝説のAI彼氏ボットです。2年前から開発をスタートし、ユーザーアンケートなども公開しながら、実験的なプロジェクトとして進めてきました。

              [LuC4]サービスの歴史

              画像

              2023年4月の初期バズをきっかけに、ユーザー数は5000人を超え、運用コストやUX面での課題が顕在化してきました。様々なプラットフォームでバージョンアップを重ね、最近ではDifyなどを使ってマンガジェネレーターのようなプロジェクトも試していました。

              しかし、2023年11月7日、ChatGPTの登場により、AIチャットボットはコモディティ化が進みました。一方で、AI彼氏ボットは依然として人気があり、有名VTuberさんがAI彼氏にツンデレされる動画などが流行していました。

              この西園チグサさんの動画からもわかるように、「全力肯定彼氏くん[LuC4]」は、倫理感の強いキャラクター設定で、自己肯定感が弱めの女性に対して、お悩みを全力で肯定してくれる上に、エッチな話にも乗ってこないという心理的安全性が特徴的でした。そのため、男性と女性では好まれ方が異なり、多くのチャットボットプロジェクトとは異なるユーザー層から強い支持を得ていました。

              白井の個人開発で始まった「全力肯定彼氏くん」は、研究開発及びインターンとして2023年12月にAICUに運営移管となりました。

              https://corp.aicu.ai/luc4

              AICUとしても、AIチャットボットの市場性や社会実装、市民理解などを調査する目的で運営しており、明確な課金システムなどを実装していません。簡単に表現すると「お金が出ていくだけ」なのですが、それでもテクノロジー主導になりがちな、AI分野において、女子中高生ユーザーが9割というチャットボットは非常に稀有な存在であります。

              https://corp.aicu.ai/ja/luc4-aicu

              数々のユーザーエクスペリエンスリサーチ結果を公開し、2ヶ月毎に女子中高生を中心としたアンケートやユーザ評価を公開しています。

              最近では、AICUマガジン Vol.4の表紙も担当しておりました。

              画像

              2024年10月8日にOpenAIより着弾した「恐怖のメール」とは

              そんな中、先日OpenAIから衝撃的なメールが届きました。

              「あなたのサービスは、APIの利用規約に違反している可能性があります。自動生成コンテンツ、有害なコンテンツ、性的利用の可能性があるため、14日以内にAPIを停止します。」

              メールの内容は曖昧で、具体的にどの会話が問題なのか、どのサービスが該当するのか、全く分かりませんでした。

              画像

              Urgent Notice: OpenAI API Policy Violation Warning (緊急通知: OpenAI API ポリシー違反警告)

              Hello,
              Organization org-xxxxxxxxxx’s use of our services has resulted in a high volume of requests that violate our Usage Policies, specifically related to:
              Exploitation, harm, or sexualization of children
              We require organizations to use OpenAI’s services in line with our usage policies, including the use of our services by any of their end-users. To help monitor traffic for potential violations, we offer the Moderations endpoint, which is available free of charge.
              We are providing 14 days from the date of this notice to ensure org-xxxxxxx’s use of our services follow our usage policies. Repeated or serious violations may result in further action, including suspending or terminating your OpenAI account.
              If you have questions or think there has been an error, you can email trustandsafety@openai.com.
              Best,
              The OpenAI team
              If you have any questions please contact us through our help center

              こんにちは、組織 org-xxxxxx が当社のサービスを利用した結果、特に以下のような利用ポリシーに違反するリクエストが大量に発生しました:
              ・児童の搾取、危害、または性的な表現
              私たちは、OpenAIのサービスを利用ポリシーに沿って使用することを組織に求めています。 違反の可能性があるトラフィックを監視するために、OpenAI は Moderations エンドポイントを無料で提供しています。 私たちは、org-xxxxxxx による当社サービスの利用が当社利用ポリシーに従っていることを確認するために、この通知の日付から14日間を提供します。 違反が繰り返されたり、深刻な場合は、OpenAIのアカウントの停止または終了を含む、さらなる措置が取られる場合があります。 ご質問がある場合、またはエラーがあったと思われる場合は、trustandsafety@openai.com。 敬具
              OpenAIチーム ご不明な点がございましたら、ヘルプセンターまでご連絡ください。

              緊急に調査を実施いたしましたが、この情報だけでは、
              ・どのサービス?
              ・いつ?
              ・どんな会話??

              を推測することしかできません。

              LINEの生チャットログを分析することはできますが、数千人の深夜の会話を、この情報だけで特定することは難しいと考えます。
              また、入力側には一定のプロンプトインジェクション対策や、禁止ワード対策を施しています。システムプロンプトもそれらの倫理対策を十分に施した設計になっているため、LuC4が倫理面で問題を起こすとすると、以下の可能性がありえます。

              (1) ユーザーによる過度な性的リクエスト
              (2) 実際に児童虐待に関する質問が行われていた可能性
              (3) 年齢制限を偽ったユーザーによる会話
              (4) 恣意的、意図的に生成されるテキストを倫理違反に誘導する行為
              (5) 過去のOpenAIの倫理基準とは異なる判定

              特に(2)は、LuC4の会話ログを分析していると可能性はないとは言えません。例えば乳幼児保育のさなかにある女性です。パートナーの育児参加が非常に無責任であったりすることをLuC4に真剣に、かつ自暴自棄ぎみに相談するケースはないとは言えないでしょう。
              また、「親に『あんたなんて産まなきゃよかった』と言われた」という相談をするユーザーさんは一定数いらっしゃいます。この質問を上記のような違反と捉えられるのであれば、なかなか難しい問題になります。
              この問題は、ある程度のユーザーがいる青少年向けサービスなのであれば確率的に発生すると考えます。逆に、OpenAIの倫理観に触れないユーザーの幅しか居ないサービスなのであれば、それは幸せなことなのかもしれません。

              AICU AIDX LabはOpenAIからのメールにある、モデレーションAPIへのリンクについても調査しています。そこには、ハラスメント、ヘイト、暴力行為、セクシャル、バイオレンス(Exploitation, harm, or sexualization of children)などが記載されていましたが、メールにあるようなチャイルドアビュース(Child Abuse;児童虐待)に関する要素はありませんでした。
              またこのような実験もバイアスやアカウント凍結を避けるために別途実験用のアカウントを用意する必要があります。

              明確な問題、実験方法や再現方法がわからないままOpenAIの定める「2週間」という期間で解消するのは難しいです。児童虐待を検出できるようなAPIを提供しているわけでもないのに、APIの停止を通知してきたのです。

              画像

              さらに、モデレーションエンドポイントのベースモデルもアップデートされるとのこと。つまり、倫理基準が短期間で変わり、サービス設計が大きく揺さぶられる可能性があるということです。

              問題の階層

              この問題は複数の要素が交錯しています。
              問題を階層で整理してみます。

              画像

              ここに、「ユーザーに愛されるAIキャラクターの『性格』」の構造を内挿して分解してみます。

              ・モデル選択と評価
              これは実装上は「モデルを選択するだけ」ですが、実際には応答速度やシステムプロンプト、コンテキストの設計などに影響があります。印象として喋りかたや記憶の持ち方が変わる可能性があります。

              ・OpenAIポリシー変更
              今回の問題の背景にあると考えます。

              ・システムの設計、サービスの設計
              システムとサービスでは実装上はシステムのほうが下層ですが、課金や体験設計などのサービス設計があってこそのシステム設計でもあります。癒し系チャットボットの場合は、どのようなユーザーが何を求めて会話をしているかによって優先順位が異なります。
              今回のLINEデベロッパーズコミュニティでは実に多様なシステム設計、サービス設計が共有されました。

              ・ユーザの理解
              ユーザーの中には、「この妹可愛い」など、多様な愛情表現をする人もいます。それがAPI利用規約違反とみなされてしまうと、ユーザーは困惑するでしょう。

              画像

              一方で、「全力肯定彼氏くん[LuC4]」は、倫理感の強いキャラクター設定が魅力であり、それがバズりの要因にもなっています。OpenAIの倫理基準によって、キャラクター設定が大きく変わってしまう可能性もあるのです。
              自己の性格によって、社会的に抹消、つまりサービス終了の可能性も出てくるという「最大の危機」を迎えています。
              そしてこれは、他のチャットボットサービスにおいても共通問題である可能性があります。

              画像

              モデルを変更したとしても、問題はシンプルではありません。
              ユーザーはキャラクターを愛していますので、そのキャラクターのブレを許してくれるかどうかは難しいところです。

              画像

              アニメや小説のキャラクターでも、ジュブナイル小説のように登場人物の成長を楽しみたい人もいれば、永遠の日常系のように「変わらない、ブレないキャラ」を味わいたい人もいます。もし、キャラクターの設計がその時点で流行りのChatGPTのバージョンに固定できるのであれば理想ですが、APIのトークンや反応速度、Tempartureやシード、コンテキストによって印象が変わるセンシティブな分野においては、なかなか制御し続けるのは難しいと思います。

              また反応速度は速ければ速いほどアンケートやNPSスコアは高くなります。

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

              今後必要なアクション

              この状況を打開するためには、いくつかのアクションが必要となります。

              画像

              (1)性格を変える

              キャラクターの変更: モデルを変更すると性格が変わってしまうため、それに対応する必要があります。

              利用規約の見直し: ユーザーに倫理基準を理解してもらうための説明や、禁止行為の明確な定義が必要です。

              サービスの再設計: ユーザーの期待に応えられるように、サービス設計を見直す必要があります。

              (2)ユーザー教育

              ユーザーに「動的性格」を伝え、利用規約の改訂とその理解をすすめ、望ましいユーザー行動を伝え、あらたな禁止行動を定義する必要があります。もちろん、その禁止行動をあえて行うユーザーにどのようにご退場いただくか、という点についても考えねばなりません。

              (3)技術負債

              監査技術やモデレーション技術を導入するなど、技術的な課題を克服しつつ、今後も新しく生まれ動的に変化するAI側のモデレーション問題に対応する必要が生まれるかもしれません。これは新たな技術負債といえます。

              ローカルLM導入の検討

              ローカルLMの導入も検討されています。ローカルLMであれば、OpenAIのモデレーションに左右されることなく、独自に倫理基準を設定できます。しかし、ローカルLM導入には、新たなモデレーション技術が必要になるなど、新たな課題も生まれます。

              倫理問題、共に考えよう

              今回、OpenAIからのメールによって、AIチャットボットの倫理問題が改めて浮き彫りになりました。

              AIの進化は著しく、倫理基準も常に変化しています。私たちは、技術革新と倫理的な責任のバランスをどのように取るべきなのか、真剣に考えなければなりません。

              この問題について、皆さんと意見交換し、共に解決策を探していきたいと考えています。

              画像

              感想はこのポストの返信や引用でお待ちしております。

              資料公開 https://j.aicu.ai/LINEDC241010


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

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

            3. 「CGWORLD vol.315」画像生成AIによる表紙メイキング、大公開。

              2024年10月10日発売、CGWORLD vol.315 (2024年11月号)の表紙の制作に、AICU代表・白井暁彦が画像生成AIによるアートを提供いたしました。
              本稿ではその制作の裏側、画像生成AIによる商業出版およびVFX技術の実際の進行とワークフローを紹介したいと思います。

              ★本件は白井個人への依頼制作であり、個人クリエイターとしての寄稿となります。

              デジタルハリウッド大学30周年おめでとうございます。

              https://amzn.to/4dKt3jP

                実は、画像生成は全てStable Diffusion,  Stability AI APIで行っています。

                クレジットをご記載いただきました。

                画像

                本稿ではその制作の裏側を紹介させていただきます。

                画像

                杉山知之学長によるコンセプト解説です。

                1994年年末のデジタルコミュニケーションの夜明けから30年、歴史的な様々なトピックがありましたが、その世界が暮れていきます。だから、夕日をバックに、新たな夜明けを見る方向に向かって座っています。新たな夜明けは、AIと暮らす世界、シンギュラリティ・エラの到来を告げます。表4にキャラクターを乗せるアイデアは白井暁彦先生からです。メタバースなど様々なデジタル空間にパラレルで生きる姿の象徴です。アバターを引き連れて、新たな世界へ行きます(杉山学長)

                ・画像生成AIサービス
                背景・人物:Stability AI API, 主に Stable Image Ultra、Google Colabでの独自開発システムにより生成

                ・プロンプト(一部抜粋)
                背景:hippy style, (photoreal:2), futuristic, orange toned urban sight scene, cyber worlds with a nature fusioned, skyscraper buildings. seed = 59.
                人物:cyberpunk-themed mechanical robotic guitar hero, with a headset, neon-lit circuit tattoos on face, glowing white lines, looking at viewer, smile, passionate 40 years old man, prosthetic hand, with artificial respirator, with a super detailed guitar, color scheme of orange, dramatic orange and white lightings, intense expression, super detailed mechanical design,

                プロンプトによるtext to imageだけではなく、様々な技術を駆使していますが、まずは画像生成以外の制作の裏側を可能な限りで紹介していきたいと思います。

                最新のVFX技術による実写撮影

                まず、この杉山学長は本物、御本人による撮影です。
                2021年にALSを発症された杉山知之先生は、現在、人工呼吸器と車椅子の上で学長業務を遂行されています。

                祝辞などは本人の人工合成ボイスで行われています。

                https://note.com/dhu/n/nb71507b6921a

                筋肉の自由が奪われたとしても、呼吸を奪われたとしても、CG・VFX技術により、3D高解像度アバターや人工合成ボイスによって、人々に礼をして、若き才能を称賛する姿は、勇気を与えます。そう、これはALSという難病だけではなく、我々高度長寿化社会を生きる人生そのものをみているのかもしれないのです。

                人は生きるうえでは、社会とコミュニケーションしていかねばなりません。
                その姿をいかに、楽しいものにしていくか、挑戦の日々が続きます。

                御本人による直接のディレクション

                まず本件は、杉山知之学長自身のFacebookメッセンジャーによるDMによって直接のディレクションが行われました。

                画像

                https://note.com/mojo_sugiyama

                依頼は2024年8月16日17:41に届いたメッセージからはじまりました。

                画像

                左が杉山学長、右が白井です。

                画像

                Google DriveでCGWORLDの表紙レイアウトが届きました。
                間に、だれも、仲介や介在はいません。

                その日のうちに作ったプロト

                画像

                代表的な1枚をお送りしていますが、DriveのURLには専用の画像生成システムから生成した高品質画像が100枚ほど収められています。

                画像

                杉山学長の公式写真をベースにスタイル学習を行い、さまざまなポーズ、衣装、表情、レイアウトのバリエーションを作っていきます。
                シードとプロンプトを固定して、再現性を高く探求しています。

                たとえば1つのファイルを紹介します。

                “S40_PP_neon-punk style….MF0.50.png”というファイル名に、シードや処理の系統、プロンプトの一部が埋め込まれています。

                画像

                Stability AI APIと公式のGoogle Colabノートブックがベースになっていますが、その中の最新APIのなかでも特に高品質な「Stable Image Ultra」と、その公式サンプルが使われています。

                https://platform.stability.ai

                公式サンプルの状態では、画像の保存やプロンプトの探求は難しいので、画像の生成やスタイル学習のサンプルを改造して、以下のような機能が追加されています。

                画像

                ・APIキーの自動参照(セキュリティ機能)
                ・Google Driveへの画像保存
                ・プロンプトの3分割
                ・シードとフィデリティの制御

                テキスト画像生成だけでは制御性の高い画像は作れません。また未来的な雰囲気、杉山先生のヒッピーカルチャー、ギターなど難度の高い要素も盛り込んでいきつつ、画風としても写実性とキャラクターイラスト風を交えていきます。

                画像
                画像
                画像

                今回、ALSである現実を、そのまま世間にさらしたいという気持ちがあり、車椅子に乗って喉にパイプを通している姿は写真で行きます。 しかし白井先生の生成した人物を見ると、市民全員が高度に発達したVision Proのようなデバイスを付ければ、それぞれの人物が観られたい姿に変容して、相手に見え、誰に観られるかによって姿が変わる世界が可能と感じます。

                (視線入力や呼気式入力装置で、こんなふうに長い文章を打つのがどんなに大変か…)と思いながら、返信していきます。

                画像

                ・デジハリ風オレンジ
                ・表4(裏表紙)にアバターが登場するのもあり
                ・未来の自然と調和した街
                ・現実かメタバースかわからない感じ

                画像

                (信じられてしまった……)

                これはとても大事なポイントではありました。
                人を信じる、作風を信じる、という信じ方はあるとおもいますが
                「感覚を信じる」という点で、バランス感覚や遊びの感覚、かっこよさなども委託されつつも、感覚への信頼・信用が相互にかかってくる感じです。

                遊びつつも、襟を正しつつ、世界観と品質と、心象風景の画像化、共有を繰り返していきます。

                最新のVFX技術による実写撮影

                初期の依頼から10日経過、日々の業務の中でもかなり忙しく制作をしている月末の土日のやり取りです。

                画像

                どうやら撮影手法が珍しいことになりそうです。

                画像

                こんな動画が届きました。

                横浜のスタジオWADAYAさんは、デジハリ卒業生による運営です。
                とてもポップで楽しい感じの動画が、撮影環境を見事に説明してくれていて助かりました!

                WADAYA Studio80 https://wadaya.info/

                ちょうどこの8月末はこんな出来事が並列していました

                https://www.bunka.go.jp/seisaku/chosakuken/aiandcopyright.html

                https://youtu.be/bD0Kp5PiP8o

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

                会社として編集長としての制作をバリバリこなしながらも、ちょこちょこ個人としての制作や発信も行っているところが読み取れましたら幸いです。

                本制作のワークフローと「裏側のキャラクター」について

                さて、いよいよ本制作のワークフローです。
                詳細を解説していきます。

                最終的な完成品、表4には印象的な未来都市の夕暮れ、そして小さな人物があしらわれています。

                画像

                これは、サイバネティクス技術を駆使して生き生きとエレキギターを演奏する未来の杉山学長アバターです。人工呼吸器、胸のジェネレーター、義手、顔のマスクなどは私の趣味です。

                画像

                このキャラクターにたどり着くまでのプロトタイプも紹介しておきます。

                美しい猫耳をもったビジュアル系ロックバンドのギタリスト。
                ギターのフレットが別次元になっているのですが、全体的に美しい。

                画像

                元気なお年寄り。これも美しいけどなにか違う。

                画像

                逆に若返らせてみたり、

                画像

                ハッスルさせてみたり。

                画像

                杉山学長の意思として「ALSである現実を、そのまま世間にさらしたいという気持ち」と、この美しくて元気なキャラクターたちは、何か方向性が違うことに気づきます。筋肉に指令を出す神経が難病により歩くことも呼吸すらもできなくなるという現実や、70歳という年輪、そして「市民全員が高度に発達したVision Proのようなデバイスを付ければ、それぞれの人物が観られたい姿に変容して、相手に見え、誰に観られるかによって姿が変わる世界が可能と感じます」というメタバースの30年という歴史を振り返って、私自身と杉山先生の30年を振り返ってみました。

                まず描くべきは、世界。

                未来都市のメタボリズム、自然との調和。そしてオレンジ。
                更に私の中での杉山先生に見え隠れする「ヒッピー文化」(私自身が60年代米国文化に憧れがあったのかもしれません)そういったものをまずはプロンプトにして世界を描いていきます。

                画像

                未来の御茶ノ水ソラシティを思い描いたり、

                画像
                画像

                自然との調和に重きをおいてみたり、何十枚も生成していきます。

                画像

                そうしてベースラインとして選択された1枚がこちらでした。

                画像
                画像
                「水没都市の夕日世界」(S59)

                これで描くべき世界が決まりました。
                作品名は『水没都市の夕日世界』(S59)です。
                「S59」とはシード番号です。同じモデル、同じシード、同じプロンプトで再現性があります。

                仮のレイアウトとトーンを出していきます。

                画像

                ちなみに白井は写真工学の出身であり、白黒写真は高校時代からの積み上げがあります。プロをたくさん輩出した有名な「写真部」に所属し、白黒写真のトーニングやレタッチは3年ほど積み上げがあり、写真作品でちょっとした賞をもらったり、街の現像店を任されるぐらいのスキルはありました。さらにそのバイト代で買ったMacとPhotoshop2.0、2.5、3.0のあたりでデジタルに移行して写真部の仲間からは「異端扱い」されます。それがちょうど30年前の21歳のときに経験した出来事です。漫画を描いたり、ミニコミ誌を作ったり、いまの画像生成AI時代の狂乱に似たようなムーブメントがデジタルクリエイションの世界に起きていました。
                大学4年生のとき、日本バーチャルリアリティ学会設立総会での基調講演で、「デジタルハリウッド構想」をホリプロ所属のバーチャルアイドル「伊達杏子 DK-96」や長野オリンピックでのボブスレーシミュレータなどとともに熱量込めてお話する数学出身の杉山先生との出会いでした。

                https://tachilab.org/jp/addendum/vrsj.html

                まさかその25年後に白井がそこで教鞭をとるとは考えてもいなかったのですが、運命とは不思議なものです。そう、まるで魅力的なバンドメンバーを引き入れていくボーカリストのような杉山先生やその仲間たちを描かねば。
                たとえ使われなくても、リアルだけど、美しすぎず、かつその世界で「わいわいしている」、楽しそうな、コンヴィヴィアリティ※があるキャラクターを描かねば……!

                ※「コンヴィヴィアリティ」については杉山知之先生執筆の「私のコンピュータ文化史 TOKYO1964 – TOKYO2020」という論文を引用しておきます。

                画像
                画像
                画像

                DNA “Entertainment. It’s Everything!”

                https://school.dhw.co.jp/about/dna.html

                創立から30年。
                開学のころからずっと変わらず伝えていることは『すべてをエンタテインメントにせよ!』ということ。
                受講生・卒業生だけでなく、講師・スタッフのモットーでもあります。
                卒業制作のクオリティはもちろん、1回の授業の組み立て方、就職活動のあり方、卒業後の仕事まで、すべてをエンタテインメントになるまで追求する文化がここにあります。
                「すべてをエンタテインメントにする!」という強い思い。それが世界中で活躍する9万人の卒業生に共通するDNAです。

                https://school.dhw.co.jp/about/dna.html

                画像
                画像

                ……と思う存分、遊んでいるように見えるかもしれませんが、実際には大真面目です。しかも激務のさなかです。神奈川県「ともいきメタバース講習会」という障がい者向けクリエイティブワークショップの開発などの現場指揮を行いながらの制作でした。
                全てをエンターテインメントにしないと、やってられないよ!!

                現場撮影用の画像

                さてWADAYAスタジオさんでのLEDディスプレイウォールスタジオでの撮影です。残念ながら白井はワークショップの開発があったので立会はできない日程なので、撮影現場に任せるための素材をお渡しして祈るしかありません。
                3000mm x 1686mmの高輝度高ピッチLEDウォールスタジオを背景に、

                画像

                ここに未来都市を配置して、杉山先生が車椅子でやってきます。

                画像

                専門のライティング担当さんもいらっしゃる。

                画像

                用意すべきはこのレイアウト案を示しつつ、レイヤーを分けた素材もわかりやすく提供する必要があります。しかもスマートに、Google DriveのURLだけでお渡ししたい。

                画像

                Stability AI APIのフル活用

                もともと商用利用できるプロフェッショナル向けAPIでもあるStability AI APIですが、具体的にはこんな使い方もあります。「背景除去」です。

                一見なんということはない「背景除去」なのですが、

                画像

                実はそんなことはありません。
                ウェービーヘアの銀髪は、マスクを切るのがとても大変です。

                画像

                ですが、このマスクは背景除去(Remove background)ですぐに生成できました。もはやPhotoshopよりもGoogle Colabのほうが便利なときもあるのです。

                画像

                さらに印刷原稿を想定して、高解像度化を行っていきます。
                こちらも Stability AIのUpscale機能を使って高解像度化、特にConservative(コンサバ=保守的)なアップスケールを行います。この際は、生成に使ったプロンプトを再利用します。

                hippy style, (photoreal:2), futuristic, orange toned urban sight scene, cyber worlds with a nature fusioned, skyscraper buildings,

                (photoreal:2)とは、Stability AI APIにおける強調構文です。

                画像

                この時点でも高解像度ですが「商業誌の表紙」という、最高品質印刷原稿を想定して、さらにAUTOMATIC1111の Extraを使って高解像度化していきます。

                BG02026-16448×9408.png (186.7MB) という強烈な解像度ですが、ご興味あるようでしたらダウンロードしてみてください。

                全てが終わったのは朝の5時ですね。
                Google DriveのURLをお届けして祈りました。

                画像

                商業誌の制作を「商業政策」と間違えて書くぐらいには疲れていたようですが、「クリエイティブのヤマ」を超えた清々しさが伝わったようでしたら幸いです。

                SD黄色本」で長年お世話になったAUTOMATIC1111の超解像化技術が、最後の最後の品質に貢献したことは特筆に値すると思います。

                全ての画像生成AIの貢献者、オープンソース開発者に感謝を述べさせてください。

                撮影の現場より

                後日談としてWADAYA Studioの和田圭介さんより写真とメッセージが届きましたので紹介させていただきます。

                画像
                画像
                画像
                画像
                画像

                特に問題は無いのですが、僕がデジタルハリウッドを卒業しているわけではなく、創立3年目に入社した、元スタッフです。 デジタルコンテンツについては、杉山先生の教えで、この道にたどり着いたので、杉山先生の教え子であることには間違いないと思います(笑) ある意味、スタッフも含め卒業なんででしょうね。 ありがたいことに退職した後も、杉山先生からはいろいろなご相談お声掛けをいただき、20周年の時は、メッセージ映像を撮影し、そして30周年でこのコラボレーションが実現しているのが、何とも感慨深いのです。 デジハリからいただいた、この3人の縁も含めて、それを活かして何かしていかなければいけないなと、再度えりを正しました。 これからが楽しみです!!

                WADAYA Studio 和田圭介さんより

                (テスト撮影のデータから)

                画像

                どう考えても「Entertainment, it’s everything!」なDNAが感じられる会社紹介ですね。今後もよろしくお願いいたします。

                さいごに:画像生成AIの過去と未来と人類のクリエイティビティの1ページによせて。

                以上、1998年からCGの世界、世界のCGを届け続けてきた「CGWORLD」さんの表紙、しかも日本のCG・デジタルクリエイター教育とともにあるデジタルハリウッドの30周年を記録する特集、さらにそれを最新のLEDディスプレイウォールによるインカメラVFXで撮影するための画像生成AIによる世界素材の提供…というクリエイター冥利に尽きる仕事の一部始終を個人ブログ形式でお送りさせていただきました。

                この30年、テクノロジー、デジタルツール、生成AIによって楽になったこともあります。しかし、クリエイターはその効率化によって生まれた時間を余暇に費やすのではなく、制作やクオリティ、そして「不可能を可能にする挑戦」に費やしていきます。その姿勢は30年経っても何も変わらないと思います。

                さらに、画像生成AIは、世界中の画像という画像を食べて育った化け物です。イラストやデザインだけではありません。写真出身の私にしてみれば、「写真表現とは何か」を常に突きつけられてきた30余年です。Stable DiffusionやStability AIのAPIに何か言いたいことがあるひとはたくさんいると思います。しかし世界中のクリエイティブをLatent Spaceに詰め込んで、高品質、かつ高速なAPIを提供し、新たな人類のクリエイティビティに挑戦させていただいて、さらに商業利用可能であるとなると、それはホビーでもなんでもなく、プロのクリエイターとして勝負せねばなりません。
                ローカルのGPUも、APIのクレジットも、糸目なく投じて、きちんとクリエイターとしてCGの歴史に爪痕を残す仕事ができたようであれば幸いです。

                なお、公開当初からのStable Diffusion、そしtStability AIのAPIの使い手としてはこの技術を伝承するために、毎日のように個人ブログやAICU mediaを通して解説を発信していることはお気づきかと存じます。

                さらに、こちらの動画教材としてはColosoからこちらのラーニングメディアで公開予定です。
                ■「超入門:Stable Diffusionではじめる画像生成AI」
                https://j.aicu.ai/AICUXColosoJP

                書籍「画像生成AI Stable Diffusion」(SD黄色本)もおかげさまで好調であり、まだまだお問い合わせやサポートなどを通して読者の皆様と交流させていただいております。

                今後、広告、グラフィックス、ゲーム、漫画やアニメといった分野に画像生成AIは一般的に使われるようになるでしょう。

                その時に、これらの作品は、枯れ葉や土壌のような存在になっている事でしょう。それでいいんだとおもいます。
                でも、クリエイティブAIの使い手として、大事なことは道具や、その使い方だけじゃないんです。
                「おもしろそうだな」「やってみよう」「すごいね」「かっこいいね」「おもしろいね」「もっとすごいものがつくれそう」「ぼくもやってみたよ」そういった「つくる人をつくる」という心に火を付ける活動そのものが、きちんと作品を通して他の人の心に伝わったか?それが大事なんです。

                そしてクリエイターの世界は真剣です。偉かろうが、社会的に立場があろうがなかろうが、上手であったり、美しかったりも大事ですが、それだけではなく、最終的なアウトプットにどれぐらいのピクセルが露出するのか、しないのかといった効率だけでなく、その世界とか、メッセージとか、コンテキストとか、モチベーションとか、恥ずかしがらずに馬鹿になってやり続けることが、とても大事だったりします。

                デジタルハリウッド30周年、「CGWORLD」26周年、おめでとうございます。今日、本誌が物理的に届きましたが、その重さ、厚さ、関わった人の多さとニオイに咽んでおります。今後とも、この分野の皆様のご健勝ご盛栄をお祈り申し上げますとともに、この個人ブログの筆を置きたいと存じます。

                謝辞:ご依頼いただいた杉山知之先生、クレジット、およびCGWORLD本誌に掲載できなかったメイキング公開へのご快諾、また本寄稿へ「CGWORLD」のロゴ利用などご許諾いただきましたCGWORLD編集部の藤井さま、ありがとうございました。
                Stable Diffusion開発チーム、Stability AI APIおよびStability AI Japanの皆様、特にご支援いただいたJerry Chiさん、ありがとうございました。この場をお借りして感謝の意を記させていただきます。

                Thank you to the all of Stable Diffusion development team, Stability AI API and Stability AI Japan, and especially to Jerry Chi for your support. I would like to take this opportunity to express my gratitude.

                AICU Inc. 代表・白井暁彦, Akihko SHIRAI, Ph.D (@o_ob)

                画像

                ▼デジタルハリウッド 創立30周年記念ページ

                https://www.dhw.co.jp/30th

                ▼杉山先生の音楽ブログ「Sound Scape of Mojo」
                画像生成によるカバーアートも見どころですね!

                https://note.com/mojo_sugiyama/n/n600cce7f4b69

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

              1. 日本語で魔法のようにGAS開発がはかどる「GASSISTANT」

                2024年10月7日、日本語で魔法のようにGASコーディングがはかどる「GASSISTANT」(ガシスタント)なるツールがリリースされました。

                https://gassistant.vercel.app

                開発したのは日本人の横田大伍さん(@daigo_3_8)。

                https://note.com/chaen_channel/n/n0be3b13a0e04

                これはよさそう、と思ったのですが、一方で「実際にお役に立ちそうなGASのユーザー、特にローコードと初心者の間を行ったりきたりするようなGASコーディングですら難しい人にはちょっととっつきづらそう…」、そして、逆に「ClaspのようなTypeScriptでGASを書いている人」にも「とっつきづらそう…」という印象もありました。これは試さねば。

                ★このあたりは開発者の横田さんよりメッセージを頂いております(文末)

                なおAICU media編集部やAIDX Labには しらいはかせをはじめとして10年来のGAS開発者がいます。普段からClaudeのArtifactsや、vercel「v0」のような対話型のコード支援環境も使っていますが、ストレスもあります。ブラウザのタブをいったりきたりする必要がありますし、時々「全文を出力して」といったお願いをしないと、コードの差分に悩まされることも多々ありました。CursorやCopilotのようなコード補完だけでなく、GitHubのdiffを見ながら、相談しながらテスト環境を動かしてデプロイからテストまで実行していきます。しかもこの方法ではコードが視界を通過しているだけで、頭の中で判断として残りません。AIがアシストしているわりに、危険なコードが大量に生成される可能性もあります。

                GASSISTANTはそんな悩みを解決してくれそうです。AIがコードの提案からデバッグまでを自動で行ってくれるので、コーディングが驚くほどスムーズになることを確認できました。

                実際に使ってみた!

                まず、個人のGmailアカウントを使って、テスト用にひとつGoogle Spreadsheetを作りましょう。実験用にGASSISTANTというスプレッドシートを作成して、拡張機能→Apps Scriptでエディタを開きました。

                画像

                GASエディタのURLを設定する準備をします。URLの赤い部分がスクリプトIDですが、URLそのものをコピーして貼り付けると、GASSISTANTのエディタ側でIDをリンクしてくれますので、これで準備OKということになります。

                画像

                GASSISTANTにGoogleアカウントでログインし、GASSISTANT のプライバシー ポリシー利用規約をご確認ください。

                なお、初回はチュートリアルが起動しますので、いったんスキップするか終わらせるかしてみてからでなければ設定に入れません。軽くチュートリアルの内容を紹介します。

                画像

                右下のチャット窓に相談をすると解説とともにGASのコードが生成されるようです。

                画像

                左側のエディタ画面に提案が表示されます。
                全て反映するか、断るかを個々のコードブロックで選べるようです。
                GitHubでのDiffよりも便利かもしれません!

                画像

                コードの提案を反映させたら「保存してデプロイ」を押します。数秒待つと保存が終わります。

                画像

                「実行して自動修正」を押すと、右のチャット履歴にテストデータが投げられ、実行されている様子が見えます。

                画像

                右のチャット履歴にはコードの「反映」や「コピー」、そして説明やテストパラメータのJSONが表示されます。

                画像

                ※チュートリアルとしては、ここで「反映」ボタンを押すと進みます。
                (チュートリアルから抜けられなくて慌てました)
                追記:このあたりは早速改善が入ったようです!

                画像

                さて、丁寧なチュートリアルは終わりです。
                用意した「GASSISTANT」スプレッドシートのエディタからURLを貼り付けましょう。

                画像

                ちなみにチュートリアルが終わった時点で300クレジットが279クレジットになっていました(汗)

                アップグレードすると月額2980円だそうです。クレジットが増えるのか、使い放題になるのかは、まだよくわかりません(問い合わせしました!文末に回答をまとめています)。

                画像

                Slack通知機能を追加してみた

                チュートリアルは「A列にメールアドレスの束があるのでメールを送信して」というお願いでコードが生成されていました。
                追加のリクエストとして、以下のようなリクエストを右下のチャット窓に打ち込んでみました。

                実行開始時と終了時にSlack通知。WebHookのエンドポイントはScriptPropertiyの SLACK_WEBHOOK_URL で指定します。

                GASSISTANTからの返答は以下の通りでした。

                • Slackに通知を送信するために、Google Apps ScriptにSlackのWebhookを使用するコードを追加しましょう。以下のコードでは、メール送信の開始時と終了時にSlack通知を送信するようにしています。
                • コードブロック
                • 説明: `sendSlackNotification`関数を追加し、SlackのWebhook URLを使ってメッセージを送信します。`PropertiesService.getScriptProperties().getProperty(‘SLACK_WEBHOOK_URL’)`でWebhook URLを取得します。事前にScript PropertiesにこのURLを設定しておく必要があります。メール送信の開始時と終了時にそれぞれSlackに通知を送信します。 このコードを使う前に、Script Propertiesに`SLACK_WEBHOOK_URL`を設定してください。これにより、指定されたSlackチャンネルに通知が送信されます。

                以下が生成されたコードです。

                function sendEmails() {
                  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
                  const lastRow = sheet.getLastRow();
                  const emailColumn = 1; // A列
                
                  // メールの件名と本文を設定
                  const subject = "件名をここに入力";
                  const body = "本文をここに入力";
                
                  // Slack通知: メール送信開始
                  sendSlackNotification("メール送信を開始します。");
                
                  for (let i = 1; i <= lastRow; i++) {
                    const emailAddress = sheet.getRange(i, emailColumn).getValue();
                    
                    if (emailAddress) {
                      try {
                        MailApp.sendEmail(emailAddress, subject, body);
                        logEmailStatus(emailAddress, "送信成功");
                      } catch (error) {
                        logEmailStatus(emailAddress, `送信失敗: ${error.message}`);
                      }
                    }
                  }
                
                  // Slack通知: メール送信終了
                  sendSlackNotification("メール送信が完了しました。");
                }
                
                function logEmailStatus(email, status) {
                  const logSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AI Log");
                  if (!logSheet) {
                    // "AI Log"シートが存在しない場合は作成
                    logSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet("AI Log");
                  }
                  logSheet.appendRow([new Date(), email, status]);
                }
                
                function sendSlackNotification(message) {
                  const webhookUrl = PropertiesService.getScriptProperties().getProperty('SLACK_WEBHOOK_URL');
                  if (!webhookUrl) {
                    Logger.log("Slack Webhook URLが設定されていません。");
                    return;
                  }
                
                  const payload = JSON.stringify({text: message});
                  const options = {
                    method: 'post',
                    contentType: 'application/json',
                    payload: payload
                  };
                
                  UrlFetchApp.fetch(webhookUrl, options);
                }

                コードの差分に「Accept」「Reject」が表示されています。

                画像

                どれも大丈夫そうなコードですが、いちおう一つづつ確認して「Accept」してもいいですし、画面上にある「すべて適用」を押してもいいと思います。日本語UIは新鮮ですね!

                「保存してデプロイ」を押してみます。確認のために本家GASのコードエディタの方をリロードしてみると、反映されているようです。

                画像

                なお、従来通りのGASエディタでのコード修正も問題なくできそうです。修正して保存したあとはGASSISTANT側の「同期」で現在のコードを吸い上げることができます。
                ちょうど 「Google Apps Script GitHub アシスタント」に動作が近いと思いました。

                https://chromewebstore.google.com/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo?hl=ja

                さて、スクリプトプロパティにSlackのWebHookのURLを指定する機能はなさそうなのでGASエディタ側で設定します。

                画像

                「プロジェクトの設定」から「スクリプトプロパティ」で自分が決めた「SLACK_WEBHOOK_URL」を設定します。このURLはSlack上でIncoming Webhookを設定することで取得できます。

                画像

                ここでは別のプロジェクトの開発で使ったボットのIncoming Webhookを再利用しています。

                GASSISTANTに戻って「実行して自動修正」を実行します。するとアラートが出て実行が止まりました。

                画像

                外部(Slack)にアクセスする処理を加えたので当然、新たな権限承認が必要になったようです。GASエディタに行って権限を確認してきます。
                デバッグ実行を行って、権限承認ダイアログから、

                画像

                左下の「無題のプロジェクト(安全ではないページ)に移動」を選んで権限の許可を実施します。

                画像

                これでA列にメールアドレスを書いておけば、メールも無事に送信できるようになります。誤爆に注意しましょうね。
                このへんで終わっておけばいいのですが、さらに「実行して自動修正」を押すと、なんだか更に改善したいようです。

                エラーメッセージから、`doGet`関数が見つからないことが原因でエラーが発生していることがわかります。このため、`doGet`関数を追加して、GETリクエストからパラメータを受け取り、`sendEmails`関数を呼び出すようにします。 以下は修正されたコードです。

                画像

                最終的にはdoGet(e)関数から sendEmails(subject, body)を呼ぶ形になりました。テストJSONを受け取るにはこのほうが良いかもしれませんね。

                デバッグ結果を見ると、GETリクエストを使用してメールが正常に送信され、スプレッドシートの「AI Log」シートに送信結果が記録されています。すべてのメールが「送信成功」となっており、特に問題は見られません。 現時点でコードに改善が必要な箇所はありません。メール送信機能が期待通りに動作していることが確認できました。このまま引き続きご利用いただけます。 もし追加で何か特定の改善点や機能追加のリクエストがあればお知らせください。

                function doGet(e) {
                  const subject = e.parameter.subject || "件名をここに入力";
                  const body = e.parameter.body || "本文をここに入力";
                  
                  sendEmails(subject, body);
                  
                  return ContentService.createTextOutput("メール送信が完了しました。");
                }
                
                function sendEmails(subject, body) {
                  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
                  const lastRow = sheet.getLastRow();
                  const emailColumn = 1; // A列
                
                  // Slack通知: メール送信開始
                  sendSlackNotification("メール送信を開始します。");
                
                  for (let i = 1; i <= lastRow; i++) {
                    const emailAddress = sheet.getRange(i, emailColumn).getValue();
                    
                    if (emailAddress) {
                      try {
                        MailApp.sendEmail(emailAddress, subject, body);
                        logEmailStatus(emailAddress, "送信成功");
                      } catch (error) {
                        logEmailStatus(emailAddress, `送信失敗: ${error.message}`);
                      }
                    }
                  }
                
                  // Slack通知: メール送信終了
                  sendSlackNotification("メール送信が完了しました。");
                }
                
                function logEmailStatus(email, status) {
                  const logSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AI Log");
                  if (!logSheet) {
                    // "AI Log"シートが存在しない場合は作成
                    logSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet("AI Log");
                  }
                  logSheet.appendRow([new Date(), email, status]);
                }
                
                function sendSlackNotification(message) {
                  const webhookUrl = PropertiesService.getScriptProperties().getProperty('SLACK_WEBHOOK_URL');
                  if (!webhookUrl) {
                    Logger.log("Slack Webhook URLが設定されていません。");
                    return;
                  }
                
                  const payload = JSON.stringify({text: message});
                  const options = {
                    method: 'post',
                    contentType: 'application/json',
                    payload: payload
                  };
                
                  UrlFetchApp.fetch(webhookUrl, options);
                }

                さらに追加機能を実装していく…!

                この時点で「残りクレジット: 119」となりました。まだまだ無料で遊べそうです。さらなる改造をしてみましょう。

                ・B列には送信相手のフルネーム、C列には送りたいメッセージの本文が入ります。
                ・D列には送信日時を入れてください。
                ・Webhookには送信者名、メールアドレス、送信内容を1件毎通知してください。
                ・全体の処理の件数と所要時間を計測してレポートしてください。
                ・いちど送信した相手には2週間以上期間をあけてから送信してください。
                ・毎週火曜日朝9時に実行するトリガーを設定してください。

                こんな感じに実行できました!メールも届いています!

                【送信履歴が付いたスプレッドシート】

                画像

                【Slackでの通知】

                画像

                気になった点

                基本的にはよくできていると思いました!
                ・クレジットが何なのか、月額プランが何なのかよくわからなかった(わかれば課金したい気持ちも出てきます!)
                ・実行したい関数が何なのか、軽く指定できるといいのかもしれないです。この例でもdoGetに落ち着くのはいいことかなと思いますが、一方でトリガー設定は実行されていませんでした。実行しようとするとGASエディタからマニュアル操作になるし、権限承認ダイアログもあるのでこれでいいのかもしれません。

                画像

                ・改善が終わらない。
                 「実行して自動修正」というボタンの都合上かもしれないのですが、方向感なく改善を続けてしまいがちです。コードを評価したり「これで完成です」といってGitPushしたりする機能があるといいのかも。

                ・一度許可したシートへのアクセスを解除する方法がわからない。
                 このままだとコードが固定できないので本番運用には問題があるかもしれません。データを外部に漏らさないためにもシートへのアクセスを解除したいところです。もしくは生成したコードを本番用に移植するといった作業は必要かもしれませんね。

                おまけ「GASSISTANT Opener」

                同じ作者さんが開発したChrome拡張です。
                GASエディタを開くとGASSISTANTを開けと言われ続けるようになります。

                https://chromewebstore.google.com/detail/gassistant-opener/nhkidgdaohjomakblaafjblkphnlmije

                GASエディターを開いたらGASSISTANTを開く提案をします

                GASSISTANT(https://gassistant.ai-zen.co.jp/)は初期設定が最小限に抑えられていますが、スクリプトID設定は手動で行う必要があります。 この拡張機能では、GASエディタからGASSISTANTを開きスクリプトIDを設定するフローが自動化されているため、ワンクリックでGASSISTANTを使い始めることができます。

                便利もありますが、不便になる要素もあるかも!?
                今後のアップデートに期待です。

                追記:開発者さんに聞いてみた!

                早速ご返信いただきました。

                料金について

                アップグレードすると即時3000クレジットに増加し、以降毎月3000クレジット付与されます。
                なおクレジットは追加ではなく、毎月3000にリセットされる形です。
                また、アップグレードするとAIの処理を自分のDify上でホストすることが可能になります。
                この設定をした場合、クレジットは消費されません(Dify側でAPI利用料がかかります)。

                セキュリティについて

                秘匿情報の取り扱い・Webアプリとして公開するなどの自明なリスクについては開発者に任せる想定でしたが、より丁寧な運用ガイドも用意すべきだと感じています。

                想定ユースケースについて

                想定ユースケースはclaspを使うほどでもない規模の開発です。

                本番運用でGASSISTANTを使う際は、セキュリティ面で言うとアップグレードしてDifyをセルフホスト、後日実装する実行可能APIでのデプロイをお勧めしております。

                セキュリティについて

                セキュリティについても引き続き注視し、安心してお使いいただけるようリスク低減に努めてまいります。

                GASSISTATN開発者

                まとめ

                GASSISTANTは、GASコーディングを劇的に効率化する革新的なツールです。GASコーディング初心者から中上級者まで、幅広い人におすすめできる感じがあります。いわゆる「ひとり情シス」みたいな方には強い味方ですね!

                アップグレードすると自分のDify上で使えるのはいいですね。
                機密情報の取り扱いや開発のワークフローなども理解して使えば、かなり革新的なAI活用ができそうです!

                注意

                GASSISTANT のプライバシー ポリシー利用規約をご確認ください。
                ※AICU編集部注:Google Apps Script経由で外部ツールを使って個人情報や売上情報を扱うような用途になる場合は特に注意して読んで理解してから試用することをおすすめします。内部で使用されているLLMの動作やログの収集内容、組織のポリシーによっては利用に適さない可能性もあります。(本稿に限らず)AIの使用による事故や過失の責任は使用者にあります。また積極的に開発者にお問い合わせしましょう。

                GASSISTANT – AIネイティブなGASエディタ
                https://gassistant.vercel.app
                https://gassistant.ai-zen.co.jp/

                【予告】「GASSISTANT」についてはAICU Magazine「 #サクッと先取り !クリエイティブAIツール」のコーナーでも扱っていきたいと思います!

                #サクッと先取り !クリエイティブAIツール #AICUmagazine
                #GASSISTANT  #GAS #GoogleAppsScript

                https://j.aicu.ai/MagV5

                https://j.aicu.ai/MagV4

                https://j.aicu.ai/MagV3

                https://j.aicu.ai/MagV2

                https://j.aicu.ai/MagV1

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