@@ -41,7 +41,8 @@ def get_click_prompt(click_stack, point):
41
41
42
42
def get_meta_from_video (input_video ):
43
43
if input_video is None :
44
- return None , None , None
44
+ return None , None , None , ""
45
+
45
46
print ("get meta information of input video" )
46
47
cap = cv2 .VideoCapture (input_video )
47
48
@@ -50,11 +51,11 @@ def get_meta_from_video(input_video):
50
51
51
52
first_frame = cv2 .cvtColor (first_frame , cv2 .COLOR_BGR2RGB )
52
53
53
- return first_frame , first_frame , first_frame
54
+ return first_frame , first_frame , first_frame , ""
54
55
55
56
def get_meta_from_img_seq (input_img_seq ):
56
57
if input_img_seq is None :
57
- return None , None , None
58
+ return None , None , None , ""
58
59
59
60
print ("get meta information of img seq" )
60
61
# Create dir
@@ -86,7 +87,7 @@ def SegTracker_add_first_frame(Seg_Tracker, origin_frame, predicted_mask):
86
87
def init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame ):
87
88
88
89
if origin_frame is None :
89
- return None , origin_frame , [[], []]
90
+ return None , origin_frame , [[], []], ""
90
91
91
92
# reset aot args
92
93
aot_args ["model" ] = aot_model
@@ -100,7 +101,7 @@ def init_SegTracker(aot_model, sam_gap, max_obj_num, points_per_side, origin_fra
100
101
Seg_Tracker = SegTracker (segtracker_args , sam_args , aot_args )
101
102
Seg_Tracker .restart_tracker ()
102
103
103
- return Seg_Tracker , origin_frame , [[], []]
104
+ return Seg_Tracker , origin_frame , [[], []], ""
104
105
105
106
def init_SegTracker_Stroke (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame ):
106
107
@@ -173,7 +174,7 @@ def sam_click(Seg_Tracker, origin_frame, point_mode, click_stack, aot_model, sam
173
174
point = {"coord" : [evt .index [0 ], evt .index [1 ]], "mode" : 0 }
174
175
175
176
if Seg_Tracker is None :
176
- Seg_Tracker , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
177
+ Seg_Tracker , _ , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
177
178
178
179
# get click prompts for sam to predict mask
179
180
click_prompt = get_click_prompt (click_stack , point )
@@ -186,7 +187,7 @@ def sam_click(Seg_Tracker, origin_frame, point_mode, click_stack, aot_model, sam
186
187
def sam_stroke (Seg_Tracker , origin_frame , drawing_board , aot_model , sam_gap , max_obj_num , points_per_side ):
187
188
188
189
if Seg_Tracker is None :
189
- Seg_Tracker , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
190
+ Seg_Tracker , _ , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
190
191
191
192
print ("Stroke" )
192
193
mask = drawing_board ["mask" ]
@@ -199,7 +200,7 @@ def sam_stroke(Seg_Tracker, origin_frame, drawing_board, aot_model, sam_gap, max
199
200
200
201
def gd_detect (Seg_Tracker , origin_frame , grounding_caption , box_threshold , text_threshold , aot_model , sam_gap , max_obj_num , points_per_side ):
201
202
if Seg_Tracker is None :
202
- Seg_Tracker , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
203
+ Seg_Tracker , _ , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
203
204
204
205
print ("Detect" )
205
206
predicted_mask , annotated_frame = Seg_Tracker .detect_and_seg (origin_frame , grounding_caption , box_threshold , text_threshold )
@@ -214,7 +215,7 @@ def gd_detect(Seg_Tracker, origin_frame, grounding_caption, box_threshold, text_
214
215
def segment_everything (Seg_Tracker , aot_model , origin_frame , sam_gap , max_obj_num , points_per_side ):
215
216
216
217
if Seg_Tracker is None :
217
- Seg_Tracker , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
218
+ Seg_Tracker , _ , _ , _ = init_SegTracker (aot_model , sam_gap , max_obj_num , points_per_side , origin_frame )
218
219
219
220
print ("Everything" )
220
221
@@ -421,7 +422,7 @@ def seg_track_app():
421
422
input_video
422
423
],
423
424
outputs = [
424
- input_first_frame , origin_frame , drawing_board
425
+ input_first_frame , origin_frame , drawing_board , grounding_caption
425
426
]
426
427
)
427
428
@@ -432,7 +433,7 @@ def seg_track_app():
432
433
input_img_seq
433
434
],
434
435
outputs = [
435
- input_first_frame , origin_frame , drawing_board
436
+ input_first_frame , origin_frame , drawing_board , grounding_caption
436
437
]
437
438
)
438
439
@@ -489,7 +490,7 @@ def seg_track_app():
489
490
origin_frame
490
491
],
491
492
outputs = [
492
- Seg_Tracker , input_first_frame , click_stack
493
+ Seg_Tracker , input_first_frame , click_stack , grounding_caption
493
494
],
494
495
queue = False ,
495
496
@@ -505,7 +506,7 @@ def seg_track_app():
505
506
origin_frame
506
507
],
507
508
outputs = [
508
- Seg_Tracker , input_first_frame , click_stack
509
+ Seg_Tracker , input_first_frame , click_stack , grounding_caption
509
510
],
510
511
queue = False ,
511
512
)
@@ -535,7 +536,7 @@ def seg_track_app():
535
536
origin_frame
536
537
],
537
538
outputs = [
538
- Seg_Tracker , input_first_frame , click_stack
539
+ Seg_Tracker , input_first_frame , click_stack , grounding_caption
539
540
],
540
541
queue = False ,
541
542
)
@@ -640,7 +641,7 @@ def seg_track_app():
640
641
origin_frame
641
642
],
642
643
outputs = [
643
- Seg_Tracker , input_first_frame , click_stack
644
+ Seg_Tracker , input_first_frame , click_stack , grounding_caption
644
645
],
645
646
queue = False ,
646
647
show_progress = False
@@ -656,7 +657,7 @@ def seg_track_app():
656
657
# origin_frame
657
658
# ],
658
659
# outputs=[
659
- # Seg_Tracker, input_first_frame, click_stack
660
+ # Seg_Tracker, input_first_frame, click_stack, grounding_caption
660
661
# ],
661
662
# queue=False,
662
663
# show_progress=False
@@ -672,7 +673,7 @@ def seg_track_app():
672
673
# origin_frame
673
674
# ],
674
675
# outputs=[
675
- # Seg_Tracker, input_first_frame, click_stack
676
+ # Seg_Tracker, input_first_frame, click_stack, grounding_caption
676
677
# ],
677
678
# queue=False,
678
679
# show_progress=False
0 commit comments