diff --git a/facefusion/face_masker.py b/facefusion/face_masker.py index 1e64c50..6ebcdab 100755 --- a/facefusion/face_masker.py +++ b/facefusion/face_masker.py @@ -188,7 +188,7 @@ def create_area_mask(face_landmark_68 : FaceLandmark68, face_mask_areas : List[F for face_mask_area in face_mask_areas: if face_mask_area in facefusion.choices.face_mask_area_set: - landmark_points.extend(facefusion.choices.face_mask_area_set[face_mask_area]) + landmark_points.extend(facefusion.choices.face_mask_area_set.get(face_mask_area)) convex_hull = cv2.convexHull(face_landmark_68[landmark_points].astype(numpy.int32)) area_mask = numpy.zeros((512, 512)).astype(numpy.float32) diff --git a/facefusion/types.py b/facefusion/types.py index ca32f30..38187f1 100755 --- a/facefusion/types.py +++ b/facefusion/types.py @@ -322,10 +322,10 @@ State = TypedDict('State', 'face_occluder_model' : FaceOccluderModel, 'face_parser_model' : FaceParserModel, 'face_mask_types' : List[FaceMaskType], - 'face_mask_areas': List[FaceMaskArea], + 'face_mask_areas' : List[FaceMaskArea], 'face_mask_regions' : List[FaceMaskRegion], - 'face_mask_blur': float, - 'face_mask_padding': Padding, + 'face_mask_blur' : float, + 'face_mask_padding' : Padding, 'trim_frame_start' : int, 'trim_frame_end' : int, 'temp_frame_format' : TempFrameFormat, diff --git a/facefusion/uis/components/face_editor_options.py b/facefusion/uis/components/face_editor_options.py index 486f30d..978b12d 100755 --- a/facefusion/uis/components/face_editor_options.py +++ b/facefusion/uis/components/face_editor_options.py @@ -198,7 +198,7 @@ def listen() -> None: processors_checkbox_group = get_ui_component('processors_checkbox_group') if processors_checkbox_group: - processors_checkbox_group.change(remote_update, inputs = processors_checkbox_group, outputs = [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_LIP_OPEN_RATIO_SLIDER, FACE_EDITOR_MOUTH_GRIM_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]) + processors_checkbox_group.change(remote_update, inputs = processors_checkbox_group, outputs = [ 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_LIP_OPEN_RATIO_SLIDER, FACE_EDITOR_MOUTH_GRIM_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 ]) def remote_update(processors : List[str]) -> Tuple[gradio.Dropdown, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider, gradio.Slider]: