Spaces:
Build error
Build error
import cv2 | |
from doc_ufcn.main import DocUFCN | |
import gradio as gr | |
from doc_ufcn import models | |
import numpy as np | |
import random | |
from PIL import Image | |
model_path, parameters = models.download_model('generic-page') | |
model = DocUFCN(len(parameters['classes']), parameters['input_size'], 'cpu') | |
model.load(model_path, parameters['mean'], parameters['std']) | |
def visualize_instance_seg_mask(mask): | |
image = np.zeros((mask.shape[0], mask.shape[1], 3)) | |
labels = np.unique(mask) | |
label2color = {label: (random.randint(0, 1), random.randint(0, 255), random.randint(0, 255)) for label in labels} | |
for i in range(image.shape[0]): | |
for j in range(image.shape[1]): | |
image[i, j, :] = label2color[mask[i, j]] | |
image = image / 255 | |
return image | |
def query_image(image): | |
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) | |
detected_polygons, probabilities, mask, overlap = model.predict( | |
image, raw_output=True, mask_output=True, overlap_output=True | |
) | |
return visualize_instance_seg_mask(overlap) | |
demo = gr.Interface( | |
query_image, | |
inputs=[gr.Image()], | |
outputs="image", | |
title="TODO", | |
) | |
demo.launch() | |