From 3d35984b24631e62acf9b1a1c38bb10e37f35a75 Mon Sep 17 00:00:00 2001 From: iperov Date: Tue, 18 Oct 2022 16:05:08 +0400 Subject: [PATCH] fix head mode --- apps/DeepFaceLive/backend/FaceAligner.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/DeepFaceLive/backend/FaceAligner.py b/apps/DeepFaceLive/backend/FaceAligner.py index 3c23c85..8bd276d 100644 --- a/apps/DeepFaceLive/backend/FaceAligner.py +++ b/apps/DeepFaceLive/backend/FaceAligner.py @@ -160,9 +160,7 @@ class FaceAlignerWorker(BackendWorker): if state.head_mode or state.freeze_z_rotation: if fsi.face_pose is not None: head_yaw = fsi.face_pose.as_radians()[1] - - - + face_ulmrks = fsi.face_ulmrks if face_ulmrks is not None: fsi.face_resolution = state.resolution @@ -173,11 +171,11 @@ class FaceAlignerWorker(BackendWorker): x_offset=state.x_offset, y_offset=state.y_offset) elif state.align_mode == AlignMode.FROM_POINTS: - face_align_img, uni_mat = face_ulmrks.cut(frame_image, state.face_coverage, state.resolution, + face_align_img, uni_mat = face_ulmrks.cut(frame_image, state.face_coverage+ (1.0 if state.head_mode else 0.0), state.resolution, exclude_moving_parts=state.exclude_moving_parts, head_yaw=head_yaw, x_offset=state.x_offset, - y_offset=state.y_offset-0.08, + y_offset=state.y_offset-0.08 + (-0.50 if state.head_mode else 0.0), freeze_z_rotation=state.freeze_z_rotation) elif state.align_mode == AlignMode.FROM_STATIC_RECT: rect = FRect.from_ltrb([ 0.5 - (fsi.face_resolution/W)/2, 0.5 - (fsi.face_resolution/H)/2, 0.5 + (fsi.face_resolution/W)/2, 0.5 + (fsi.face_resolution/H)/2,])