Img_rmbg / app.py
DreamerHC's picture
Create app.py
e9923ac verified
raw
history blame
1.25 kB
import gradio as gr
from PIL import Image
import requests
from transformers import AutoModelForImageSegmentation, AutoFeatureExtractor
import torch
# ๋ชจ๋ธ๊ณผ ํŠน์ง• ์ถ”์ถœ๊ธฐ ๋กœ๋“œ
model_name = "your_model_name_here" # ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ์— ์ ํ•ฉํ•œ ๋ชจ๋ธ ์ด๋ฆ„์œผ๋กœ ๋Œ€์ฒดํ•˜์„ธ์š”.
model = AutoModelForImageSegmentation.from_pretrained(model_name)
feature_extractor = AutoFeatureExtractor.from_pretrained(model_name)
def remove_background(image):
# ์ด๋ฏธ์ง€ ์ „์ฒ˜๋ฆฌ
inputs = feature_extractor(images=image, return_tensors="pt")
# ๋ชจ๋ธ ์˜ˆ์ธก
outputs = model(**inputs)
# ์—ฌ๊ธฐ์„œ๋Š” ์˜ˆ์‹œ๋กœ, ์‹ค์ œ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฐฐ๊ฒฝ์ด ์ œ๊ฑฐ๋œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋กœ์ง์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
# ์ด ๋ถ€๋ถ„์€ ์„ ํƒํ•œ ๋ชจ๋ธ๊ณผ ๊ทธ ์ถœ๋ ฅ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
# PIL ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ (์˜ˆ์‹œ)
mask = outputs['mask'][0] # ๋ชจ๋ธ ์ถœ๋ ฅ์—์„œ ๋งˆ์Šคํฌ ์ถ”์ถœ
mask = mask.mul(255).byte().cpu().numpy()
image_pil = Image.fromarray(mask).convert("RGB")
return image_pil
# Gradio ์ธํ„ฐํŽ˜์ด์Šค
iface = gr.Interface(fn=remove_background, inputs=gr.inputs.Image(type="pil"), outputs="image", title="๋ฐฐ๊ฒฝ ์ œ๊ฑฐ")
# ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
iface.launch()