moyanxinxu commited on
Commit
d3b1997
·
verified ·
1 Parent(s): 64a3ca1

switch pretrained model

Browse files
Files changed (1) hide show
  1. app.py +70 -70
app.py CHANGED
@@ -1,70 +1,70 @@
1
- import gradio as gr
2
- import supervision as sv
3
- from func import detect_and_track
4
- from transformers import DetrForObjectDetection, DetrImageProcessor
5
-
6
- processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50")
7
- model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50")
8
- tracker = sv.ByteTrack()
9
-
10
- mask_annotator = sv.MaskAnnotator()
11
- bbox_annotator = sv.BoundingBoxAnnotator()
12
- label_annotator = sv.LabelAnnotator()
13
-
14
-
15
- def process_video(video_path, confidence_threshold):
16
- return detect_and_track(
17
- video_path,
18
- model,
19
- processor,
20
- tracker,
21
- confidence_threshold,
22
- mask_annotator,
23
- bbox_annotator,
24
- label_annotator,
25
- )
26
-
27
-
28
- with gr.Blocks() as demo:
29
- with gr.Row():
30
- with gr.Column():
31
- in_video = gr.Video(
32
- label="待检测视频",
33
- show_download_button=True,
34
- show_share_button=True,
35
- )
36
- slide_cofidence = gr.Slider(
37
- minimum=0.0, maximum=1.0, value=0.8, label="置信度阈值"
38
- )
39
- examples = gr.Examples(
40
- examples=[
41
- "./demo_video/blurry.mp4",
42
- "./demo_video/high-way.mp4",
43
- "./demo_video/aerial.mp4",
44
- ],
45
- inputs=in_video,
46
- label="案例视频",
47
- )
48
- with gr.Column():
49
- out_video = gr.Video(
50
- label="检测结果视频",
51
- interactive=False,
52
- show_download_button=True,
53
- show_share_button=True,
54
- )
55
- combine_video = gr.Video(
56
- interactive=False,
57
- label="前后对比",
58
- show_download_button=True,
59
- show_share_button=True,
60
- )
61
-
62
- start_detect = gr.Button(value="开始检测")
63
-
64
- start_detect.click(
65
- fn=process_video,
66
- inputs=[in_video, slide_cofidence],
67
- outputs=[out_video, combine_video],
68
- )
69
-
70
- demo.launch()
 
1
+ import gradio as gr
2
+ import supervision as sv
3
+ from func import detect_and_track
4
+ from transformers import AutoImageProcessor, AutoModelForObjectDetection
5
+
6
+ processor = AutoImageProcessor.from_pretrained("PekingU/rtdetr_r50vd_coco_o365")
7
+ model = AutoModelForObjectDetection.from_pretrained("PekingU/rtdetr_r50vd_coco_o365")
8
+ tracker = sv.ByteTrack()
9
+
10
+ mask_annotator = sv.MaskAnnotator()
11
+ bbox_annotator = sv.BoundingBoxAnnotator()
12
+ label_annotator = sv.LabelAnnotator()
13
+
14
+
15
+ def process_video(video_path, confidence_threshold):
16
+ return detect_and_track(
17
+ video_path,
18
+ model,
19
+ processor,
20
+ tracker,
21
+ confidence_threshold,
22
+ mask_annotator,
23
+ bbox_annotator,
24
+ label_annotator,
25
+ )
26
+
27
+
28
+ with gr.Blocks() as demo:
29
+ with gr.Row():
30
+ with gr.Column():
31
+ in_video = gr.Video(
32
+ label="待检测视频",
33
+ show_download_button=True,
34
+ show_share_button=True,
35
+ )
36
+ slide_cofidence = gr.Slider(
37
+ minimum=0.0, maximum=1.0, value=0.8, label="置信度阈值"
38
+ )
39
+ examples = gr.Examples(
40
+ examples=[
41
+ "./demo_video/blurry.mp4",
42
+ "./demo_video/high-way.mp4",
43
+ "./demo_video/aerial.mp4",
44
+ ],
45
+ inputs=in_video,
46
+ label="案例视频",
47
+ )
48
+ with gr.Column():
49
+ out_video = gr.Video(
50
+ label="检测结果视频",
51
+ interactive=False,
52
+ show_download_button=True,
53
+ show_share_button=True,
54
+ )
55
+ combine_video = gr.Video(
56
+ interactive=False,
57
+ label="前后对比",
58
+ show_download_button=True,
59
+ show_share_button=True,
60
+ )
61
+
62
+ start_detect = gr.Button(value="开始检测")
63
+
64
+ start_detect.click(
65
+ fn=process_video,
66
+ inputs=[in_video, slide_cofidence],
67
+ outputs=[out_video, combine_video],
68
+ )
69
+
70
+ demo.launch()