AKYS

Home / Live demos / Sign detection

Live demo · Lithuanian sign catalogue

Reading every Lithuanian road sign

Most sign detectors tell you a sign is there. Ours tells you which sign it is, against the full Lithuanian catalogue of 292 classes: priority road, give way, lane order, advance direction, street name, each speed limit as its own class. This is our current model running on one minute of Vilnius driving.

Sign detection and classification Every box is labelled with its Lithuanian class name and confidence. The counter top-left is the running total; the strip along the bottom is the camera's own speed, GPS position and timestamp. 18 s, faces and plates blurred before publication.

Signs read in this minute

Signal heads and their state

The model reads the signal itself, not just the housing. A red pedestrian phase is a different class from a green one.

The run

Loading run data

Sign reads in 60 s
Signs per frame
Classes in the catalogue
Rejected as background

Why two stages

Propose, then identify

An open-vocabulary detector finds anything sign-shaped without needing to know the catalogue. A second classifier then decides which of the 292 Lithuanian classes it actually is, or that it is not a sign at all.

A class for "not a sign"

The classifier has an explicit background class, and it used it 4,706 times in this minute. Billboards, shop signage and van livery are sign-shaped and sign-coloured; rejecting them is most of the work.

Locked once confident

When a track is identified above 0.85 confidence its label is pinned, so a sign does not flicker between neighbouring classes as it grows in the frame. 782 tracks locked here.

Signal state, not just presence

Traffic lights are read down to phase and audience: green pedestrian, red pedestrian, vehicle amber. That is the difference between mapping where signals are and understanding how a junction behaves.

From detection to a sign register

A detection becomes an asset once it has a position. The footage above carries a GPS fix on every frame, and the same fusion step that built our street-asset inventory, namely multiple sightings from different positions ranged against the LiDAR, turns sign reads into a register with one row per real-world sign.

The inventory demo already shows that step working end to end on a different drive: 678 assets placed in 3D, including sign poles and traffic-light poles, from 73,118 raw detections. Extending it to this 292-class catalogue is what we are building towards. This page shows the detection half of it.

Road sign inventories in Lithuania

A sign register is only as good as its classes. Knowing that a sign exists at a coordinate is not enough to answer whether the right sign is in the right place, or which signs on a street need replacing. That requires reading the sign against the national catalogue, which in Lithuania means the KET sign set rather than a generic European approximation.

This is why our classifier is trained on 292 Lithuanian classes rather than a handful of shapes. It separates each speed limit, each direction arrangement and each priority sign as its own class, and it reads signal phase rather than only detecting that a traffic light is present.

Sign capture is one layer of an AKYS mobile mapping survey in Lithuania, alongside mobile LiDAR scanning that supplies the ranging used to place each sign in 3D. The inventory pipeline and its deliverable formats are described on the AI detection page.