Skip to content

Detect Indain number plates using deep learning

License

Notifications You must be signed in to change notification settings

patrickn699/INPR

Repository files navigation

Indian Number Plate Recognition

An open source Indian Number Plate Recogniton library built using deep learning.

For GUI version please go to this repo.

PyPI version PyTorch Open In Colab

Version and updates

  • v1.0.1: Second release

    • Fixed crashes and errors.
    • Now you can view the list of detected plates using the show_plates parameter in "fetch_details" method.
  • v1.0.0: Initial release

    • Detect number plates and extract the texts from it.
  • Upcomming

    • Docker image comming soon!

Screenshots

App Screenshot 1

App Screenshot 1

App Screenshot 1

App Screenshot 1

Installation

This library can be installed on windows and linux just follow the below steps based on your OS.

for windows

  1. I would suggest before installing please create an anaconda environment.
conda create -n "env-name" python==3.7
  1. Install torch and detectron2
pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

python -m pip install git+https://github.com/facebookresearch/detectron2.git
  1. Then install INPR package
pip install INPR

for linux

  1. install torch and detectron2
pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cpu/torch1.7/index.html
  1. Then simply install the INPR package
pip install INPR

Usage

To detect the plates here is an example

    from INPR.inpr import detect_plates
    import matplotlib.pyplot as plt

    im = 'test_img/kia.jpg'
    grap,op,img = detect_plates(im)
    plt.imshow(grap)

In the above example the method "detect_plates" returns three values which are:-

1. the image along with detected plates
2. the bounding boxes of the detected plates
3. the passed image iteself

Optionally you can also try to extract the text present inside the detected plates by the following example:

    from INPR.inpr import fetch_details, detect_plates

    im = 'test_img/kia.jpg'

    grap,op,img = detect_plates(im)
    num_plate_text = fetch_details(op,img)
    
    print(num_plate_text)   

Note:- getting the number plates text won't work for every image as it depends upon multiple factors like resolution, distance of the object, lighting,etc. But still you can give it a try.

Feedback and queries

If you have any feedback, bugs, queries please reach out to me on Linkedin and also raise an GitHub issue about the same.