import os import spaces # on top as CUDA needs to be initialized after `spaces` try: import detectron2 except ImportError: import os os.system('pip install git+https://github.com/facebookresearch/detectron2.git') try: from segment_anything import build_sam, SamPredictor except ImportError: import os os.system('pip install git+https://github.com/facebookresearch/segment-anything.git') from segment_anything import build_sam, SamPredictor try: import grounded_dino except ImportError: import os os.system('pip install transformers') os.system('pip install git+https://github.com/IDEA-Research/Grounded-Segment-Anything.git') import gradio as gr import json import numpy as np from sam_utils import grounded_segmentation, create_yellow_background_with_insects from yolo_utils import yolo_processimage from detectron_utils import detectron_process_image from gsl_utils import gsl_process_image @spaces.GPU def process_image(image, include_json): detectron_result = detectron_process_image(image) yolo_result = yolo_processimage(image) insectsam_result = create_yellow_background_with_insects(image) gsl_result = gsl_process_image(image) return insectsam_result, yolo_result, detectron_result, gsl_result examples = [ ["imgs/demo.jpg"], ["imgs/demo1.jpg"], ["imgs/demo2.jpg"], ["imgs/demo3.jpg"], ["imgs/demo4.jpg"], ["imgs/demo5.jpg"], ] gr.Interface( fn=process_image, inputs=[gr.Image(type="pil")], outputs=[ gr.Image(label='InsectSAM', type="numpy"), gr.Image(label='Yolov8', type="numpy"), gr.Image(label='Detectron', type="numpy"), gr.Image(label='GSL', type="numpy") ], title="Insect Model Zoo 🐞🔬", examples=examples ).launch()