Il s'agit d'un réogoriteur officiel pour le document "Génération d'ambigram par un modèle de diffusion". Ce document est accepté à l'ICDAR 2023.
【 MISE À JOUR 】
2023/07/20: Ambifusion2 est ouvert. Cette méthode peut générer des ambigrammes avec n'importe quelle paire d'images en spécifiant deux invites en paire.
tl; dr
ambigramability
, une mesure objective de la facilité avec laquelle il est de générer des ambigrammes pour chaque paire de lettres. Les ambigrammes sont des conceptions de lettres graphiques qui peuvent être lues non seulement à partir de la direction d'origine mais aussi à partir d'une direction tournée (en particulier avec 180 degrés). Concevoir des ambigrammes est difficile même pour les experts humains, car garder leur double lisibilité des deux directions est souvent difficile. Cet article propose un modèle de génération d'ambigram. En tant que module de génération, nous utilisons un modèle de diffusion, qui a récemment été utilisé pour générer des images photographiques de haute qualité. En spécifiant une paire de classes de lettres, telles que «A» et «B», le modèle proposé génère diverses images d'ambigram qui peuvent être lues comme «A» de la direction d'origine et «B» à partir d'une direction tournée de 180 degrés. Des analyses quantitatives et qualitatives des résultats expérimentaux montrent que le modèle proposé peut générer des ambigrammes de haute qualité et divers. De plus, nous définissons l'ambigramabilité, une mesure objective de la facilité avec laquelle il est de générer des ambigrammes pour chaque paire de lettres. Par exemple, la paire de «A» et «V» montre une ambigramabilité élevée (c'est-à-dire qu'il est facile de générer leurs ambigrammes), et la paire de «D» et «K» montre une ambigramabilité plus faible. L'ambigramabilité donne divers indices de la génération d'ambigram non seulement pour les ordinateurs mais aussi pour les experts humains.
Notre méthode proposée génère des ambigrammes comme des exemples suivants.
Le nombre entre parenthèses est le score d'ambigramabilité (↑) de la paire de lettres. Les trois lignes supérieures sont des paires de classe assez faciles (avec des scores d'ambigramabilité plus élevés), et les trois inférieurs ne le sont pas.
Nous avons testé tous les codes de Python: 3.8.10
. Vous pouvez télécharger des bibliothèques externes avec pip
comme suivant.
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
Vous pouvez également télécharger des poids pré-formés. Remplacez tous les fichiers pseud-weights weight_name.txt
par le fichier de poids réel téléchargé.
python demo.py
127.0.0.1:11111
avec votre navigateur Web. TestConfigs
dans ambigram_random_sample.py
. python ambigram_random_sample.py
TestConfigs
dans calc_ambigramability.py
. python calc_ambigramability.py
TrainConfigs
dans configs/trainargs.py
. Si vous le souhaitez, vous pouvez modifier DA_ambigram_configs.yaml
(les détails sont mentionnés à la section 3.2 dans le document). ## Run on single gpu
python ambigram_train.py
## Run on multiple gpus
mpiexec -n [NUM_GPUs] python ambigram_train.py
Remarque [1]: Si vous souhaitez générer des ambigrammes en utilisant classifier-free guidance
, vous devez entraîner séparément le modèle conditionnel et le modèle inconditionnel.
@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}
}