Slide 1

Slide 1 text

生成AIを活用した画像生成を学ぶ コペル合同会社 CEO Founder 坂本直樹 DALL-E3とVision

Slide 2

Slide 2 text

 自己紹介 坂本直樹 「クリエイターが創造にフォーカスできる世界を つくる」をミッションに、プロダクトおよび事業 開発支援の会社を経営しています。 テクノロジーを得意としており、これまでに CTOとしてスタートアップを3社起業し、直近で は7社を支援しました。 生成AIを使ったプロダクト開発を受託してます。 https://twitter.com/jar2 X(旧Twitter)やってます

Slide 3

Slide 3 text

 セミナーの目的 生成AIを活用したオリジナル画像生成システムの構築方法を学ぶ ● DALL-E3を使った画像生成 ● Visionを使った画像の理解 ● サンプルコードを実行してコードを理解する ● クオリティの高い画像を生成する ● (おまけ)Stable Diffusion 3 API

Slide 4

Slide 4 text

 X(Twitter)のハッシュタグ #生成AIエンジニア塾

Slide 5

Slide 5 text

 画像生成で直面する課題 画像生成でどのような課題がありますか?

Slide 6

Slide 6 text

 画像生成で直面する課題 ● 生成した画像のクオリティが低い ● 意図した画像を生成できない ● 生成した画像の微調整が難しい ● 著作権は大丈夫? 以前、私が生成した画像 仕事で使えるクオリティが出せない

Slide 7

Slide 7 text

 こうなりました Before After ● 意図する画像を生成する ● 画像の細かな調整

Slide 8

Slide 8 text

 このセミナーから得られるもの 生成AIシステムで最も重要な○○○思考が得られる プロンプトやライブラリよりもこれが重要!

Slide 9

Slide 9 text

 このセミナーから得られるもの 生成AIシステムで最も重要なループ思考 「どういうこと?」ってなりましたよね→最後に回収します。

Slide 10

Slide 10 text

 最も簡単な画像生成システムの構築 素材 画像生成

Slide 11

Slide 11 text

 コード(詳しくはcolabへ) 素材 画像生成 response = create_completion(messages=[ {"role": "system", "content": "ユーザーから 提供された画像を完全に再現するプロンプトを作成 してください。"}, { "role": "user", "content": [ {"type": "text", "text": "この画像のプロ ンプトを作成してください。"}, { "type": "image_url", "image_url": url, }, ], } ]) prompt: 画像には、景色の背景の前に座っている女性 の肖像画が描かれています。女性は前方に向かって微 笑みをたたえ、穏やかな表情で、視線は直接こちらを 見ています。彼女は中世ヨーロッパ風の衣装を身にま とい、右手の上に左手をゆったりと重ねています。こ の絵画は非常に細かい技法で描かれており、特に肌の 質感や光と陰の表現が緻密です。背景の風景画は遠近 法が用いられており、岩や川、遠くには山々と空が表 現されています。全体的に色調は深みのある暖色系と 冷色系がバランスよく混在していて、落ち着いた雰囲 気を醸し出しています。 # プロンプトを実行して画像を生成する response = images_generate(prompt=prompt)

Slide 12

Slide 12 text

 既存画像をもとにした画像生成 素材 特徴量を抽出 画像生成 https://www.pinterest.jp/ 素材はpinterestで探す

Slide 13

Slide 13 text

 既存画像をもとにした画像生成 素材 画像生成

Slide 14

Slide 14 text

タイプ: 肖像画 色: 暖色系の茶色、金色、およびクールな青緑色。被写体の 肌は柔らかなベージュ、ピンク色のトーンを帯びています。 背景は青みがかった緑色で、細部にはより暗い緑色や茶色が 使用されています。 〜〜〜省略〜〜〜  コード(詳しくはcolabへ) 素材 特徴量を抽出 目的は、提供された画像をもとに、内容を詳細に記 述し、より高い再現度でプロンプトを生成すること です。画像の各要素を細かく分析し、記述を豊かに してプロンプトを改善します。 # ユーザーから提供された画像 提供された画像を精密に分析し、再現するためのプ ロンプトを作成します。 # プロンプトの構造 - タイプ: 描かれているオブジェクトの種類やカテゴ リー(例:人物、動物、自然、建築物、肖像画、風 景画)。 - 人物: 画像に描かれている人物の性別、年齢、体 格、特徴、服装、表情を詳細に記述します。 〜〜〜省略〜〜〜

Slide 15

Slide 15 text

 アイデアの組み合わせによる画像生成 “マインクラフト” の世界観 特徴量を抽出 素材 画像生成 アイデアA アイデアB 新しい アイデア 組み合わせ ×

Slide 16

Slide 16 text

“指輪物語”の世界観 “誇張されたグルメ漫 画”の世界観 × ×  アイデアの組み合わせによる画像生成 素材 画像生成

Slide 17

Slide 17 text

 アイデアの組み合わせによる画像生成

Slide 18

Slide 18 text

