Skip to content

Detect and read license plates with high accuracy, using YOLOv7 and PaddleOCR.

License

Notifications You must be signed in to change notification settings

DN2AI/LPRecognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LPRecognition

  • Đây là một repository phụ cho dự án DN2AI (dự án khoa học kĩ thuật).
  • Repository này chủ yếu là một project phụ nhằm phát hiện và đọc biển số xe với độ chính xác cao. Phục vụ cho dự án chính (phát hiện học sinh lái xe lớn hơn 50cc và chưa đủ tuổi).
  • Với các thành viên của nhóm:
    • Võ Phương Nghi 11T1
    • Châu Nguyễn Thanh Duy 11L

How It Works ?

  • Nhận diện biển số xe theo các bước:
    • Xác định vị trí biển số xe dùng thuật toán YOLOv7 (có thể dùng các phiên bản khác).
    • Phân đoạn kí tự (tách kí tự từ biển số xe).
    • Nhận diện kí tự đã được tách (OCR).

Note

  • (10/9/2023) Hoàn thành việc dùng model YOLOv7 để phát hiện vị trí biển số xe. Đồng thời chỉnh sửa code để hiện background màu xanh.
    demo

  • (19/9/2023) Dùng thư viện EasyOCR để đọc biển số xe. Tuy nhiên lại không cho ra kết quả chính xác, làm tôi rất thất vọng.

  • (20/9/2023) Từ việc dùng thư viện EasyOCR để đọc biển số xe không hiệu quả, tôi quyết định chuyển sang PaddleOCR. Và thật tuyệt vời, nó cho ra các kết quả cực kì chính xác! Điều này làm tôi rất bất ngờ, LPRecognition gần như đã hoàn thành.
    demo

  • (21/9/2023) Thành công việc đọc biển số xe, kiểm tra xem PaddleOCR đọc biển số xe có chính xác ? Và chỉ update khi chất lượng ảnh tốt hơn.

  • (2/10/2023) Cho phép Project chạy mà không cần SORT (Object Tracking) vì thời gian cài đặt rất lâu (10 phút)

  • (5/10/2023) Đã có thể sử dụng Webcam trên Google Colab, chuẩn bị cho việc thử nghiệm!

Tutorial

1. Local

Nếu dùng trên máy bạn thì chạy Project như sau:

python3 detect.py --weights <name_weight> --source <source_file> --no-trace

Thay thế: <name_weight><source_file> thành file của các bạn (Có thể xem thêm file detect.py để có nhiều lựa chọn khác).

Nếu muốn dùng webcam thì thay <source_file> thành 0

2. Google Colab

Chạy trên Google Colab thì cũng tương tự nhưng thay python3 thành !python

Tuy nhiên, nếu dùng webcam trên Google Colab thì phải chạy file webcam_colab.py như sau:

%run webcam_colab.py 

Vui lòng xem file tutorial.ipynb để hiểu thêm!

Todo

  • Nhận diện biển số xe qua hình ảnh
  • Đọc biển số xe với độ chính xác cao.
  • Nhận diện biển số xe qua video.
  • Nhận diện biển số xe real-time qua camera.

Reference

WongKinYiu, https://github.com/WongKinYiu/yolov7
mrzaizai2k, https://github.com/mrzaizai2k/License-Plate-Recognition-YOLOv7-and-CNN
https://github.com/PaddlePaddle/PaddleOCR