goryhon commited on
Commit
a429733
·
verified ·
1 Parent(s): 61bb4ab

Update web-demos/hugging_face/app.py

Browse files
Files changed (1) hide show
  1. web-demos/hugging_face/app.py +48 -51
web-demos/hugging_face/app.py CHANGED
@@ -623,62 +623,59 @@ with gr.Blocks(theme=gr.themes.Monochrome(), css=css) as iface:
623
  value=10,)
624
 
625
  with gr.Column():
626
- # input video
627
- gr.Markdown("## Step1: Upload video")
628
- with gr.Row(equal_height=True):
629
- with gr.Column(scale=2):
630
- video_input = gr.Video(elem_classes="video")
631
- extract_frames_button = gr.Button(value="Get video info", interactive=True, variant="primary")
632
- with gr.Column(scale=2):
633
- run_status = gr.HighlightedText(value=[("",""), ("Try to upload your video and click the Get video info button to get started! (Kindly ensure that the uploaded video consists of fewer than 500 frames in total)", "Normal")],
634
- color_map={"Normal": "green", "Error": "red", "Clear clicks": "gray", "Add mask": "green", "Remove mask": "red"})
635
- video_info = gr.Textbox(label="Video Info")
636
-
637
-
638
- # add masks
639
- step2_title = gr.Markdown("---\n## Step2: Add masks", visible=False)
640
- with gr.Row(equal_height=True):
641
- with gr.Column(scale=2):
642
- brush_settings = gr.Brush(
643
- default_size=2,
644
- colors=["#FFFFFF"], # Белый цвет кисти
645
- default_color="#FFFFFF"
646
- )
647
- template_frame = gr.ImageEditor(type="numpy",label="Draw mask manually or click to add",interactive=True,visible=False,elem_id="template_frame",elem_classes="image",brush=brush_settings)
648
- image_selection_slider = gr.Slider(minimum=1, maximum=100, step=1, value=1, label="Track start frame", visible=False)
649
- track_pause_number_slider = gr.Slider(minimum=1, maximum=100, step=1, value=1, label="Track end frame", visible=False)
650
- with gr.Column(scale=2, elem_classes="jc_center"):
651
- mask_mode_selector = gr.Radio(
652
  choices=["Click", "Draw"],
653
  value="Click",
654
  label="Mask input mode",
655
  interactive=True,
656
  visible=False
657
- )
658
- with gr.Column():
659
- point_prompt = gr.Radio(
660
- choices=["Positive", "Negative"],
661
- value="Positive",
662
- label="Point prompt",
663
- interactive=True,
664
- visible=False,
665
- min_width=100,
666
- scale=1,)
667
- with gr.Row(elem_classes="mask_button_group"):
668
- Add_mask_button = gr.Button(value="Add mask", interactive=True, visible=False, elem_classes="add_button")
669
- remove_mask_button = gr.Button(value="Remove mask", interactive=True, visible=False, elem_classes="remove_button")
670
- clear_button_click = gr.Button(value="Clear clicks", interactive=True, visible=False, elem_classes="clear_button")
671
- mask_dropdown = gr.Dropdown(multiselect=True, value=[], label="Mask selection", info=".", visible=False)
672
-
673
- # output video
674
- step3_title = gr.Markdown("---\n## Step3: Track masks and get the inpainting result", visible=False)
675
- with gr.Row(equal_height=True):
676
- with gr.Column(scale=2):
677
- tracking_video_output = gr.Video(visible=False, elem_classes="video")
678
- tracking_video_predict_button = gr.Button(value="1. Tracking", visible=False, elem_classes="margin_center")
679
- with gr.Column(scale=2):
680
- inpaiting_video_output = gr.Video(visible=False, elem_classes="video")
681
- inpaint_video_predict_button = gr.Button(value="2. Inpainting", visible=False, elem_classes="margin_center")
682
 
683
  # first step: get the video information
684
  extract_frames_button.click(
 
623
  value=10,)
624
 
625
  with gr.Column():
626
+ # Step 1: Upload video
627
+ gr.Markdown("## Step1: Upload video")
628
+ with gr.Row(equal_height=True):
629
+ with gr.Column(scale=2):
630
+ video_input = gr.Video(elem_classes="video")
631
+ extract_frames_button = gr.Button(value="Get video info", interactive=True, variant="primary")
632
+ with gr.Column(scale=2):
633
+ run_status = gr.HighlightedText(value=[("",""), ("Try to upload your video and click the Get video info button to get started!", "Normal")],
634
+ color_map={"Normal": "green", "Error": "red", "Clear clicks": "gray", "Add mask": "green", "Remove mask": "red"})
635
+ video_info = gr.Textbox(label="Video Info")
636
+
637
+ # Step 2: Add masks
638
+ step2_title = gr.Markdown("---\n## Step2: Add masks", visible=False)
639
+ with gr.Row(equal_height=True):
640
+ with gr.Column(scale=2):
641
+ template_frame = gr.Image(type="numpy", label="Draw mask manually or click to add", tool="sketch", brush_radius=2, interactive=True, visible=False, elem_id="template_frame", elem_classes="image")
642
+ image_selection_slider = gr.Slider(minimum=1, maximum=100, step=1, value=1, label="Track start frame", visible=False)
643
+ track_pause_number_slider = gr.Slider(minimum=1, maximum=100, step=1, value=1, label="Track end frame", visible=False)
644
+ with gr.Column(scale=2, elem_classes="jc_center"):
645
+ run_status2 = gr.HighlightedText(value=[("",""), ("Use click or draw to select mask, then track or inpaint.", "Normal")],
646
+ color_map={"Normal": "green", "Error": "red", "Clear clicks": "gray", "Add mask": "green", "Remove mask": "red"},
647
+ visible=False)
648
+ mask_mode_selector = gr.Radio(
 
 
 
649
  choices=["Click", "Draw"],
650
  value="Click",
651
  label="Mask input mode",
652
  interactive=True,
653
  visible=False
654
+ )
655
+ point_prompt = gr.Radio(
656
+ choices=["Positive", "Negative"],
657
+ value="Positive",
658
+ label="Point prompt",
659
+ interactive=True,
660
+ visible=False,
661
+ min_width=100,
662
+ scale=1
663
+ )
664
+ with gr.Row(elem_classes="mask_button_group"):
665
+ Add_mask_button = gr.Button(value="Add mask", interactive=True, visible=False, elem_classes="add_button")
666
+ remove_mask_button = gr.Button(value="Remove mask", interactive=True, visible=False, elem_classes="remove_button")
667
+ clear_button_click = gr.Button(value="Clear clicks", interactive=True, visible=False, elem_classes="clear_button")
668
+ mask_dropdown = gr.Dropdown(multiselect=True, value=[], label="Mask selection", info=".", visible=False)
669
+
670
+ # Step 3: Tracking & Inpainting
671
+ step3_title = gr.Markdown("---\n## Step3: Track masks and get the inpainting result", visible=False)
672
+ with gr.Row(equal_height=True):
673
+ with gr.Column(scale=2):
674
+ tracking_video_output = gr.Video(visible=False, elem_classes="video")
675
+ tracking_video_predict_button = gr.Button(value="1. Tracking", visible=False, elem_classes="margin_center")
676
+ with gr.Column(scale=2):
677
+ inpaiting_video_output = gr.Video(visible=False, elem_classes="video")
678
+ inpaint_video_predict_button = gr.Button(value="2. Inpainting", visible=False, elem_classes="margin_center")
679
 
680
  # first step: get the video information
681
  extract_frames_button.click(