Generate an image of a youthful, gender-neutral puppy character in animated style which exudes adorability. This puppy has large, sparkling eyes, long droopy ears, and a small round body. The puppy has light brown fur with white accents on its face and belly, a pink tongue, and black features for its nose, eyes, and parts of its mouth. Positioned at the center of the image against a potentially white or transparent background, the puppy embodies happiness and charm. The style is simple, 〜〜〜省略〜〜〜  コード(詳しくはcolabへ) 画像生成 組み合わせ #指示 Let's combine these prompt! #指示詳細 [ アイデア1とアイデア2の特徴量 ] #目的 全てのプロンプトを混ぜて最適な画像を出力すること です。 〜〜〜省略〜〜〜

Slide 19

Slide 19 text

 AIによる評価関数でクオリティアップ 素材 画像生成 評価関数 チェックリストを更新 フィードバック

Slide 20

Slide 20 text

# 命令 プロンプトとチェックリストに基づい て、適切な修正が行われた画像を生成 することが目標です。 # 素材画像のプロンプト {素材画像のプロンプト} # 画像生成に向けたチェックリストの 具体的な改善項目 - 調整する特徴: 目の大きさとスタイ ル - [目をよりリアルな比率とスタイ ルに変更し、キュートさを抑えた自然 な表情に修正] - 調整する特徴: 色の使い方 - [明るく 派手な色から、落ち着いた自然色に変 更し、日本の伝統的な色合いに合わせ る] - 調整する特徴: スタイルと姿勢 - [カートゥーンスタイルから実際の犬 種を基にしたリアルな体形と姿勢に修 正し、自然な動物の外見を持たせる]  コード(詳しくはcolabへ) # 命令 提供された画像に対してチェック リストを適用し、チェックリスト の基準を満たしていない要素があ れば、具体的な修正指示を出力し てください。修正指示は、以下の 出力形式に従って、チェックリス トに照らし合わせた結果を基に明 確に示してください。 〜〜〜省略〜〜〜 ## 日本人の60代男性が好む動物 不適切: 現代的で子ども向けの、過剰に キュートな動物の描写(例: アニメ風やカー トゥーンスタイルの動物、大きな目や派手な 色使い) 適切な表現: 威厳と落ち着きを持ち、伝統的 な日本の美学に則った動物の描写(例: 鷹や 鶴、鯉、日本犬のような落ち着いた色合いで 表現された、リアルかつ自然な姿勢の動物) 素材 画像生成 評価関数 <チェックリスト> ## 日本人の60代男性が好む動物 不適切: 現代的で子ども向けの、 過剰にキュートな動物の描写(例: …) 適切な表現: 威厳と落ち着きを持 ち、伝統的な日本の美学に則った 動物の描写(例: …)

Slide 21

Slide 21 text

フィードバック  ループ思考で継続的改善 素材/テーマを選択 特徴量を抽出 画像生成 評価関数 画像生成 ループ ループ ループ 意図通りの画像が出るまでループを回す 素材/テーマを チューニング チェックリストを チューニング

Slide 22

Slide 22 text

 まとめ ● 意図通りの画像が出るまでループを回す ● クオリティの高い画像が出るかはガチャ要素があるの で、いろんなアイデアの組み合わせを試すこと ● 意図するものに近い出力が出たら、それをベースに チューニングしていく ● ループ思考は画像生成以外の生成AIシステム全般で使 える ● プロンプトやライブラリはGPTやClaudeに聞けば良い ので、ループ構造を作ることに思考力を使う ● ループが回転する程、創出する価値が増大するような 構造を作ること

Slide 23

Slide 23 text

 おまけ 2月22日にStable Diffusion 3の早期プレビュー版をリリー ス、そして4月17日にStable Diffusion 3 APIをリリース https://stability.ai/news/stable-diffusion-3-api https://stability.ai/news/stable-diffusion-3 旧バージョンの2.1と3、そしてLeonardoAIを同じプロンプ トで比較しました。ソースコードはcolabにあります。

Slide 24

Slide 24 text

 既存画像から画像生成 特徴量を抽出 素材 プロンプト生成 画像生成 ・DALL-E3 ・stable-diffusion-2-1 ・Stable Diffusion 3 API ・LeonardoAI API

Slide 25

Slide 25 text

DALL-E3 SD2.1 SD3 LeonardoAI  4つのモデルを比較

Slide 26

Slide 26 text

stable-diffusion-2-1 Stable Diffusion 3 API LeonardoAI API  3つのモデルを比較(プロンプトは購入した) プロンプトはPromptBaseから購入

Slide 27

Slide 27 text

stable-diffusion-2-1 Stable Diffusion 3 API LeonardoAI API  3つのモデルを比較(プロンプトは購入した) プロンプトはPromptBaseから購入

Slide 28

Slide 28 text

stable-diffusion-2-1 Stable Diffusion 3 API LeonardoAI API  3つのモデルを比較(プロンプトは購入した) プロンプトはPromptBaseから購入

Slide 29

Slide 29 text

stable-diffusion-2-1 Stable Diffusion 3 API LeonardoAI API  3つのモデルを比較(プロンプトは購入した) プロンプトはPromptBaseから購入

Slide 30

Slide 30 text

stable-diffusion-2-1 Stable Diffusion 3 API LeonardoAI API  3つのモデルを比較(プロンプトは購入した) プロンプトはPromptBaseから購入

Slide 31

Slide 31 text

 ローカルでStable Diffusionを動かしたい CursorからGoogle Colabに接続する。 CursorでAIペアプログラミングをしながら Google Colabのマシンパワーが使えます。 https://note.com/sakamoto0812/n/n5644f97a158c