diff --git a/facefusion/processors/modules/face_swapper.py b/facefusion/processors/modules/face_swapper.py index 6aa63733..bc475783 100755 --- a/facefusion/processors/modules/face_swapper.py +++ b/facefusion/processors/modules/face_swapper.py @@ -377,8 +377,8 @@ def swap_face(source_face : Face, target_face : Face, temp_vision_frame : Vision pixel_boost_size = unpack_resolution(state_manager.get_item('face_swapper_pixel_boost')) pixel_boost_total = pixel_boost_size[0] // model_size[0] crop_vision_frame, affine_matrix = warp_face_by_face_landmark_5(temp_vision_frame, target_face.landmark_set.get('5/68'), model_template, pixel_boost_size) - crop_masks = [] temp_vision_frames = [] + crop_masks = [] if 'box' in state_manager.get_item('face_mask_types'): box_mask = create_static_box_mask(crop_vision_frame.shape[:2][::-1], state_manager.get_item('face_mask_blur'), state_manager.get_item('face_mask_padding')) diff --git a/facefusion/uis/components/face_masker.py b/facefusion/uis/components/face_masker.py index 7579cf80..46571c5b 100755 --- a/facefusion/uis/components/face_masker.py +++ b/facefusion/uis/components/face_masker.py @@ -9,17 +9,17 @@ from facefusion.typing import FaceMaskRegion, FaceMaskType from facefusion.uis.core import register_ui_component FACE_MASK_TYPES_CHECKBOX_GROUP : Optional[gradio.CheckboxGroup] = None +FACE_MASK_REGIONS_CHECKBOX_GROUP : Optional[gradio.CheckboxGroup] = None FACE_MASK_BLUR_SLIDER : Optional[gradio.Slider] = None FACE_MASK_PADDING_TOP_SLIDER : Optional[gradio.Slider] = None FACE_MASK_PADDING_RIGHT_SLIDER : Optional[gradio.Slider] = None FACE_MASK_PADDING_BOTTOM_SLIDER : Optional[gradio.Slider] = None FACE_MASK_PADDING_LEFT_SLIDER : Optional[gradio.Slider] = None -FACE_MASK_REGION_CHECKBOX_GROUP : Optional[gradio.CheckboxGroup] = None def render() -> None: global FACE_MASK_TYPES_CHECKBOX_GROUP - global FACE_MASK_REGION_CHECKBOX_GROUP + global FACE_MASK_REGIONS_CHECKBOX_GROUP global FACE_MASK_BLUR_SLIDER global FACE_MASK_PADDING_TOP_SLIDER global FACE_MASK_PADDING_RIGHT_SLIDER @@ -33,8 +33,8 @@ def render() -> None: choices = facefusion.choices.face_mask_types, value = state_manager.get_item('face_mask_types') ) - FACE_MASK_REGION_CHECKBOX_GROUP = gradio.CheckboxGroup( - label = wording.get('uis.face_mask_region_checkbox_group'), + FACE_MASK_REGIONS_CHECKBOX_GROUP = gradio.CheckboxGroup( + label = wording.get('uis.face_mask_regions_checkbox_group'), choices = facefusion.choices.face_mask_regions, value = state_manager.get_item('face_mask_regions'), visible = has_region_mask @@ -83,7 +83,7 @@ def render() -> None: visible = has_box_mask ) register_ui_component('face_mask_types_checkbox_group', FACE_MASK_TYPES_CHECKBOX_GROUP) - register_ui_component('face_mask_region_checkbox_group', FACE_MASK_REGION_CHECKBOX_GROUP) + register_ui_component('face_mask_regions_checkbox_group', FACE_MASK_REGIONS_CHECKBOX_GROUP) register_ui_component('face_mask_blur_slider', FACE_MASK_BLUR_SLIDER) register_ui_component('face_mask_padding_top_slider', FACE_MASK_PADDING_TOP_SLIDER) register_ui_component('face_mask_padding_right_slider', FACE_MASK_PADDING_RIGHT_SLIDER) @@ -92,15 +92,15 @@ def render() -> None: def listen() -> None: - FACE_MASK_TYPES_CHECKBOX_GROUP.change(update_face_mask_type, inputs = FACE_MASK_TYPES_CHECKBOX_GROUP, outputs = [ FACE_MASK_TYPES_CHECKBOX_GROUP, FACE_MASK_REGION_CHECKBOX_GROUP, FACE_MASK_BLUR_SLIDER, FACE_MASK_PADDING_TOP_SLIDER, FACE_MASK_PADDING_RIGHT_SLIDER, FACE_MASK_PADDING_BOTTOM_SLIDER, FACE_MASK_PADDING_LEFT_SLIDER ]) - FACE_MASK_REGION_CHECKBOX_GROUP.change(update_face_mask_regions, inputs = FACE_MASK_REGION_CHECKBOX_GROUP, outputs = FACE_MASK_REGION_CHECKBOX_GROUP) + FACE_MASK_TYPES_CHECKBOX_GROUP.change(update_face_mask_types, inputs = FACE_MASK_TYPES_CHECKBOX_GROUP, outputs = [ FACE_MASK_TYPES_CHECKBOX_GROUP, FACE_MASK_REGIONS_CHECKBOX_GROUP, FACE_MASK_BLUR_SLIDER, FACE_MASK_PADDING_TOP_SLIDER, FACE_MASK_PADDING_RIGHT_SLIDER, FACE_MASK_PADDING_BOTTOM_SLIDER, FACE_MASK_PADDING_LEFT_SLIDER ]) + FACE_MASK_REGIONS_CHECKBOX_GROUP.change(update_face_mask_regions, inputs = FACE_MASK_REGIONS_CHECKBOX_GROUP, outputs = FACE_MASK_REGIONS_CHECKBOX_GROUP) FACE_MASK_BLUR_SLIDER.release(update_face_mask_blur, inputs = FACE_MASK_BLUR_SLIDER) face_mask_padding_sliders = [ FACE_MASK_PADDING_TOP_SLIDER, FACE_MASK_PADDING_RIGHT_SLIDER, FACE_MASK_PADDING_BOTTOM_SLIDER, FACE_MASK_PADDING_LEFT_SLIDER ] for face_mask_padding_slider in face_mask_padding_sliders: face_mask_padding_slider.release(update_face_mask_padding, inputs = face_mask_padding_sliders) -def update_face_mask_type(face_mask_types : List[FaceMaskType]) -> Tuple[gradio.CheckboxGroup, gradio.CheckboxGroup, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider]: +def update_face_mask_types(face_mask_types : List[FaceMaskType]) -> Tuple[gradio.CheckboxGroup, gradio.CheckboxGroup, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider]: face_mask_types = face_mask_types or facefusion.choices.face_mask_types state_manager.set_item('face_mask_types', face_mask_types) has_box_mask = 'box' in face_mask_types diff --git a/facefusion/uis/components/preview.py b/facefusion/uis/components/preview.py index 6b3eb0a7..d6044291 100755 --- a/facefusion/uis/components/preview.py +++ b/facefusion/uis/components/preview.py @@ -103,7 +103,7 @@ def listen() -> None: 'face_debugger_items_checkbox_group', 'frame_colorizer_size_dropdown', 'face_mask_types_checkbox_group', - 'face_mask_region_checkbox_group' + 'face_mask_regions_checkbox_group' ]): ui_component.change(update_preview_image, inputs = PREVIEW_FRAME_SLIDER, outputs = PREVIEW_IMAGE) diff --git a/facefusion/uis/typing.py b/facefusion/uis/typing.py index 502b6a22..1c13759d 100644 --- a/facefusion/uis/typing.py +++ b/facefusion/uis/typing.py @@ -7,30 +7,30 @@ ComponentName = Literal\ [ 'age_modifier_direction_slider', 'age_modifier_model_dropdown', - 'expression_restorer_factor_slider', - 'expression_restorer_model_dropdown', 'benchmark_cycles_slider', 'benchmark_runs_checkbox_group', + 'expression_restorer_factor_slider', + 'expression_restorer_model_dropdown', 'face_debugger_items_checkbox_group', 'face_detector_angles_checkbox_group', 'face_detector_model_dropdown', 'face_detector_score_slider', 'face_detector_size_dropdown', - 'face_editor_model_dropdown', 'face_editor_eyebrow_direction_slider', 'face_editor_eye_gaze_horizontal_slider', 'face_editor_eye_gaze_vertical_slider', 'face_editor_eye_open_ratio_slider', + 'face_editor_head_pitch_slider', + 'face_editor_head_roll_slider', + 'face_editor_head_yaw_slider', 'face_editor_lip_open_ratio_slider', + 'face_editor_model_dropdown', 'face_editor_mouth_grim_slider', + 'face_editor_mouth_position_horizontal_slider', + 'face_editor_mouth_position_vertical_slider', 'face_editor_mouth_pout_slider', 'face_editor_mouth_purse_slider', 'face_editor_mouth_smile_slider', - 'face_editor_mouth_position_horizontal_slider', - 'face_editor_mouth_position_vertical_slider', - 'face_editor_head_pitch_slider', - 'face_editor_head_yaw_slider', - 'face_editor_head_roll_slider', 'face_enhancer_blend_slider', 'face_enhancer_model_dropdown', 'face_landmarker_model_dropdown', @@ -40,13 +40,13 @@ ComponentName = Literal\ 'face_mask_padding_left_slider', 'face_mask_padding_right_slider', 'face_mask_padding_top_slider', - 'face_mask_region_checkbox_group', + 'face_mask_regions_checkbox_group', 'face_mask_types_checkbox_group', - 'face_selector_gender_dropdown', - 'face_selector_race_dropdown', 'face_selector_age_range_slider', + 'face_selector_gender_dropdown', 'face_selector_mode_dropdown', 'face_selector_order_dropdown', + 'face_selector_race_dropdown', 'face_swapper_model_dropdown', 'face_swapper_pixel_boost_dropdown', 'frame_colorizer_blend_slider', diff --git a/facefusion/wording.py b/facefusion/wording.py index 7b5a6b34..3b754ba4 100755 --- a/facefusion/wording.py +++ b/facefusion/wording.py @@ -229,21 +229,21 @@ WORDING : Dict[str, Any] =\ 'face_detector_model_dropdown': 'FACE DETECTOR MODEL', 'face_detector_score_slider': 'FACE DETECTOR SCORE', 'face_detector_size_dropdown': 'FACE DETECTOR SIZE', - 'face_editor_model_dropdown': 'FACE EDITOR MODEL', + 'face_editor_eyebrow_direction_slider': 'FACE EDITOR EYEBROW DIRECTION', 'face_editor_eye_gaze_horizontal_slider': 'FACE EDITOR EYE GAZE HORIZONTAL', 'face_editor_eye_gaze_vertical_slider': 'FACE EDITOR EYE GAZE VERTICAL', 'face_editor_eye_open_ratio_slider': 'FACE EDITOR EYE OPEN RATIO', - 'face_editor_eyebrow_direction_slider': 'FACE EDITOR EYEBROW DIRECTION', + 'face_editor_head_pitch_slider': 'FACE EDITOR HEAD PITCH', + 'face_editor_head_roll_slider': 'FACE EDITOR HEAD ROLL', + 'face_editor_head_yaw_slider': 'FACE EDITOR HEAD YAW', 'face_editor_lip_open_ratio_slider': 'FACE EDITOR LIP OPEN RATIO', + 'face_editor_model_dropdown': 'FACE EDITOR MODEL', 'face_editor_mouth_grim_slider': 'FACE EDITOR MOUTH GRIM', + 'face_editor_mouth_position_horizontal_slider': 'FACE EDITOR MOUTH POSITION HORIZONTAL', + 'face_editor_mouth_position_vertical_slider': 'FACE EDITOR MOUTH POSITION VERTICAL', 'face_editor_mouth_pout_slider': 'FACE EDITOR MOUTH POUT', 'face_editor_mouth_purse_slider': 'FACE EDITOR MOUTH PURSE', 'face_editor_mouth_smile_slider': 'FACE EDITOR MOUTH SMILE', - 'face_editor_mouth_position_horizontal_slider': 'FACE EDITOR MOUTH POSITION HORIZONTAL', - 'face_editor_mouth_position_vertical_slider': 'FACE EDITOR MOUTH POSITION VERTICAL', - 'face_editor_head_pitch_slider': 'FACE EDITOR HEAD PITCH', - 'face_editor_head_yaw_slider': 'FACE EDITOR HEAD YAW', - 'face_editor_head_roll_slider': 'FACE EDITOR HEAD ROLL', 'face_enhancer_blend_slider': 'FACE ENHANCER BLEND', 'face_enhancer_model_dropdown': 'FACE ENHANCER MODEL', 'face_landmarker_model_dropdown': 'FACE LANDMARKER MODEL', @@ -253,13 +253,13 @@ WORDING : Dict[str, Any] =\ 'face_mask_padding_left_slider': 'FACE MASK PADDING LEFT', 'face_mask_padding_right_slider': 'FACE MASK PADDING RIGHT', 'face_mask_padding_top_slider': 'FACE MASK PADDING TOP', - 'face_mask_region_checkbox_group': 'FACE MASK REGIONS', + 'face_mask_regions_checkbox_group': 'FACE MASK REGIONS', 'face_mask_types_checkbox_group': 'FACE MASK TYPES', - 'face_selector_gender_dropdown': 'FACE SELECTOR GENDER', - 'face_selector_race_dropdown': 'FACE SELECTOR RACE', 'face_selector_age_range_slider': 'FACE SELECTOR AGE', + 'face_selector_gender_dropdown': 'FACE SELECTOR GENDER', 'face_selector_mode_dropdown': 'FACE SELECTOR MODE', 'face_selector_order_dropdown': 'FACE SELECTOR ORDER', + 'face_selector_race_dropdown': 'FACE SELECTOR RACE', 'face_swapper_model_dropdown': 'FACE SWAPPER MODEL', 'face_swapper_pixel_boost_dropdown': 'FACE SWAPPER PIXEL BOOST', 'frame_colorizer_blend_slider': 'FRAME COLORIZER BLEND', @@ -296,15 +296,15 @@ WORDING : Dict[str, Any] =\ 'stop_button': 'STOP', 'system_memory_limit_slider': 'SYSTEM MEMORY LIMIT', 'target_file': 'TARGET', - 'terminal_textbox': 'TERMINAL', 'temp_frame_format_dropdown': 'TEMP FRAME FORMAT', + 'terminal_textbox': 'TERMINAL', 'trim_frame_slider': 'TRIM FRAME', 'ui_workflow': 'UI WORKFLOW', 'video_memory_strategy_dropdown': 'VIDEO MEMORY STRATEGY', 'webcam_fps_slider': 'WEBCAM FPS', 'webcam_image': 'WEBCAM', 'webcam_mode_radio': 'WEBCAM MODE', - 'webcam_resolution_dropdown': 'WEBCAM RESOLUTION', + 'webcam_resolution_dropdown': 'WEBCAM RESOLUTION' } }