Skip to main content

ANPR software development

One sighting per vehicle, not hundreds of plate reads.

ANPR software, short for automatic number plate recognition, detects vehicles in video, reads their plates, and checks them against watchlists. Acasa Labs builds it. In Acasa Sentinel, our build for the Gujarat Police Hackathon Innovation Challenge 2026, plates are read per tracked vehicle with a multi-frame vote, and every watchlist hit goes to an operator to confirm.

The problem

A plate read in one frame is a guess.

A camera sees a passing vehicle across dozens of frames, at angles, in glare, at night. Read the plate in each frame and you get dozens of slightly different answers, and a watchlist that alerts on every one of them. Match exactly instead, and a misread O for 0 slips past. Good ANPR treats a vehicle as one track, reads the plate across frames, matches with misreads in mind, and leaves the decision to a person.

What we build

  1. 01

    Vehicle detection and tracking

    Each vehicle detected and followed across frames, so its plate is read as one track rather than frame by frame.

  2. 02

    Plate reading with a vote

    Plate detection and OCR on the frames of a track, combined into one read by a multi-frame vote.

  3. 03

    Watchlist matching

    OCR-aware fuzzy matching, so common misreads still match, with each hit queued for an operator.

  4. 04

    Search and history

    Every sighting stored with its camera and time, so a plate can be searched across the network and its route rebuilt.

From production

How Acasa Sentinel reads plates.

  • A vote across frames

    Acasa Sentinel

    YOLOv8 with ByteTrack follows each vehicle, then plate detection and ONNX OCR run per track with a multi-frame vote, so each vehicle produces one sighting instead of hundreds.

  • Misreads still match

    Acasa Sentinel

    Fuzzy matching on plates is OCR-aware, so a plate read with an O for a 0 still matches the watchlist entry.

  • Measured on the sandbox

    Acasa Sentinel

    Sentinel matched 24 of 24 plates on the proof clip and raised 0 false alarms across 100,000 unrelated plates. Measured on the running system against the hackathon sandbox, not a production deployment.

  • When the plate cannot be read

    Acasa Sentinel

    Every sighting also gets a 768-dimension DINOv2 appearance embedding in Postgres with pgvector, so a vehicle can be found across cameras even when its plate is unreadable.

Honest trade-offs

Where ANPR alone falls short

ANPR works best on cameras placed for it: at entry gates, toll points, and junctions, at the right height and angle. On wide-area city cameras, many plates are too small or too blurred to read, which is why Sentinel adds appearance search. If you are fitting new cameras, place some for plates. If you are using the cameras you have, plan for search beyond the plate. Either way, a person confirms before anyone acts.

What we reach for

  • YOLOv8, ByteTrack
  • ONNX plate OCR
  • DINOv2
  • Postgres, pgvector, PostGIS
  • FastAPI
  • FFmpeg, OpenCV

Proof

Shipped, not pitched.

  1. 01Case study

    Acasa Sentinel

    Give it a number plate. It returns the vehicle's route across a CCTV network.

    A vendor-neutral video analytics system built for the Gujarat Police Hackathon Innovation Challenge 2026. It reads number plates, re-identifies vehicles by appearance across cameras, reconstructs routes, and raises watchlist alerts for an operator to confirm.

    Operator console (web) · API

Questions

ANPR software questions we get asked.

How accurate is your ANPR?

On the hackathon sandbox, Sentinel matched 24 of 24 plates on the proof clip with 0 false alarms across 100,000 unrelated plates. That is a sandbox result, not a production figure. Results on your site depend on camera placement, lighting, and plate formats.

Will it read the plate formats on our roads?

We test on your own footage before promising anything. Sentinel was built and measured on the hackathon sandbox, and every new site, plate style, and camera angle needs its own check.

Can it run on our own servers?

Yes. All of Sentinel's inference runs locally, falling back from CUDA to Apple Silicon to CPU, and no plate or footage goes to a third-party API.

Can it work for parking and gated sites?

Yes. Entry and exit gates are where ANPR works best. A custom build can log a visit, check a plate against an allowed list, or flag an unknown vehicle for the guard.

Who acts on a watchlist hit?

An operator. Hits go to a queue with evidence crops, to be confirmed or rejected, and every decision is kept in an audit trail.

ANPR software development

Tell us where your cameras point.

Gates, roads, or a whole network. We will tell you what ANPR can read there, and what a pilot would need.

Scope my ANPR system

No pitch deck. You own the code from day one.

contact@acasalabs.com