Spaces:
Sleeping
Sleeping
File size: 2,186 Bytes
5a3dfd3 0774187 5a3dfd3 e2aae4e 5a3dfd3 b483613 5a3dfd3 03898c7 b179895 7422b24 5a3dfd3 be469ef 03898c7 76bbdc4 03898c7 5a3dfd3 8a6d741 19dac07 9ba6616 ddbdbba 03898c7 a01ad06 8ce9b88 a01ad06 5a3dfd3 68945d9 48e631c 5a3dfd3 7394ae3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import os
os.system("gdown https://drive.google.com/uc?id=1-95IOJ-2y9BtmABiffIwndPqNZD_gLnV")
os.system("unzip big-lama.zip")
import cv2
import paddlehub as hub
import gradio as gr
import torch
from PIL import Image, ImageOps
import numpy as np
os.mkdir("data")
os.mkdir("dataout")
model = hub.Module(name='U2Net')
def infer(img,mask,option):
img = ImageOps.contain(img, (700,700))
width, height = img.size
img.save("./data/data.png")
if option == "automatic (U2net)":
result = model.Segmentation(
images=[cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)],
paths=None,
batch_size=1,
input_size=320,
output_dir='output',
visualization=True)
im = Image.fromarray(result[0]['mask'])
else:
mask = mask.resize((width,height))
im = mask
im.save("./data/data_mask.png")
os.system('python predict.py model.path=/home/user/app/big-lama/ indir=/home/user/app/data/ outdir=/home/user/app/dataout/ device=cpu')
return "./dataout/data_mask.png",im
inputs = [gr.inputs.Image(type='pil', label="Original Image"),gr.inputs.Image(type='pil',source="canvas", label="Mask",invert_colors=True),gr.inputs.Radio(choices=["automatic (U2net)","manual"], type="value", default="manual", label="Masking option")]
outputs = [gr.outputs.Image(type="file",label="output"),gr.outputs.Image(type="pil",label="Mask")]
title = "LaMa Image Inpainting"
description = "Gradio demo for LaMa: Resolution-robust Large Mask Inpainting with Fourier Convolutions. To use it, simply upload your image, or click one of the examples to load them. Read more at the links below. Masks are generated by U^2net"
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2109.07161' target='_blank'>Resolution-robust Large Mask Inpainting with Fourier Convolutions</a> | <a href='https://github.com/saic-mdal/lama' target='_blank'>Github Repo</a></p>"
examples = [
['person512.png',"canvas.png","automatic (U2net)"],
['person512.png',"maskexam.png","manual"]
]
gr.Interface(infer, inputs, outputs, title=title, description=description, article=article, examples=examples).launch(enable_queue=True,cache_examples=True) |