Phát hiện biển số xe là một ứng dụng phổ biến của thị giác máy tính trong giao thông thông minh, giám sát an ninh và quản lý bãi đỗ xe. Với sự phát triển của các thuật toán học sâu, việc phát hiện biển số xe từ hình ảnh đã trở nên nhanh chóng và chính xác hơn. YOLO (You Only Look Once) là một trong những mô hình mạnh mẽ nhất để thực hiện nhiệm vụ này nhờ khả năng phát hiện đối tượng thời gian thực.
Nếu bạn là người mới bắt đầu, hãy tham khảo bài Ứng dụng KNN phân loại khách hàng theo độ tuổi để hiểu về các thuật toán phân loại cơ bản. Ngoài ra, bài Hướng dẫn tiền xử lý dữ liệu sạch để huấn luyện mô hình tốt hơn sẽ giúp bạn nắm rõ các bước xử lý dữ liệu trước khi huấn luyện, còn bài Phát hiện gian lận bằng học máy sẽ mở rộng kiến thức về các ứng dụng Machine Learning thực tế.
Tổng quan về YOLO và bài toán phát hiện biển số
YOLO (You Only Look Once) là một trong những kiến trúc mạng convolutional tiên tiến nhất để phát hiện đối tượng. Khác với các phương pháp truyền thống, YOLO cung cấp bounding box và nhãn phân loại chỉ sau một lần quét toàn bộ ảnh, giúp tăng tốc độ xử lý đáng kể.
Trong bài này, chúng ta sẽ sử dụng YOLOv5 để phát hiện biển số xe. Vì bộ COCO mặc định không bao gồm nhãn “license plate”, chúng ta sẽ cần:
-
Một bộ dữ liệu đã được gắn nhãn biển số
-
Huấn luyện lại (fine-tune) YOLOv5 trên bộ dữ liệu đó
-
Triển khai mô hình để phát hiện biển số trên ảnh mới
Chuẩn bị bộ dữ liệu biển số
Chọn bộ dữ liệu
Chúng ta sẽ sử dụng UFPR ALPR Dataset – một bộ dữ liệu biển số xe thực tế gồm hơn 4.500 hình ảnh xe ở nhiều góc chụp khác nhau, với annotation sẵn có.
📥 Link tải UFPR ALPR: https://web.inf.ufpr.br/vri/databases/ufpr-alpr
Hoặc bạn có thể thử bộ OpenALPR Benchmark:
📥 Link tải OpenALPR: https://github.com/openalpr/benchmarks
Tải và giải nén dữ liệu
Sau khi tải file zip về từ website, bạn hãy giải nén ra máy tính của mình. Bộ dữ liệu cần có 2 thư mục quan trọng:
-
images/: chứa hình ảnh
-
annotations/: chứa file XML nhãn (theo định dạng Pascal VOC)
Tải dữ liệu lên Google Colab
Khi làm việc trên Google Colab, bạn cần upload thư mục dữ liệu đã giải nén lên môi trường Colab. Thao tác như sau:
- Vào sidebar trái trong Colab → nhấn tab Files.
- Click Upload → chọn thư mục dữ liệu (hoặc nén lại thành zip rồi upload).
- Nếu upload file zip, hãy giải nén bằng lệnh:
!unzip UFPR-ALPR.zip -d /content/dataset
Kiểm tra thư mục sau khi giải nén:

