CoolFace
Datasetpublic

juliopaciello/selfiekyc_deepfake_detection

selfiekyc_deepfake_detection Descripción General Este repositorio contiene el código fuente, datasets procesados y experimentos desarrollados para la detección de imágenes faciales sintéticas o manipuladas mediante Inteligencia Artificial en escenarios de verificación de identidad corporativa tipo selfie-KYC. El proyecto analiza la robustez de diferentes arquitecturas de Deep Learning frente a degradaciones operativas reales, incluyendo: Compresión JPEG fuerte… See the full description on the dataset page: https://huggingface.co/datasets/juliopaciello/selfiekyc_deepfake_detection.

sourceHugging Facecc-by-nc-sa-4.0updated 2mo agoView on Hugging Face
0likes31downloads
Dataset Card

selfiekycdeepfakedetection

Descripción General

Este repositorio contiene el código fuente, datasets procesados y experimentos desarrollados para la detección de imágenes faciales sintéticas o manipuladas mediante Inteligencia Artificial en escenarios de verificación de identidad corporativa tipo selfie-KYC.

El proyecto analiza la robustez de diferentes arquitecturas de Deep Learning frente a degradaciones operativas reales, incluyendo:

  • —Compresión JPEG fuerte
  • —Reducción de brillo
  • —Desenfoque gaussiano
  • —Reenvíos digitales y pérdida de calidad

El objetivo principal consiste en evaluar la capacidad de generalización de modelos CNN, Vision Transformers y arquitecturas híbridas CNN + Self-Attention para detectar imágenes reales vs sintéticas bajo condiciones controladas y degradadas.


Estructura del Proyecto

bash
selfiekyc_deepfake_detection/
├── README.md
├── requirements.txt
├── src/
│   ├── datos_faceforensics_c23.py
│   ├── degradado_faceforensics_c23.py
│   ├── generar_gradcam_tfm.py
│   ├── generar_graficas_tfm.py
│   ├── run_clip_bench.py
│   ├── run_efficientnet_attention.py
│   ├── run_efficientnet_base.py
│   ├── utils_tfm.py
└── data/
    ├── metadata.csv
    ├── archive_faceforensics_c23_faces/
	│	└── readme.txt
	├── dataset_degradado_tfm/
	│	├── test_final/
	│	│	├── real/
	│	│	└── sintetico/
	│	└── train_val/
	│		├── real/
	│		└── sintetico/
    └── dataset_final_tfm/
		├── test_final/
		│	├── real/
		│	└── sintetico/
		└── train_val/
			├── real/
			└── sintetico/

Modelos Evaluados

1. EfficientNet-B4 (Baseline CNN)

Modelo convolucional utilizado como baseline principal del estudio.

Características:

  • —Arquitectura CNN eficiente
  • —Entrenamiento supervisado
  • —Entrada exclusiva de imágenes
  • —Bajo costo computacional
  • —Sensible a degradaciones severas

2. CLIP (Benchmark Transformer)

Modelo multimodal basado en Vision Transformers utilizado como benchmark de referencia.

Características:

  • —Arquitectura Transformer multimodal
  • —Representación semántica global
  • —Alta robustez y generalización
  • —Mayor costo computacional
  • —Mejor desempeño absoluto del estudio

3. EfficientNet-B4 + Self-Attention (Propuesta)

Arquitectura híbrida desarrollada en este trabajo incorporando mecanismos de Self-Attention sobre EfficientNet-B4.

Objetivos:

  • —Mejorar robustez frente a degradaciones
  • —Incrementar capacidad de generalización
  • —Reducir overfitting
  • —Aproximar comportamiento Transformer manteniendo eficiencia computacional

Resultados principales:

  • —Mejora aproximada de 8%–12% respecto al baseline CNN
  • —Mejor estabilidad de convergencia
  • —Menor degradación en escenarios reales
  • —Activaciones Grad-CAM más distribuidas sobre regiones faciales relevantes

Dataset Utilizado

FaceForensics c23 Extracted Faces 100K

El proyecto utiliza una variación derivada de FaceForensics++ publicada en Kaggle:

https://www.kaggle.com/datasets/gradientvoyager/faceforensics-c23-extracted-faces-100k

Características:

  • —Rostros extraídos y preprocesados
  • —Subconjunto c23
  • —Imágenes reales y DeepFakes
  • —Escenarios adecuados para clasificación facial binaria
  • —Compatible con tareas de selfie-KYC

Licencia del dataset:

text
CC BY-NC-SA 4.0
Attribution-NonCommercial-ShareAlike 4.0 International

Citación sugerida:

text
GradientVoyager. FaceForensics c23 Extracted Faces 100K.
Kaggle Dataset.
https://www.kaggle.com/datasets/gradientvoyager/faceforensics-c23-extracted-faces-100k

