善悪の彼岸

社会人5年目、ものづくりと哲学と研究が好き

【Python】StableDiffusionのimg2imgでおじさんの顔をジブリ風のイラストに変える【Google Colaboratory】

生成AI使ってみたいお

  • 画像から画像を生成するimg2imgをやってみたい!
  • Hugging Face社が提供するdiffusersを使えば,PythonでStableDiffusionが使えるらしい
  • しかもWeb上で簡単に生成AIを無料で使えるGoogleColaboratoryを使えばGPUを搭載してないノートPCでも生成AIが試せる!?
  • というわけでやってみた

Google Colaboratoryへ

  • GoogleColaboratoryにアクセス colab.research.google.com

  • 右上からノートブックを新規作成

    ノートブックを作成

  • Stable diffusionを実行するためにGPUを有効にする必要がある
    • 編集 > ノートブックの設定 > ハードウェアアクセラレータをGPUにする

Stable Diffusionのインストールを行う

  • notebookに下記コマンドを入力し,実行し,diffusersをインストールする
!pip install diffusers transformers ftfy accelerate

Stable Diffusionの初期設定を行う

  • 下記コードを入力して実行
import torch
import requests
from PIL import Image
from io import BytesIO
from diffusers import StableDiffusionImg2ImgPipeline

device = "cuda"
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("nitrosocke/Ghibli-Diffusion", torch_dtype=torch.float16).to(
    device
)
  • 今回は画像をジブリ風画像に変換してくれるGhibli-Diffusionを使ってみた

  • 以下のような表示が出たらOK

変換したい画像をGoogleColaboratoryにアップロードする

  • GoogleColaboratoryのサイドパネルにドラッグアンドドロップで画像を配置する
  • 今回はtestimage3という画像を使った
    31男性(電車内)

画像を生成する

  • 下記コードを入力して実行
init_image = Image.open("testimage3.PNG").convert("RGB") #ファイル名をアップロードした画像の名前に変える
init_image.thumbnail((768, 768))
prompt = "Ghibli style beautiful girl with white background"
generator = torch.Generator(device=device).manual_seed(1024)
image = pipe(prompt=prompt, image=init_image, strength=0.75, guidance_scale=7.5, generator=generator).images[0]
image

画像が表示される

もののけ姫のモブっぽい画像になった

参考