optical_flow_farneback
Installation
SKILL.md
optical_flow_farneback
El flujo óptico de Farnebäck calcula el movimiento entre frames consecutivos. Los videos en loop o reproducidos tienen patrones de movimiento no naturales detectables con este análisis.
When to use
Usar sobre la secuencia de frames del video de liveness para detectar ataques de replay y videos pregrabados.
Instructions
- Capturar mínimo 10 frames consecutivos del video de liveness.
- Convertir a escala de grises.
- Calcular flujo óptico entre pares de frames:
flow = cv2.calcOpticalFlowFarneback(prev_gray, curr_gray, None, 0.5, 3, 15, 3, 5, 1.2, 0). - Calcular magnitud y ángulo del flujo:
magnitude, angle = cv2.cartToPolar(flow[..., 0], flow[..., 1]). - Analizar estadísticas de magnitud: desviación estándar muy baja indica movimiento artificial.
- Detectar loops: comparar el flujo acumulado entre frame 0 y frame N — si converge a 0, hay loop.
- Analizar consistencia temporal: el movimiento natural tiene varianza creciente, no periódica.
Notes
- Combinar con rPPG (Remote Photoplethysmography) para detección de vida aún más robusta.
- Sensible a iluminación variable; normalizar antes del análisis.
Related skills
More from davidcastagnetoa/skills
traefik
Reverse proxy moderno con autodiscovery nativo en Kubernetes y Let's Encrypt
63easyocr
OCR alternativo a PaddleOCR, excelente en caracteres especiales y múltiples scripts
33prisma-nestjs-patterns
>
26c4_model_structurizr
Diagramas de arquitectura C4 como código con Structurizr DSL, versionados en Git
23exif_metadata_analyzer
Analizar metadatos EXIF para detectar edición previa con Photoshop, GIMP u otros editores
19asyncpg
Cliente PostgreSQL async de alto rendimiento para el backend FastAPI del pipeline KYC
14