Dataset original base:

Rössler, A., Cozzolino, D., Verdoliva, L., Riess, C., Thies, J., & Nießner, M. (2019). FaceForensics++: Learning to Detect Manipulated Facial Images. ICCV 2019.


Pipeline de Degradación

Para aproximar condiciones reales de selfie-KYC se aplicaron degradaciones artificiales:

DegradaciónObjetivo
Gaussian BlurSimular desenfoque de captura
Brightness ReductionSimular baja iluminación
JPEG CompressionSimular pérdida por reenvíos y plataformas

Métricas Utilizadas

Las principales métricas de evaluación fueron:

  • —Accuracy
  • —BCE Log Loss
  • —Estabilidad de convergencia
  • —Diagnóstico de overfitting
  • —Robustez en entorno degradado

Interpretabilidad

El proyecto incorpora Grad-CAM para análisis de explicabilidad visual.

Se evaluó:

  • —Regiones faciales relevantes
  • —Distribución espacial de activaciones
  • —Diferencias entre CNN y Self-Attention
  • —Robustez explicativa bajo degradaciones

Instalación

1. Clonar repositorio

bash
git clone https://huggingface.co/datasets/juliopaciello/selfiekyc_deepfake_detection
cd selfiekyc_deepfake_detection

2. Crear entorno virtual

bash
python -m venv venv

Linux / Mac

bash
source venv/bin/activate

Windows

bash
venv\\Scripts\\activate

3. Instalar dependencias

bash
pip install -r requirements.txt

Ejecución

1. Procesamiento del dataset

Los scripts de preparación y degradación de imágenes se encuentran en:

text
datos_faceforensics_c23.py
degradado_faceforensics_c23.py

Funciones principales:

  • —Extracción y organización de imágenes
  • —Balanceo de clases
  • —Redimensionamiento
  • —Generación de escenarios degradados
  • —Construcción de metadata.csv

2. Ejecución de modelos

Los experimentos principales se ejecutan mediante:

text
run_clip_bench.py
run_efficientnet_base.py
run_efficientnet_attention.py
utils_tfm.py

Funciones principales:

  • —Entrenamiento
  • —Cross-validation
  • —Testing out-of-bag
  • —Cálculo de métricas
  • —Exportación de resultados

3. Generación de interpretabilidad Grad-CAM

Las visualizaciones neuronales se generan mediante:

text
generar_gradcam_tfm.py

Funciones principales:

  • —Heatmaps neuronales
  • —Activaciones espaciales
  • —Comparativa entre modelos
  • —Explicabilidad visual

4. Generación de gráficos experimentales

Los gráficos finales del TFM se generan mediante:

text
generar_graficas_tfm.py

Funciones principales:

  • —Accuracy curves
  • —BCE Log Loss
  • —Diagnóstico de overfitting
  • —Comparativas entre modelos

Resultados Generales

ModeloAccuracy LimpioAccuracy Degradado
EfficientNet-B4~75–80%~60–68%
EfficientNet-B4 + Attention~87–90%~70–76%
CLIP~94–97%~81–86%

Aplicación en Biometría y Seguridad

Los resultados demuestran que:

  • —Las arquitecturas híbridas CNN + Self-Attention mejoran significativamente la robustez frente a degradaciones reales.
  • —CLIP mantiene la mejor capacidad de generalización, aunque con mayor costo computacional.
  • —Los modelos CNN tradicionales presentan limitaciones importantes bajo degradaciones operativas.
  • —La explicabilidad visual resulta crítica para procesos corporativos regulados tipo KYC.

Licencia

Los recursos del dataset en este repositorio heredan los términos del dataset FaceForensics++ y se distribuyen estrictamente bajo la licencia CC BY-NC-SA 4.0 (Atribución-NoComercial-CompartirIgual 4.0 Internacional).

El código fuente y los scripts de desarrollo ubicados dentro de la carpeta src/ están explícitamente excluidos de las restricciones de Creative Commons y están licenciados de forma independiente bajo la Licencia MIT:

text
Licencia MIT

Copyright (c) 2026 Julio Paciello

Por la presente se concede permiso, sin cargo alguno, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el "Software"), para utilizar el Software sin restricciones, incluyendo, sin limitación, los derechos de uso, copia, modificación, fusión, publicación, distribución, sublicenciamiento y/o venta de copias del Software, y para permitir a las personas a quienes se les proporcione el Software hacer lo mismo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRO MODO, QUE SURJA DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.

Autor

Julio Paciello

AI researcher

Google Scholar: https://scholar.google.com/citations?user=Izr7zbIAAAAJ&hl=es

LinkedIn: https://www.linkedin.com/in/julio-paciello-84b689208