pith:V6AFODQW
StippleDiffusion: Capacity-Constrained Stippling using Controlled Diffusion
A diffusion-based sampler produces capacity-constrained stipples for any target density using a single trained checkpoint.
arxiv:2605.15816 v1 · 2026-05-15 · cs.GR · cs.CV · cs.LG
Add to your LaTeX paper
\usepackage{pith}
\pithnumber{V6AFODQWB6RMKC5W2F6CZZE4RD}
Prints a linked badge after your title and injects PDF metadata. Compiles on arXiv. Learn more · Embed verified badge
Record completeness
Claims
A single trained checkpoint accepts arbitrary target densities at inference, generalizes to point budgets that were not seen during training, and produces stipples in time nearly independent of the output point count. On the Icons-50 benchmark, our learned sampler reaches parity with per-density-optimized baselines on every reported metric while remaining differentiable end-to-end.
The assumption that restricting training and inference to the late-stage denoising regime, initializing from a density-weighted rejection sample, and replacing zero-convolution injection with a sigmoid-gated 1x1 projection is sufficient to preserve the base model's blue-noise structure under hard density signals.
StippleDiffusion is a late-stage denoising ControlNet on an optimal-transport point-set diffusion baseline that produces capacity-constrained stipples from arbitrary density maps, generalizes to unseen point budgets, and matches optimization baselines on Icons-50 while remaining end-to-end trainable
References
Formal links
Receipt and verification
| First computed | 2026-05-20T00:01:20.054995Z |
|---|---|
| Builder | pith-number-builder-2026-05-17-v1 |
| Signature | Pith Ed25519
(pith-v1-2026-05) · public key |
| Schema | pith-number/v1.0 |
Canonical hash
af80570e160fa2c50bb6d17c2ce49c88ea90f12fb3438bef6ed5c9f2e040c06c
Aliases
· · · · ·Agent API
Verify this Pith Number yourself
curl -sH 'Accept: application/ld+json' https://pith.science/pith/V6AFODQWB6RMKC5W2F6CZZE4RD \
| jq -c '.canonical_record' \
| python3 -c "import sys,json,hashlib; b=json.dumps(json.loads(sys.stdin.read()), sort_keys=True, separators=(',',':'), ensure_ascii=False).encode(); print(hashlib.sha256(b).hexdigest())"
# expect: af80570e160fa2c50bb6d17c2ce49c88ea90f12fb3438bef6ed5c9f2e040c06c
Canonical record JSON
{
"metadata": {
"abstract_canon_sha256": "ace14513057e3275a4c20c893703b258e453391aef919753fa00182f728fe2ff",
"cross_cats_sorted": [
"cs.CV",
"cs.LG"
],
"license": "http://creativecommons.org/licenses/by/4.0/",
"primary_cat": "cs.GR",
"submitted_at": "2026-05-15T10:12:42Z",
"title_canon_sha256": "878240c9a7b1ca1bfa630d94d497f02aab33c7f22827b900a4d31515460fdc43"
},
"schema_version": "1.0",
"source": {
"id": "2605.15816",
"kind": "arxiv",
"version": 1
}
}