0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gradioを使ってSDXL TURBOの画像から画像のリアルタイム変更を実装してみたよ。

Posted at

SDXL TURBOとGradioを使ってWebインターフェースを作ってみました。

仕組みは画像をアップロードして、プロンプトを入力するとそれに沿った画像が作成されます。

Gradio

今回はGradioというアプリケーションを使って作成しました。
すごく簡単にWebインターフェースが作れます。

どんなのができた?

実際に作ったのはこれ。

このプロンプトとともに画像がパッパッって変わっていく様子が良いですね。結構、これはこれで使えるなと思います。

左上にプロンプトを入力するたびに画像が変わっていく様子がわかると思います。

それではコード。

コード

今回はGoogle colabでGPUを使っています。

インストール

以下をインストールします。Google colabでは前に”!”を付けます。

pip install diffusers transformers accelerate --upgrade
pip install gradio
pip install Pillow

コード

import gradio as gr
from diffusers import AutoPipelineForImage2Image
import torch
from PIL import Image

# Diffusers パイプラインを初期化
image_to_image_pipe = AutoPipelineForImage2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16).to("cuda")

# 画像を修正する関数
def modify_image_with_prompt(prompt, init_image):
    init_image = Image.fromarray(init_image.astype('uint8'), 'RGB')
    with torch.no_grad():
        modified_image = image_to_image_pipe(prompt=prompt, image=init_image, num_inference_steps=2, strength=0.5, guidance_scale=0.0).images[0]
    return modified_image

# Gradio インターフェースを作成
iface = gr.Interface(
    fn=modify_image_with_prompt,  # 使用する関数
    inputs=[gr.Textbox(label="Text Prompt for Image Modification"), gr.Image(label="Initial Image for Modification")],  # 入力タイプ:テキストと画像
    outputs=gr.Image(label="Modified Image"),  # 出力タイプ:画像
    title="Image Modification with Text Prompt",  # インターフェースのタイトル
    live=True
)

iface.launch()

strength=0.5の数字を変えることで、画像の変更具合を調整できます。1に近くすればより大きく変わります。ただ、あまり大きくすると画像から画像の意味がないくらい変わってしまうので、0.5ぐらいがいいかもしれないです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?