Spaces:
Runtime error
Runtime error
Zengyf-CVer
commited on
Commit
•
f61f17a
1
Parent(s):
fe66431
v02 update
Browse files- __init__.py +1 -1
- app.py +42 -27
__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
__author__ = "曾逸夫(Zeng Yifu)"
|
2 |
-
__email__ = "[email protected]"
|
|
|
1 |
__author__ = "曾逸夫(Zeng Yifu)"
|
2 |
+
__email__ = "[email protected]"
|
app.py
CHANGED
@@ -36,7 +36,9 @@ FONTSIZE = 25
|
|
36 |
|
37 |
def parse_args(known=False):
|
38 |
parser = argparse.ArgumentParser(description="Gradio YOLOv5 Det v0.2")
|
39 |
-
parser.add_argument(
|
|
|
|
|
40 |
parser.add_argument(
|
41 |
"--model_cfg",
|
42 |
"-mc",
|
@@ -58,7 +60,9 @@ def parse_args(known=False):
|
|
58 |
type=float,
|
59 |
help="model NMS confidence threshold",
|
60 |
)
|
61 |
-
parser.add_argument(
|
|
|
|
|
62 |
|
63 |
parser.add_argument(
|
64 |
"--label_dnt_show",
|
@@ -68,13 +72,11 @@ def parse_args(known=False):
|
|
68 |
help="label show",
|
69 |
)
|
70 |
parser.add_argument(
|
71 |
-
"--device",
|
72 |
-
|
73 |
-
|
74 |
-
type=
|
75 |
-
help="cuda or cpu",
|
76 |
)
|
77 |
-
parser.add_argument("--inference_size", "-isz", default=640, type=int, help="model inference size")
|
78 |
|
79 |
args = parser.parse_known_args()[0] if known else parser.parse_args()
|
80 |
return args
|
@@ -105,11 +107,17 @@ def export_json(results, model, img_size):
|
|
105 |
"x0": round(result[i][:4].tolist()[0], 6),
|
106 |
"y0": round(result[i][:4].tolist()[1], 6),
|
107 |
"x1": round(result[i][:4].tolist()[2], 6),
|
108 |
-
"y1": round(result[i][:4].tolist()[3], 6),
|
|
|
109 |
"confidence": round(float(result[i][4]), 2),
|
110 |
"fps": round(1000 / float(results.t[1]), 2),
|
111 |
"width": img_size[0],
|
112 |
-
"height": img_size[1],
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
|
115 |
# 帧转换
|
@@ -249,13 +257,25 @@ def main(args):
|
|
249 |
|
250 |
# -------------------输入组件-------------------
|
251 |
inputs_img = gr.inputs.Image(type="pil", label="原始图片")
|
252 |
-
inputs_device = gr.inputs.Dropdown(
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
inputs_label = gr.inputs.Checkbox(default=(not label_opt), label="标签显示")
|
258 |
-
inputs_clsName = gr.inputs.CheckboxGroup(
|
|
|
|
|
259 |
|
260 |
# 输入参数
|
261 |
inputs = [
|
@@ -279,15 +299,7 @@ def main(args):
|
|
279 |
|
280 |
# 示例图片
|
281 |
examples = [
|
282 |
-
[
|
283 |
-
"./img_example/bus.jpg",
|
284 |
-
"cpu",
|
285 |
-
"yolov5s",
|
286 |
-
640,
|
287 |
-
0.6,
|
288 |
-
0.5,
|
289 |
-
True,
|
290 |
-
["人", "公交车"],],
|
291 |
[
|
292 |
"./img_example/Millenial-at-work.jpg",
|
293 |
"cpu",
|
@@ -296,7 +308,8 @@ def main(args):
|
|
296 |
0.5,
|
297 |
0.45,
|
298 |
True,
|
299 |
-
["人", "椅子", "杯子", "笔记本电脑"],
|
|
|
300 |
[
|
301 |
"./img_example/zidane.jpg",
|
302 |
"cpu",
|
@@ -305,7 +318,9 @@ def main(args):
|
|
305 |
0.25,
|
306 |
0.5,
|
307 |
False,
|
308 |
-
["人", "领带"],
|
|
|
|
|
309 |
|
310 |
# 接口
|
311 |
gr.Interface(
|
|
|
36 |
|
37 |
def parse_args(known=False):
|
38 |
parser = argparse.ArgumentParser(description="Gradio YOLOv5 Det v0.2")
|
39 |
+
parser.add_argument(
|
40 |
+
"--model_name", "-mn", default="yolov5s", type=str, help="model name"
|
41 |
+
)
|
42 |
parser.add_argument(
|
43 |
"--model_cfg",
|
44 |
"-mc",
|
|
|
60 |
type=float,
|
61 |
help="model NMS confidence threshold",
|
62 |
)
|
63 |
+
parser.add_argument(
|
64 |
+
"--nms_iou", "-iou", default=0.45, type=float, help="model NMS IoU threshold"
|
65 |
+
)
|
66 |
|
67 |
parser.add_argument(
|
68 |
"--label_dnt_show",
|
|
|
72 |
help="label show",
|
73 |
)
|
74 |
parser.add_argument(
|
75 |
+
"--device", "-dev", default="cpu", type=str, help="cuda or cpu",
|
76 |
+
)
|
77 |
+
parser.add_argument(
|
78 |
+
"--inference_size", "-isz", default=640, type=int, help="model inference size"
|
|
|
79 |
)
|
|
|
80 |
|
81 |
args = parser.parse_known_args()[0] if known else parser.parse_args()
|
82 |
return args
|
|
|
107 |
"x0": round(result[i][:4].tolist()[0], 6),
|
108 |
"y0": round(result[i][:4].tolist()[1], 6),
|
109 |
"x1": round(result[i][:4].tolist()[2], 6),
|
110 |
+
"y1": round(result[i][:4].tolist()[3], 6),
|
111 |
+
},
|
112 |
"confidence": round(float(result[i][4]), 2),
|
113 |
"fps": round(1000 / float(results.t[1]), 2),
|
114 |
"width": img_size[0],
|
115 |
+
"height": img_size[1],
|
116 |
+
}
|
117 |
+
for i in range(len(result))
|
118 |
+
]
|
119 |
+
for result in results.xyxyn
|
120 |
+
]
|
121 |
|
122 |
|
123 |
# 帧转换
|
|
|
257 |
|
258 |
# -------------------输入组件-------------------
|
259 |
inputs_img = gr.inputs.Image(type="pil", label="原始图片")
|
260 |
+
inputs_device = gr.inputs.Dropdown(
|
261 |
+
choices=["0", "cpu"], default=device, type="value", label="设备"
|
262 |
+
)
|
263 |
+
inputs_model = gr.inputs.Dropdown(
|
264 |
+
choices=model_names, default=model_name, type="value", label="模型"
|
265 |
+
)
|
266 |
+
inputs_size = gr.inputs.Radio(
|
267 |
+
choices=[320, 640], default=inference_size, label="推理尺寸"
|
268 |
+
)
|
269 |
+
input_conf = gr.inputs.Slider(
|
270 |
+
0, 1, step=slider_step, default=nms_conf, label="置信度阈值"
|
271 |
+
)
|
272 |
+
inputs_iou = gr.inputs.Slider(
|
273 |
+
0, 1, step=slider_step, default=nms_iou, label="IoU 阈值"
|
274 |
+
)
|
275 |
inputs_label = gr.inputs.Checkbox(default=(not label_opt), label="标签显示")
|
276 |
+
inputs_clsName = gr.inputs.CheckboxGroup(
|
277 |
+
choices=model_cls_name, default=model_cls_name, type="index", label="类别"
|
278 |
+
)
|
279 |
|
280 |
# 输入参数
|
281 |
inputs = [
|
|
|
299 |
|
300 |
# 示例图片
|
301 |
examples = [
|
302 |
+
["./img_example/bus.jpg", "cpu", "yolov5s", 640, 0.6, 0.5, True, ["人", "公交车"],],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
[
|
304 |
"./img_example/Millenial-at-work.jpg",
|
305 |
"cpu",
|
|
|
308 |
0.5,
|
309 |
0.45,
|
310 |
True,
|
311 |
+
["人", "椅子", "杯子", "笔记本电脑"],
|
312 |
+
],
|
313 |
[
|
314 |
"./img_example/zidane.jpg",
|
315 |
"cpu",
|
|
|
318 |
0.25,
|
319 |
0.5,
|
320 |
False,
|
321 |
+
["人", "领带"],
|
322 |
+
],
|
323 |
+
]
|
324 |
|
325 |
# 接口
|
326 |
gr.Interface(
|