Skip to main content

Automatic numberplate recognition system

Project description

Nomeroff Net

Nomeroff Net. Automatic numberplate recognition system

Nomeroff Net. Automatic numberplate recognition system. Version 4.0.0

Now there is a war going on in our country, russian soldiers are shooting at civilians in Ukraine. Enemy aviation launches rockets and drops bombs on residential quarters.
We are deeply thankful for the unprecedented wave of support for Ukraine from around the world. Below is a list of funds that help the Ukrainian army in the fight against Russian invaders: Russian troops shelling of civilians in Ukraine. Donbass. Kostyantynivka. 09.07.2022 Photo: Konstantin Liberov https://www.instagram.com/libkos/

Introduction

Nomeroff Net is an opensource python license plate recognition framework based on YOLOv8 bbox and pose networks and customized OCR-module powered by RNN architecture.

Write to us if you are interested in helping us in the formation of a dataset for your country.

Change History.

Installation

Installation from Source (Linux)

Nomeroff Net requires Python >= 3.7

Clone Project

git clone https://github.com/ria-com/nomeroff-net.git
cd nomeroff-net

For Centos, Fedora and other RedHat-like OS:

# for Opencv
yum install libSM

# for pycocotools install 
yum install python3-devel 

# ensure that you have installed gcc compiler
yum install gcc

yum install git

# Before "yum install ..." download https://libjpeg-turbo.org/pmwiki/uploads/Downloads/libjpeg-turbo.repo to /etc/yum.repos.d/
yum install libjpeg-turbo-official

install requirements:

pip3 install -r requirements.txt 

For Ubuntu and other Debian-like OS:

# ensure that you have installed gcc compiler
apt-get install gcc

# for opencv install
apt-get install -y libglib2.0
apt-get install -y libgl1-mesa-glx

# for pycocotools install (Check the name of the dev-package for your python3)
apt-get install python3.7-dev

# other packages
apt-get install -y git
apt-get install -y libturbojpeg

install requirements:

pip3 install -r requirements.txt 

Hello Nomeroff Net

from nomeroff_net import pipeline
from nomeroff_net.tools import unzip

number_plate_detection_and_reading = pipeline("number_plate_detection_and_reading", 
                                              image_loader="opencv")

(images, images_bboxs, 
 images_points, images_zones, region_ids, 
 region_names, count_lines, 
 confidences, texts) = unzip(number_plate_detection_and_reading(['./data/examples/oneline_images/example1.jpeg', 
                                                                 './data/examples/oneline_images/example2.jpeg']))
 
print(texts)

Hello Nomeroff Net for systems with a small GPU size.

Note: This example disables some important Nomeroff Net features. It will recognize numbers that are photographed in a horizontal position.

from nomeroff_net import pipeline
from nomeroff_net.tools import unzip

number_plate_detection_and_reading = pipeline("number_plate_short_detection_and_reading", 
                                              image_loader="opencv")

(images, images_bboxs,
 zones, texts) = unzip(number_plate_detection_and_reading(['./data/examples/oneline_images/example1.jpeg', 
                                                           './data/examples/oneline_images/example2.jpeg']))
 
print(texts)
# (['AC4921CB'], ['RP70012', 'JJF509'])


More Examples

Nomeroff Net Professional

If you don't want to install and configure the Nomeroff Net programmed code for your own tasks or if your client hardware does not have enough resources to run a service that requires ML computing, you can use our commercial API Nomeroff Net Professional, which allows you to perform recognition remotely on the RIA.com Сompany servers.

The Nomeroff Net Professional API is based on the open source Nomeroff Net engine, with commercial modifications aimed mainly at using improved models that can produce better results in photos with poor image quality.

Right now you can try ALPR/ANPR Nomeroff Net Professional Demo for free.

Online Demo

In order to evaluate the quality of work of Nomeroff Net without spending time on setting up and installing, we made an online form in which you can upload your photo and get the recognition result online

AUTO.RIA Numberplate Dataset

All data on the basis of which the training was conducted is provided by RIA.com. In the following, we will call this data the AUTO.RIA Numberplate Dataset.

We will be grateful for your help in the formation and layout of the dataset with the image of the license plates of your country. For markup, we recommend using VGG Image Annotator (VIA)

Dataset Example: Nomeroff-Net Segment Example

AUTO.RIA Numberplate Options Dataset

The system uses several neural networks. One of them is the classifier of numbers at the post-processing stage. It uses dataset AUTO.RIA Numberplate Options Dataset.

The categorizer accurately (99%) determines the country and the type of license plate. Please note that now the classifier is configured mainly for the definition of Ukrainian numbers, for other countries it will be necessary to train the classifier with new data.

Nomeroff-Net OCR Example

AUTO.RIA Numberplate OCR Datasets

As OCR, we use a specialized implementation of a neural network with RNN layers, for which we have created several datasets:

If we did not manage to update the link on dataset you can find the latest version here

This gives you the opportunity to get 99% accuracyon photos that are uploaded to AUTO.RIA project

Nomeroff-Net OCR Example

Contributing

Contributions to this repository are welcome. Examples of things you can contribute:

  • Training on other datasets.
  • Accuracy Improvements.

Credits

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nomeroff-net-4.0.0rc0.tar.gz (95.3 kB view details)

Uploaded Source

Built Distribution

nomeroff_net-4.0.0rc0-py3-none-any.whl (128.4 kB view details)

Uploaded Python 3

File details

Details for the file nomeroff-net-4.0.0rc0.tar.gz.

File metadata

  • Download URL: nomeroff-net-4.0.0rc0.tar.gz
  • Upload date:
  • Size: 95.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.18

File hashes

Hashes for nomeroff-net-4.0.0rc0.tar.gz
Algorithm Hash digest
SHA256 15a3e36eebd37af7649813171bf820f525396792ee1c4b1100ee5a5c28acc77e
MD5 cbec9731eae0b1579b9226bdac9a3c50
BLAKE2b-256 8092a12006c711b8c5437ef7ff21994ebeb7304edaeed99031816d69655b101a

See more details on using hashes here.

File details

Details for the file nomeroff_net-4.0.0rc0-py3-none-any.whl.

File metadata

File hashes

Hashes for nomeroff_net-4.0.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 5402db5fa46bcaa40207a99619c13d983efc3b89db0c246a909fea59ee655327
MD5 7cb0d26857ba1dc2cffe84a9e2954ed1
BLAKE2b-256 cc439fa65e899fa24fdb0407e962975de5b4b8ba81ad35192e6be5e71a978b18

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page