import paddlehub as hub import gradio as gr import requests import numpy as np import matplotlib.pyplot as plt model = hub.Module(name='bisenetv2_cityscapes') url1 = 'https://cdn.pixabay.com/photo/2014/09/07/21/52/city-438393_1280.jpg' r = requests.get(url1, allow_redirects=True) open("city1.jpg", 'wb').write(r.content) url2 = 'https://cdn.pixabay.com/photo/2016/02/19/11/36/canal-1209808_1280.jpg' r = requests.get(url2, allow_redirects=True) open("city2.jpg", 'wb').write(r.content) colormap = np.zeros((256, 3), dtype=np.uint8) colormap[0] = [128, 64, 128] colormap[1] = [244, 35, 232] colormap[2] = [70, 70, 70] colormap[3] = [102, 102, 156] colormap[4] = [190, 153, 153] colormap[5] = [153, 153, 153] colormap[6] = [250, 170, 30] colormap[7] = [220, 220, 0] colormap[8] = [107, 142, 35] colormap[9] = [152, 251, 152] colormap[10] = [70, 130, 180] colormap[11] = [220, 20, 60] colormap[12] = [255, 0, 0] colormap[13] = [0, 0, 142] colormap[14] = [0, 0, 70] colormap[15] = [0, 60, 100] colormap[16] = [0, 80, 100] colormap[17] = [0, 0, 230] colormap[18] = [119, 11, 32] def applyColormap(img,colormap): ret = np.zeros((img.shape[0],img.shape[1],3), dtype=np.uint8) for y in range(img.shape[0]): for x in range(img.shape[1]): ret[y,x] = colormap[int(img[y,x])] return ret.astype(np.uint8) size = 1024 def inference(image): image = image.resize(size=(size,size)) img = np.array(image)[:,:,::-1] result = model.predict(images=[img], visualization=True)[0] result_color = applyColormap(result,colormap) return result_color title = "PaddleHub: BiSeNetV2 Cityscapes" description = "demo for PaddleHub. To use it, simply upload your image, or click one of the examples to load them. Read more at the links below.\nModel: bisenetv2_cityscapes" article = "
" gr.Interface( inference, [gr.inputs.Image(type="pil", label="Input")], gr.outputs.Image(type="numpy", label="Output"), title=title, description=description, article=article, examples=[ ["city1.jpg"], ["city2.jpg"] ]).launch()