Slide 1

Slide 1 text

DiscordにおけるキャラクターIPを活用した UGCコンテンツ生成サービスの ラピッドプロトタイピング ~国際ハッカソンでの事例研究 情報処理学会コンピュータグラフィックスとビジュアル情報学研究会 (CGVI) 第194回研究発表会

Slide 2

Slide 2 text

はじめに 本研究報告は、オープンソースの画像生成AI「Stable Diffusion」、クラウドプラットフォーム「Google Cloud Platform」(GCP)およびコミュ ニケーションサービスソフトウェア「Discord」を使用してユーザー生成コンテンツ(User Generated Contents; UGC)を生み出すサービスの 開発について、国際ハッカソン を通じて学生がプロジェクトベースラーニング(Project-Based Learning; PBL)を行った事例研究である。 ハッカソンを通じたPBLの成果に関する論文は数多く存在するが、学習者および主体者である学生による報告は少ない。また、学生がプロ フェッショナルな社会人エンジニアとチームを組み、プロジェクトマネジメントを担当したケースも希少 である。特に、母語を英語としない学 生がプロジェクトマネジメントや発表を担当する場合の負荷や成果、その後のサービス運用を想定した技術的改善点についての報告は非常 に価値が高いと考えられる。 本研究のプロジェクトマネージャーを務めた主著者は、日本在住の大学 1年生であり、VTuberやアニメ、漫画などのコンテンツに触れる情報 メディア系の学生の視点からキャラクターIPコンテンツへの貢献を目指している。特に、表現としての画像生成AIや若者ならではの文化であ るミーム、エモート、スタンプ、キャラクターといったネット文化をUGC化するサービスの設計およびUX/UIを含めた設計をプロジェクトマネー ジャー、発表者として兼務した点が本研究の独自性と魅力である。 本研究の成果は、読者に対して以下のような貢献をもたらす。まず、画像生成AIとクラウドプラットフォームを活用した実践的なUGCサービス の開発事例を示すことで、技術的な応用方法や新たな可能性についての理解を深める。また、学生と社会人エンジニアの協力によるプロ ジェクトマネジメントの成功事例として、教育と実践の融合の重要性を強調し、将来の教育プログラムの参考となる。さらに、非英語圏の学生 による国際的なプロジェクトマネジメントの挑戦と成果についての具体的な知見を提供することで、多様な背景を持つ学生の成長と学習環境 の向上に寄与することを目指している。 最後に、Proof of Concept(PoC)として開発したこのサービスを実際に運用する際の問題点を明確に示し、その解決策や改良の方向 性についても言及することで、今後の実用化に向けた課題解決の手がかりを提供する。

Slide 3

Slide 3 text

関連研究: 教育におけるハッカソンの利点と研究事例 [1] Oyetadeらは、コースレベルの学習⽬標を達成するために授業でのハッカソンを実施し、系統的⽂献 レビューを通じて、PRISMA (Preferred Reporting Items for Systematic Reviews and Meta-Analyses) の記述基準を⽤いて、教育におけるハッカソンの利点をより深く報告している Oyetade, K., Zuva, T. and Harmse, A.: Educational benefits of hackathon: A systematic literature review, World, Journal on Educational Technology: Current Issues, Vol. 14, No. 6, pp. 1668‒1684 (online), https://doi.org/10.18844/wjet.v14i6.7131 (2022). [2] Miličević は、教育アプローチとしてのハッカソンのコンセプトと、学⽣の知識とスキルの開発におけ るその役割の分析を⾏っている。ブロックチェーン‧ハッカソンを通して、参加者の視点、期待、経験、 全体的な印象を調査し、⻑期的な成果をもたらすハッカソンの可能性に対する参加者の認識と、教育 フォーマットとしてのハッカソンの影響に重点をおいて報告している Milicevic, A., Despotovic-Zrakic, M., Stojanovic, D., Suvajzic, M. and Labus, A.: Academic performance indicators for the hackathon learning approach ‒ The case of the blockchain hackathon, Journal of Innovation Knowledge, Vol. 9, No. 3, p. 100501 (online), DOI:https://doi.org/10.1016/j.jik.2024.100501 (2024).

Slide 4

