All Projects → sergiomsilva → Alpr Unconstrained

sergiomsilva / Alpr Unconstrained

Licence: other
License Plate Detection and Recognition in Unconstrained Scenarios

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Alpr Unconstrained

Yolo annotation tool
Annotation tool for YOLO in opencv
Stars: ✭ 17 (-98.72%)
Mutual labels:  darknet
Darknetpy
darknetpy is a simple binding for darknet's yolo detector
Stars: ✭ 55 (-95.86%)
Mutual labels:  darknet
Opendatacam
An open source tool to quantify the world
Stars: ✭ 1,214 (-8.72%)
Mutual labels:  darknet
Pytorch Caffe Darknet Convert
convert between pytorch, caffe prototxt/weights and darknet cfg/weights
Stars: ✭ 867 (-34.81%)
Mutual labels:  darknet
Darknet2caffe
Convert Darknet model to Caffe's
Stars: ✭ 46 (-96.54%)
Mutual labels:  darknet
Pytorch Onnx Tensorrt
A set of tool which would make your life easier with Tensorrt and Onnxruntime. This Repo is designed for YoloV3
Stars: ✭ 66 (-95.04%)
Mutual labels:  darknet
Openlabeling
Label images and video for Computer Vision applications
Stars: ✭ 706 (-46.92%)
Mutual labels:  darknet
Doge
Darknet Osint Graph Explorer
Stars: ✭ 93 (-93.01%)
Mutual labels:  darknet
Yolo 9000
YOLO9000: Better, Faster, Stronger - Real-Time Object Detection. 9000 classes!
Stars: ✭ 1,057 (-20.53%)
Mutual labels:  darknet
Poopak
POOPAK - TOR Hidden Service Crawler
Stars: ✭ 78 (-94.14%)
Mutual labels:  darknet
Yolov2.pytorch
YOLOv2 algorithm reimplementation with pytorch
Stars: ✭ 31 (-97.67%)
Mutual labels:  darknet
Realtimefacedetection
基于YOLO-lite的web实时人脸检测,tfjs人脸检测,目标检测
Stars: ✭ 38 (-97.14%)
Mutual labels:  darknet
Awesome I2p
A curated list of awesome I2P implementations, libraries, resources, projects, and shiny things. I2P is an anonymous overlay network - a network within a network. It is intended to protect communication from dragnet surveillance and monitoring by third parties such as ISPs.
Stars: ✭ 66 (-95.04%)
Mutual labels:  darknet
Pytorch Yolo2
Convert https://pjreddie.com/darknet/yolo/ into pytorch
Stars: ✭ 941 (-29.25%)
Mutual labels:  darknet
Yolo Custom Object Detector
Making custom object detector using Yolo (Java and Python)
Stars: ✭ 84 (-93.68%)
Mutual labels:  darknet
Mobilenet Yolo
A caffe implementation of MobileNet-YOLO detection network
Stars: ✭ 825 (-37.97%)
Mutual labels:  darknet
Darknet ros
YOLO ROS: Real-Time Object Detection for ROS
Stars: ✭ 1,101 (-17.22%)
Mutual labels:  darknet
Dot
Darknet OSINT Transform
Stars: ✭ 93 (-93.01%)
Mutual labels:  darknet
Fastai
R interface to fast.ai
Stars: ✭ 85 (-93.61%)
Mutual labels:  darknet
Gluon2pytorch
Gluon to PyTorch deep neural network model converter
Stars: ✭ 70 (-94.74%)
Mutual labels:  darknet

ALPR in Unscontrained Scenarios

Introduction

This repository contains the author's implementation of ECCV 2018 paper "License Plate Detection and Recognition in Unconstrained Scenarios".

If you use results produced by our code in any publication, please cite our paper:

@INPROCEEDINGS{silva2018a,
  author={S. M. Silva and C. R. Jung}, 
  booktitle={2018 European Conference on Computer Vision (ECCV)}, 
  title={License Plate Detection and Recognition in Unconstrained Scenarios}, 
  year={2018}, 
  pages={580-596}, 
  doi={10.1007/978-3-030-01258-8_36}, 
  month={Sep},}

Requirements

In order to easily run the code, you must have installed the Keras framework with TensorFlow backend. The Darknet framework is self-contained in the "darknet" folder and must be compiled before running the tests. To build Darknet just type "make" in "darknet" folder:

$ cd darknet && make

The current version was tested in an Ubuntu 16.04 machine, with Keras 2.2.4, TensorFlow 1.5.0, OpenCV 2.4.9, NumPy 1.14 and Python 2.7.

Download Models

After building the Darknet framework, you must execute the "get-networks.sh" script. This will download all the trained models:

$ bash get-networks.sh

Running a simple test

Use the script "run.sh" to run our ALPR approach. It requires 3 arguments:

  • Input directory (-i): should contain at least 1 image in JPG or PNG format;
  • Output directory (-o): during the recognition process, many temporary files will be generated inside this directory and erased in the end. The remaining files will be related to the automatic annotated image;
  • CSV file (-c): specify an output CSV file.
$ bash get-networks.sh && bash run.sh -i samples/test -o /tmp/output -c /tmp/output/results.csv

Training the LP detector

To train the LP detector network from scratch, or fine-tuning it for new samples, you can use the train-detector.py script. In folder samples/train-detector there are 3 annotated samples which are used just for demonstration purposes. To correctly reproduce our experiments, this folder must be filled with all the annotations provided in the training set, and their respective images transferred from the original datasets.

The following command can be used to train the network from scratch considering the data inside the train-detector folder:

$ mkdir models
$ python create-model.py eccv models/eccv-model-scracth
$ python train-detector.py --model models/eccv-model-scracth --name my-trained-model --train-dir samples/train-detector --output-dir models/my-trained-model/ -op Adam -lr .001 -its 300000 -bs 64

For fine-tunning, use your model with --model option.

A word on GPU and CPU

We know that not everyone has an NVIDIA card available, and sometimes it is cumbersome to properly configure CUDA. Thus, we opted to set the Darknet makefile to use CPU as default instead of GPU to favor an easy execution for most people instead of a fast performance. Therefore, the vehicle detection and OCR will be pretty slow. If you want to accelerate them, please edit the Darknet makefile variables to use GPU.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].