Spaces:
Build error
Build error
global variables are set to gradio state
Browse files
app.py
CHANGED
|
@@ -41,19 +41,6 @@ siammask = Custom(anchors=cfg['anchors'])
|
|
| 41 |
siammask = load_pretrain(siammask, pretrained_path1)
|
| 42 |
siammask = siammask.eval().to(device)
|
| 43 |
|
| 44 |
-
# datetime object containing current date and time
|
| 45 |
-
now = datetime.now()
|
| 46 |
-
|
| 47 |
-
dt_string = now.strftime("%d_%m_%Y_%H_%M_%S")
|
| 48 |
-
print("date and time =", dt_string)
|
| 49 |
-
# constants
|
| 50 |
-
object_x = 0
|
| 51 |
-
object_y = 0
|
| 52 |
-
object_width = 0
|
| 53 |
-
object_height = 0
|
| 54 |
-
in_fps = 24
|
| 55 |
-
|
| 56 |
-
|
| 57 |
parser = argparse.ArgumentParser()
|
| 58 |
# parser.add_argument('--opt', default='configs/object_removal.yaml',
|
| 59 |
# help='Please select your config file for inference')
|
|
@@ -69,7 +56,7 @@ parser.add_argument(
|
|
| 69 |
parser.add_argument(
|
| 70 |
'--outroot', default=os.path.abspath(project_name), help="output directory")
|
| 71 |
parser.add_argument(
|
| 72 |
-
'--outfilename', default=
|
| 73 |
parser.add_argument('--consistencyThres', dest='consistencyThres', default=5, type=float,
|
| 74 |
help='flow consistency error threshold')
|
| 75 |
parser.add_argument('--alpha', dest='alpha', default=0.1, type=float)
|
|
@@ -144,7 +131,7 @@ def getBoundaries(mask):
|
|
| 144 |
return x1, y1, (x2-x1), (y2-y1)
|
| 145 |
|
| 146 |
|
| 147 |
-
def track_and_mask(vid, masked_frame, original_list, mask_list):
|
| 148 |
x, y, w, h = getBoundaries(masked_frame)
|
| 149 |
f = 0
|
| 150 |
|
|
@@ -197,19 +184,23 @@ def track_and_mask(vid, masked_frame, original_list, mask_list):
|
|
| 197 |
else:
|
| 198 |
print("can't open the given input video file!")
|
| 199 |
|
|
|
|
| 200 |
print('Original Frame Count: ',len(original_list))
|
| 201 |
print('Mask Frame Count: ',len(mask_list))
|
| 202 |
-
return {out_video_inpaint:
|
| 203 |
original_frame_list: original_list,
|
| 204 |
-
mask_list: mask_list
|
|
|
|
| 205 |
|
| 206 |
|
| 207 |
def inpaint_video(original_frame_list, mask_list):
|
|
|
|
| 208 |
args.out_fps = in_fps
|
|
|
|
| 209 |
video_inpainting(args, original_frame_list, mask_list)
|
| 210 |
original_frame_list = []
|
| 211 |
mask_list = []
|
| 212 |
-
return {out_video_inpaint:
|
| 213 |
original_frame_list: original_frame_list,
|
| 214 |
mask_list: mask_list}
|
| 215 |
|
|
@@ -250,6 +241,9 @@ def getStartEndPoints(mask):
|
|
| 250 |
with gr.Blocks() as demo:
|
| 251 |
original_frame_list = gr.State([])
|
| 252 |
mask_list = gr.State([])
|
|
|
|
|
|
|
|
|
|
| 253 |
with gr.Row():
|
| 254 |
with gr.Column(scale=2):
|
| 255 |
with gr.Row():
|
|
@@ -274,7 +268,7 @@ with gr.Blocks() as demo:
|
|
| 274 |
approve_mask.click(lambda x: [x['image'], x['mask']], first_frame, [
|
| 275 |
original_image, masked_image])
|
| 276 |
track_mask.click(fn=track_and_mask, inputs=[
|
| 277 |
-
in_video, masked_image, original_frame_list, mask_list], outputs=[out_video, original_frame_list, mask_list])
|
| 278 |
inpaint.click(fn=inpaint_video, outputs=[out_video_inpaint, original_frame_list, mask_list])
|
| 279 |
|
| 280 |
|
|
|
|
| 41 |
siammask = load_pretrain(siammask, pretrained_path1)
|
| 42 |
siammask = siammask.eval().to(device)
|
| 43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
parser = argparse.ArgumentParser()
|
| 45 |
# parser.add_argument('--opt', default='configs/object_removal.yaml',
|
| 46 |
# help='Please select your config file for inference')
|
|
|
|
| 56 |
parser.add_argument(
|
| 57 |
'--outroot', default=os.path.abspath(project_name), help="output directory")
|
| 58 |
parser.add_argument(
|
| 59 |
+
'--outfilename', default="result.mp4", help="output filename")
|
| 60 |
parser.add_argument('--consistencyThres', dest='consistencyThres', default=5, type=float,
|
| 61 |
help='flow consistency error threshold')
|
| 62 |
parser.add_argument('--alpha', dest='alpha', default=0.1, type=float)
|
|
|
|
| 131 |
return x1, y1, (x2-x1), (y2-y1)
|
| 132 |
|
| 133 |
|
| 134 |
+
def track_and_mask(vid, masked_frame, original_list, mask_list, in_fps, dt_string):
|
| 135 |
x, y, w, h = getBoundaries(masked_frame)
|
| 136 |
f = 0
|
| 137 |
|
|
|
|
| 184 |
else:
|
| 185 |
print("can't open the given input video file!")
|
| 186 |
|
| 187 |
+
outname = (dt_string+"_output.avi")
|
| 188 |
print('Original Frame Count: ',len(original_list))
|
| 189 |
print('Mask Frame Count: ',len(mask_list))
|
| 190 |
+
return {out_video_inpaint:outname,
|
| 191 |
original_frame_list: original_list,
|
| 192 |
+
mask_list: mask_list,
|
| 193 |
+
in_fps: in_fps}
|
| 194 |
|
| 195 |
|
| 196 |
def inpaint_video(original_frame_list, mask_list):
|
| 197 |
+
outname = (dt_string+"_result.mp4")
|
| 198 |
args.out_fps = in_fps
|
| 199 |
+
args.outfilename = outname
|
| 200 |
video_inpainting(args, original_frame_list, mask_list)
|
| 201 |
original_frame_list = []
|
| 202 |
mask_list = []
|
| 203 |
+
return {out_video_inpaint:outname,
|
| 204 |
original_frame_list: original_frame_list,
|
| 205 |
mask_list: mask_list}
|
| 206 |
|
|
|
|
| 241 |
with gr.Blocks() as demo:
|
| 242 |
original_frame_list = gr.State([])
|
| 243 |
mask_list = gr.State([])
|
| 244 |
+
# constants
|
| 245 |
+
in_fps = gr.State(24)
|
| 246 |
+
dt_string = gr.State(datetime.now().strftime("%d_%m_%Y_%H_%M_%S"))
|
| 247 |
with gr.Row():
|
| 248 |
with gr.Column(scale=2):
|
| 249 |
with gr.Row():
|
|
|
|
| 268 |
approve_mask.click(lambda x: [x['image'], x['mask']], first_frame, [
|
| 269 |
original_image, masked_image])
|
| 270 |
track_mask.click(fn=track_and_mask, inputs=[
|
| 271 |
+
in_video, masked_image, original_frame_list, mask_list, in_fps, dt_string], outputs=[out_video, original_frame_list, mask_list, in_fps])
|
| 272 |
inpaint.click(fn=inpaint_video, outputs=[out_video_inpaint, original_frame_list, mask_list])
|
| 273 |
|
| 274 |
|