Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stable Diffusionを動かしてみる

Henry Cui
September 23, 2022

Stable Diffusionを動かしてみる

Henry Cui

September 23, 2022
Tweet

More Decks by Henry Cui

Other Decks in Technology

Transcript

  1. Stable Diffusionを動かしてみる
    機械学習の社会実装勉強会第15回
    Henry
    2022/9/23

    View Slide

  2. 自己紹介
    ■ 東京大学理学部情報科学科
    ■ 同大学大学院情報理工学系研究科コンピュター科学専攻
    ■ 博士(情報理工学)取得
    ● ICMLなどの国際・国内学会・ジャーナルに論文発表
    ● 学振DC2・理研AIPセンター研究パートタイマー
    ● AIPチャレンジなどの競争的研究費取得・外国大学への訪問
    ■ 在学中に株式会社パンハウスを共同創業
    2

    View Slide

  3. 内容
    ■ 画像生成とStable Diffusionの応用例など
    ■ Diffusersの使い方
    ■ デモ
    3

    View Slide

  4. 画像生成AIモデルの発展
    4

    View Slide

  5. Text to Image 生成例 by Stable Diffusion
    5

    View Slide

  6. (Text + Image) to Image 生成例 by Stable Diffusion
    A fantasy landscape, trending on artstation
    6

    View Slide

  7. 4.2 Gigabytes, or: How to Draw Anything
    ■ https://andys.page/posts/how-to-draw/
    ■ Stable Diffusionを複数回(丁寧に)使えば実現できる
    7

    View Slide

  8. Text Inversion や DreamBooth
    ■ より高度的な作業として、ユーザー指定の概念を生成画像に
    含ませる
    ● 似た機能がどんどん公開ライブラリーに追加されていく
    ■ https://birdmanikioishota.blog.fc2.com/blog-entry-8.html
    8

    View Slide

  9. 動画生成まで実現できる
    ■ https://replicate.com/andreasjansson/stable-diffusion-anim
    ation
    ● 生成過程に工夫して連続な画像変換が実現される
    ■ https://github.com/nateraw/stable-diffusion-videos
    ● 潜在空間の補間という単純なアプローチ
    9

    View Slide

  10. 日本版 Stable Diffusion
    ■ https://github.com/rinnakk/japanese-stable-diffusion
    ■ https://huggingface.co/spaces/rinna/japanese-stable-diffus
    ion で体験できる
    ■ 目的
    ● Generate Japanese-style images
    ● Understand Japanglish
    ● Understand Japanese unique onomatope
    ● Understand Japanese proper noun
    ■ サラリーマン 油絵
    10

    View Slide

  11. TrinArtなどアタク向け拡張
    11

    View Slide

  12. Optimized Stable Diffusion
    ■ https://github.com/basujindal/stable-diffusion
    ■ リソースの少ない環境でより効率的に動かせるために最適化
    された実装
    ■ The code can now generate 512x512 images using under
    2.4 GB of GPU VRAM!
    ● 魅力的ですが、後ほどのデモでは optimize されてないライブラリーで
    行う
    12

    View Slide

  13. 環境構築したくない人向け
    ■ GUIまで用意してくれたパッケージ
    ■ Windowsで
    ■ M1/M2 Macで
    ● https://github.com/divamgupta/diffusionbee-stable-diffusion-ui
    ■ https://www.charl-e.com/
    13

    View Slide

  14. より使いやすいWeb API!
    ■ https://computerender.com/
    ■ 下のように叩くだけ!
    14

    View Slide

  15. Prompt Engineering
    ■ 提示文の書き方が大事
    ■ DALEE2 https://dallery.gallery/the-dalle-2-prompt-book/
    ■ https://lexica.art/
    15

    View Slide

  16. 関連研究が集まるところ
    ■ NeurIPS 2022 Machine Learning for Creativity and Design
    Workshop
    ■ https://neuripscreativityworkshop.github.io/2022/
    ■ 今年年末!
    16

    View Slide

  17. その他の情報源
    ■ https://github.com/awesome-stable-diffusion/awesome-sta
    ble-diffusion
    ● モデル、デモ、チュートリアル、UIなど幅広い情報など
    ■ Reddit
    ● https://www.reddit.com/r/StableDiffusion や
    ● https://www.reddit.com/r/StableDiffusion/comments/wqaizj/list_of_
    stable_diffusion_systems/ など
    17

    View Slide

  18. 内容
    ■ 画像生成とStable Diffusionの応用例など
    ■ Diffuersの使い方
    ■ デモ
    18

    View Slide

  19. Diffusersライブラリー
    ■ https://github.com/huggingface/diffusers
    ■ 公式レポジトリにあるサンプルコード
    ● https://github.com/CompVis/stable-diffusion/tree/main/scripts
    ■ Huggingface ブログ
    ● https://huggingface.co/blog/stable_diffusion
    19

    View Slide

  20. シンプルな使い方 (1/2)
    ■ 環境構築
    ● pip install diffusers==0.2.4 transformers==4.21.2 ftfy==6.1.1
    ■ インポート
    ● from diffusers import StableDiffusionPipeline
    ■ パイプラインの準備
    ● pipe =
    StableDiffusionPipeline.from_pretrained('CompVis/stable-diffusion
    -v1-4', use_auth_token=AUTH_TOKEN)
    20

    View Slide

  21. シンプルな使い方 (2/2)
    ■ 推論パラメータ
    ● inference_kwargs = dict(
    height=args.height,
    width=args.width,
    guidance_scale=args.guidance_scale,
    num_inference_steps=args.num_inference_steps)
    ■ 推論
    ● image = pipe(args.prompt, **inference_kwargs)['sample'][0]
    21

    View Slide

  22. 内容
    ■ 画像生成とStable Diffusionの応用例など
    ■ Diffusersの使い方
    ■ デモ
    22

    View Slide