Development of a license plate recognition system (ANPR/LPR)

A queue accumulates at the entry, and security manually verifies license plates and maintains a log. We develop turnkey license plate recognition systems: we inspect the entry point, set up access by plate, and deliver rules and access schemes. Passage takes seconds, manual operations decrease, and throughput grows.
Frequently Asked Questions

Why license plate recognition fails at the entrance

License plate recognition at the entrance breaks not on the model but on the physics of the frame.

The vehicle approaches at an angle, the plate is tilted and partially blocked by the frame, headlights create backlight, and the shadow from the canopy splits the plate in half — the detector finds the area, but character segmentation falls apart.

Capture happens in motion, the shutter speed cannot freeze the outline, and at the output, instead of an eight, an uncertain result comes through.

Then fault-tolerance logic kicks in: while confidence is below the threshold, the event goes to an operator. Manual plate entry takes tens of seconds per vehicle — in dense traffic, this is exactly the downtime at the entrance, which grows not linearly but as a queue.

License plate recognition errors are distributed unevenly: dirt, a wet plate, a trailer, or a transit series knock out one traffic lane, and that is the lane that gets stuck.

A separate problem is the log. The operator has already entered the plate manually, and a minute later the module reads the same frame from the buffer and adds a second event.

Without a single passage key — plate, time, direction — duplicates appear in the vehicle access control system, and pass reports diverge from the actual entry.

The result is predictable: drivers wait, security turns into data-entry operators, and people start bypassing the automation using a paper list.

We break down how this is closed: from shot setup and lighting to confidence threshold, event deduplication, and manual confirmation scenarios.

Implementation effect: throughput, downtime, manual labor

Automated vehicle passage changes the economics of a checkpoint in measurable terms: seconds per lane, the share of passages without corrections, and the time equipment spends waiting at the entrance. The three shifts below are what becomes visible in the event log after implementation.

Passage without stopping and queues

Recognition runs on the video stream, and the decision to raise the barrier arm is made from a confirmed frame buffer of the detector on the current branch of the YOLO family — the plate is ready before the vehicle reaches the barrier.

Passage time through the checkpoint drops from 20-40 seconds (stop, window, operator) to 3-6. Entry throughput increases 3-5 times on the same lane, and the queue stops being a bottleneck.

Manual corrections: how many remain and why

On confident frames, 95-99% of passages are closed without a human; corrections remain where the plate is physically unreadable — dirt, tilt, double frames, transit plates.

These cases go into a separate queue along with the frame, confidence, and reason for failure, so the reduction in manual operations is measured as the share of automated passages, not "by eye".

It is cheaper to handle the remainder with a procedure than to retrain the model for every rare plate.

Equipment downtime at the entrance

Fewer stops mean fewer repeated entries and idling engines in the lane.

The event log shows how many passages required two or three attempts and how long the lane was blocked; after tuning detection zones and buffer duration, these values drop severalfold, with the main gain coming during peak hours.

Recognition methods: entry camera, on-device, server, manual mode

The plate is recognized at three points: on the device at the entrance, on the server after frames are transmitted, or in a mixed scheme. The choice determines behavior during a channel outage and the time until the barrier opens.

The trade-off is between autonomy and manageability: the closer the computation is to the camera, the weaker the dependence on connectivity, but the harder it is to update the model and review disputed frames.

Option When it fits Limitations
On-device processing Unstable connectivity, many entry points Harder to update the model and troubleshoot errors
Server-side frame processing Reliable channel, fine-tuning on your own frames A communication outage halts passage
Hybrid entry scheme Mixed fleet, remote points Requires unified synchronization logic
Backup manual mode Safety net for any option Keeps an operator occupied, requires incident handling

Where to compute: on-site or on the server

Computing on-site is used when passage cannot be stopped because of connectivity: the decision is made locally, and the event goes to the server. Server-side processing provides a unified log and frames for fine-tuning, but every opening depends on the channel.

The hybrid combines modes: regular vehicles pass using a local list, while guest and disputed frames go to the server.

