Una herramienta de línea de comandos para evaluar imágenes con servicios de liveness, utilizando tanto APIs SaaS como SDKs locales.
- Evaluación de imágenes individuales o directorios completos
- Integración con servicios SaaS (Identity Platform) y SDK local
- Soporte para múltiples versiones del SDK (hasta 3)
- Generación de informes en formato Markdown
- Interfaz interactiva y modo de línea de comandos
- Procesamiento paralelo para mayor velocidad
-
Clona este repositorio:
git clone https://github.com/Facephi-Backend-Support/liveness-cli.git cd liveness-cli
-
Instala las dependencias:
pip install -r requirements.txt
La forma más fácil de usar el CLI es en modo interactivo:
python liveness_cli.py --interactive
Esto iniciará un asistente que te guiará a través de todas las opciones.
También puedes usar el CLI directamente desde la línea de comandos:
# Evaluar una imagen individual con el servicio SaaS
python liveness_cli.py --image ruta/a/imagen.jpg --use-saas --output informe.md
# Evaluar un directorio de imágenes con el servicio SDK en el puerto 8080
python liveness_cli.py --directory ruta/a/imagenes --use-sdk --sdk-port 8080 --sdk-version "6.12" --output informe.md
# Evaluar con SaaS y múltiples versiones de SDK
python liveness_cli.py --directory ruta/a/imagenes --use-saas --use-sdk --sdk-port 8080 9090 --sdk-version "6.12" "6.5" --output informe.md
--image
,-img
: Ruta a una imagen individual para evaluar--directory
,-dir
: Directorio que contiene imágenes para evaluar
--use-saas
: Usar el servicio SaaS para la evaluación--saas-api-key
: API key para el servicio SaaS
--use-sdk
: Usar el servicio SDK local para la evaluación--sdk-port
: Puerto(s) donde se ejecuta el servicio SDK local (máximo 3)--sdk-version
: Versión(es) del SDK correspondiente a cada puerto
--output
,-o
: Ruta donde guardar el informe generado
--workers
,-w
: Número de workers para procesamiento paralelo--verbose
,-v
: Mostrar información detallada durante la ejecución--interactive
,-i
: Ejecutar en modo interactivo
El código está organizado de la siguiente manera:
liveness_cli.py
: Punto de entrada principalconfig.py
: Constantes y configuraciónimage_processor.py
: Procesamiento y evaluación de imágenesreport_generator.py
: Generación de informescli_interface.py
: Interfaz de línea de comandos
Esta estructura modular sigue los principios de Clean Code, separando las responsabilidades en diferentes componentes.
El informe generado es un archivo Markdown con una tabla que incluye:
- Título de la imagen
- Imagen (miniatura)
- Resolución
- Tamaño
- Diagnóstico SaaS (si se habilitó)
- Diagnóstico SDK para cada versión (si se habilitó)
- Python 3.7 o superior
- Dependencias listadas en
requirements.txt
- Para la evaluación con SDK: servicio SDK funcionando en los puertos especificados
- Para la evaluación con SaaS: conexión a Internet y API key válida
python liveness_cli.py -i
python liveness_cli.py --directory ./imagenes_test --use-saas --use-sdk --sdk-port 8080 9090 --sdk-version "6.12" "6.5" --output ./informes/informe_$(date +%Y%m%d).md --workers 10 --verbose
- Error de conexión al SDK: Asegúrate de que el servicio SDK esté ejecutándose en el puerto especificado.
- Error en la API SaaS: Verifica que la API key sea válida y tengas conexión a Internet.
- Imágenes no encontradas: Verifica las rutas proporcionadas para las imágenes o el directorio.