Spaces:
Runtime error
Runtime error
| import torch | |
| from PIL import Image | |
| import numpy as np | |
| from transformers import U2NetForImageMatting, U2NetProcessor | |
| import gradio as gr | |
| # U-2-Net 모델과 프로세서 초기화 | |
| model = U2NetForImageMatting.from_pretrained("u2net") | |
| processor = U2NetProcessor.from_pretrained("u2net") | |
| def remove_background(image): | |
| # 이미지를 모델에 맞게 처리 | |
| inputs = processor(image, return_tensors="pt") | |
| # 모델을 사용하여 이미지에서 배경 제거 | |
| outputs = model(**inputs) | |
| # 마스크 추출 및 후처리 | |
| mask = outputs.matting_mask[0].detach().cpu().numpy() | |
| mask = (mask * 255).astype(np.uint8) | |
| mask = Image.fromarray(mask).resize(image.size) | |
| # 원본 이미지와 마스크를 결합하여 배경이 제거된 이미지 생성 | |
| empty = Image.new("RGBA", image.size) | |
| final_image = Image.composite(image.convert("RGBA"), empty, mask) | |
| return final_image | |
| # Gradio 인터페이스 설정 | |
| iface = gr.Interface(fn=remove_background, | |
| inputs=gr.inputs.Image(type="pil", label="Upload Image"), | |
| outputs="image", | |
| title="Background Removal with U-2-Net", | |
| description="Upload an image to remove its background.") | |
| if __name__ == "__main__": | |
| iface.launch() |