Paper Accepted at ICMLA 2026: Metric Learning for Ancient Coin Identification
We’re happy to share that our paper, “Metric Learning for Ancient Coin Identification,” has been accepted for publication at the International Conference on Machine Learning and Applications (ICMLA 2026). The authors are Nathan Sprague (Professor of Computer Science), Jason Forsyth (Associate Professor of Engineering, Curator of Coins for the Madison Art Collection), Trevor Schonbrun (Engineering ‘27), Dhanshree Atre (Computer Science ‘26), and Quinnie Lu (Engineering ‘29).
Background
Establishing an ancient coin’s provenance, its chain of prior ownership, usually means manually paging through decades of auction catalogs looking for a photograph of the same physical coin. The Velia stater above is a case in point: matching its 1972 and 2023 photos took manual expert review, even though it’s the exact same coin. Despite the difficulty of the task, the search may fail as historically only the most important or valuable coins were photographed for catalogs. We ask, how might computer vision be used to improve this process? Given a photo of a coin in hand, can a system search historical catalog imagery and surface earlier appearances of that exact specimen?
Methods
Our approach borrows from face recognition by training an ArcFace-based convolutional neural network to embedding model with a truncated ConvNeXt backbone so that images of the same coin land near each other in a learned feature space. Since most training coins come from public collections with only one photo each, we use Optuna to tune an augmentation policy (crops, rotation, color jitter, blur, and a custom relighting transform) to generate additional variations of a coin and learn how it might appear under different lighting and photographic conditions.
That paired data comes from a rig built for this project: each coin sits on cloth atop a motorized turntable inside a light box while an overhead camera records video as it rotates under a fixed light, and the extracted stills are then run through a print-scan pipeline to simulate decades of photocopying.
Building the Sawhill Dataset
To evaluate this fairly, we built a new dataset — the JMU Sawhill multi-condition dataset — of 155 coins (154 photographed on both sides, plus one imaged only on the reverse) photographed under deliberately varied lighting and reproduction conditions, yielding 309 imaged coin sides and 3,708 images so that we could test the approach on realistic, controlled visual variation. The coins are drawn from the Sawhill Collection at JMU, which we’ve already been photographing and cataloging as part of our broader provenance-recovery work, giving us a ready source of real coins with known identities to build the paired evaluation set around. It spans a considerably wider range than the existing public Roman Republican datasets we train on: ca. 540 BCE to 120 CE, covering 46 Greek city-states and kingdoms, 24 Roman rulers and officials, and 25 denominations in silver, bronze, and gold.
Results
Table I below summarizes our main result. Every method is evaluated against the same fixed gallery of 8,307 images: the 2,400 held-out coin images (200 coin sides × 12 variants each) plus 5,907 held-out public-collection images acting as distractors. Recall@k comes from a single-match task, where exactly one correct match is hidden in that gallery and Recall@k is the fraction of queries for which it lands in the top k. mAP (mean average precision) comes from a companion multi-match task, where all eleven other views of the query’s coin side are in the gallery and the score rewards ranking all of them near the top. Frozen off-the-shelf features (even strong ones like DINOv2) are far from sufficient for this instance-level matching task. Direct paired training is the strongest approach on this controlled proxy, which is expected since it trains on the same reproduction pipeline it is tested on. Our public-data ArcFace model, tuned using only the small paired set for augmentation selection, stays competitive with roughly a three-point gap, despite never seeing the paired examples as ordinary training data.
| Method | Single-match retrieval | Multi-match retrieval | ||
|---|---|---|---|---|
| Recall@1 | Recall@5 | Recall@10 | mAP | |
| Frozen ConvNeXt features | 15.63% | 24.75% | 30.18% | 0.2824 |
| DINOv2 (frozen features) | 37.30% | 52.42% | 60.04% | 0.5723 |
| Direct paired ArcFace training | 98.01% | 99.30% | 99.62% | 0.9942 |
| Public-data ArcFace, tuned aug. + trunc. + lighting | 94.57% | 97.66% | 98.34% | 0.9800 |
Table II isolates the effect of each design choice by testing it separately: TPE-tuned augmentation, an added lighting augmentation, and truncating the ConvNeXt backbone to preserve more of its spatial feature map. Tuned augmentation and truncation turn out to be complementary. Tuning alone pushes a standard backbone from 49.92% to 76.97% Recall@1 by targeting the specific nuisance variation in Figure 2; truncation alone reaches 71.01%. Combining them gets to 94.17%, which is 17.20 points above tuning alone and 23.16 points above truncation alone — well beyond what either contributes by itself. Lighting augmentation is the inconsistent one: it gives the truncated model with manual augmentation a real lift (71.01% to 75.97%, +4.96 points), but is negligible or slightly harmful everywhere else, adding just 0.40 points to our best model and actually reducing the tuned standard model. Once tuning and truncation are both in place, it offers no reliable benefit.
| Configuration | TPE Aug. | Lighting Aug. | Trunc. | Single-match retrieval | Multi-match retrieval | ||
|---|---|---|---|---|---|---|---|
| R@1 | R@5 | R@10 | mAP | ||||
| Standard ConvNeXt | 49.92% | 63.83% | 69.81% | 0.6767 | |||
| Standard ConvNeXt + TPE-tuned aug. | ✓ | 76.97% | 85.83% | 88.84% | 0.8774 | ||
| Standard ConvNeXt + lighting aug. | ✓ | 50.00% | 64.08% | 69.84% | 0.6762 | ||
| Truncated ConvNeXt + manual aug. | ✓ | 71.01% | 82.24% | 86.22% | 0.8482 | ||
| Standard ConvNeXt + TPE-tuned + lighting aug. | ✓ | ✓ | 72.11% | 81.56% | 85.28% | 0.8397 | |
| Truncated ConvNeXt + TPE-tuned aug. | ✓ | ✓ | 94.17% | 97.36% | 98.29% | 0.9782 | |
| Truncated ConvNeXt + lighting aug. | ✓ | ✓ | 75.97% | 86.53% | 90.14% | 0.8865 | |
| Truncated ConvNeXt + TPE-tuned + lighting aug. | ✓ | ✓ | ✓ | 94.57% | 97.66% | 98.34% | 0.9800 |
The biggest caveat is that this is still a controlled proxy. The ideal test set would be multiple independently acquired photos of the same coins from different auction houses, catalogs, and decades — but those identity links are precisely the unknown provenance evidence we’re trying to recover in the first place. Our print–scan pipeline stands in for that variation; it doesn’t fully reproduce it. The natural next step is to stop treating the two uses of paired data as an either/or and train on real paired examples and augmentation-generated positives together, weighting how much the model trusts a handful of verified pairs against the broader augmentation distribution.
The full pipeline source code is available on GitHub, and the dataset — original images plus all reproduction variants — is published on Hugging Face. The full paper is available for download here.
Enjoy Reading This Article?
Here are some more articles you might like to read next: