ODR's picture
Duplicate from haotiz/glip-zeroshot-demo
12e55f6
import requests
import os
from io import BytesIO
from PIL import Image
import numpy as np
from pathlib import Path
import gradio as gr
import warnings
warnings.filterwarnings("ignore")
# os.system(
# "pip install einops shapely timm yacs tensorboardX ftfy prettytable pymongo click opencv-python inflect nltk scipy scikit-learn pycocotools")
# os.system("pip install transformers")
os.system("python setup.py build develop --user")
from maskrcnn_benchmark.config import cfg
from maskrcnn_benchmark.engine.predictor_glip import GLIPDemo
# Use this command for evaluate the GLIP-T model
config_file = "configs/pretrain/glip_Swin_T_O365_GoldG.yaml"
weight_file = "MODEL/glip_tiny_model_o365_goldg_cc_sbu.pth"
# Use this command if you want to try the GLIP-L model
# ! wget https://penzhanwu2bbs.blob.core.windows.net/data/GLIPv1_Open/models/glip_large_model.pth -O MODEL/glip_large_model.pth
# config_file = "configs/pretrain/glip_Swin_L.yaml"
# weight_file = "MODEL/glip_large_model.pth"
# update the config options with the config file
# manual override some options
cfg.local_rank = 0
cfg.num_gpus = 1
cfg.merge_from_file(config_file)
cfg.merge_from_list(["MODEL.WEIGHT", weight_file])
cfg.merge_from_list(["MODEL.DEVICE", "cuda"])
glip_demo = GLIPDemo(
cfg,
min_image_size=800,
confidence_threshold=0.7,
show_mask_heatmaps=False
)
def predict(image, text):
result, _ = glip_demo.run_on_web_image(image[:, :, [2, 1, 0]], text, 0.5)
return result[:, :, [2, 1, 0]]
image = gr.inputs.Image()
gr.Interface(
description="Object Detection in the Wild through GLIP (https://github.com/microsoft/GLIP).",
fn=predict,
inputs=["image", "text"],
outputs=[
gr.outputs.Image(
type="pil",
# label="grounding results"
),
],
examples=[
["./flickr_9472793441.jpg", "bobble heads on top of the shelf ."],
["./flickr_9472793441.jpg", "sofa . remote . dog . person . car . sky . plane ."],
["./coco_000000281759.jpg", "A green umbrella. A pink striped umbrella. A plain white umbrella."],
["./coco_000000281759.jpg", "a flowery top. A blue dress. An orange shirt ."],
["./coco_000000281759.jpg", "a car . An electricity box ."],
["./flickr_7520721.jpg", "A woman figure skater in a blue costume holds her leg by the blade of her skate ."]
],
article=Path("docs/intro.md").read_text()
).launch()
# ).launch(server_name="0.0.0.0", server_port=7000, share=True)