What to do with vehicles without a readable plate

A dirty, covered, or trailer plate, transit, and motorcycles produce low recognition confidence. Such frames are not discarded: the system combines several images, checks them against lists, and passes the event to an operator marked as low confidence.

Manual passage confirmation is recorded in the log — the backup mode handles cases the model cannot.

How implementation proceeds: from entry survey to handover

License plate recognition implementation proceeds strictly in order: each step relies on the previous one. You cannot start with installation — cameras without a plan do not cover the lane, and rework means stopping the entrance. Therefore, at each stage we leave a verifiable result.

Entry survey and placement plan

An engineer visits the site and describes the geometry: number of lanes and their width, slope, turning radius, barrier position, and vehicle stopping point. Separately, lighting: contrast in the morning and at dusk, headlight glare, oncoming light interference. Based on this data, we draw a layout of cameras and lighting with capture zones.

  1. Entry survey: lane geometry, lighting, checkpoint operating mode.
  2. Placement plan: mounting points, capture zones, cable routes.
  3. Camera installation at the checkpoint: mounting, power, connectivity, protection from dirt and vibration.
  4. Calibration for traffic: angle and trigger zone, tuning on vehicles during peak hours.
  5. Testing on disputed frames: running the archive with difficult plates.
  6. Shift training: manual verification, operator actions for uncertain recognition.
  7. System acceptance: accuracy protocol on a control sample, transfer of access credentials.

Testing on disputed frames before handover

Average accuracy on clean plates guarantees nothing. Before handover, we run the system on a set of difficult cases: glare, rain, tilt, tinted frames, trailers.

We review disputed frames with the customer — where to lower the trigger threshold, where to restrict it so the barrier does not open by mistake.

What the customer receives: plans, access policies, procedures

After handover, license plate recognition lives not in code but in documents: they help the shift operator and operations service understand what to do during a failure and how to retroactively restore a passage. Below are the artifacts the customer receives on media and in the repository.

  • Camera and field-of-view layout: angles, mounting height, lane overlap, blind spots.
  • Integration map: barriers, controllers, accounting system, formats and direction of exchange.
  • Network and redundancy plan: addressing, channels to the recognition server, behavior during an outage.
  • Operator roles and permission matrix for viewing, editing an event, and exporting.
  • Access policy for the recognition log and frame storage, retention periods.
  • Procedure for shift actions when a node fails or the channel is lost.
  • Operator instructions and system data sheet: node composition, update and rollback procedure.

Access policies and operator roles

The recognition log contains plates and frames, i.e., personal data, so access is role-based. The shift operator sees the event and frame for a specific passage but does not export the array; the senior shift closes disputed passages, and the administrator manages accounts. Every time a card is opened, it is recorded in the audit log.

Procedure when the plate is not read

The system is not always confident: a dirty plate, oncoming light, a non-standard format — the event goes to an operator instead of being closed automatically. The procedure defines the confidence threshold for manual review and the entry order.

Node failure is described separately: switching to manual passage, notifying the duty officer, returning to automatic mode.

Case study: warehouse entrance, accuracy and passage time before and after

The site is a distribution warehouse with two entrances: trucks for unloading, service vehicles, one-time passes. Before implementation, license plate recognition served as a hint to the operator — they checked the plate against the list and raised the barrier manually. During the morning peak, this created a queue at the entrance.

Initial entry picture

61% of passages went through without human involvement. The rest required an operator: the plate entered the frame at an angle, was dirty, glare-affected by headlights, or blocked by a trailer.

Average passage time from approach to barrier was 45-50 seconds, up to two minutes at peak, and the log was kept manually: up to 15% of records were disputed when checked against the carrier's waybills.

What changed after tuning

The baseline model was replaced: comparison with OpenALPR on our frame set showed failures on dirty and tilted plates.

We marked detection zones at each entrance, separated confidence thresholds for plate reading and for the opening decision, added a second pass over frames for uncertain reads, and synchronized the event with the log and pass list.

