Nomeroff Net

Nomeroff Net。自动号牌识别系统。「Nomeroff Net. Automatic numberplate recognition system.」

  • 所有者: ria-com/nomeroff-net
  • 平台: Linux, Windows
  • 许可证: GNU General Public License v3.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Nomeroff Net. Automatic numberplate recognition system. Version 0.3.1

Introduction

Nomeroff Net is an opensource python license plate recognition framework based on the application of a convolutional
neural network on the Mask_RCNN architecture, and cusomized OCR-module powered by GRU architecture.

The project is now at the initial stage of development, write to us if you are interested in helping us in the formation of a dataset for your country.

Installation

Installation in pip

To install cpu version nomeroff-net via pip, use

pip3 install git+https://github.com/matterport/Mask_RCNN
pip3 install nomeroff-net

To install gpu version nomeroff-net via pip, use

pip3 install git+https://github.com/matterport/Mask_RCNN
pip3 install nomeroff-net-gpu

Installation from Source (Linux)

Nomeroff Net requires Python 3.5, 3.6 or 3.7 and opencv 3.4 or latest

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
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 libsm6
apt-get install -y libfontconfig1 libxrender1
apt-get install -y libxtst6

# for pycocotools install (Check the name of the dev-package for your python3)
apt-get install python3.6-dev
install python requirments
pip3 install Cython
pip3 install numpy
pip3 install git+https://github.com/matterport/Mask_RCNN
pip3 install -r requirements.txt

Installation from Source (Windows)

On Windows, you must have the Visual C++ 2015 build tools on your path. If you don't, make sure to install them from here:

Then, run visualcppbuildtools_full.exe and select default options:

Hello Nomeroff Net

# Import all necessary libraries.
import os
import numpy as np
import sys
import matplotlib.image as mpimg

# change this property
NOMEROFF_NET_DIR = os.path.abspath('../../')

# specify the path to Mask_RCNN if you placed it outside Nomeroff-net project
MASK_RCNN_DIR = os.path.join(NOMEROFF_NET_DIR, 'Mask_RCNN')
MASK_RCNN_LOG_DIR = os.path.join(NOMEROFF_NET_DIR, 'logs')

sys.path.append(NOMEROFF_NET_DIR)

# Import license plate recognition tools.
from NomeroffNet import  filters, RectDetector, TextDetector, OptionsDetector, Detector, textPostprocessing, textPostprocessingAsync

# Initialize npdetector with default configuration file.
nnet = Detector(MASK_RCNN_DIR, MASK_RCNN_LOG_DIR)
nnet.loadModel("latest")

rectDetector = RectDetector()

optionsDetector = OptionsDetector()
optionsDetector.load("latest")

# Initialize text detector.
textDetector = TextDetector.get_static_module("eu")()
textDetector.load("latest")

# Detect numberplate
img_path = '../images/example2.jpeg'
img = mpimg.imread(img_path)
NP = nnet.detect([img])

# Generate image mask.
cv_img_masks = filters.cv_img_mask(NP)

# Detect points.
arrPoints = rectDetector.detect(cv_img_masks)
zones = rectDetector.get_cv_zonesBGR(img, arrPoints)

# find standart
regionIds, stateIds, countLines = optionsDetector.predict(zones)
regionNames = optionsDetector.getRegionLabels(regionIds)
 
# find text with postprocessing by standart  
textArr = textDetector.predict(zones)
textArr = textPostprocessing(textArr, regionNames)
print(textArr)
# ['JJF509', 'RP70012']

Hello Jupyter Nomeroff Net

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)

Nomeroff-Net Mask-RCNN Example:

Mask detection example
Key points detection 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.

AUTO.RIA Numberplate OCR Datasets

As OCR, we use a specialized implementation of a neural network with GRU 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 98% accuracy on photos that are uploaded to AUTO.RIA project

Road map

For several months now, we have been devoting some of our time to developing new features for the Nomeroff Net project. In the near future we plan:

  • Post a detailed instruction on the training of recognition models and classifier for license plates of your country.
  • To expand the classification of countries of license plates by which to determine the country in which this license plate is registered.

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>

主要指标

概览
名称与所有者ria-com/nomeroff-net
主编程语言Jupyter Notebook
编程语言Python (语言数: 7)
平台Linux, Windows
许可证GNU General Public License v3.0
所有者活动
创建于2018-12-10 13:56:51
推送于2025-04-07 05:58:56
最后一次提交2025-04-07 08:58:53
发布数5
最新版本名称v4.0.0 (发布于 )
第一版名称v3.1.0 (发布于 )
用户参与
星数473
关注者数39
派生数163
提交数1.5k
已启用问题?
问题数154
打开的问题数12
拉请求数118
打开的拉请求数1
关闭的拉请求数7
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?