All Projects → andreybicalho → vrpdr

andreybicalho / vrpdr

Licence: MIT license
Deep Learning Applied To Vehicle Registration Plate Detection and Recognition in PyTorch.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to vrpdr

ScaledYOLOv4
Scaled-YOLOv4: Scaling Cross Stage Partial Network
Stars: ✭ 1,944 (+5300%)
Mutual labels:  yolo, yolov3
mirador-textoverlay
Text Overlay plugin for Mirador 3
Stars: ✭ 35 (-2.78%)
Mutual labels:  ocr, optical-character-recognition
alpr utils
ALPR model in unconstrained scenarios for Chinese license plates
Stars: ✭ 158 (+338.89%)
Mutual labels:  license-plate-recognition, license-plate-detection
JSON2YOLO
Convert JSON annotations into YOLO format.
Stars: ✭ 222 (+516.67%)
Mutual labels:  yolo, yolov3
saram
Get OCR in txt form from an image or pdf extension supporting multiple files from directory using pytesseract with auto rotation for wrong orientation. PYPI:
Stars: ✭ 51 (+41.67%)
Mutual labels:  ocr, character-recognition
license-plate-detect-recoginition-pytorch
深度学习车牌检测与识别,检测结果包含车牌矩形框和4个角点,基于pytorch框架运行
Stars: ✭ 77 (+113.89%)
Mutual labels:  license-plate-recognition, license-plate-detection
doctr
docTR (Document Text Recognition) - a seamless, high-performing & accessible library for OCR-related tasks powered by Deep Learning.
Stars: ✭ 1,409 (+3813.89%)
Mutual labels:  ocr, optical-character-recognition
Image2text
📋 Python wrapper to grab text from images and save as text files using Tesseract Engine
Stars: ✭ 243 (+575%)
Mutual labels:  ocr, optical-character-recognition
ImageToText
OCR with Google's AI technology (Cloud Vision API)
Stars: ✭ 30 (-16.67%)
Mutual labels:  ocr, optical-character-recognition
jochre
Java Optical CHaracter Recognition
Stars: ✭ 18 (-50%)
Mutual labels:  ocr, optical-character-recognition
darknet
php ffi darknet
Stars: ✭ 21 (-41.67%)
Mutual labels:  yolo, yolov3
blinkid-in-browser
BlinkID In-browser SDK for WebAssembly-enabled browsers.
Stars: ✭ 40 (+11.11%)
Mutual labels:  ocr, optical-character-recognition
vehicle-rear
Vehicle-Rear: A New Dataset to Explore Feature Fusion For Vehicle Identification Using Convolutional Neural Networks
Stars: ✭ 99 (+175%)
Mutual labels:  ocr, yolo
Alturos.ImageAnnotation
A collaborative tool for labeling image data for yolo
Stars: ✭ 47 (+30.56%)
Mutual labels:  yolo, yolov3
Handwritten-Names-Recognition
The goal of this project is to solve the task of name transcription from handwriting images implementing a NN approach.
Stars: ✭ 54 (+50%)
Mutual labels:  ocr, character-recognition
deep-license-plate-recognition
Automatic License Plate Recognition (ALPR) or Automatic Number Plate Recognition (ANPR) software that works with any camera.
Stars: ✭ 309 (+758.33%)
Mutual labels:  ocr, license-plate-recognition
Receipt Scanner
Receipt scanner extracts information from your PDF or image receipts - built in NodeJS
Stars: ✭ 190 (+427.78%)
Mutual labels:  ocr, optical-character-recognition
Signature extractor
A super lightweight image processing algorithm for detection and extraction of overlapped handwritten signatures on scanned documents using OpenCV and scikit-image.
Stars: ✭ 205 (+469.44%)
Mutual labels:  ocr, optical-character-recognition
memento
Organize your meme image cluster in a better format using OCR from the meme to sort them using tesseract along with editing memes by segmenting them using OpenCV within a directory
Stars: ✭ 70 (+94.44%)
Mutual labels:  ocr, character-recognition
tfjs-yolo
YOLO v3 and Tiny YOLO v1, v2, v3 with Tensorflow.js
Stars: ✭ 108 (+200%)
Mutual labels:  yolo, yolov3

Deep Learning Applied To Vehicle Registration Plate Detection and Recognition

Python 3.6

What's this repo about?

This is a simple approach for handling the problem of vehicle license plate recognition. It is not an end-to-end system, instead, two different deep learning algorithms were stacked together to complete this task. First, license plates regions were extracted by using the YOLO object detection algorithm, then the region proposals were submitted to an Attention Based Optical Character Recognition, Attention-OCR, to finally recognize the characters.

Running

Make sure you have all the dependencies installed:

pip install -r requirements.txt

Both YOLO and Attention-OCR were trained on the Brazilian SSIG-ALPR dataset:

  • Images were resized to 1056x576 during training, so YOLO will perform best if applied to this shape.
  • Cropped bounding box images (i.e. license plates) were resized to 160x60 to train the Attention-OCR.

Download the pretrained models as well as the configuration files and put them in the config directory.

Run the application service:

python app.py

The application service will be listening to requests on http://localhost:5000/

Send an Http POST request with a form-data body with an attribute file containing the image, like this curl example:

curl --location --request POST 'localhost:5000/' \
--form 'file=@/path/to/the/image/file/image_file.png'

Output

The API will output all the detections with the corresponding bounding boxes and its confidence scores as well as the OCR prediction for each bounding box. Also, we draw all these information on the input image and also outputs it as a base64 image.

json object response will look like the following:

{
  "detections": [
    {
      "bb_confidence": 0.973590612411499,
      "bounding_box": [
        1509,
        877,
        82,
        39
      ],
      "ocr_pred": "ABC1234-"
    },
    {
      "bb_confidence": 0.9556514024734497,
      "bounding_box": [
        161,
        866,
        100,
        40
      ],
      "ocr_pred": "ABC1234-"
    }
  ],
  "output_image": "/9j/4AAQS..."
}

Note: If DEBUG flag is set to True in the app.py, images will be produced in the debug directory to make debugging a bit easier.

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].