Structured after Datasheets for Datasets (Gebru et al.). Numbers in the Composition section are generated from the
build artefacts by python scripts/update_docs.py; they describe the build recorded there and nothing else.
The collection serves two purposes: (1) a reference set for retrieval — every record is a documented museum object with provenance; (2) training and evaluation data for visual estimation of region and period. It was assembled for a personal research prototype in computational art history; no funding body or institution was involved.
Each instance is one museum object record with one image: a painting or painted image (including illustrated manuscript
folios and album leaves). Fields are listed in src/artifex/schemas.py (MANIFEST_COLUMNS); original museum strings are
kept next to normalised values.
Generated from data/manifests/dataset_stats.json — dataset 0.1+5cc3c8d20c19, built 2026-10-22.
By source
| Source | Records |
|---|---|
| met | 7,124 |
| cleveland | 2,939 |
By broad region (as labelled; (none) = ambiguous, unmapped or missing)
| Region | Records |
|---|---|
| East Asia | 3,726 |
| Europe | 3,274 |
| South Asia | 1,756 |
| West & Central Asia | 639 |
| North America | 196 |
| (none) | 188 |
| Himalayan region (Tibet, Nepal, Bhutan) | 184 |
| Nile Valley & North Africa | 82 |
| Southeast Asia | 12 |
| Sub-Saharan Africa | 4 |
| Latin America & Caribbean | 1 |
| Oceania | 1 |
By period bin ((none) = date unknown or spanning several bins)
| Period | Records |
|---|---|
| Before 500 CE | 84 |
| 500–1299 | 553 |
| 1300–1449 | 646 |
| 1450–1549 | 997 |
| 1550–1649 | 1,329 |
| 1650–1749 | 1,149 |
| 1750–1849 | 1,815 |
| 1850–1899 | 1,195 |
| 1900 and later | 166 |
| (none) | 2,129 |
Region label status / basis
| Status | Records |
|---|---|
| assigned | 9,875 |
| ambiguous | 140 |
| unmapped | 25 |
| missing | 23 |
| Region derived from | Records |
|---|---|
| object_culture | 6,405 |
| artist_nationality | 2,480 |
| object_geography | 1,129 |
| (none) | 48 |
| department_hint | 1 |
Missing fields (usable records)
| Field | Missing |
|---|---|
| title | 0 |
| artist_name | 3,045 |
| date_start | 2 |
| original_date_text | 996 |
| region_normalized | 188 |
| culture_normalized | 1,241 |
| period_label | 2,129 |
| medium | 3 |
| culture_original | 3,654 |
Exclusions
| Reason | Records |
|---|---|
| not-public-domain | 4,611 |
| not-painted-imagery | 972 |
| text-only-or-non-pictorial-title | 941 |
| excluded-object-type | 49 |
| image-too-small | 41 |
| http | 2 |
Grouping and splits — 4,094 leakage groups (largest: 262 works; 966 near-duplicate pairs). Modelling subset after the per-group cap: 8,886 works; main split train 6,204, test 1,352, val 1,330.
Labels. Region and period labels are derived automatically from museum metadata (see label_taxonomy.md); there are
no manual labels. Unlabelled and ambiguous records stay in the collection and the retrieval index but are not classifier
targets.
Relationships between instances. Many records belong to the same manuscript, album or set, or are by the same artist.
These relationships are made explicit as leakage groups (data/splits/splits.parquet, column group_id).
Errors and noise. Museum attributions can be outdated or contested; dates are often ranges; for works without a recorded culture the region derives from the artist's nationality; title-based exclusion of text pages is heuristic and may miss pages or exclude a few illustrated ones; near-duplicate detection uses an embedding threshold.
Confidentiality. None: all records are public, CC0 museum data. Records depicting people are historical artworks.
Metadata were retrieved from the official open-access APIs of The Metropolitan Museum of Art and The Cleveland Museum of
Art (see data_sources.md) using fixed queries, at rates below the providers' limits, with raw responses cached verbatim.
Only objects released under CC0 with an image were kept. Images are the museums' web-resolution derivatives, resized to at
most 768 px on the longer side, with 384 px thumbnails. Ingestion timestamps are recorded per record.
Normalisation of dates (astronomical years, ranges), region mapping (ordered rules, ambiguity preserved), period
assignment (≥ 75 % of range in one bin), exclusion of non-pictorial records, exact-duplicate marking, image validation.
The raw API responses are retained under data/raw/ so every step can be re-run and audited.
Intended: the Artifex research prototype; teaching and exploring computational methods on museum images. Not intended: authentication, valuation, attribution of objects on the market, or provenance/restitution claims.
The repository distributes the manifest, splits, statistics and code — not images. Images and raw metadata are CC0 and are fetched from the museums by the build scripts. Please credit the museums.
Rebuild with scripts/ingest_data.py and scripts/build_dataset.py. Each build has a dataset version
<release>+<content hash>; any change to records, labels or configuration changes it, which invalidates trained models
and evaluation runs (the app refuses to analyse with a stale model).