Đây là phần mềm nhận dạng biển số xe máy Việt Nam, tự động nhận dạng bằng webcam hoặc nhận dạng từ ảnh. Chủ yếu giới thiệu cho các bạn 1 thuật toán mới bên cạnh rất nhiều thuật toán khác trong lĩnh vực này.
Trong repo https://github.com/thigiacmaytinh/IPSSedu có chứa nhiều project về nhận diện biển số. Gồm có cả xe máy lẫn xe hơi, với các ngôn ngữ lập trình khác nhau, giải thuật khác nhau,… Chủ yếu giới thiệu hướng tiếp cận giúp các bạn hình dung flow thuật toán.
Các project chủ yếu build bằng Visual Studio, chúng tôi có ghi phiên bản Visual Studio recommended. Tuy nhiên sẽ cố gắng dành thời gian upgrade lên phiên bản mới nhất.
Các source code trong đó cơ bản hết sức có thể để tìm hiểu, các bạn cần phải code lại để phù hợp với nhu cầu. Các bạn cần phải sửa lại giao diện, huấn luyện lại để tăng độ chính xác.
Cần độ chính xác cao bạn có thể mua bản thương mại tại: https://viscomsolution.com/ipss-phan-mem-doc-bien-so-xe-may/
Giải thuật
Bao gồm 4 bước như trên để phát hiện biển số
Bước 1: Định vị biển số hay còn gọi là phát hiện biển số: tìm khung chữ nhật gồm (x, y, width, height) bao lấy biển số trong ảnh. Nếu tìm thấy thì crop biển số ra để xử lý bước tiếp theo, kết quả của bước này là ảnh biển số đã crop. Bước này sử dụng thuật toán LBP cascade
Dùng Haar cascade học đặc trưng của 1 biển số, sau đó crop biển số. Tuy nhiên bước này lại chưa chính xác lắm
Bước 2: Định vị ký tự hay còn gọi là tìm vị trí của ký tự trên biển số đã crop. Kết quả của bước này là các ký tự màu đen, sau đó resize tất cả về cùng 1 kích thước. Bước này dùng thuật toán Floodfill
Cũng dùng Haar cascade để tìm ra các ký tự trong biển số đã được crop
Bước 3: Nhận dạng ký tự bằng thuật toán Machine Learning, trong trường hợp này là SVM để phân lớp các ký tự
Cuối cùng là dùng SVM để nhận dạng ký tự
Bước 4: Sắp xếp các kết quả nhận dạng và hiển thị ký tự theo định dạng biển số xe máy
Fix lỗi không build được
Khi gặp lỗi như hình bên dưới các bạn cần cài lại Visual Studio
Hình bên dưới sử dụng Visual Studio 2019, các bạn check vào C++/CLI support… rồi cài đặt là được
Download
Source chạy bằng Visual studio 2015 Community (miễn phí)
https://github.com/thigiacmaytinh/IPSSedu
Phần mềm thương mại có phí, độ chính xác cao hơn bản miễn phí
https://github.com/viscomsolution/IPSS
Hình ảnh biển số dùng để test
Bike_back_ctu.zip (21MB)
Chào bạn Vĩ, mình thấy chương trình bạn demo trên youtube rất hay, bạn có thể gửi cho mình mail mình liên lạc với bạn được không?
Yes, liên hệ qua group Facebook: https://www.facebook.com/groups/thigiacmaytinh/
bạn có thể cho mình xin code được không, mình đang làm đồ án nhận dạng biển số xe đơn giản sử dụng opencv với MS visual, mình tìm hoài trên mạng mà không thấy có đoạn code nào cả.
Liên hệ với mình qua Skype nhé: vohungvi
bạn có thể cho mình xin code được không
B có nhận dạng đc biển số xe không vậy ?
Theo như bạn đã chat thì biển số xe của ăn trộm mờ quá thì chịu thua
Chào anh. EM muốn hỏi làm thế nào để sử dụng Project C++ trong Project C# ạ. Em add Project Reference rồi, khi chạy thì báo lỗi: Could not load file or assembly ‘OpenCVDotNetd.dll’ or one of its dependencies. The specified module could not be found. Em cảm ơn ạ.
Có vài bạn cũng bị lỗi này, vấn đề là do project OpenCVDotNet không load được, bạn ấn chuột phải vào project, chọn reload project xem thử có được không.
Anh có thể cho em xin đoạn code được không ạ?
Bạn ấn nút like thì sẽ hiện ra link download
Like
Không thấy nút like bạn ơi 🙁 cho xin code với
Bạn F5 trang web lại xem
Cho em xin data để train được không anh, em đang làm bt môn học. Cám ơn anh!
Data tách từ biển số ra, download trong này: https://thigiacmaytinh.com/tong-hop-data-xu-ly-anh/
Dạ cho em hỏi 1 câu nữa, các hình positive của mình chỉ bao gồm biển số thôi đúng không ạ, là mình phải cắt hết background đi? Em mới học nên chi rõ lắm.
Đó là 1 cách, cách 2 là khoanh vùng bao lấy đối tượng là được, đọc hết 3 bài phát hiện đối tượng là hiểu: https://thigiacmaytinh.com/opencv-nang-cao/
Có thể cho em xin code được không ạ, vì em đang làm đồ án về phần này, em cần code để tham khảo, thanks nhiều
Source code trên github đó bạn
Hi bạn,
Cho mình hỏi SVM trong project bạn có source không? Còn nếu dùng model đã train của bạn thì có dùng được với SVM trong OpenCV không ah?
Cám ơn bạn nhiều!
Trong repo github có nhiều project khác nhau, có project sử dụng SVM trong opencv
Ah thx bạn! Mình hỏi về project:
https://github.com/thigiacmaytinh/IPSSedu
Trong đó có file SVM.dll, mình không biết bạn có thể cho mình source của file đó không ah? Còn nếu dùng những model đã được train (svmCharNum.model, svmNum.model) thì có thể sử dụng với OpenCV SVM được không bạn?
Cám ơn bạn nhiều!
Hi bạn, lib SVM download ở đây: https://www.csie.ntu.edu.tw/~cjlin/libsvm/
Còn SVM của OpenCV thì bạn thử load xem, hình như khác format nên mình không chắc
Could not load file or assembly ‘OpenCVDotNet.dll’ or one of its dependencies. The specified module could not be found.
Khi sử dụng chức năng đọc biển số bằng file thi chương trình báo lỗi này. Anh có thể giúp em được không ạ!
Lỗi này do cài thiếu component nào đó nên build project OpenCVDotNet không được, hoặc là OpenCVDotNet không load. Bạn vào group chụp hình lỗi gửi lên xem thử chính xác lỗi gì: https://www.facebook.com/groups/thigiacmaytinh/
Hi Bạn,
Mình gặp lỗi đã chạy project và đang gặp lỗi này: ‘Could not load file or assembly ‘TGMTbike.dll’ or one of its dependencies. The specified module could not be found.’
Mong bạn giải đáp
Bạn đọc phần cài đặt Visual Studio trong bài này nhé: https://thigiacmaytinh.com/huong-dan-su-dung-ipssclr/
Sao mình sử dụng source training từ bài viết này https://thigiacmaytinh.com/su-dung-svm-trong-opencv-de-nhan-dang-ky-tu/ thì lại xuất ra file yaml chứ k phải file model vậy ạ
Có 2 cách để save:
– Cách 1: save model đã train. Nhược điểm là file dung lượng lớn, load lâu.
– Cách 2: save tập ảnh thành file yaml, khi load chương trình thì tiến hành train. Ưu điểm là load nhanh hơn & dung lượng nhẹ hơn.
Do đó mình save lại thành yaml, bạn có thể sửa code để save thành model tùy ý.
Cho e xin 2 file yaml đó với ạ, e build nó lỗi ạ. E cảm ơn
bạn cần file nào? còn code bị lỗi bạn chụp hình gửi vào group https://www.facebook.com/groups/thigiacmaytinh/ để mình xem vì sao lỗi
Could not load file or assembly ‘OpenCVDotNet.dll’ or one of its dependencies. The specified module could not be found.
Khi sử dụng chức năng đọc biển số bằng file thi chương trình báo lỗi này. Anh có thể giúp em được không ạ!
mình đã cập nhật hướng dẫn cài đặt lại Visual Studio để fix rồi nhé
mik muốn mua source code bên bạn được ko ạ!
Mình có kèm link source code ở cuối bài rồi, miễn phí không cần mua nhé
dạ a ơi sao e ko chạy đc code ạ, hoặc nếu đc a chỉ e cách chạy đc k ạ
Bạn chụp full màn hình kèm mã lỗi rồi post vào group https://www.facebook.com/groups/thigiacmaytinh nhé