![Nomeroff Net. Automatic numberplate recognition system](./public/images/nomeroff_net.svg)
Nomeroff Net. Automatic numberplate recognition system. Version 3.1
<br /><br />
<blockquote style="border-left-color: #ff0000">
Now there is a war going on in my country, Russian soldiers are shooting at civilians in Ukraine. Enemy aviation launches rockets and drops bombs on residential quarters.
For 2 weeks we have been appealing to USA & Nato: "Please close the sky", but so far these calls remain unanswered...
![Russian troops bombed a maternity hospital in Mariupol](./public/images/russian_troops_bombed_a_maternity_hospital_in_Mariupol_2022-03-09_19-26-39.jpg?raw=true)
</blockquote>
## Introduction
Nomeroff Net is an opensource python license plate
recognition framework based on YOLOv5 and CRAFT
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](https://github.com/ria-com/nomeroff-net/blob/master/History.md).
## Installation
### Installation from Source (Linux)
Nomeroff Net requires Python >= 3.7
Clone Project
```bash
git clone https://github.com/ria-com/nomeroff-net.git
cd nomeroff-net
```
### For Centos, Fedora and other RedHat-like OS:
```bash
# 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:
```bash
pip3 install -r requirements.txt
```
### For Ubuntu and other Debian-like OS:
```bash
# 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:
```bash
pip3 install -r requirements.txt
```
## Hello Nomeroff Net
```python
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.
```python
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'])
```
<br><a href="https://github.com/ria-com/nomeroff-net/tree/master/examples">More Examples</a>
## 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](https://nomeroff.net.ua/onlinedemo.html)
## 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](https://nomeroff.net.ua/datasets/autoriaNumberplateDataset-2021-07-21.zip).
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)](http://www.robots.ox.ac.uk/~vgg/software/via/)
Dataset Example:
<img src="https://github.com/ria-com/nomeroff-net/raw/master/public/images/segment_example.png" alt="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](https://nomeroff.net.ua/datasets/autoriaNumberplateOptionsDataset-2021-09-03.zip).
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.
<img src="https://nomeroff.net.ua/images/nn/clfctr_example.png" alt="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:
* [AUTO.RIA Numberplate OCR UA Dataset (Ukrainian)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrUa-2021-08-25.zip)
* [AUTO.RIA Numberplate OCR UA Dataset (Ukrainian) with old design Dataset](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrUa-1995-2021-09-03.zip)
* [AUTO.RIA Numberplate OCR EU Dataset (European)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrEu-2021-09-02.zip)
* [AUTO.RIA Numberplate OCR RU Dataset (Russian)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrRu-2021-09-01.zip)
* [AUTO.RIA Numberplate OCR KZ Dataset (Kazakh)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrKz-2019-04-26.zip)
* [AUTO.RIA Numberplate OCR GE Dataset (Georgian)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrGe-2019-07-06.zip)
* [AUTO.RIA Numberplate OCR BY Dataset (Belarus)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrBy-2021-08-27.zip)
* [AUTO.RIA Numberplate OCR SU Dataset (exUSSR)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrSu-2021-09-03.zip)
* [AUTO.RIA Numberplate OCR KG Dataset (Kyrgyzstan)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrKg-2020-12-31.zip)
* [AUTO.RIA Numberplate OCR AM Dataset (Armenia)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrAm-2021-05-20-all-draft.zip)
If we did not manage to update the link on dataset you can find the latest version
[here](https://nomeroff.net.ua/datasets/)
This gives you the opportunity to get **99% accuracy**on photos that are uploaded to
[AUTO.RIA](https://auto.ria.com) project
<img src="https://nomeroff.net.ua/images/nn/ocr_example.png" alt="Nomeroff-Net OCR Example"/>
## Contributing
Contributions to this repository are welcome. Examples of things you can contribute:
* Training on other datasets.
* Accuracy Improvements.
## Credits
* Dmytro Probachay <dmytro.probachay@ria.com>
* Oleg Cherniy <oleg.cherniy@ria.com>
## Links
* [Nomeroff Net project site](https://nomeroff.net.ua/)
* [GitHub repository](https://github.com/ria-com/nomeroff-net)
* [Numberplate recognition. Practical guide. Part 1 (in Russian)](https://habr.com/ru/post/432444/)
* [Numberplate recognition. As we got 97% accuracy for Ukrainian numbers. Part 2 (in Russian)](https://habr.com/ru/post/439330/)
Raw data
{
"_id": null,
"home_page": "https://github.com/ria-com/nomeroff-net",
"name": "nomeroff-net",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "ai nomeroffnet yolov5 craft ocr rnn opensource license number plate recognition licenseplate numberplate license-plate number-plate ria-com ria.com ria",
"author": "Dmytro Probachay, Oleg Cherniy",
"author_email": "dimabendera@gmail.com, oleg.cherniy@ria.com",
"download_url": "https://files.pythonhosted.org/packages/d7/49/09ea2be88dc9d992ae41803d820d9c14e11be8650a1504fe5fc2d566d9ca/nomeroff-net-3.1.1.tar.gz",
"platform": null,
"description": "![Nomeroff Net. Automatic numberplate recognition system](./public/images/nomeroff_net.svg)\n\nNomeroff Net. Automatic numberplate recognition system. Version 3.1\n<br /><br />\n<blockquote style=\"border-left-color: #ff0000\">\nNow there is a war going on in my country, Russian soldiers are shooting at civilians in Ukraine. Enemy aviation launches rockets and drops bombs on residential quarters.\nFor 2 weeks we have been appealing to USA & Nato: \"Please close the sky\", but so far these calls remain unanswered...\n\n![Russian troops bombed a maternity hospital in Mariupol](./public/images/russian_troops_bombed_a_maternity_hospital_in_Mariupol_2022-03-09_19-26-39.jpg?raw=true)\n</blockquote>\n\n\n## Introduction\nNomeroff Net is an opensource python license plate \nrecognition framework based on YOLOv5 and CRAFT \nnetworks and customized OCR-module powered by RNN architecture.\n\nWrite to us if you are interested in helping us in the formation of a dataset for your country.\n\n[Change History](https://github.com/ria-com/nomeroff-net/blob/master/History.md).\n\n## Installation\n\n### Installation from Source (Linux)\n\nNomeroff Net requires Python >= 3.7\n\nClone Project\n```bash\ngit clone https://github.com/ria-com/nomeroff-net.git\ncd nomeroff-net\n```\n\n### For Centos, Fedora and other RedHat-like OS:\n```bash\n# for Opencv\nyum install libSM\n\n# for pycocotools install \nyum install python3-devel \n\n# ensure that you have installed gcc compiler\nyum install gcc\n\nyum install git\n\n# Before \"yum install ...\" download https://libjpeg-turbo.org/pmwiki/uploads/Downloads/libjpeg-turbo.repo to /etc/yum.repos.d/\nyum install libjpeg-turbo-official\n```\n\ninstall requirements:\n```bash\npip3 install -r requirements.txt \n```\n\n### For Ubuntu and other Debian-like OS:\n```bash\n# ensure that you have installed gcc compiler\napt-get install gcc\n\n# for opencv install\napt-get install -y libglib2.0\napt-get install -y libgl1-mesa-glx\n\n# for pycocotools install (Check the name of the dev-package for your python3)\napt-get install python3.7-dev\n\n# other packages\napt-get install -y git\napt-get install -y libturbojpeg\n```\n\ninstall requirements:\n```bash\npip3 install -r requirements.txt \n```\n\n## Hello Nomeroff Net\n\n```python\nfrom nomeroff_net import pipeline\nfrom nomeroff_net.tools import unzip\n\nnumber_plate_detection_and_reading = pipeline(\"number_plate_detection_and_reading\", \n image_loader=\"opencv\")\n\n(images, images_bboxs, \n images_points, images_zones, region_ids, \n region_names, count_lines, \n confidences, texts) = unzip(number_plate_detection_and_reading(['./data/examples/oneline_images/example1.jpeg', \n './data/examples/oneline_images/example2.jpeg']))\n\nprint(texts)\n```\n\n## Hello Nomeroff Net for systems with a small GPU size.\nNote: This example disables some important Nomeroff Net features. It will recognize numbers that are photographed in a horizontal position.\n\n```python\nfrom nomeroff_net import pipeline\nfrom nomeroff_net.tools import unzip\n\nnumber_plate_detection_and_reading = pipeline(\"number_plate_short_detection_and_reading\", \n image_loader=\"opencv\")\n\n(images, images_bboxs,\n zones, texts) = unzip(number_plate_detection_and_reading(['./data/examples/oneline_images/example1.jpeg', \n './data/examples/oneline_images/example2.jpeg']))\n\nprint(texts)\n# (['AC4921CB'], ['RP70012', 'JJF509'])\n```\n\n\n<br><a href=\"https://github.com/ria-com/nomeroff-net/tree/master/examples\">More Examples</a>\n\n## Online Demo\nIn 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](https://nomeroff.net.ua/onlinedemo.html)\n\n## AUTO.RIA Numberplate Dataset\nAll data on the basis of which the training was conducted is provided by RIA.com. \nIn the following, we will call this data the [AUTO.RIA Numberplate Dataset](https://nomeroff.net.ua/datasets/autoriaNumberplateDataset-2021-07-21.zip).\n\nWe 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)](http://www.robots.ox.ac.uk/~vgg/software/via/)\n\nDataset Example:\n<img src=\"https://github.com/ria-com/nomeroff-net/raw/master/public/images/segment_example.png\" alt=\"Nomeroff-Net Segment Example\"/>\n\n## AUTO.RIA Numberplate Options Dataset\nThe system uses several neural networks. One of them is the classifier of numbers at the post-processing stage. It uses dataset\n[AUTO.RIA Numberplate Options Dataset](https://nomeroff.net.ua/datasets/autoriaNumberplateOptionsDataset-2021-09-03.zip).\n\nThe categorizer accurately **(99%)** determines the country and the type of license plate. Please note that now the classifier is configured\nmainly for the definition of Ukrainian numbers, for other countries it will be necessary to train the classifier with new data.\n\n<img src=\"https://nomeroff.net.ua/images/nn/clfctr_example.png\" alt=\"Nomeroff-Net OCR Example\"/>\n\n## AUTO.RIA Numberplate OCR Datasets\nAs OCR, we use a specialized implementation of a neural network with RNN layers,\nfor which we have created several datasets:\n * [AUTO.RIA Numberplate OCR UA Dataset (Ukrainian)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrUa-2021-08-25.zip)\n * [AUTO.RIA Numberplate OCR UA Dataset (Ukrainian) with old design Dataset](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrUa-1995-2021-09-03.zip)\n * [AUTO.RIA Numberplate OCR EU Dataset (European)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrEu-2021-09-02.zip)\n * [AUTO.RIA Numberplate OCR RU Dataset (Russian)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrRu-2021-09-01.zip)\n * [AUTO.RIA Numberplate OCR KZ Dataset (Kazakh)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrKz-2019-04-26.zip)\n * [AUTO.RIA Numberplate OCR GE Dataset (Georgian)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrGe-2019-07-06.zip)\n * [AUTO.RIA Numberplate OCR BY Dataset (Belarus)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrBy-2021-08-27.zip)\n * [AUTO.RIA Numberplate OCR SU Dataset (exUSSR)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrSu-2021-09-03.zip)\n * [AUTO.RIA Numberplate OCR KG Dataset (Kyrgyzstan)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrKg-2020-12-31.zip)\n * [AUTO.RIA Numberplate OCR AM Dataset (Armenia)](https://nomeroff.net.ua/datasets/autoriaNumberplateOcrAm-2021-05-20-all-draft.zip)\n\nIf we did not manage to update the link on dataset you can find the latest version \n[here](https://nomeroff.net.ua/datasets/)\n\nThis gives you the opportunity to get **99% accuracy**on photos that are uploaded to \n[AUTO.RIA](https://auto.ria.com) project\n\n<img src=\"https://nomeroff.net.ua/images/nn/ocr_example.png\" alt=\"Nomeroff-Net OCR Example\"/>\n\n## Contributing\nContributions to this repository are welcome. Examples of things you can contribute:\n * Training on other datasets.\n * Accuracy Improvements.\n\n## Credits\n * Dmytro Probachay <dmytro.probachay@ria.com>\n * Oleg Cherniy <oleg.cherniy@ria.com>\n\n## Links\n * [Nomeroff Net project site](https://nomeroff.net.ua/)\n * [GitHub repository](https://github.com/ria-com/nomeroff-net)\n * [Numberplate recognition. Practical guide. Part 1 (in Russian)](https://habr.com/ru/post/432444/)\n * [Numberplate recognition. As we got 97% accuracy for Ukrainian numbers. Part 2 (in Russian)](https://habr.com/ru/post/439330/)\n\n\n",
"bugtrack_url": null,
"license": "GNU General Public License v3.0",
"summary": "Automatic numberplate recognition system",
"version": "3.1.1",
"project_urls": {
"Homepage": "https://github.com/ria-com/nomeroff-net"
},
"split_keywords": [
"ai",
"nomeroffnet",
"yolov5",
"craft",
"ocr",
"rnn",
"opensource",
"license",
"number",
"plate",
"recognition",
"licenseplate",
"numberplate",
"license-plate",
"number-plate",
"ria-com",
"ria.com",
"ria"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0e72639183adf2b537df7523537af0a4bfd086f7277b25073d2e7063abab33aa",
"md5": "b3ad6e72ae3eadbee9fa44a188634233",
"sha256": "62dc9ea266b9183df6d901b52ce59498c5dd74e30f0801dad487e7a9cf35631c"
},
"downloads": -1,
"filename": "nomeroff_net-3.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b3ad6e72ae3eadbee9fa44a188634233",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 138939,
"upload_time": "2022-06-01T07:21:55",
"upload_time_iso_8601": "2022-06-01T07:21:55.927574Z",
"url": "https://files.pythonhosted.org/packages/0e/72/639183adf2b537df7523537af0a4bfd086f7277b25073d2e7063abab33aa/nomeroff_net-3.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d74909ea2be88dc9d992ae41803d820d9c14e11be8650a1504fe5fc2d566d9ca",
"md5": "1b70873541130ec48ae1513b1ddb64be",
"sha256": "aa8377998f2e47966d4b4e9b1e71fb72c727ee82c985a13fc8e9245cd7254d7a"
},
"downloads": -1,
"filename": "nomeroff-net-3.1.1.tar.gz",
"has_sig": false,
"md5_digest": "1b70873541130ec48ae1513b1ddb64be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 79290,
"upload_time": "2022-06-01T07:21:58",
"upload_time_iso_8601": "2022-06-01T07:21:58.416438Z",
"url": "https://files.pythonhosted.org/packages/d7/49/09ea2be88dc9d992ae41803d820d9c14e11be8650a1504fe5fc2d566d9ca/nomeroff-net-3.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-06-01 07:21:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ria-com",
"github_project": "nomeroff-net",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "nomeroff-net"
}