FontDiffuser: One-Shot Font Generation via Denoising Diffusion with Multi-Scale Content Aggregation and Style Contrastive Learning
About
Automatic font generation is an imitation task, which aims to create a font library that mimics the style of reference images while preserving the content from source images. Although existing font generation methods have achieved satisfactory performance, they still struggle with complex characters and large style variations. To address these issues, we propose FontDiffuser, a diffusion-based image-to-image one-shot font generation method, which innovatively models the font imitation task as a noise-to-denoise paradigm. In our method, we introduce a Multi-scale Content Aggregation (MCA) block, which effectively combines global and local content cues across different scales, leading to enhanced preservation of intricate strokes of complex characters. Moreover, to better manage the large variations in style transfer, we propose a Style Contrastive Refinement (SCR) module, which is a novel structure for style representation learning. It utilizes a style extractor to disentangle styles from images, subsequently supervising the diffusion model via a meticulously designed style contrastive loss. Extensive experiments demonstrate FontDiffuser's state-of-the-art performance in generating diverse characters and styles. It consistently excels on complex characters and large style changes compared to previous methods. The code is available at https://github.com/yeungchenwa/FontDiffuser.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Vision-only Few-shot Font Generation | Chinese font dataset Large (UFSC) | RMSE0.2645 | 10 | |
| Handwriting generation | UWSC (Unseen Writer Same Content) Traditional Chinese 1.0 | Content Score (CS)82.72 | 10 | |
| Vision-only Few-shot Font Generation | Chinese font dataset Small (UFSC) | RMSE0.301 | 10 | |
| Handwriting generation | UWUC (Unseen Writer Unseen Content) Traditional Chinese 1.0 | Content Score (CS)78.65 | 10 | |
| Font Generation | Founder Type library (SCUF: Seen Chars Unseen Font) | SSIM0.347 | 10 | |
| Vision-only Few-shot Font Generation | Chinese font dataset Large (UFUC) | RMSE0.2631 | 9 | |
| Vision-only Few-shot Font Generation | Chinese font dataset Small (UFUC) | RMSE0.2999 | 9 | |
| Font Generation | Founder Type library UCUF Unseen Chars Unseen Font | SSIM0.341 | 9 | |
| Handwriting generation | UWSC Japanese | Content Score (CS)90.84 | 6 | |
| Handwriting generation | Japanese (UWUC) | CS50.08 | 6 |