Go to file
Emilio Martínez eaafa5e291 Example notebook for random text generation 2023-12-26 16:58:04 -03:00
KAIR Merge branch '3.8-GNURadioDev' into main 2023-10-24 16:41:02 -03:00
deep-tempest_ejemplos Update 20 files 2023-10-23 10:45:54 -03:00
end-to-end Update file end-to-end.png 2023-10-30 15:52:26 -03:00
gr-tempest Update 2 files 2023-10-25 08:10:18 -03:00
text_generation Example notebook for random text generation 2023-12-26 16:58:04 -03:00
.gitignore Merge branch '3.8-GNURadioDev' into main 2023-10-24 16:41:02 -03:00
README.md Update file README.md 2023-10-30 15:58:50 -03:00
deep-tempest.png
requirements.txt Add requirements.txt 2023-10-24 16:57:30 -03:00
resultados.png Update 3 files 2023-10-24 22:56:31 -03:00
tabla_resultados.png Update file tabla_resultados.png 2023-10-24 22:59:27 -03:00

README.md

Deep-tempest 2023

Este trabajo corresponde al Proyecto de Fin de Carrera titulado deep-tempest de la carrera Ingeniería Eléctrica para la Facultad de Ingeniería de la Universidad de la República.

Integrantes:

  • Santiago Fernández
  • Emilio Martínez
  • Gabriel Varela

Tutores:

  • Federico La Rocca
  • Pablo Musé

Resumen

Se extiende el proyecto gr-tempest (espionaje a imágenes de monitores en GNU Radio) utilizando deep learning para mejorar la calidad de las imágenes espiadas. El objetivo principal es recuperar el texto presente en la imagen capturada por el sistema espía.

Resultados

Se evalúan las métricas PSNR, SSIM, edgeJaccard (índice Jaccard entre los bordes de la referencia y de la reconstrucción), CER y WER (tasa de error en caracteres y palabras) sobre la base de datos de capturas reales (1302 imágenes) son los de la siguiente tabla:

Más ejemplos se pueden ver en el directorio deep-tempest_ejemplos.

También se pueden visualizar desde este enlace (no estable). Aquí las imágenes están estructuradas con el siguiente orden:

  1. Imagen original
  2. Imagen espiada (gr-tempest2.0)
  3. Imagen inferida por método End-to-End
  4. Imagen inferida por método de umbralización por máxima entropía

Datos

Los datos utilizados este enlace dentro de un archivo ZIP (~7GB). Al descomprimirlo se pueden encontrar las imágenes sintéticas y capturadas realizadas para los experimentos, entrenamiento y evaluación durante el trabajo.

La estructura de los directorios es diferente para los datos sintéticos es diferente al de los capturados:

Datos sintéticos

  • ground-truth (directorio con imágenes de referencia/vistas del monitor)

    • imagen1.png
    • ...
    • imagenN.png
  • simulations (directorio con imágenes sintéticas de degradación/captura)

    • imagen1.png
    • ...
    • imagenN.png

Datos reales

  • Imagen 1 (directorio con capturas de imagen1.png)

    • captura1_imagen1.png
    • ...
    • capturaM_imagen1.png
  • ...

  • Imagen N (directorio con capturas de imagenN.png)

    • captura1_imagenN.png
    • ...
    • capturaM_imagenN.png
  • imagen1.png
  • ...
  • imagenN.png

Código y requerimientos

Clonar el repositorio (solicitar acceso al mismo):

git clone https://gitlab.fing.edu.uy/jorge.varela/deep-tempest.git

En cada una de los directorios se tiene una guía de cómo ejecutar las pruebas/entrenamiento/experimentos correspondientes.

El código esta escrito en lenguaje Python versión 3.10, donde se utilizó ambientes de Anaconda. Para replicar el ambiente de trabajo crear uno nuevo con las bibliotecas del requirements.txt:

conda create --name deeptempest --file requirements.txt

Activarlo con:

conda activate deeptempest

Referencias