How accurate is the Topload scanner?
Most scanners advertise that they recognize the card. We measure something stricter: the exact print — not just “Charizard”, but which set, which number, which variant. That is the difference between a nice demo and a portfolio you can trust, because two prints of the same artwork can differ in value by a factor of a hundred.
Below is our current test set, the method, and every single case — including the ones we get wrong.
25/25
Cards found in toploaders
Our corner-detection network vs. 0/25 for the stock iOS rectangle detector, same photos.
100%
Correct card in top 3
Name level, 25 hard labeled real-world scans, production pipeline.
95.7%
Exact print, geometric re-rank
22 of 23 cases where the true print was among the candidates (isolated test).
27 ms
Median geometric check
ORB feature matching + RANSAC per candidate pair, server-side.
Method
The test set is 25 real phone photos of physical cards — in sleeves, in toploaders, in graded slabs, at angles, under living-room light. Every photo is labeled with the exact print as ground truth, verified by hand. No studio shots, no scans of scans.
The pipeline under test is the production pipeline, not a lab build: on-device corner detection and dewarp, on-device OCR, a visual embedding matched against the full catalog, OCR-based re-ranking, and a final geometric verification that compares actual print details (edition marks, set symbols, collector numbers) between the photo and the top candidates.
The geometric step only overrides the ranking when its evidence is clear — the best candidate must beat the runner-up by a factor of at least 1.5 in matched feature points. When evidence is thin, we keep the ranking and say so, instead of guessing confidently.
Every case, including the misses
Isolated re-ranking test (Aug 17, 2026): rank of the true print before and after geometric verification, for all 23 cases where the true print was among the candidates. In 2 further cases the true print was missing from the candidate list entirely — re-ranking cannot fix those, so we count them as errors of the retrieval stage, not successes.
| True print | Rank before | Rank after | Evidence ratio |
|---|---|---|---|
| Giratina V #186 | 2 | 1 | 11.3 |
| Giratina V #186 | 8 | 1 | 7.3 |
| Giratina V #186 | 8 | 1 | 15.8 |
| Feraligatr #HGSS07 | 3 | 1 | 3.3 |
| Feraligatr #HGSS07 | 3 | 1 | 2.7 |
| Feraligatr #HGSS07 | 2 | 1 | 1.7 |
| Feraligatr #HGSS07 | 3 | 1 | 2.9 |
| Feraligatr #HGSS07 | 2 | 1 | 2.4 |
| Feraligatr #HGSS07 | 2 | 1 | 3.4 |
| Feraligatr #HGSS07 | 1 | 1 | 22.0 |
| Feraligatr #HGSS07 | 1 | 1 | 4.3 |
| Floatzel GL LV.X #104 | 1 | 1 | 12.6 |
| Floatzel GL LV.X #104 | 1 | 1 | 6.7 |
| Regigigas #XY82 | 1 | 1 | 23.8 |
| Regigigas #XY82 | 1 | 1 | 23.0 |
| Eevee #SM-P287 | 1 | 1 | 30.5 |
| Rainbow Energy #137 | 1 | 1 | 2.3 |
| Slowking #21 | 2 | 1 | 2.2 |
| Pangoro #68 | 1 | 1 | 2.5 |
| Sylveon #72 | 8 | 1 | 4.7 |
| Sylveon #72 | 6 | 1 | 5.1 |
| Charizard-EX #XY121 | 1 | 1 | 17.3 |
| Rayquaza VMAX #217 | 5 | 2 — miss | 1.0 |
The one remaining miss is a three-way tie between near-identical artwork variants of the same Rayquaza VMAX — the evidence ratio of 1.0 correctly flags it as undecidable by geometry alone. This is exactly the case class we are working on next.
What we are not claiming
25 labeled photos is a small set. It is deliberately hard — sleeves, toploaders, slabs, angles — but it does not support percentage claims to a decimal point, and we will not pretend it does. Our production A/B comparison shows the same direction (exact-print accuracy up from 72.7% to 84.0% with geometric verification enabled), but its confidence intervals overlap; we treat it as a trend, not proof.
We publish this page anyway, because nobody else in this market publishes print-level accuracy at all. As the test set grows, the numbers here will change — in whichever direction the data says.