Atulit23/ui-deception
1
1import requests2from ultralytics import YOLO3import cv24import matplotlib.pyplot as plt5import matplotlib.patches as patches6import numpy as np7import gradio as gr8 9model = YOLO('best (14).pt')10 11def index(img_url):12 response = requests.get(img_url, stream=True)13 img_array = np.asarray(bytearray(response.content), dtype=np.uint8)14 img = cv2.imdecode(img_array, cv2.IMREAD_COLOR)15 16 print(img_url)17 18 classes_ = {0: 'noti', 1: 'pop'}19 20 results = model.predict(source=img, conf = 0.6)21 22 boxes = results[0].boxes.xyxy.tolist()23 classes = results[0].boxes.cls.tolist()24 names = results[0].names25 confidences = results[0].boxes.conf.tolist()26 27 print(boxes)28 print(classes)29 print(names)30 print(confidences)31 32 result_dict = {"boxes": boxes, "classes": classes, "names": names, "confidence": confidences}33 34 return len(boxes)35 36 37inputs_image_url = [38 gr.Textbox(type="text", label="Image URL"),39]40 41outputs_result_dict = [42 gr.Textbox(type="text", label="Result Dictionary"),43]44 45interface_image_url = gr.Interface(46 fn=index,47 inputs=inputs_image_url,48 outputs=outputs_result_dict,49 title="Popup detection",50 cache_examples=False,51)52 53gr.TabbedInterface(54 [interface_image_url],55 tab_names=['Image inference']56).queue().launch()