File size: 1,536 Bytes
b6570ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388d543
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import torch
import gradio as gr
from huggingface_hub import hf_hub_download
from PIL import Image

REPO_ID = "LailaMB/pollution_detector"
FILENAME = "best_640_rpoch56.pt"

yolov7_weights = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
 
model = torch.hub.load('WongKinYiu/yolov7:main', 'custom', path=yolov7_weights, force_reload=True)  # local repo

def object_detection(im, size=640):
 	results = model(im)  # inference
    #results.print() # print results to screen
    #results.show()  # display results
    #results.save()  # save as results1.jpg, results2.jpg... etc.
    results.render() # updates results.imgs with boxes and labels
    return Image.fromarray(results.imgs[0])

title = "visual_pollution_detection"
description = """Esse modelo é uma pequena demonstração baseada em uma análise de cerca de 60 imagens somente. Para resultados mais confiáveis e genéricos, são necessários mais exemplos (imagens).
  """
 
image = gr.inputs.Image(shape=(640, 640), image_mode="RGB", source="upload", label="Imagem", optional=False)
outputs = gr.outputs.Image(type="pil", label="Output Image")

gr.Interface(
	fn=object_detection,
    inputs=image,
    outputs=outputs,
    title=title,
    description=description,
    examples=[["sample_images/0a1ea4614a9df912eeb8d1b40bffee74.JPG"], ["sample_images/0a2bc0dc2371794509f4b776aff0dd88.JPG"], 
               ["sample_images/0a4e0e88a05abd96670c8c0c3a67fc73.JPG"], ["sample_images/0a584ddb325ed1ab4083d341280caaa8.JPG"]]
                ,cache_examples=False).launch()