Spaces:
Runtime error
Runtime error
File size: 2,061 Bytes
5a3dfd3 e6995ca 3144567 5a3dfd3 e2aae4e 5a3dfd3 b483613 e6995ca b483613 5a3dfd3 1943daa 7422b24 5a3dfd3 be469ef 03898c7 1943daa 03898c7 5a3dfd3 e6995ca 19dac07 9ba6616 d3cb231 03898c7 a01ad06 8ce9b88 a01ad06 5a3dfd3 0900976 5a3dfd3 d1ee4cf |
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 43 |
import os
os.system("wget https://huggingface.co/akhaliq/lama/resolve/main/best.ckpt")
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.rename("best.ckpt", "models/best.ckpt")
os.mkdir("dataout")
model = hub.Module(name='U2Net')
def infer(img,option):
img = ImageOps.contain(img["image"], (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 = img["mask"].resize((width,height))
im = mask
im.save("./data/data_mask.png")
os.system('python predict.py model.path=/home/user/app/ indir=/home/user/app/data/ outdir=/home/user/app/dataout/ device=cpu')
return "./dataout/data_mask.png",im
inputs = [gr.inputs.Image(source="upload",tool="sketch", label="Input"),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',"automatic (U2net)"],
['person512.png',"manual"]
]
gr.Interface(infer, inputs, outputs, title=title, description=description, article=article, examples=examples).launch() |