AmbiGen: Generating Ambigrams from Pre-trained Diffusion Model

1Purdue University, 2University of Chicago

"Ask""Ask"

"Back""Back"

"Water""Water"

Abstract

Ambigrams are calligraphic designs that have different meanings depending on the viewing orientation. Creating ambigrams is a challenging task even for skilled artists, as it requires maintaining the meaning under two different viewpoints at the same time. In this work, we propose to generate ambigrams by distilling a large-scale vision and language diffusion model, namely DeepFloyd IF, to optimize the letters' outline for legibility in the two viewing orientations. Empirically, we demonstrate that our approach outperforms existing ambigram generation methods. On the 500 most common words in English, our method achieves more than an 11.6% increase in word accuracy and at least a 41.9% reduction in edit distance.

Method

TL;DR: We formuate ambigram generation as an optimization problem by distilling pre-trained diffusion model.

Results

Hover your mouse over the images to rotate them and scroll for more examples! Baseline results are generated from makeambigrams.com and Ambifusion. Please refer to the paper for quantitative results.

Ours (Font 1) Ours (Font 2) Ambigramania Ambimaticv2 dsmonoHD Ambidream Ambifusion
"able"
"able"
"able"
"able"
"able"
"able"
"able"
"about"
"about"
"about"
"about"
"about"
"about"
"about"
"after"
"after"
"after"
"after"
"after"
"after"
"after"
"air"
"air"
"air"
"air"
"air"
"air"
"air"
"beauty"
"beauty"
"beauty"
"beauty"
"beauty"
"beauty"
"beauty"
"been"
"been"
"been"
"been"
"been"
"been"
"been"
"better"
"better"
"better"
"better"
"better"
"better"
"better"
"big"
"big"
"big"
"big"
"big"
"big"
"big"
"black"
"black"
"black"
"black"
"black"
"black"
"black"
"body"
"body"
"body"
"body"
"body"
"body"
"body"
"book"
"book"
"book"
"book"
"book"
"book"
"book"
"boy"
"boy"
"boy"
"boy"
"boy"
"boy"
"boy"
"call"
"call"
"call"
"call"
"call"
"call"
"call"
"can"
"can"
"can"
"can"
"can"
"can"
"can"
"car"
"car"
"car"
"car"
"car"
"car"
"car"
"cause"
"cause"
"cause"
"cause"
"cause"
"cause"
"cause"
"center"
"center"
"center"
"center"
"center"
"center"
"center"
"circle"
"circle"
"circle"
"circle"
"circle"
"circle"
"circle"
"close"
"close"
"close"
"close"
"close"
"close"
"close"
"color"
"color"
"color"
"color"
"color"
"color"
"color"
"correct"
"correct"
"correct"
"correct"
"correct"
"correct"
"correct"
"country"
"country"
"country"
"country"
"country"
"country"
"country"
"cross"
"cross"
"cross"
"cross"
"cross"
"cross"
"cross"
"dance"
"dance"
"dance"
"dance"
"dance"
"dance"
"dance"
"dark"
"dark"
"dark"
"dark"
"dark"
"dark"
"dark"
"day"
"day"
"day"
"day"
"day"
"day"
"day"
"deep"
"deep"
"deep"
"deep"
"deep"
"deep"
"deep"
"develop"
"develop"
"develop"
"develop"
"develop"
"develop"
"develop"
"dog"
"dog"
"dog"
"dog"
"dog"
"dog"
"dog"
"drive"
"drive"
"drive"
"drive"
"drive"
"drive"
"drive"
"ease"
"ease"
"ease"
"ease"
"ease"
"ease"
"ease"
"eat"
"eat"
"eat"
"eat"
"eat"
"eat"
"eat"
"end"
"end"
"end"
"end"
"end"
"end"
"end"
"enough"
"enough"
"enough"
"enough"
"enough"
"enough"
"enough"
"equate"
"equate"
"equate"
"equate"
"equate"
"equate"
"equate"
"face"
"face"
"face"
"face"
"face"
"face"
"face"
"follow"
"follow"
"follow"
"follow"
"follow"
"follow"
"follow"
"gave"
"gave"
"gave"
"gave"
"gave"
"gave"
"gave"
"get"
"get"
"get"
"get"
"get"
"get"
"get"
"green"
"green"
"green"
"green"
"green"
"green"
"green"
"group"
"group"
"group"
"group"
"group"
"group"
"group"
"her"
"her"
"her"
"her"
"her"
"her"
"her"
"how"
"how"
"how"
"how"
"how"
"how"
"how"
"moon"
"moon"
"moon"
"moon"
"moon"
"moon"
"moon"
"mother"
"mother"
"mother"
"mother"
"mother"
"mother"
"mother"
"tree"
"tree"
"tree"
"tree"
"tree"
"tree"
"tree"
"where"
"where"
"where"
"where"
"where"
"where"
"where"
"which"
"which"
"which"
"which"
"which"
"which"
"which"


Citation

@article{zhao2023ambigen,
  title={AmbiGen: Generating Ambigrams from Pre-trained Diffusion Model}, 
  author={Boheng Zhao and Rana Hanocka and Raymond A. Yeh},
  journal={arXiv preprint arXiv:2312.02967},
  year={2023}
}