Akbartus commited on
Commit
f0c5c7f
·
1 Parent(s): 1b16931

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -46
app.py CHANGED
@@ -1,48 +1,22 @@
1
  import gradio as gr
2
- from huggingface_hub import hf_hub_download
3
  from PIL import Image
4
- import yolov5
5
-
6
- # Downloading the model from HuggingFace
7
- model = torch.hub.load('ultralytics/yolov5', 'custom', path='myYOLO/best.pt', force_reload=True)
8
-
9
-
10
- # Prediction function
11
- def predict(im, threshold=0.50):
12
- """
13
- Performs prediction using Datacat YOLOv5 model
14
- """
15
-
16
- # We could resize the image, but the application handles high definition for now
17
- # g = (size / max(im.size)) # gain
18
- # im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS)
19
-
20
- # initializing confidence threshold
21
- model.conf = threshold
22
- # inference
23
- results = model(im)
24
- numpy_image = results.render()[0]
25
- output_image = Image.fromarray(numpy_image)
26
-
27
- return output_image
28
-
29
- title = "YOLOv5 - Auction sale catalogues layout analysis"
30
-
31
- description = "<p style='text-align: center'>YOLOv5 Gradio demo for auction sales catalogues layout analysis. Detecting titles and catalogues entries.</p>"
32
-
33
- article = "<p style='text-align: center'>YOLOv5 source code : <a href='https://github.com/ultralytics/yolov5'>Source code</a> | <a href='https://pytorch.org/hub/ultralytics_yolov5'>PyTorch Hub</a></p>"
34
-
35
-
36
- demo=gr.Interface(fn=predict,
37
- inputs=[gr.Image(type="pil", label="document image"), gr.Slider(maximum=1, step=0.01, value=0.50)],
38
- outputs=gr.Image(type="pil", label="annotated document").style(height=700),
39
- title=title,
40
- description=description,
41
- article=article,
42
- theme="huggingface")
43
-
44
-
45
- if __name__ == "__main__":
46
- demo.launch(debug=True)
47
-
48
-
 
1
  import gradio as gr
2
+ import torch
3
  from PIL import Image
4
+ # Images
5
+ torch.hub.download_url_to_file('https://cdn.pixabay.com/photo/2016/06/15/01/11/soccer-1457988_1280.jpg', 'soccer.jpg')
6
+ torch.hub.download_url_to_file('https://cdn.pixabay.com/photo/2016/11/21/14/31/vw-bus-1845719_1280.jpg', 'bus.jpg')
7
+ # Model
8
+ model = torch.hub.load('ultralytics/yolov3', 'yolov3') # or yolov3-spp, yolov3-tiny, custom
9
+ def yolo(im, size=1920):
10
+ g = (size / max(im.size)) # gain
11
+ im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS) # resize
12
+ results = model(im) # inference
13
+ results.render() # updates results.imgs with boxes and labels
14
+ return Image.fromarray(results.imgs[0])
15
+ inputs = gr.inputs.Image(type='pil', label="Original Image")
16
+ outputs = gr.outputs.Image(type="pil", label="Output Image")
17
+ title = "YOLOv3"
18
+ description = "YOLOv3 Gradio demo for object detection. Upload an image or click an example image to use."
19
+ article = "<p style='text-align: center'>YOLOv3 is a family of compound-scaled object detection models trained on the COCO dataset, and includes simple functionality for Test Time Augmentation (TTA), model ensembling, hyperparameter evolution, and export to ONNX, CoreML and TFLite. <a href='https://github.com/ultralytics/yolov3' target='_blank'>Source code</a> |<a href='https://apps.apple.com/app/id1452689527' target='_blank'>iOS App</a></p>"
20
+ examples = [['soccer.jpg'], ['bus.jpg']]
21
+ gr.Interface(yolo, inputs, outputs, title=title, description=description, article=article, examples=examples, theme="huggingface").launch(
22
+ debug=True)