head_pose_estimation
head_pose_estimation
Estima los ángulos de orientación de la cabeza (yaw=izquierda/derecha, pitch=arriba/abajo, roll=inclinación) usando PnP (Perspective-n-Point) con landmarks de MediaPipe Face Mesh.
When to use
Usar para el challenge de liveness activo "gira la cabeza a la derecha/izquierda" y para verificar que el rostro está frontal al inicio de la sesión.
Instructions
- Definir puntos 3D del modelo facial canónico (nariz, mentón, ojo izquierdo, ojo derecho, boca izquierda, boca derecha).
- Extraer los landmarks 2D correspondientes del Face Mesh.
- Resolver PnP:
success, rotation_vector, translation_vector = cv2.solvePnP(model_points, image_points, camera_matrix, dist_coeffs). - Convertir a ángulos de Euler:
rotation_matrix, _ = cv2.Rodrigues(rotation_vector). - Extraer yaw, pitch, roll de la matriz de rotación.
- Challenge de giro: solicitar yaw > 30° hacia un lado aleatorio, verificar en máximo 3 segundos.
- Aleatorizar la dirección del challenge (izquierda o derecha) en cada sesión.
Notes
More from davidcastagnetoa/skills
traefik
Reverse proxy moderno con autodiscovery nativo en Kubernetes y Let's Encrypt
67easyocr
OCR alternativo a PaddleOCR, excelente en caracteres especiales y múltiples scripts
36prisma-nestjs-patterns
>
26c4_model_structurizr
Diagramas de arquitectura C4 como código con Structurizr DSL, versionados en Git
24exif_metadata_analyzer
Analizar metadatos EXIF para detectar edición previa con Photoshop, GIMP u otros editores
19insightface_arcface
Reconocimiento facial de estado del arte con ArcFace R100 para comparar selfie con foto del documento
15