CoolFace
Datasetpublic

rishinaren/public-domain-art-restored

Public-Domain Art Restoration Archive Public-domain museum artworks with scan damage detected and repaired by a diffusion model where present, then upscaled 4x with a GAN super-resolution model. Released CC0. 25,135 restored images are published in images/ (15.4 GB of AVIF), with per-item provenance in manifest/restored.parquet. 2,785 images (11.1%) were routed to the diffusion repair tier and 2,785 were inpainted. Median output long edge: 4,096 px. What is… See the full description on the dataset page: https://huggingface.co/datasets/rishinaren/public-domain-art-restored.

sourceHugging Facecc0-1.0updated 2mo agoView on Hugging Face
0likes155downloads
Dataset Card

Public-Domain Art Restoration Archive

Public-domain museum artworks with scan damage detected and repaired by a diffusion model where present, then upscaled 4x with a GAN super-resolution model. Released CC0.

25,135 restored images are published in `images/` (15.4 GB of AVIF), with per-item provenance in manifest/restored.parquet. 2,785 images (11.1%) were routed to the diffusion repair tier and 2,785 were inpainted. Median output long edge: 4,096 px.

What is published

PathContents
images/<source>/<nn>/<uid>.avifthe restored artworks
manifest/restored.parquet (+ CSV)one row per published image: provenance, license flag, dimensions, damage fraction, routing, repair flag, perceptual hash, byte size
manifest/candidates.parquetthe full 162,936-item verified-CC0 candidate pool
gallery/before / after / damage-mask panels, incl. diffusion-repair details
LICENSES.mdlicense audit trail with archived terms and SHA-256 digests
download.pysmall fetcher

Published images by source:

SourceImages
aic1,921
cma6,696
nga16,518

Sources

Every item comes from an institution that publishes its open-access collection under CC0, and every item carries that institution's own per-item license flag, checked at ingest:

InstitutionCandidatesPer-item gate
National Gallery of Art63,413openaccess == 1
Art Institute of Chicago58,944is_public_domain == True
Cleveland Museum of Art40,579share_license_status == "CC0"

A collection-level policy is a statement about a collection; collections contain exceptions. The per-item flag is how an institution expresses them, so it — not the terms page — is the gate.

Method

ingest (bounded-resolution IIIF)
  -> OpenCV prep: mount/border removal, scanner-edge trim, deskew,
                  white balance from the mount, bounded fade correction
  -> damage detection: 1.1M-parameter U-Net trained on synthetic damage
  -> route: only images whose detected damage crosses threshold take the
            expensive path (the two-tier cost design)
  -> diffusion repair on routed images: Stable Diffusion 1.5 inpainting
     (`stable-diffusion-v1-5/stable-diffusion-inpainting`), empty prompt,
     classifier-free guidance OFF, 12 DPM++ steps at the model's native
     512px, deterministic per-item seeds
  -> 4x super-resolution (Real-ESRGAN compact, GAN), tiled, seams blended
     by a custom CUDA kernel
  -> AVIF encode (quality 65)

The 4x claim is exact. Output is asserted in code to be precisely four times the linear size of the tensor fed to the model; the pipeline raises rather than publishing anything else.

Diffusion is contained by construction. The inpainting output re-enters the image through the detected mask with a feather whose support is hard-clipped at 9 px: any pixel further than that from detected damage is bit-identical to the un-inpainted image. Whatever the model invents, it invents inside the mask. Masks covering more than half the image are refused outright. Repairs are seeded per item and reproduce exactly.

Limitations — please read

  • —Inpainted regions are synthesized. Inside detected damage, the diffusion model fills with plausible material continuation at 512-base resolution, not with recovered information. The inpainted manifest column says which images contain synthesized regions; the damage masks in gallery/ show where.
  • —Super-resolution invents plausible detail everywhere. A GAN does not recover information that was not captured. These files are not substitutes for the institutions' own masters, and must not be used for connoisseurship, attribution, condition assessment, or any conservation decision.
  • —Damage detection was validated against synthetic damage (precision 0.308, recall 0.516, F1 0.386 at the routing operating point). Real damage the detector misses is not repaired; artist marks the detector mistakes for damage can be repaired — the mask gallery is the honest record.
  • —The diffusion pipeline's stock safety checker is disabled, deliberately: it blacks out its false positives, and its false-positive class includes classical nudes — a meaningful fraction of museum holdings. Sources are curated public-domain museum collections.
  • —Tonal correction is bounded on purpose. Aged paper is genuinely cream; correcting it to white would falsify the object. Corrections move toward neutral without arriving.
  • —Some sources cap resolution below 1024 px (Cleveland's web tier is ~900 px), so 4x of those lands below 4096 px. Per-item input and output dimensions are in the manifest.

Provenance

Every row records source institution, object ID, title, artist, date, classification, medium, the license flag as observed, the object's public page, the exact image URL fetched, and a dHash perceptual hash for duplicate analysis. CC0 waives the requirement to attribute, but an archive without provenance is much less useful — and misattributing a repaired artwork is its own kind of harm.

Citation

bibtex
@misc{parc_archive,
  title  = {Public-Domain Art Restoration Archive},
  author = {rishinaren},
  year   = {2026},
  url    = {https://huggingface.co/datasets/rishinaren/public-domain-art-restored}
}

Artworks are CC0 from the institutions above. The pipeline code is MIT.