ilass konglong commited on
Commit
b61c030
0 Parent(s):

Duplicate from konglong/yolov8_demo

Browse files

Co-authored-by: zhiwei <[email protected]>

Files changed (4) hide show
  1. .gitattributes +34 -0
  2. README.md +13 -0
  3. app.py +71 -0
  4. requirements.txt +6 -0
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Yolov8 Demo
3
+ emoji: 📊
4
+ colorFrom: blue
5
+ colorTo: yellow
6
+ sdk: gradio
7
+ sdk_version: 3.29.0
8
+ app_file: app.py
9
+ pinned: false
10
+ duplicated_from: konglong/yolov8_demo
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+
4
+ from PIL import Image
5
+ from torchkeras import plots
6
+ from torchkeras.data import get_url_img
7
+
8
+ from pathlib import Path
9
+ from ultralytics import YOLO
10
+ import ultralytics
11
+ from ultralytics.yolo.data import utils
12
+
13
+ model = YOLO('yolov8n.pt')
14
+
15
+
16
+ #load class_names
17
+ yaml_path = str(Path(ultralytics.__file__).parent/'datasets/coco128.yaml')
18
+ class_names = utils.yaml_load(yaml_path)['names']
19
+
20
+ def detect(img):
21
+ if isinstance(img,str):
22
+ img = get_url_img(img) if img.startswith('http') else Image.open(img).convert('RGB')
23
+ result = model.predict(source=img)
24
+ if len(result[0].boxes.boxes)>0:
25
+ vis = plots.plot_detection(img,boxes=result[0].boxes.boxes,
26
+ class_names=class_names, min_score=0.2)
27
+ else:
28
+ vis = img
29
+ return vis
30
+
31
+ with gr.Blocks() as demo:
32
+
33
+ with gr.Tab("Webcam"):
34
+ input_img = gr.Image(source='webcam',type='pil')
35
+ button = gr.Button("Detect",variant="primary")
36
+
37
+ gr.Markdown("## Output")
38
+ out_img = gr.Image(type='pil')
39
+
40
+ button.click(detect,
41
+ inputs=input_img,
42
+ outputs=out_img)
43
+
44
+ with gr.Tab("Url"):
45
+ default_url = 'https://t7.baidu.com/it/u=3601447414,1764260638&fm=193&f=GIF'
46
+ url = gr.Textbox(value=default_url)
47
+ button = gr.Button("Detect",variant="primary")
48
+
49
+ gr.Markdown("## Output")
50
+ out_img = gr.Image(type='pil')
51
+
52
+ button.click(detect,
53
+ inputs=url,
54
+ outputs=out_img)
55
+
56
+ with gr.Tab("Upload"):
57
+ input_img = gr.Image(type='pil')
58
+ button = gr.Button("Detect",variant="primary")
59
+
60
+ gr.Markdown("## Output")
61
+ out_img = gr.Image(type='pil')
62
+
63
+ button.click(detect,
64
+ inputs=input_img,
65
+ outputs=out_img)
66
+
67
+
68
+
69
+ gr.close_all()
70
+ demo.queue()
71
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ ultralytics
2
+ scikit-image
3
+ torchkeras
4
+ pathlib
5
+ torch
6
+ accelerate