TextCtrl: Diffusion-based Scene Text Editing with Prior Guidance Control

Weichao Zeng, Yan Shu, Zhenhang Li, Dongbao Yang, Yu ZHOU
2/3/2026

No official code found. Best implementation: weichaozeng/TextCtrl (107 stars, last commit 2025-03-16).

Abstract

Centred on content modification and style preservation, Scene Text Editing (STE) remains a challenging task despite considerable progress in text-to-image synthesis and text-driven image manipulation recently. GAN-based STE methods generally encounter a common issue of model generalization, while Diffusion-based STE methods suffer from undesired style deviations. To address these problems, we propose TextCtrl, a diffusion-based method that edits text with prior guidance control. Our method consists of two key components: (i) By constructing fine-grained text style disentanglement and robust text glyph structure representation, TextCtrl explicitly incorporates Style-Structure guidance into model design and network training, significantly improving text style consistency and rendering accuracy. (ii) To further leverage the style prior, a Glyph-adaptive Mutual Self-attention mechanism is proposed which deconstructs the implicit fine-grained features of the source image to enhance style consistency and vision quality during inference. Furthermore, to fill the vacancy of the real-world STE evaluation benchmark, we create the first real-world image-pair dataset termed ScenePair for fair comparisons. Experiments demonstrate the effectiveness of TextCtrl compared with previous methods concerning both style fidelity and text accuracy.

View on arXivView PDF

Code Implementations(1)

[2024-NeurIPS] TextCtrl: Diffusion-based Scene Text Editing with Prior Guidance Control

10711PythonOct 4, 20241 years ago

Similar Papers

Cite this paper

@article{zeng2026textctrl,
  title  = {TextCtrl: Diffusion-based Scene Text Editing with Prior Guidance Control},
  author = {Weichao Zeng and Yan Shu and Zhenhang Li and Dongbao Yang and Yu ZHOU},
  year   = {2026},
  eprint = {2410.10133},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2410.10133},
  url    = {https://arxiv.org/abs/2410.10133},
  journal = {NEURIPS 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.10133.svg)](https://codeofpaper.com/paper/2410.10133)

Discussion