ProcessPainter: Learn Painting Process from Sequence Data

Yiren Song, Shijie Huang, Chen Yao, Xiaojun Ye, Hai Ci +3 more
6/10/2024
cs.CVcs.AI

No official code found. Best implementation: nicolaus-huang/ProcessPainter (98 stars, MIT, last commit 2025-11-12).

Abstract

The painting process of artists is inherently stepwise and varies significantly among different painters and styles. Generating detailed, step-by-step painting processes is essential for art education and research, yet remains largely underexplored. Traditional stroke-based rendering methods break down images into sequences of brushstrokes, yet they fall short of replicating the authentic processes of artists, with limitations confined to basic brushstroke modifications. Text-to-image models utilizing diffusion processes generate images through iterative denoising, also diverge substantially from artists' painting process. To address these challenges, we introduce ProcessPainter, a text-to-video model that is initially pre-trained on synthetic data and subsequently fine-tuned with a select set of artists' painting sequences using the LoRA model. This approach successfully generates painting processes from text prompts for the first time. Furthermore, we introduce an Artwork Replication Network capable of accepting arbitrary-frame input, which facilitates the controlled generation of painting processes, decomposing images into painting sequences, and completing semi-finished artworks. This paper offers new perspectives and tools for advancing art education and image generation technology.

View on arXivView PDF

Code Implementations(1)

MIT

[SIGGRAPH Asia 2024] Painting process generating using diffusion models

986Shell, PythonMay 21, 202411 months agoMIT

Similar Papers

Cite this paper

@article{song2024processpainter,
  title  = {ProcessPainter: Learn Painting Process from Sequence Data},
  author = {Yiren Song and Shijie Huang and Chen Yao and Xiaojun Ye and Hai Ci and Jiaming Liu and Yuxuan Zhang and Mike Zheng Shou},
  year   = {2024},
  eprint = {2406.06062},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2406.06062v2}
}

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/2406.06062.svg)](https://codeofpaper.com/paper/2406.06062)

Discussion