How lingzhihao-111/handwriting-generation works
This repository is a research toolkit for handwriting synthesis: it learns page character-box layouts, generates text lines conditioned on handwriting style, and combines those stages for page output. A separate page-fill data-preparation path and handwriting-generation metrics support related experiments. The excerpts show the page-layout training path and parts of TGC training and page generation; links for unsampled modules are limited to relationships supported by their visible entry points or documented roles.
Main entry points: finetune_ch.py TGC fine-tuning · batch_tgc_page_lines.py Page line generation · train_page_temp.py Layout training · trainer.py TGC trainer
Components 20
Page layout
- Page box dataset
models/page_layout-diff/dataloader/page_dataset.py - Layout training
models/page_layout-diff/train_page_temp.py - Layout flow model
models/page_layout-diff/model/model.py - Layout trainer
models/page_layout-diff/trainer/page_trainer.py - Layout sampling
models/page_layout-diff/sample_page_layout.py - Box rendering
models/page_layout-diff/utils/page_geom.py
Style synthesis
- Text-line dataset
models/TGC-Diff/dataset/textline_dataset.py - TGC fine-tuning
models/TGC-Diff/finetune_ch.py - TGC training
models/TGC-Diff/train_ch.py - TGC trainer
models/TGC-Diff/trainer/trainer.py - Style diffusion
models/TGC-Diff/models/unet.py - Diffusion process
models/TGC-Diff/models/diffusion.py - Page line generation
eval/batch_tgc_page_lines.py
Data preparation
- Fill data builder
data/build_casia_fill_input.py - Page-fill dataset
data/page_fill_dataset.py
Evaluation
- Handwriting datasets
models/HWD/src/hwd/datasets/base_dataset.py - Generation metrics
models/HWD/src/hwd/scores.py - Experiment evaluation
eval/batch_tgc_diff.py
Other components
- Researcher
- Generated page
Connections 24
- Researcher → Layout training: trains layout
- Layout training → Page box dataset: loads batches
- Layout training → Layout flow model: builds model
- Layout training → Layout trainer: starts training
- Layout trainer → Layout flow model: optimizes
- Researcher → Layout sampling: samples layout
- Layout sampling → Box rendering: renders boxes
- Researcher → TGC fine-tuning: fine-tunes
- TGC fine-tuning → Text-line dataset: loads text lines
- TGC fine-tuning → Style diffusion: builds model
- TGC fine-tuning → Diffusion process: builds diffusion
- TGC fine-tuning → TGC trainer: starts training
- TGC trainer → Style diffusion: trains and samples
- TGC trainer → Diffusion process: computes loss
- Researcher → Page line generation: generates page
- Page line generation → Layout sampling: uses layout
- Page line generation → Style diffusion: generates lines
- Page line generation → Box rendering: renders page
- Page line generation → Generated page: writes page
- Researcher → Fill data builder: prepares fill data
- Fill data builder → Page-fill dataset: writes tensors
- Researcher → Experiment evaluation: runs experiments
- Experiment evaluation → Generation metrics: scores output
- Handwriting datasets → Generation metrics: provides samples