midas_depth_estimation
midas_depth_estimation
MiDaS (Monocular Depth Estimation) estima un mapa de profundidad a partir de una sola imagen RGB. Permite distinguir entre un rostro real 3D y una foto plana (impresa o en pantalla) analizando la variación de profundidad.
When to use
Usar como capa adicional de liveness pasivo en el liveness_agent. Complementa a MiniFASNet y Silent-Face para detectar ataques con fotos impresas o pantallas que no tienen variación de profundidad.
Instructions
- Instalar:
pip install timm torch torchvision. - Descargar modelo MiDaS v3.1 small:
torch.hub.load('intel-isl/MiDaS', 'MiDaS_small'). - Preprocesar frame: resize a 256x256, normalizar con transforms de MiDaS.
- Inferir mapa de profundidad:
depth_map = model(input_tensor). - Recortar la región del rostro del mapa de profundidad usando bounding box de face detection.
- Calcular la varianza de profundidad en la región facial:
depth_variance = np.var(face_depth). - Umbral: si
depth_variance < 0.05, clasificar como posible ataque plano (foto/pantalla). - Registrar
depth_varianceen el evento de auditoría.
Notes
- MiDaS small es suficiente para liveness (~50ms en GPU); no usar el modelo large en producción.
- La estimación monocular no reemplaza a una cámara de profundidad real, pero detecta ataques obvios.
- Combinar con análisis de textura (LBP/Fourier) para mayor robustez.
More from davidcastagnetoa/skills
traefik
Reverse proxy moderno con autodiscovery nativo en Kubernetes y Let's Encrypt
62easyocr
OCR alternativo a PaddleOCR, excelente en caracteres especiales y múltiples scripts
32prisma-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