

Nhận diện biển số là một chủ đề thú vị khi nói về các biển số mới được cấp tại Việt Nam. Hiện nay, hệ thống nhận diện biển số được nhiều chính phủ sử dụng để giám sát giao thông, áp đặt phạt và nhiều mục đích khác. Các hệ thống này đảm bảo độ chính xác cao, hoạt động ổn định và đáng tin cậy nhờ vào việc sử dụng camera an ninh và tiến bộ trong lĩnh vực trí tuệ nhân tạo.
Bài viết này sử dụng một số ảnh từ loạt bài viết về Nhận diện biển số bằng Python và OpenCV của tác giả quangnhatnguyenle trên trang Medium. Bất kỳ ai quan tâm đều có thể thực hành và tự mình tạo ra một mô hình nhận diện biển số.
Để nhận diện biển số, cần thực hiện những gì?
Thứ nhất là sử dụng camera

Video thực chất là một chuỗi các hình ảnh được chạy với tốc độ cao, thường là 25 hoặc 30 khung hình mỗi giây. Camera hoạt động ổn định ở các tốc độ này và sử dụng thuật toán hiệu quả cùng hạ tầng mạnh mẽ để xử lý hàng nghìn hoặc thậm chí hàng chục nghìn khung hình mỗi giây mà không gặp vấn đề gì.
Video từ camera an ninh được truyền qua Internet đến các trung tâm xử lý dữ liệu. Ở đó, thuật toán sẽ xử lý các bước tiếp theo mà không cần sự can thiệp của con người. Điều này giúp loại bỏ việc cần phải theo dõi hàng nghìn camera thủ công và giúp tránh được sự không chính xác và nhàm chán.
Sau đó, cần một số thuật toán chất lượng
Thuật toán sẽ thực hiện nhận diện biển số và các số trên biển. Ngoài ra, cần có các thuật toán để phát hiện các xe vi phạm, như các trường hợp vượt quá tốc độ, đỗ sai vị trí hoặc đi sai làn đường...
2 bước để nhận diện biển số xe
Khi nhìn vào tấm hình bên dưới, bạn có nhận ra ngay các ký tự trên biển số xe không?

Đúng không? Sự nhận biết này thực ra là do não của bạn đã quen với khái niệm về biển số. Não có khả năng xử lý thông tin rất nhanh vì đã được tiếp xúc với nó từ nhỏ. Quá trình nhận biết biển số thực sự gồm hai giai đoạn: nhận biết biển số và nhận biết ký tự trên biển. Máy tính cũng hoạt động theo cách tương tự.

Tuy nhiên, máy tính không thông minh như con người. Bạn cần dạy cho nó nhận biết biển số từ nhiều góc độ, nhiều hướng khác nhau. Huấn luyện mô hình máy học cần sử dụng tập dữ liệu đa dạng, từ các biển số thẳng đến biển số méo mó, xiên, cong, mờ... Chỉ như vậy, máy mới không học vẹt và có độ chính xác cao trong nhiều tình huống thực tế.Mình thấy trên Medium có bài viết của quangnhatlenguyen có hình minh họa cho vấn đề này

Trong quá trình xử lý và nhận diện kí tự, cần áp dụng một số bước nhỏ như chuyển đổi ảnh màu thành ảnh đen trắng và thêm một chút mờ để giúp việc tách kí tự dễ dàng hơn. Lý do căn cơ của việc này mình không rõ lắm, vì mình chỉ mới học lóm và đang tìm hiểu thêm.

Tương tự, máy không đủ thông minh để nhận diện kí tự từ nhiều góc độ khác nhau và từ nhiều font chữ khác nhau. Máy chỉ biết những điều mà được dạy, nên nếu chỉ dạy cho nó nhận diện kí tự của biển số xe Việt Nam cũ thì nó không thể nhận diện được kí tự trên biển số mới vì chúng có hình dáng khác nhau hoặc nhận diện được nhưng độ chính xác không cao. Vì vậy, trong quá trình huấn luyện, cần đưa vào nhiều loại biển số, nhiều nét kí tự và nhiều font chữ khác nhau để máy không học theo một cách cố định.
Dưới đây là ví dụ về một tập dữ liệu được sử dụng để huấn luyện máy nhận diện các kí tự khác nhau.

Việc nhận diện kí tự từ hình ảnh (OCR) không còn mới mẻ. Từ xa xưa, công nghệ này đã được sử dụng, mình nhớ còn thời Office 2003, 2007 đã có plugin để thực hiện chức năng này. Cả các ứng dụng di động cũng đã có khả năng thực hiện OCR từ lâu. Công nghệ AI, deep learning hay machine learning chỉ là một cách để thực hiện OCR, và hiện nay, với độ chính xác cao và không tốn nhiều tài nguyên tính toán, nó đang được áp dụng rộng rãi.
Tóm lại, hệ thống giám sát có thể sử dụng hình ảnh từ camera an ninh để nhận diện xe vi phạm, lấy số đăng ký, tách hình ảnh biển số, nhận diện kí tự, tra cứu thông tin về xe và gửi biên bản phạt. 😁
Hy vọng bạn đã hiểu thông tin cơ bản này. Chúc bạn vui vẻ!
