schillyCL is a custom restoration model that cleans degraded scans — removing paper grain, yellowing and halftone artifacts while restoring black ink lines, without a general-purpose upscaler smearing away the detail that matters. The scan above is the model: a scan line sweeps the frame, raw input on one side, restored output on the other.
It's fine-tuned on the Real-ESRGAN / RRDBNet architecture and trained on real scan-to-digital pairs aligned by feature matching.
I wrote a custom weighted L1 loss that punishes incorrect black-pixel output three times harder than standard L1 — the failure mode that wrecks line detail and causes "line drift" in pure GAN models. For full-resolution images I built tiled inference with Gaussian blending so tiles merge with no visible seams, and a residual-diff diagnostic (a heatmap of exactly what was removed) to prove the model is doing surgery, not hallucination.
First usable results came within a week. It's in active production use for restoration work today.
RRDBNet
Real-ESRGAN backbone, 23 blocks / 64 features
×3 dark
weighted L1 prioritising correct black-ink reconstruction
Tiled
inference with Gaussian blending — seamless full-res
~1 week
from start to first in-production results
Restoration starts with the most basic move in computer vision: a small kernel slides across the image, and at every stop it reads the pixels beneath it and weighs them into a single number. Watch the window roll — the samples fluctuate, collapse to one value, and write into a feature map on the right. Stack that idea deep enough and the network learns to tell ink from grain.