U-2-Net / app.py
akhaliq's picture
akhaliq HF staff
Update app.py
1361e51
raw
history blame contribute delete
No virus
1.79 kB
import os
import cv2
import paddlehub as hub
import gradio as gr
import torch
torch.hub.download_url_to_file('https://cdn.pixabay.com/photo/2016/10/21/14/46/fox-1758183_1280.jpg', 'fox.jpg')
model = hub.Module(name='U2Net')
def infer(webcam, img,option):
if option == "webcam":
webcam.save('temp.jpg')
result = model.Segmentation(
images=[cv2.imread("temp.jpg")],
paths=None,
batch_size=1,
input_size=320,
output_dir='output',
visualization=True)
else:
img.save('temp.jpg')
result = model.Segmentation(
images=[cv2.imread("temp.jpg")],
paths=None,
batch_size=1,
input_size=320,
output_dir='output',
visualization=True)
return result[0]['front'][:,:,::-1], result[0]['mask']
inputs = [gr.inputs.Image(source="webcam", label="Webcam", type="pil",optional=True),gr.inputs.Image(source="upload", label="Input Image", type="pil",optional=True),gr.inputs.Radio(choices=["webcam","Image"], type="value", default="Image", label="Input Type")]
outputs = [
gr.outputs.Image(type="numpy",label="Front"),
gr.outputs.Image(type="numpy",label="Mask")
]
title = "U^2-Net"
description = "demo for U^2-Net. To use it, simply upload your image, or click one of the examples to load them. Read more at the links below."
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2005.09007'>U^2-Net: Going Deeper with Nested U-Structure for Salient Object Detection</a> | <a href='https://github.com/xuebinqin/U-2-Net'>Github Repo</a></p>"
examples = [
['fox.jpg','fox.jpg','Image'],
]
gr.Interface(infer, inputs, outputs, title=title, description=description, article=article, examples=examples).launch()