Entorno Preconfigurado y Primeros Pasos
El contenedor preentrenado con RetinaFace y CurricularFace ofrece una solución inmediata para pruebas rápidas de reconocimiento facial. Combina un detector preciso (RetinaFace) con un extractor de características robusto (CurricularFace), ideal para validaciones técnicas sin configuración compleja.
Componentes del Entorno
Todo el entorno está preparado en la ruta /root/Retinaface_CurricularFace. No se requiere instalación adicional. Las principales dependencias incluyen:
| Componente | Versión | Descripción |
|---|---|---|
| Python | 3.11.14 | Entorno principal |
| PyTorch | 2.5.0+cu121 | Framework de aprendizaje profundo |
| CUDA | 12.1 | Aceleración GPU |
| cuDNN | 8.9 | Optimización de redes neuronales |
| ModelScope | 1.13.0 | Gestión e inferencia de modelos |
Ejecución Inicial
Activación del Entorno
# Acceder al directorio de trabajo
cd /root/Retinaface_CurricularFace
# Activar el entorno Conda
conda activate torch25
Tras la activación, verás el prefijo (torch25) en la terminal, indicando que el entorno está listo.
Prueba Básica
Ejecuta una comparación inicial con imágenes de ejemplo integradas:
python inference_face.py
El script mostrará una puntuación de similitud basada en coseno, junto con un resultado binario (mismo sujeto o no).
Comparación con Imágenes Personalizadas
Uso de Archivos Locales
Para probar con tus propias imágenes, usa los parámetros --input1 y --input2:
python inference_face.py --input1 /ruta/completa/imagen1.jpg --input2 /ruta/completa/imagen2.png
Se admiten formatos comunes como JPG, PNG y BMP. Se recomienda usar rutas absolutas.
Opciones Avanzadas
El script permite ajustar varios parámetros:
| Parámetro | Alias | Descripción | Predeterminado |
|---|---|---|---|
--input1 |
-i1 |
Ruta de la primera imagen | Imagen de prueba 1 |
--input2 |
-i2 |
Ruta de la segunda imagen | Imagen de prueba 2 |
--threshold |
-t |
Umbral de decisión | 0.4 |
Ejemplos Prácticos
# Aumentar umbral a 0.6 (más estricto)
python inference_face.py -i1 img1.jpg -i2 img2.jpg -t 0.6
# Comparar imágenes desde URLs
python inference_face.py -i1 https://dominio.com/cara1.jpg -i2 https://dominio.com/cara2.jpg
Un umbral más alto reduce falsos positivos; uno más bajo aumenta sensibilidad.
Flujo Técnico Interno
Fases del Proceso
- Detección Facial: RetinaFace localiza caras y cinco puntos clave (ojos, nariz, comisuras).
- Alineación Geométrica: Reorienta la cara a vista frontal usando los puntos clave, reduciendo variaciones de pose.
- Extracción y Comparación: CurricularFace genera un vector de 512 dimensiones por cada rostro. La similitud se calcula mediante coseno.
Interpretación de Resultados
- > 0.4: Alta probabilidad de coincidencia.
- 0.2 – 0.4: Posible coincidencia, sugerido revisión manual.
- < 0.2: Muy probable que sean personas distintas.
Recomendaciones para Mejor Precisión
Para maximizar el rendimiento, utiliza imágenes con:
- Ángulo frontal (<30° de inclinación).
- Iluminación uniforme, sin sombras fuertes.
- Resolución mínima de 100x100 píxeles en el rostro.
- Sin objetos que obstruyan rasgos faciales (lentes oscuros, mascarillas).
El sistema procesa automáticamente fotos grupales seleccionando el rostro más grande de cada imagen.
Preguntas Frecuentes
Errores Comunes
¿Error de módulo no encontrado?
Verifica que el entorno torch25 esté activado.
¿Procesamiento lento?
Asegúrate de ejecutar en una instancia con GPU. El modo CPU es significativamente más lento.
Sobre Resultados
¿Por qué dos fotos de la misma persona dan baja similitud?
Factores como iluminación, ángulo o resolución afectan el resultado. Usa condiciones controladas si es posible.
¿Funciona con video?
Esta versión está optimizada para imágenes estáticas. Para video, necesitarías extraer fotogramas previamente.
Escennarios de Aplicación
Este modelo es útil en múltiples contextos:
- Autenticación biométrica: acceso a dispositivos o sistemas.
- Organización de fotos: clasificación automática en galerías.
- Seguridad y vigilancia: detección de individuos en zonas restringidas.
El umbral puede ajustarse según el equilibrio deseado entre seguridad y usabilidad.
Conclusión
Este contenedor proporciona una solución completa y eficiente para evaluar tecnologías de reconocimiento facial. Destaca por su facilidad de uso, precisión y soporte para diversos formatos de entrada. Es ideal para prototipado rápido, demostraciones técnicas o formación en visión artificial.