Slide 4 text

画像生成AI時代のUGC・ミームと若者文化 絵文字(emoji)は1999年に株式会社NTTドコモのiモードの開 発で誕生した。開発企画者である栗田穣崇氏が監修し、視覚 的で円滑なコミュニケーションを目指してデザインされた。絵文 字は瞬く間に人気を集め、2009年にUnicodeに組み込まれ、 2012年にはスマートフォンで使用可能となり、世界中に普及し た。 現在ではニューヨーク現代美術館(MoMA)に展示されており、 またカリフォルニア州 Computer History Museum (CHM、コ ンピュータ歴史博物館:コンピュータの歴史の主要なマイルス トーンに関する展示を行っている) では、シンボル展示として、 グローバルコミュニティの多様性を反映する絵文字の進化が、 情熱的で献身的な人々の歩みとして展示されている

Slide 5

Slide 5 text

スタンプ文化

Slide 6

Slide 6 text

Why we made SDSD? ・kawaii culture ・Discord stamp market ???

Slide 7

Slide 7 text

Stable Diffusion : It’s beautiful but… Image Generative AI will be more general

Slide 8

Slide 8 text

Kawaii culture

Slide 9

Slide 9 text

Kawaii UGC market: User Generated Contents

Slide 10

Slide 10 text

Why we made SDSD? ・kawaii culture ・Discord stamp market sad…

Slide 11

Slide 11 text

Interface - Discord Discord does not have big stamp (emote) market We can make new kawaii market!

Slide 12

Slide 12 text

Kawaii Culture × Super Deform Stable Diffusion × Discord Stamps = new kawaii market!

Slide 13

Slide 13 text

sad… ??? ぬわー! HMM… Super Deformed Stable Diffusion OMG!! Hehe

Slide 14

Slide 14 text

