Skip to content

Commit

Permalink
include refine landmarks in facemesh, headposture examples
Browse files Browse the repository at this point in the history
  • Loading branch information
Rassibassi committed Jul 14, 2022
1 parent 07433f1 commit c1c6724
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 9 deletions.
10 changes: 8 additions & 2 deletions face_mesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@

mp_drawing = mp.solutions.drawing_utils
mp_face_mesh = mp.solutions.face_mesh
mp_face_mesh_connections = mp.solutions.face_mesh_connections
drawing_spec = mp_drawing.DrawingSpec(thickness=1, circle_radius=3)


def main():
source = WebcamSource()

refine_landmarks = False

with mp_face_mesh.FaceMesh(
min_detection_confidence=0.5, min_tracking_confidence=0.5
static_image_mode=False,
refine_landmarks=refine_landmarks,
min_detection_confidence=0.5,
min_tracking_confidence=0.5,
) as face_mesh:

for idx, (frame, frame_rgb) in enumerate(source):
Expand All @@ -23,7 +29,7 @@ def main():
mp_drawing.draw_landmarks(
image=frame,
landmark_list=face_landmarks,
connections=mp_face_mesh.FACE_CONNECTIONS,
connections=mp_face_mesh_connections.FACEMESH_TESSELATION,
landmark_drawing_spec=drawing_spec,
connection_drawing_spec=drawing_spec,
)
Expand Down
9 changes: 8 additions & 1 deletion head_posture.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

mp_drawing = mp.solutions.drawing_utils
mp_face_mesh = mp.solutions.face_mesh
mp_face_mesh_connections = mp.solutions.face_mesh_connections
drawing_spec = mp_drawing.DrawingSpec(thickness=1, circle_radius=3)

points_idx = [33, 263, 61, 291, 199]
Expand All @@ -38,6 +39,8 @@
def main():
source = WebcamSource()

refine_landmarks = True

pcf = PCF(
near=1,
far=10000,
Expand All @@ -48,6 +51,7 @@ def main():

with mp_face_mesh.FaceMesh(
static_image_mode=False,
refine_landmarks=refine_landmarks,
min_detection_confidence=0.5,
min_tracking_confidence=0.5,
) as face_mesh:
Expand All @@ -64,6 +68,9 @@ def main():
# print(landmarks.shape)
landmarks = landmarks.T

if refine_landmarks:
landmarks = landmarks[:, :468]

metric_landmarks, pose_transform_mat = get_metric_landmarks(
landmarks.copy(), pcf
)
Expand Down Expand Up @@ -101,7 +108,7 @@ def main():
mp_drawing.draw_landmarks(
image=frame,
landmark_list=face_landmarks,
connections=mp_face_mesh.FACE_CONNECTIONS,
connections=mp_face_mesh_connections.FACEMESH_TESSELATION,
landmark_drawing_spec=drawing_spec,
connection_drawing_spec=drawing_spec,
)
Expand Down
3 changes: 2 additions & 1 deletion holistic.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

mp_drawing = mp.solutions.drawing_utils
mp_holistic = mp.solutions.holistic
mp_face_mesh_connections = mp.solutions.face_mesh_connections
drawing_spec = mp_drawing.DrawingSpec(thickness=1, circle_radius=3)


Expand All @@ -21,7 +22,7 @@ def main():
mp_drawing.draw_landmarks(
frame,
results.face_landmarks,
mp_holistic.FACE_CONNECTIONS,
connections=mp_face_mesh_connections.FACEMESH_TESSELATION,
landmark_drawing_spec=drawing_spec,
connection_drawing_spec=drawing_spec,
)
Expand Down
7 changes: 2 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
numpy==1.19.2
tensorflow==2.5.0
Pillow==8.2.0
mediapipe==0.8.6
opencv-python==4.5.2.54
black
isort
flake8
mediapipe==0.8.10.1
opencv-python==4.5.2.54

0 comments on commit c1c6724

Please sign in to comment.