Zengyf-CVer commited on
Commit
f61f17a
1 Parent(s): fe66431

v02 update

Browse files
Files changed (2) hide show
  1. __init__.py +1 -1
  2. 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("--model_name", "-mn", default="yolov5s", type=str, help="model name")
 
 
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("--nms_iou", "-iou", default=0.45, type=float, help="model NMS IoU threshold")
 
 
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
- "-dev",
73
- default="cpu",
74
- type=str,
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],} for i in range(len(result))] for result in results.xyxyn]
 
 
 
 
 
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(choices=["0", "cpu"], default=device, type="value", label="设备")
253
- inputs_model = gr.inputs.Dropdown(choices=model_names, default=model_name, type="value", label="模型")
254
- inputs_size = gr.inputs.Radio(choices=[320, 640], default=inference_size, label="推理尺寸")
255
- input_conf = gr.inputs.Slider(0, 1, step=slider_step, default=nms_conf, label="置信度阈值")
256
- inputs_iou = gr.inputs.Slider(0, 1, step=slider_step, default=nms_iou, label="IoU 阈值")
 
 
 
 
 
 
 
 
 
 
257
  inputs_label = gr.inputs.Checkbox(default=(not label_opt), label="标签显示")
258
- inputs_clsName = gr.inputs.CheckboxGroup(choices=model_cls_name, default=model_cls_name, type="index", label="类别")
 
 
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(