ambifusion
1.0.0
這是“擴散模型的Ambigram生成”論文的官方回購。本文在ICDAR 2023接受。
【 更新 】
2023/07/20:Ambifusion2開放。通過將兩個提示指定為一對,該方法可以使用任何圖像對生成Ambigram。
tl; dr
ambigramability
,這是一個客觀的衡量標準,即為每個字母對產生彈頭是多麼容易。 Ambigram是圖形字母設計,不僅可以從原始方向讀取,而且可以從旋轉方向讀取(尤其是180度)。即使對於人類專家來說,設計彈頭也很困難,因為從兩個方向上保持雙重可讀性通常很困難。本文提出了一種彈道生成模型。作為其生成模塊,我們使用了一個擴散模型,該模型最近已用於生成高質量的照相圖像。通過指定一對字母類,例如“ A”和“ B”,提出的模型生成了各種彈藥映像,這些圖像可以從原始方向讀取為“ A”,而從方向旋轉180度的“ B”。實驗結果的定量和定性分析表明,所提出的模型可以產生高質量和不同的策略。此外,我們定義了策略性,這是一個客觀的衡量標準,即為每個字母對生成彈頭的容易性。例如,一對“ A”和“ V”表現出高度的策略性(也就是說,很容易產生他們的策略),而“ D”和“ K”對錶現出較低的策略性。動彈性不僅為計算機,而且對人類專家提供了各種暗示。
我們提出的方法產生了彈道液,例如以下示例。
括號的數字是字母對的砲擊得分(↑)。上三行是相當簡單的班級對(具有較高的策略性得分),而下三行則不是。
我們測試了Python: 3.8.10
。您可以在pip
上下載外部庫如下。
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
您還可以下載預訓練的權重。用下載的現實權威文件替換所有偽重量file weight_name.txt
。
python demo.py
127.0.0.1:11111
。 ambigram_random_sample.py
中設置TestConfigs
。 python ambigram_random_sample.py
calc_ambigramability.py
中設置TestConfigs
。 python calc_ambigramability.py
configs/trainargs.py
中設置TrainConfigs
。如果需要,可以更改DA_ambigram_configs.yaml
(詳細信息在論文中的第3.2節中提到)。 ## Run on single gpu
python ambigram_train.py
## Run on multiple gpus
mpiexec -n [NUM_GPUs] python ambigram_train.py
注意[1]:如果您想使用classifier-free guidance
來生成彈道,則必須單獨訓練有條件模型和無條件模型。
@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}
}