Xin chào các bạn, hôm trước mình đã chia sẻ cùng các bạn cách sử dụng pretrain YOLO để nhận diện biển số tại đây. Tuy nhiên đúng như nhiều bạn có nói thì model đó chỉ phát hiện được biển số dài mà thôi. Hôm nay mình sẽ giới thiệu cùng các bạn một pretrain nữa có tên WPOD-NET. Model này có thể phát diện cả biển dài và biển vuông và nhận diện rất tốt, cực tốt nữa là khác.
Model này mình tình cờ có được từ một trang tiếng China, mình cũng không nhớ nguồn ở đâu nữa. Tuy nhiên theo mình biết có mấy phần mềm nhận biển số đã dùng cái này nhưng khi mình xin thì không cho, vì vậy mình quyết định “share cho các bạn xem nó làm sao không nào!“.
Rồi, bắt đầu nhé!
Phần 1. Chuẩn bị nguyên vật liệu
Vẫn như thường lệ, tạo thư mục MiAI_LP_Detection_2 để làm việc nhé. Sau đó các bạn gõ lệnh git để tải project về:
git clone https://github.com/thangnch/MiAI_LP_Detection_2 .
Sau khi tải xong các bạn sẽ chuyển vào thư mục MiAI_LP_Detection_2 và tiến hành cài đặt các thư viện cần thiết cho bài này bằng lệnh:
pip install -r setup.txt
Đợi chút cho ten sơ phờ lâu với kê rát và âu pần xê vê cài là xong 😀 (fun tý)
Xong rồi đó, sang bước sau nào!
Phần 2. Tiến hành viết code nhận diện
Do bài này các bạn sử dụng pretrain nên code sẽ cực kỳ đơn giản. Các bạn để ý file detection.py, mình đã comment từng dòng rồi.
Đại khái file này sẽ đọc file ảnh đầu vào, thực hiện vài thao tác resize sau đó gọi lệnh phát hiện biển số từ thư viện. Sau đó nhận kết quả trả về và hiển thị trên màn hình.
Phần 3. Chạy thử chương trình phát hiện biển số
Các bạn chạy lệnh file detection.py để kiểm tra nhé. Mình đã chạy thử thì thấy pretrain này nhận diện cực tốt. Tất nhiên không bao giờ có trường hợp 100% rồi.
Mình post thử vài kết quả để các bạn tham khảo:
Theo mình đánh giá là phát hiện biển số cực tốt và crop cực đẹp, các bạn cứ yên tâm sử dụng cho các bài toán của mình mà không cần phải gia công thêm gì.
Okie , như vậy chúng ta đã đi qua 2 bài với các 2 cách detect biển số khác nhau và đều dùng pretrain cho nhanh gọn, mì ăn liền. Sang bài sau, mình sẽ giới thiệu 1 cách detect biển số nữa bằng OpenCV thuần. Các bạn sẽ phải gia công nhiều hơn nhưng đôi lúc trong các trường hợp cụ thể về ánh sáng, môi trường, camera thì phát hiện biển số tốt hơn.
Hãy gia nhập cùng Mì Ai nhé!
Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://miai.vn
Youtube: http://bit.ly/miaiyoutube
Không biết model của WPOD-Net có phiên bản dưới định dạng .pb không ạ? Vì em đang thử triển khai thử bằng API C++ của TensorFlow mà chưa convert được model .h5 sang .pb.
Hiện anh chưa tìm thấy. Em có thể tìm thêm trên GOOGLE xem!
Dạ vâng ạ. Em cám ơn.
Em có tìm được nguồn của WPOD-Net, có cả link github và link paper: http://sergiomsilva.com/pubs/alpr-unconstrained/
Mong anh bổ sung để mọi người cùng tham khảo ạ.
Thanks em. Để anh bổ sung vào bài viết!
camera thường và biển số nhỏ hơn có đọc được không anh!?
Câu này khó trả lời. Chỉ có thực nghiệm thôi em ạ. Cứ làm và cần thêm gì em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup nhé!
Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho tiện trao đổi nhé!