Proyecto | ArXiv | Papel | Huggingface-demostración | Demostración de colaboración
2024.02 Pruebe el modelo utilizando muestras de escritura a mano personalizadas:
Una demostración de Huggingface ya está disponible y en ejecución
Demostración de Colab para escrituras a mano personalizadas
Demostración de Colab para el conjunto de datos IAM/CVL
Ankan Kumar Bhunia, Salman Khan, Hisham Cholakkal, Rao Muhammad Anwer, Fahad Shahbaz Khan y Mubarak Shah
Resumen: Proponemos un novedoso enfoque de generación de imágenes de texto escrito a mano con estilo basado en transformadores, HWT, que se esfuerza por aprender tanto el entrelazamiento estilo-contenido como los patrones de estilo de escritura globales y locales. El HWT propuesto captura las relaciones de largo y corto alcance dentro de los ejemplos de estilo a través de un mecanismo de autoatención, codificando así patrones de estilo tanto globales como locales. Además, el HWT basado en transformador propuesto comprende una atención de codificador-decodificador que permite el entrelazamiento de estilo y contenido al recopilar la representación de estilo de cada carácter de consulta. Hasta donde sabemos, somos los primeros en introducir una red generativa basada en transformadores para la generación de texto escrito a mano con estilo. Nuestro HWT propuesto genera imágenes de texto escritas a mano con estilo realista y supera significativamente el estado del arte demostrado a través de extensas evaluaciones cualitativas, cuantitativas y basadas en humanos. El HWT propuesto puede manejar textos de longitud arbitraria y cualquier estilo de escritura deseado en un entorno de pocas tomas. Además, nuestro HWT se generaliza bien en el escenario desafiante en el que ni las palabras ni el estilo de escritura se ven durante el entrenamiento, generando imágenes de texto escrito a mano con un estilo realista.
Pitón 3.7
PyTorch >=1.4
Consulte INSTALL.md
para instalar las bibliotecas necesarias. Puede cambiar el contenido del archivo mytext.txt
para visualizar la escritura generada a mano durante el entrenamiento.
Descargue archivos y modelos del conjunto de datos desde https://drive.google.com/file/d/16g9zgysQnWk7-353_tMig92KsZsrcM6k/view?usp=sharing y descomprímalos dentro de la carpeta files
. En resumen, ejecute las siguientes líneas en una terminal bash.
clon de git https://github.com/ankanbhunia/Handwriting-Transformerscd Handwriting-Transformers instalación de pip --upgrade --no-cache-dir gdown gdown --id 16g9zgysQnWk7-353_tMig92KsZsrcM6k && descomprimir archivos.zip && rm archivos.zip
Para comenzar a entrenar el modelo: ejecute
python train.py
Si desea utilizar wandb
, instálelo y cambie su clave de autenticación en el archivo train.py
(ln:4).
Puede cambiar diferentes parámetros en el archivo params.py
.
Puede entrenar el modelo en cualquier conjunto de datos personalizado que no sea IAM y CVL. El proceso implica crear un archivo dataset_name.pickle
y colocarlo dentro de la carpeta files
. La estructura de dataset_name.pickle
es un diccionario de Python simple.
{'tren': [{escritor_1:[{'img': <PIL.IMAGE>, 'label':<str_label>},...]}, {escritor_2:[{'img': <PIL.IMAGE> , 'etiqueta':<str_label>},...]},...], 'prueba': [{writer_3:[{'img': <PIL.IMAGE>, 'label':<str_label>},...]}, {writer_4:[{'img': <PIL.IMAGE>, 'etiqueta':<etiqueta_cadena>},...]},...], }
docker run -it -p 7860:7860 --platform=linux/amd64 registry.hf.space/ankankbhunia-hwt:latest python app.py
Consulte la carpeta de results
en el repositorio para ver más análisis cualitativos. Además, consulte la demostración de colab para probar con su propio texto y estilo de escritura personalizados.
Los resultados de la reconstrucción utilizando el HWT propuesto en comparación con GANwriting y Davis et al. Usamos el mismo texto que en los ejemplos de estilo para generar imágenes escritas a mano.
Si utiliza el código para su investigación, cite nuestro artículo:
@InProceedings{Bhunia_2021_ICCV, author = {Bhunia, Ankan Kumar and Khan, Salman and Cholakkal, Hisham and Anwer, Rao Muhammad and Khan, Fahad Shahbaz and Shah, Mubarak}, title = {Handwriting Transformers}, booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, month = {October}, year = {2021}, pages = {1086-1094} }