Number plates vs appearance: which sorts race photos better?
There are really only two ways to sort thousands of race photos by the rider in them: read the number on the bike, or recognise the rider by how they look. The choice decides how often the sort quietly fails on the frames you most want to sell.
If you shoot trackdays or races, the sorting problem is always the same: turn one enormous pile of frames into one folder per rider, fast enough to sell while the day is still fresh. Two families of software try to do it, and they work in fundamentally different ways.
One reads the number: the plate on the bike or the bib on the suit, using optical character recognition (OCR). The other reads the rider: the helmet design, the machine livery, the colours and cut of the kit. Both can produce a folder per rider. They just fail in very different places, and one of those places is most of a race weekend.
How number-reading taggers work
Number-recognition tools (including bib-OCR taggers and plate readers such as RaceTagger and similar products) find a number in each frame, read the digits, and drop the photo into the folder for that number. When the number is big, sharp and facing the camera, this is quick and accurate. On a start-line grid shot or a clean head-on straight, it works well.
The appeal is obvious: a number is an exact identifier, so a correct read is unambiguous. The catch is the word correct. Everything depends on that number being legible in the frame, and in motorsport it very often is not.
Where number-reading breaks
Illegible is not an edge case in racing. It is a large share of the shots that actually sell: the pack, the apex, the full-speed pan. On these frames a number-reading tool has nothing to work with, and a misread is worse than a miss because it silently files the photo under the wrong rider.
- Packs. The plate is hidden behind another bike. Nothing to read.
- Cornering. Mid-corner the number is angled away from the lens. No readable digits.
- Motion blur. A pan on the straight smears the number. OCR guesses, and a guess lands in the wrong folder.
- Weather. Rain and mud cover the plate. Obscured means failed.
- No numbers at all. Free practice, testing and many trackdays run with no numbers fitted. There is no token to read.
- Full-face helmets. Face-matching has nothing to match either, so the same frames defeat face-based galleries.
None of this is a tuning problem you can patch. If identity depends on a legible number, then no number means no identity. That is a structural limit of the method.
How appearance matching is different
Appearance matching does not look for a token. It builds a visual signature of each rider from the helmet, the machine livery and the kit, and tracks that identity from frame to frame and through video. Those cues stay visible across a whole session even when the number disappears, so the photos in a pack, mid-corner or in the wet still land in the right folder.
This is the approach RaceLabs uses, and it is measured, not asserted. On validation across multiple championships, using riders the system has never seen, it reaches a mean Average Precision above 0.99 and a same-rider precision of 99.6%. The full method and per-split results are on the research and validation page.
A readable number is still welcome. RaceLabs uses it to name the folder and to merge any rider whose photos split in two. It just is not what the identity depends on, so the sort keeps working when the number is gone.
Side by side
| Real race-weekend frame | Number / bib OCR taggers | Appearance matching (RaceLabs) |
|---|---|---|
| Plate hidden in a pack | Nothing to read, dropped or misfiled | Held by helmet, livery and machine |
| Mid-corner, number angled away | No readable digits | Recognised from livery, tracked across the sequence |
| Motion blur at speed | Garbled read, wrong rider | Robust to blur |
| Practice or testing, no numbers | No token exists | Still sorts every rider into a folder |
| Rain and mud over the plate | Obscured, fails | Unaffected |
The cost of a wrong match
The reason this matters commercially is not raw accuracy, it is precision: of the photos placed in a rider's folder, the share that genuinely belong there. A rider knows their own session. They lived every corner. So when a stranger's bike shows up in their gallery, they spot it instantly, and that gallery becomes the reason they do not buy and the story they tell other riders.
A silent OCR misread produces exactly that failure. Appearance matching tuned toward precision avoids it: RaceLabs holds 99.6% same-rider precision, and when a frame is genuinely ambiguous it goes to a review bin rather than being guessed into the wrong folder. You spend a few seconds resolving the hard cases instead of an angry email fixing a wrong one.
So which should you use?
If you only ever shoot clean, posed, head-on frames with big legible numbers, a number-reading tool will do the job. The moment your work includes real track action, packs, corners, wet sessions or no-number trackdays, the number stops being reliable and the sort starts failing on your best shots.
For that reason, appearance matching is the more dependable base for a same-day workflow, with a readable number used as a helpful extra rather than the whole foundation. If you want the step-by-step version of that workflow, see how to sort trackday photos by rider in minutes.
See it on your hardest event
Bring the weekend that breaks your current tool: the pack laps, the wet session, the practice with no numbers. First event free.
Test RaceLabsFrequently asked questions
Can I sort race photos without reading the number plate?
Yes. Appearance matching identifies each rider by helmet, machine livery and kit, so photos are sorted even when no number is visible or fitted. RaceLabs works this way and uses a readable number only to name the folder.
Is appearance matching a RaceTagger alternative?
It is a different method for the same job. Tools built around reading the bib or number plate work only when that number is legible; RaceLabs matches on appearance, which keeps working in packs, corners, motion blur, mud and no-number sessions. It is a structural difference in method, not a tuning advantage.
What happens when appearance matching is unsure?
Genuinely ambiguous frames go to a review bin for a person to resolve in seconds, rather than being guessed into a folder. That is why same-rider precision stays at 99.6% and clients rarely find a stranger's bike in their gallery.
Does a readable number still help?
Yes. When a number is legible, RaceLabs uses it to name the folder and to automatically merge a rider whose photos split across two clusters. The identity does not depend on it, so the sort holds when the number is not there.
What does RaceLabs cost?
Pay-as-you-go from €0.01 per photo, dropping to €0.004 at volume, billed per photo processed. A typical trackday is around €30 to €50, and your first event is free. See the pricing page.