At the same site, automated passages reached 96%, plate reading accuracy on the control sample rose from 78% to 98%, and average passage time dropped to 8-12 seconds — the queue at the barrier during peak stopped forming.

Disputed records are under 1%: each passage is backed by a frame, timestamp, and recognized plate, so reconciliation takes minutes.

How on-site processing differs from server processing

The difference is determined by where the compute unit is located. With local frame processing, detection and recognition run on-site — in the camera housing or on a compact node next to it.

In the server scheme, the frame stream goes over the channel to the center, and the passage decision is made there.

The two modes survive a communication outage differently. The local node continues to recognize, open the barrier, and queue events — after the channel is restored, they are written to the center.

A centralized scheme without a buffer either lets vehicles through blindly or loses frames for the entire downtime.

Peak load at the entrance reveals a second bottleneck — the transmission bus. Local frame processing maintains steady per-frame latency: the morning vehicle flow does not change it.

When several sites share one server compute pool, the queue grows, and the barrier response becomes noticeable to the driver.

Frame storage also differs. On-site, a ring buffer usually operates: the disk holds the last hours of footage, old data is evicted, and a text event and snapshot go to the center according to policy — violations, disputed triggers.

In the server scheme, the entire stream goes over the channel, and when it is overloaded, frames are lost irretrievably.

A practical compromise is recognition on-site, with the center used for consolidating events, access lists, and analytics.

Then fault tolerance during a communication outage does not require manual actions, and peak load at the entrance does not turn into a queue in front of the barrier.

Technical concerns: light, dirt, tilt, shadows, double plates

Difficult shooting conditions are not an exception but an operating mode: night and oncoming light, snow and dirt on the plate, tilt, shadow from the fence. A model trained on clean daytime frames loses accuracy exactly here — that is where doubts about the result come from. Below are situations engineers encounter at real entrances and how they are addressed.

At night, do oncoming headlights glare the frame?

The decision is made from a series of frames, not a single image: overexposed frames are discarded by quality assessment, and the plate is assembled from those where the plate is distinguishable.

We select the installation point, angle, and lighting mode for the specific entrance so that glare does not hit the lens.

Is the plate covered with snow or splattered with dirt?

On a frame with an unreadable plate, the system returns low confidence and does not record the passage as reliable. The fragment goes to the manual review queue — the operator sees both the frame and the reason for doubt.

Non-standard plate: square, motorcycle, foreign?

Plate types are not hard-coded: the list for a specific site and labeling are part of the preparation stage. We add new formats to the training set and test them on the labeled archive.

A vehicle with a trailer — two plates in the frame?

The detector finds all plates, and association with the vehicle is based on geometry and movement trajectory. In the event, the main plate and trailer plate are stored separately, so moving a plate between vehicles is also visible as a separate feature.

Let's discuss your task: entrance, parking, weigh control

To make the entrance project assessment based on your site rather than averaged assumptions, we need a minimum of source data: a layout of entrances and exits, number of lanes, parking organization, presence of weigh control.

If the site already has barriers, locks, or an accounting system, send us their model and how access is currently granted.

After review, we will return with a system work plan and break it down point by point:

  • placement of cameras and recognition points for specific lanes, entry angles, and mounting height;
  • scenarios for parking and weigh control: passenger cars, trucks, special equipment, transit;
  • access rules — which plates open the barrier, which go to an operator for review;
  • list of integrations with existing equipment and the site's accounting system;
  • work stages, acceptance points, and launch procedure without stopping traffic;
  • documentation composition: plans, operator procedure, actions during a failure;
  • cost estimate and schedule with explicitly stated assumptions.

What we will clarify on a call: actual peak-hour traffic intensity, lighting and road surface quality, requirements for storing passage history, and who is responsible for operation after launch.

Describe your task — we will discuss it and come back with an assessment and plan.

AI Development Areas

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1393
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1368
  • B2B Advance company logo design
    B2B Advance company logo design
    815
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1139
  • AIDER company logo development
    AIDER company logo development
    1057
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1152