Ini adalah repogitori resmi untuk makalah "generasi ambigram dengan model difusi". Makalah ini diterima di ICDAR 2023.
【 MEMPERBARUI 】
2023/07/20: Ambifusion2 terbuka. Metode ini dapat menghasilkan ambigram dengan pasangan gambar apa pun dengan menentukan dua petunjuk sebagai pasangan.
tl; dr
ambigramability
, ukuran obyektif betapa mudahnya menghasilkan ambigram untuk setiap pasangan huruf. Ambigram adalah desain huruf grafis yang dapat dibaca tidak hanya dari arah asli tetapi juga dari arah yang diputar (terutama dengan 180 derajat). Merancang ambigram sulit bahkan bagi para ahli manusia karena menjaga keterbacaan ganda mereka dari kedua arah seringkali sulit. Makalah ini mengusulkan model generasi Ambigram. Sebagai modul generasi, kami menggunakan model difusi, yang baru-baru ini digunakan untuk menghasilkan gambar fotografi berkualitas tinggi. Dengan menentukan sepasang kelas huruf, seperti 'A' dan 'B', model yang diusulkan menghasilkan berbagai gambar ambigram yang dapat dibaca sebagai 'A' dari arah asli dan 'B' dari arah yang diputar 180 derajat. Analisis kuantitatif dan kualitatif dari hasil eksperimen menunjukkan bahwa model yang diusulkan dapat menghasilkan ambigram berkualitas tinggi dan beragam. Selain itu, kami mendefinisikan ambigramabilitas, ukuran obyektif betapa mudahnya menghasilkan ambigram untuk setiap pasangan huruf. Misalnya, sepasang 'A' dan 'V' menunjukkan kemampuan ambigrami yang tinggi (yaitu, mudah untuk menghasilkan ambigram mereka), dan sepasang 'D' dan 'K' menunjukkan ambigramibility yang lebih rendah. Ambigramability memberikan berbagai petunjuk tentang generasi Ambigram tidak hanya untuk komputer tetapi juga untuk para ahli manusia.
Metode yang kami usulkan menghasilkan ambigram seperti contoh berikut.
Angka kurung adalah skor ambigramability (↑) dari pasangan huruf. Tiga baris atas adalah pasangan kelas yang agak mudah (dengan skor ambigramabilitas yang lebih tinggi), dan tiga lebih rendah tidak.
Kami menguji semua kode dalam Python: 3.8.10
. Anda dapat mengunduh pustaka eksternal dengan pip
sebagai berikut.
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
Anda juga dapat mengunduh bobot pra-terlatih. Ganti semua file pseud-weights weight_name.txt
dengan file weights real-weight yang diunduh.
python demo.py
127.0.0.1:11111
dengan browser web Anda. TestConfigs
di ambigram_random_sample.py
. python ambigram_random_sample.py
TestConfigs
di calc_ambigramability.py
. python calc_ambigramability.py
TrainConfigs
di configs/trainargs.py
. Jika Anda mau, Anda dapat mengubah DA_ambigram_configs.yaml
(detailnya disebutkan di Sec. 3.2 di koran). ## Run on single gpu
python ambigram_train.py
## Run on multiple gpus
mpiexec -n [NUM_GPUs] python ambigram_train.py
Catatan [1]: Jika Anda ingin menghasilkan ambigram dengan menggunakan classifier-free guidance
, Anda harus melatih model-model kondisional dan model-tanpa syarat secara terpisah.
@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}
}