国際ハッカソンを通したプロトタイピング Builders Weekend 本プロジェクト「SDSD」は、2024年3月 29~31日に東京・渋谷で開催された国際 ハッカソン「Builders Weekend」 (https://www.buildersweekend.co/ )にお いて3日間(48時間)を通して開発された ハッカソンプロジェクト。 参加チームは18チーム、70名。主要言語 は英語で、世界各国から多様なキャリアを 持つ人々が参加した。

Slide 15

Slide 15 text

Builders Weekend 2024での筆者らのチーム 本報告におけるメンバー構成と 担当パート ・[K]PjM/PdMとアート ・[L]タイポグラフィエンジン Python実装 高等専門学校生 ・[R] LLMとPython実装  プロンプトエンジニア ・[D]クラウドアーキテクト  エンジニア ・[A]クラウド/全体のアーキテクト  

Slide 16

Slide 16 text

書籍 「画像生成AI Stable Diffusionスタートガイド」 本プロジェクトのチーム は本書籍の編集チームで インターンとして 執筆やQAに参加している ★Timeline 2024年3⽉13⽇完成 2024年3⽉29⽇発刊 2024年3⽉29-31⽇ Builders Weekend

Slide 17

Slide 17 text

Discord kawaii emote maker Discord Bot (GCP) Prompt & meme (long hair girl,smiling) (“Wow!”) ComfyUI&A1111 (GCP) Typography Engine &AICU copyright Remove Background (post process) compose image & text kawaii stamp! Stability AI Platform API

Slide 18

Slide 18 text

概要設計 DiscordでキャラクターIPを利⽤したスタンプ⽤画像ジェネレータBotを 開発し新しいUGCコンテンツを展開する ①内部では画像⽣成AI「Stable Diffusion 1.5」を使⽤ ③ユーザーから取得したプロンプト(命令⽂)をもとに画像を⽣成 ④その⽂字の英語または⽇本語翻訳された⽂字を組み合わせ、ユーザーに返す ⑤サーバー環境はGCP ⑥本ハッカソンでは以上のシステムを48時間で製作する必要がある。

Slide 19

Slide 19 text

SDSD システム構成 ①ユーザーはDiscord上で⽣成したいスタ ンプのキャラクターの表情、髪型、⾐装と そこに合成したい任意の⽂字列(ミーム) を⼊⼒し、ボットへ送信。 ②指定通りの外⾒、表情の2頭⾝のキャラクターの上半⾝のイラストに、 ⼊⼒したミームが合成された⽩背景のスタンプ⽤画像が出⼒される。 ③ミームはフォントレンダリングされており、⼊⼒した際と同⼀の⽇本語の ミームと、英語に翻訳されたミームの2パターンが合成され、出⼒される。 Super Deformed Stable Diffusion

Slide 20

Slide 20 text

処理フローとAPIs APIサーバー構築: FastAPIフレームワークを⽤いてPythonでAPIサーバーを構築し、リクエストを受け付ける 英訳処理:受け取ったミーム⽂字列をOpenAI社のGPT-4 APIを⽤いて短い英語のミームに翻訳 タイポグラフィ⽣成: ⽣成された⽇本語および英語の⽂字列をタイポグラフィ‧エンジンを⽤いて画像化する 画像⽣成:画像⽣成サーバー上に構築した画像⽣成APIを呼び出し、スタンプ⽤の画像を⽣成 合成処理: ⽣成された画像と、⽇本語および英語のタイポグラフィを合成し、レスポンスとして出⼒ ‧画像⽣成プロセスをAPI化し処理を分離することで、GPUが不要な処理をAPIサーバーに担当 させ、ランニングコストの削減と処理を効果的に分散させ、全体的なシステム効率とスルー プットを向上させている。

Slide 21

Slide 21 text

GCP環境でのStable Diffusion/A1111API GCP上にDeep Learning用のGPUを搭載したCompute Engineを構築。 その上にAUTOMATIC1111/stable-diffusion-webuiを配置し、APIモードで起動している。 画像生成モデル「Counterfeit-V3.9」およびLoRA モデル「White BG SD ver2」を利用した。

Slide 22

Slide 22 text

Stable Diffusion サーバーと GCP を用いた画像生成 ・画像生成APIサーバーを構築するためにGoogle Cloud Platform(GCP)のマーケットプレイスで提供 されている 「Deep Learning VM」インスタンスを利用。 ・GPUマシンタイプとしてTesla T4を1台搭載し、仮想マシンを構築した。 ・構築された仮想マシン(VM)には、Stable Diffusionを活用するためのオープンソースソフトウェア 「A1111/stable-diffusion-webui」を使用。 ・画像生成モデル「Counterfeit-V3.9」 ・LoRAモデル(Low-Rank Adaptation、追加学習モデル)「White BG SD ver2」を導入した。 ・A1111をAPIモードでシステムを起動し、リクエストを受けると生成された画像を返却する。  (開発ではWebUIを使用してAPIリクエストを探究していく)

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

UX維持のため: LoRAを使った最適化 今回の SDSDで画像を生成する際に組み込んだLoRAは、UXを維持するのため、 「ユーザのリクエストから数十秒以内で出力結果を返す」という挑戦を(48時間の開発時間で)行った。 配布されている画像生成モデルを用いて生成した画像を学習させ、 2頭身(chibi)の理想の絵柄のイラスト風画像を生成するように制作した。 ⭐最初の開発プロセスでは(SD1.5ではなく)SDXLモデルである「Animagine XL 3.0」を用いてミニキャラ(chibi)を生成実験し ている。 ・このモデルは豊かな表情と破綻の無い高品質な画像を生成することが可能だが、  SD1.5モデルと比較して高画質、高解像度であるが、大容量のVRAMが必要。 ・かつ生成速度が数倍遅い。 ソリューションとして Animagine XL 3.0で生成した画像をSD1.5モデルである「AnyLoRA baked VAE fp16」を用いて学習させ、 SD1.5モデル用のLoRAを生成し最適化を試みた。 最終的に AnyLoRA baked VAE fp16モデルと、この独自LoRAを用いて画像を生成している。

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

タイポグラフィエンジン 生成した画像に、タイポグラフィエンジンを用いて任意の文字列を合成する。 タイポグラフィエンジンをPythonの画像処理ライブラリ 「Python Imaging LibraryPillow(PIL)」の Image, ImageDraw, ImageFont を用いて開発。 ①ユーザーによって文字列が送信されると、画像生成と平行してタイポグラフィエンジンに文字 列送信。 ②文字列は設定したフォント「Mochiy Pop」でレンダリングされ、白の縁取り装飾が施される。 ③文字列の長さによってレイアウトが変わり、短い文字列なら文字は大きく、長い文字列は画 像に収まるように横幅が調節され、文字が小さく表示される。 また日本語が4文字入力された場合は画像の4隅に表示される。 これによって柔軟な入力を画像化することに成功した。

Slide 28

Slide 28 text

ふ~んw HMM… Translate memes by using LLM Japanese English

Slide 29

Slide 29 text

LLMを用いたミームの翻訳 ユーザーによって入力された文字列はLLMを 用いて英語に翻訳され、日本語のバージョン とともに出力される。 これはミーム的な表現に特化しており、「ふー ん」は「HMM…」、「草」は「lol」といった表現に 翻訳される。 Chat GPT3.5 Turbo-0125の Function Callingを用いて以下のようにオノマトペの翻 訳としてミーム翻訳を実装している。 ⭐プロンプトエンジニア[R]を中心に実装され ており特徴的なコードになっている。 def onomatopee(word: str): json_format = '{"eng": "GASP"}' prompt = f''' 以下の#⽇本語を短いワードで漫画⾵の onomatopeeとして英語に翻訳してください また、以下のjson形式で出⼒してください。 # (sample)⽇本語 "ガーン" # (sample)json出⼒形式 {json_format} # ⽇本語 "{word}" # json出⼒形式 ''' response = client.chat.completions.create( model="gpt-3.5-turbo-0125", response_format={"type": "json_object"}, messages=[ {"role": "system", "content": prompt}, {"role": "user", "content": word} ] ) return response.choices[0].message.content

Slide 30

Slide 30 text

結果:プロトタイプの動作 ユーザーが、Discord上で「/emote」のスラッシュコマンドに続き、face(表情)、hair(髪 型)、costume(衣装)、meme(任意の文字列)を入力する。数秒の後に、指定の通りの 2頭身のミニキャラクター(chibi)と、英語に翻訳された文字列が合成された2言語のミー ムをレイアウトしたスタンプ用の画像が生成されるDiscord上でのスタンプジェネレータを 開発することができた。

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Collaborate with characters koto-chan (Character of AICU) koto-chan Stamps

Slide 34

Slide 34 text

My Team “SDSD” project by AICU Inc. Akihiko Kotone Remio Lucas Typography rendering Pythonist LLM coder CEO R&D Architect Cloud Eng PdM/PjM Stable Diffusion Art Lead D̷ELL Cloud Architect Tech Lead

Slide 35

Slide 35 text

48時間終了後の感想  https://www.youtube.com/watch?v=8VBiSK5lv6s

Slide 36

Slide 36 text

本研究を通しての学び:PM学生[K]の視点 今回の研究を通して48時間という短い時間で開発を行うことで、チーム分けを行い処理 ごとに並行して開発を進めることと、そのプロジェクトマネージャーとしてチームごとの連 携やまとめ、方向性や商品性を一環させることを学んだ。 今後本研究は実際にキャラクターを運営する際にDiscordサーバーを展開し、ユーザー のコミュニティの場とするとともにスタンプ生成というUGCコンテンツが生まれる場を開 発することでキャラクターIP事業のさらなる発展に貢献することを目指す。 また、生成されたスタンプ用画像にコピ-ライトを挿入することで、生成を有料にするな どしてクリエイターに収益を還元することができる。

Slide 37

Slide 37 text

エンジニア[D]の視点:本システムの課題と改善点 本システムは、プロトタイプモデルとして稼働させることを目的に構築された。そのため、長期的な運用は想定してお らず、運用フェーズに移行するにあたり、いくつかの問題点が確認された。 ・負荷分散の考慮:現在の構成では、IaaSベースのAPIサーバーと画像生成サーバーを1台ずつ設置している。同時 に複数のリクエストが発生した場合、レスポンスの遅延やシステムの停止が想定される。そのため、APIサーバーと 画像生成サーバーを冗長化する必要がある。 ・スケーラビリティの確保:リクエストが増加した際に対応できるよう、サーバーを冗長化する必要がある。しかし、常 時複数台のインスタンスを起動するとコストが増大するため、リクエスト数に応じた適切なスケーリングが求められ る。今回の構築はIaaSベースであったが、運用を見据える場合、PaaSやSaaSの採用も検討すべきである。 ・死活監視の問題:現在のシステム構成では、サーバーが停止しても検知できない。この問題は、PaaSやSaaSを利 用しても発生しうる課題であり、サービスとしての運用を開始する際に致命的な問題となる。そのため、サーバーの 死活監視サービスを利用し、プロセスの状態を確認し、自動復旧する仕組みを組み込むことで、安定したサービスの 運用を目指すべきである。 今後は、これらの改善点を取り入れることで、堅牢なシステム基盤を構築し、安定したサービスの提供を目指す。

Slide 38

Slide 38 text

レイヤー合成と漫画への応用 最後に、各素材はPythonの画像処理ライブラリPython Imaging LibraryPillow(PIL)によって合成される。アスペクト⽐を維持しながら、指定のサ イズに収まるように Lanczos 法を使ってリサイズする。 【漫画への応⽤も可能】 このプロトタイプでは画像と⽂字のみの合成となるが、 筆者らの過去の事例「Manga Generator」では 7レイヤーほどの合成を⾏うことで 漫画のコマを⽣成できるため、 応⽤可能性が⾼い実装となっている Manga generator: immersive posing role playing game in manga world (VRIC2013) https://doi.org/10.1145/2466816.2466845

Slide 39

Slide 39 text

教員/CxOとしての視点 ・ブログや書籍の執筆を通して生成AI時代のクリエイターを育成している ・スクリプティング程度のエンジニアリングができるアーティストの育成 ・クリエイティブAI時代の人材育成において重要となるのはAI-PM。 ・学部1年生でも「できる人」ならできる(もちろんリスクもある) ・高校生/高専生でも事前のレクチャーや予備体制を作っておけばできる ・日本人学生を国際ハッカソンに入れることで目覚めることも多い ・PoCを本番運用する上ではその後の開発体制や投資も重要 (・もちろん知財的な防衛やPoCは先行して実施している) ・こういう学生主体の事例/サービスが増えて欲しいし、機会も与えて行きたい

Slide 40

Slide 40 text

おわりに 本研究報告は、国際ハッカソン「Builders Weekend」において48時間という短期間で開発し た、Discord上でキャラクターIPを活⽤したUGCコンテンツ⽣成サービスのプロトタイプについ て詳述した。本プロジェクトの成功は、画像⽣成AI「Stable Diffusion 1.5」と独⾃の追加学習モ デル(LoRA)、そしてタイポグラフィエンジンを組み合わせることで、ユーザーが⼿軽にスタ ンプ⽤画像を⽣成できるシステムを実現した点にある。 本研究を通じて、DiscordというプラットフォームにおいてキャラクターIPを⽤いた新しい形の コンテンツ⽣成の可能性を⽰した。また、ハッカソンという限られた時間とリソースの中で、 チームの協⼒と迅速な開発がもたらす成果を体験することができた。特に、学⽣と企業の専⾨家 が協⼒して実現したプロジェクトは、教育と実践が融合した成功例として評価されるべきであ る。 今後の展望として、本システムの改良と拡張を進めることで、より多くのキャラクターIPやカス タマイズオプションに対応し、ユーザーがさらに多様なコンテンツを⽣成できるようにするこ とが期待される。また、このプロジェクトを通じて得られた知⾒は、他のプラットフォームや サービスにおいても応⽤可能であり、キャラクターIPを活⽤したUGCコンテンツ⽣成の新たな ⽅向性を⽰すものとなるだろう。 p.s. 「SDSD」第2期開発を予定しています。 ここまでの資料は https://sdsd.aicu.ai

Slide 41

Slide 41 text

謝辞 本プロジェクトに参加したチームメンバー、ハッカソンの主催者および協力者、「画像生 成AI Stable Diffusionスタートガイド」(SBクリエイティブ)関係各位、Stability AI Jerry Chi氏、AICU Inc.関係各位に感謝の意を表します。 https://sdsd.aicu.ai [email protected] X(Twitter)@AICUai