CoolFace
Apppublic

carlosalonso/Detection-space

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py63 linesDownload Raw Back to root
1try:2    import detectron23except:4    import os 5    os.system('pip install git+https://github.com/facebookresearch/detectron2.git')6 7# from matplotlib.pyplot import axis8os.system('pip install altair')9import altair10import gradio as gr11 12import torch13import numpy as np14 15from detectron2 import model_zoo16from detectron2.engine import DefaultPredictor17from detectron2.config import get_cfg18from detectron2.utils.visualizer import Visualizer19from detectron2.data import MetadataCatalog20 21# Creación del modelo22cfg = get_cfg()23 24# Es el modelo utilizado por Ekimetrics25cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"))26cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5 27cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")28 29# En caso de que no puedas usar GPU y debas usar la CPU, tienes que especificarlo de esta manera30if not torch.cuda.is_available():31    cfg.MODEL.DEVICE='cpu'32    33 34model = DefaultPredictor(cfg)35 36 37title = '<center><img src = "https://images.squarespace-cdn.com/content/v1/5573469fe4b0061829d437e6/1591631182400-7DJR03RV6ZOCN0TBPRD7/white-deloitte-logo1.jpg" width="130" height="20"></center><p>Detectron2 Image Detection</p>'38description = 'Implementación de Detectron2 en la detección de imágenes. Sube una imagen, dale a submit y espera unos segundos a ver el output de la imagen con los objetos detectados'39article = '<p>Conoce más en: <a href="https://www2.deloitte.com/es/es/pages/strategy-operations/solutions/analytics-and-cognitive.html">Visita Deloitte AI&Data</a></p><p>Desarrollado por Carlos y Lucía</p>'40 41def inference(image):42    print(image.height)43 44    height = image.height45 46    img = np.array(image.resize((640, 500)))47    outputs = model(img)48 49    v = Visualizer(img, MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)50    out = v.draw_instance_predictions(outputs["instances"].to("cpu"))51    52    return out.get_image()53 54css1 = "body {background-image: url(r'https://www2.deloitte.com/content/dam/Deloitte/in/Images/promo_images/in-deloitte-logo-1x1-noexp.png');}"55gr.Interface(56    inference, 57    [gr.inputs.Image(type="pil", label="Input")], 58    gr.outputs.Image(type="numpy", label="Output"),59    title=title,60    description=description,61    article=article,62    css = css1,63    examples=[]).launch()