Este es un repogador oficial para el documento "Generación Ambigram por un modelo de difusión". Este documento es aceptado en ICDAR 2023.
【 ACTUALIZAR 】
2023/07/20: Ambifusion2 está abierto. Este método puede generar ambigramas con cualquier par de imágenes especificando dos indicaciones como un par.
tl; Dr
ambigramability
, una medida objetiva de lo fácil que es generar ambigramas para cada par de letras. Los ambigramas son diseños gráficos de letras que se pueden leer no solo desde la dirección original sino también desde una dirección rotada (especialmente con 180 grados). Diseñar ambigramas es difícil incluso para los expertos humanos porque a menudo es difícil mantener su doble legibilidad desde ambas direcciones. Este documento propone un modelo de generación ambigram. Como su módulo de generación, utilizamos un modelo de difusión, que recientemente se ha utilizado para generar imágenes fotográficas de alta calidad. Al especificar un par de clases de letras, como 'A' y 'B', el modelo propuesto genera varias imágenes ambigramas que se pueden leer como 'A' de la dirección original y 'B' desde una dirección rotada 180 grados. Los análisis cuantitativos y cualitativos de los resultados experimentales muestran que el modelo propuesto puede generar ambigramas de alta calidad y diversos. Además, definimos la ambigramabilidad, una medida objetiva de lo fácil que es generar ambigramas para cada par de letras. Por ejemplo, el par de 'A' y 'V' muestra una alta ambigramabilidad (es decir, es fácil generar sus ambigramas), y el par de 'd' y 'k' muestra una menor ambigramabilidad. La ambigramabilidad ofrece varios pistas de la generación de Ambigram no solo para las computadoras sino también para expertos humanos.
Nuestro método propuesto genera ambigramas como los siguientes ejemplos.
El número entre paréntesis es el puntaje de ambigramabilidad (↑) del par de letras. Las tres filas superiores son pares de clase bastante fáciles (con puntajes de ambigramabilidad más altos), y las tres inferiores no lo son.
Probamos todos los códigos en Python: 3.8.10
. Puede descargar bibliotecas externas con pip
como lo siguiente.
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r requirements.txt
También puede descargar pesos previamente capacitados. Reemplace todos los archivos de pseud-weights weight_name.txt
con el archivo descargado de peso real.
python demo.py
127.0.0.1:11111
con su navegador web. TestConfigs
en ambigram_random_sample.py
. python ambigram_random_sample.py
TestConfigs
en calc_ambigramability.py
. python calc_ambigramability.py
TrainConfigs
en configs/trainargs.py
. Si lo desea, puede cambiar DA_ambigram_configs.yaml
(los detalles se mencionan en la Sec. 3.2 en el documento). ## Run on single gpu
python ambigram_train.py
## Run on multiple gpus
mpiexec -n [NUM_GPUs] python ambigram_train.py
Nota [1]: si desea generar ambigramas utilizando classifier-free guidance
, debe entrenar tanto el modelo condicional como el modelo incondicional por separado.
@article{shirakawa2023ambigram,
title={Ambigram Generation by A Diffusion Model},
author={Shirakawa, Takahiro and Uchida, Seiichi},
booktitle={2023 17th international conference on document analysis and recognition (ICDAR)},
year={2023}
}