Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp "Xây dựng Hệ thống Nhận diện và Quản lý Biển số Xe tại Nhà Xe Trường Đại học Kinh tế - Đại học Huế" do sinh viên Nguyễn Kim Tiến (ngành Hệ thống thông tin quản lý, khóa 2021–2025, mã sinh viên 21K4080052) thực hiện dưới sự hướng dẫn của TS. Hoàng Hữu Trung. Công trình được triển khai trong khuôn khổ hợp tác học tập và thực tập nghề nghiệp tại Công ty Deha Việt Nam.

Lý do chọn đề tài xuất phát từ yêu cầu tự động hóa và tối ưu quy trình kiểm soát phương tiện tại các khu vực công cộng trong bối cảnh chuyển đổi số. Tại Trường Đại học Kinh tế - Đại học Huế, mật độ phương tiện ra vào nhà xe sinh viên rất lớn, đặc biệt tập trung vào các khung giờ cao điểm. Thực trạng công tác quản trị tại nhà xe trước khi nghiên cứu phụ thuộc chủ yếu vào camera ghi hình thụ động hoặc ghi chép thủ công. Phương thức này bộc lộ nhiều hạn chế: không thống kê được lưu lượng phương tiện theo thời gian thực, khó kiểm soát phương tiện tồn đọng qua đêm, phát sinh nguy cơ thất thoát tài sản và tạo áp lực vận hành lên đội ngũ giám sát. Trước bối cảnh các công nghệ thị giác máy tính mã nguồn mở như mô hình học sâu YOLOv11, công cụ nhận diện ký tự quang học PaddleOCR và framework web Laravel đã phát triển ổn định, việc tích hợp các công nghệ này để số hóa toàn diện quy trình kiểm soát là yêu cầu thực tiễn cần thiết.

Nhiệm vụ nghiên cứu được phân định thành mục tiêu tổng quát và các mục tiêu cụ thể:

  1. Mục tiêu tổng quát: Ứng dụng công nghệ YOLOv11, PaddleOCR và Laravel Framework nhằm xây dựng thành công hệ thống nhận diện và quản lý biển số xe tại nhà xe Trường Đại học Kinh tế - Đại học Huế.
  2. Mục tiêu cụ thể:
    • Nghiên cứu cơ sở lý thuyết về phát hiện đối tượng với mô hình học sâu YOLOv11, công cụ trích xuất ký tự quang học PaddleOCR, thư viện xử lý ảnh OpenCV và ngôn ngữ Python.
    • Thu thập, gán nhãn và tiền xử lý bộ dữ liệu ảnh biển số xe máy trong các điều kiện môi trường thực tế (ánh sáng thay đổi, góc quay khác nhau).
    • Huấn luyện mô hình YOLOv11 nhằm khoanh vùng chính xác vị trí biển số xe và kết nối với PaddleOCR để chuyển đổi hình ảnh biển số thành dữ liệu chuỗi ký tự.
    • Xây dựng phần mềm quản lý trên nền tảng Laravel Framework, kết nối cơ sở dữ liệu quan hệ MySQL để quản lý lưu vết xe ra vào, đối soát hình ảnh bằng chứng, thanh toán tiền gửi xe, thống kê doanh thu và báo cáo lưu lượng.
    • Thử nghiệm và đánh giá hệ thống trong điều kiện vận hành tại nhà xe trường học.

Đối tượng nghiên cứu của đề tài là hệ thống tự động nhận diện biển số xe máy (từ khâu thu nhận tín hiệu thị giác, xử lý ảnh, huấn luyện học sâu đến xuất dữ liệu văn bản) kết hợp hệ thống phần mềm quản lý dữ liệu. Phạm vi nghiên cứu về không gian được giới hạn tại khuôn viên khu vực nhà xe Trường Đại học Kinh tế - Đại học Huế. Phạm vi thời gian nghiên cứu và thực nghiệm được tiến hành từ ngày 18/11/2024 đến ngày 09/03/2025.

Quá trình nghiên cứu đặt ra các giả định và điều kiện biên: thiết bị ghi hình đầu vào sử dụng webcam hoặc camera giám sát đặt tại cổng kiểm soát; thiết bị xử lý trung tâm là máy tính cá nhân cấu hình phù hợp để chạy mô hình AI và máy chủ cục bộ; biển số xe không bị che lấp cơ học; phương tiện di chuyển qua trạm với tốc độ vừa phải và khu vực nhận diện có độ rọi ánh sáng đạt mức tối thiểu.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng lý thuyết học sâu (Deep Learning) và kỹ thuật phát triển hệ thống thông tin quản lý:

  • Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Tác giả hệ thống hóa kiến trúc mạng tích chập gồm các lớp tích chập (Convolutional Layer) thực hiện phép nhân chập giữa ma trận ảnh và bộ lọc (kernel) nhằm trích xuất đặc trưng không gian qua các tham số bước nhảy (stride) và đệm (padding); lớp kích hoạt phi tuyến tính ReLU nhằm loại bỏ giá trị âm và giảm thiểu triệt tiêu đạo hàm (vanishing gradient), cùng các biến thể như Leaky ReLU, PReLU, ELU; lớp tổng hợp (Pooling Layer như Max Pooling, Average Pooling) nhằm giảm chiều không gian và giảm tải tham số; lớp kết nối đầy đủ (Fully Connected Layer) kết hợp hàm kích hoạt Softmax/Sigmoid để dự đoán đầu ra.
  • Mô hình phát hiện đối tượng YOLOv11: Nghiên cứu phân tích kiến trúc mạng 1-stage của Ultralytics. YOLOv11 loại bỏ cơ chế Anchor Boxes truyền thống để chuyển sang dự đoán trực tiếp tọa độ khung bao, sử dụng kỹ thuật tăng cường dữ liệu nâng cao Mosaic Augmentation, tích hợp khối tích chập C3 và hỗ trợ kích thước ảnh đầu vào lên tới 1024x1024 pixel. Hàm mất mát tổng thể (Total Loss) là tổng của ba thành phần: độ lỗi phân loại (Classification Loss), độ lỗi định vị vị trí hộp (Localization Loss) và độ lỗi tin cậy (Confidence Loss). Các chỉ số đánh giá gồm Intersection over Union (IoU), Precision, Recall, F1-score, mAP50 và mAP50-95.
  • Nhận diện ký tự quang học PaddleOCR: Sử dụng mô hình OCR để tách và nhận dạng chuỗi số và chữ cái từ ảnh crop biển số xe đã được YOLOv11 định vị.
  • Công nghệ phát triển phần mềm: Laravel Framework phiên bản dựa trên ngôn ngữ PHP, tổ chức theo kiến trúc Model-View-Controller (MVC), tích hợp Blade Template, trình ánh xạ đối tượng quan hệ Eloquent ORM, công cụ dòng lệnh Artisan CLI; hệ quản trị cơ sở dữ liệu MySQL; nền tảng máy chủ phát triển cục bộ XAMPP (Apache, MySQL/MariaDB, PHP); ngôn ngữ định dạng HTML và CSS.

Hệ thống phương pháp nghiên cứu thực nghiệm được tác giả áp dụng gồm:

  • Phương pháp thu thập và gán nhãn dữ liệu: Ghi hình video thực tế tại bãi xe, trích xuất khung hình và sử dụng nền tảng Roboflow để gán nhãn thủ công nhãn "license plate", sau đó phân chia ngẫu nhiên thành các tập huấn luyện (training), xác thực (validation) và kiểm thử (testing).
  • Phương pháp huấn luyện mô hình: Cài đặt mã nguồn trên môi trường Google Colab tận dụng phần cứng GPU/TPU và máy tính cục bộ thông qua IDE PyCharm, sử dụng thư viện Ultralytics, OpenCV, NumPy, Pandas, TensorFlow và Keras.
  • Phương pháp tích hợp và thiết kế hệ thống: Sử dụng framework Flask (Python) để cấu hình API xử lý và phát luồng video nhận diện trực tiếp, sau đó liên kết truyền nhận dữ liệu với ứng dụng web quản lý Laravel.
  • Phương pháp đo lường và đánh giá: Đánh giá độ chính xác qua ma trận nhầm lẫn (confusion matrix), đường cong biến thiên hàm tổn thất (loss curves) và thực nghiệm kiểm tra hệ thống trong hai nhóm điều kiện: môi trường thuận lợi (ảnh rõ nét, đủ sáng) và môi trường bất lợi (ảnh mờ, góc chụp nghiêng, thiếu sáng).

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tách chức năng rõ ràng giữa module xử lý trí tuệ nhân tạo và module ứng dụng quản trị web:

Phân hệ / Module Thành phần công nghệ Vai trò và chức năng chính
Module Thị giác máy tính (AI Engine) Python, OpenCV, YOLOv11 (Ultralytics), PaddleOCR Đọc luồng video/ảnh từ camera, khoanh vùng biển số xe máy, trích xuất text ký tự biển số và đóng gói kết quả.
Module Dịch vụ truyền luồng (Streaming API) Python, Flask Framework Tạo endpoint API phát luồng video thời gian thực kèm bounding box và dữ liệu nhận diện sang hệ thống web.
Module Quản trị & Giao diện (Web Portal) PHP, Laravel Framework (Kiến trúc MVC, Blade Template) Hiển thị giao diện điều khiển, tiếp nhận dữ liệu xe ra vào, quản lý lịch sử, gói dịch vụ gửi xe và tài khoản.
Module Cơ sở dữ liệu MySQL Server (Quản lý qua phpMyAdmin / Eloquent ORM) Lưu trữ có cấu trúc các thông tin xe, lịch sử ra vào, đường dẫn ảnh bằng chứng, dữ liệu người dùng và phân quyền.
Môi trường vận hành XAMPP, Google Colab, PyCharm Hỗ trợ huấn luyện mô hình, chạy máy chủ web Apache, máy chủ MySQL cục bộ và thực thi mã nguồn.

Quy trình hoạt động tổng thể của hệ thống: Khi xe máy di chuyển vào vị trí kiểm soát, camera ghi hình truyền khung hình về module xử lý Python. OpenCV chuyển đổi định dạng và đưa dữ liệu vào mô hình YOLOv11. Mô hình dự đoán tọa độ khung bao của biển số xe máy. Vùng ảnh chứa biển số được cắt (crop) và chuyển tiếp tới PaddleOCR để trích xuất ký tự chữ và số. Thông tin biển số kèm thời gian và hình ảnh bằng chứng được gửi tới cơ sở dữ liệu MySQL và hiển thị đồng bộ lên giao diện web Laravel của nhân viên quản lý thông qua API do Flask cung cấp.

Cơ sở dữ liệu của hệ thống được xây dựng trên mô hình quan hệ chặt chẽ nhằm đáp ứng các yêu cầu nghiệp vụ quản lý bãi đỗ xe thông minh. Cấu trúc bảng dữ liệu gồm:

  • Bảng người dùng (users): lưu trữ thông tin định danh, tài khoản quản trị và nhân viên.
  • Bảng vai trò và quyền hạn (roles, permissions cùng các bảng liên kết model_has_roles, model_has_permissions, role_has_permissions): phân cấp quyền quản trị viên (Admin) và người dùng/nhân viên kiểm soát.
  • Bảng phương tiện (license_plates): lưu trữ định danh biển số xe, thông tin loại phương tiện.
  • Bảng lịch sử ra vào (vehicle_in_outs): ghi nhận mốc thời gian xe vào, mốc thời gian xe ra, trạng thái phương tiện.
  • Bảng hình ảnh bằng chứng (proof_images): lưu trữ đường dẫn ảnh chụp phương tiện tại thời điểm vào và ra nhằm đối soát khi có sự cố.
  • Bảng đăng ký phương tiện (vehicle_registrations): quản lý hồ sơ đăng ký gửi xe của sinh viên và cán bộ giảng viên.
  • Bảng gói dịch vụ và thanh toán (packages, payments): quản lý biểu phí gửi xe theo lượt hoặc theo tháng, ghi nhận lịch sử giao dịch và doanh thu bãi đỗ.

Nội dung chính theo từng chương

Chương I: Cơ sở lý thuyết

Chương I tập trung trình bày tổng quan lý thuyết liên quan đến thị giác máy tính và công nghệ phát triển web. Tác giả đi sâu vào cơ chế hoạt động của mạng CNN, nguyên lý lan truyền ngược và các thuật toán tối ưu hóa tham số trong học sâu như SGD, Adagrad, RMSProp và Adam. Nội dung chương phân tích chi tiết lịch sử phát triển của dòng mô hình YOLO, kiến trúc mạng YOLOv11 loại bỏ Anchor Boxes, cách tính chỉ số IoU và cơ cấu hàm mất mát đa thành phần. Về phần nhận diện văn bản, chương giới thiệu nguyên lý của PaddleOCR. Về phần quản lý, chương giới thiệu kiến trúc MVC trong Laravel, cơ chế phân tách tầng giao diện (Blade) và truy xuất dữ liệu (Eloquent ORM), cách thức tổ chức hệ quản trị cơ sở dữ liệu MySQL cùng môi trường phát triển tích hợp XAMPP. Cuối chương, tác giả khảo cứu sơ lược các công trình nghiên cứu nhận diện biển số xe trong và ngoài nước để làm rõ tính kế thừa của đề tài.

Chương II: Xây dựng module nhận diện biển số xe

Chương II mô tả quy trình hiện thực hóa module nhận diện phương tiện. Bước chuẩn bị dữ liệu bắt đầu bằng việc thu thập hình ảnh và video từ camera giám sát thực tế tại nhà xe Trường Đại học Kinh tế. Dữ liệu được đưa lên nền tảng Roboflow để thực hiện gán nhãn hộp giới hạn "license plate", chuẩn hóa kích thước và tăng cường dữ liệu trước khi xuất định dạng phù hợp cho YOLO. Tác giả tiến hành thiết lập môi trường huấn luyện với Ultralytics trên nền tảng Google Colab để tối ưu tài nguyên GPU. Sau khi mô hình YOLOv11 phát hiện được vùng biển số, thuật toán cắt vùng ảnh và chuyển sang thư viện PaddleOCR để nhận diện chuỗi ký tự. Cuối cùng, tác giả thiết lập script Flask tạo luồng video phát trực tiếp kết hợp cơ chế ghi dữ liệu nhận diện vào cơ sở dữ liệu MySQL.

Chương III: Xây dựng module quản lý biển số xe

Chương III trình bày bài toán phân tích yêu cầu nghiệp vụ và thiết kế phần mềm quản lý nhà xe. Tác giả khảo sát thực trạng bãi xe trường học, xác định các yêu cầu chức năng (quản lý xe ra vào tự động, tra cứu lịch sử, quản lý người dùng, đăng ký vé tháng, thanh toán tiền gửi, thống kê lưu lượng và báo cáo doanh thu) và yêu cầu phi chức năng (tính sẵn sàng, thời gian phản hồi nhanh, giao diện thân thiện, bảo mật chống tấn công XSS/CSRF). Tác giả tiến hành thiết kế lược đồ cơ sở dữ liệu quan hệ, xây dựng các bảng dữ liệu nghiệp vụ và thiết lập mối quan hệ khóa ngoại giữa bảng thông tin xe, bảng lượt ra vào, bảng chứng từ hình ảnh và bảng thanh toán. Toàn bộ kiến trúc logic được hiện thực hóa qua các Controller, Model và Route trong framework Laravel.

Chương IV: Kết quả và thảo luận

Chương IV công bố các kết quả thực nghiệm đạt được từ quá trình huấn luyện và triển khai hệ thống:

  • Đánh giá mô hình học sâu: Trình bày đồ thị biến thiên hàm mất mát (loss function) qua các chu kỳ (epochs), cho thấy hàm mất mát định vị và phân loại hội tụ đều đặn. Ma trận nhầm lẫn (confusion matrix) và đường cong Precision-Recall phản ánh mô hình đạt độ nhạy và độ chính xác cân bằng, chỉ số F1-score xấp xỉ 1.0 ở dải ngưỡng tin cậy tối ưu.
  • Hiệu năng nhận diện: Mô hình nhận diện kết hợp giữa YOLOv11 và PaddleOCR đạt tỷ lệ chính xác tổng thể 99.5%, tốc độ suy luận trung bình đạt xấp xỉ 4ms cho một ảnh.
  • Thử nghiệm theo điều kiện môi trường: Tác giả xây dựng bảng so sánh kết quả nhận diện trong hai điều kiện:
    • Trong điều kiện thuận lợi (xe dừng đúng vạch, ánh sáng ban ngày rõ nét, góc chụp trực diện): hệ thống phát hiện biển số và nhận diện ký tự chính xác tuyệt đối.
    • Trong điều kiện bất lợi (ánh sáng yếu vào ban đêm, biển số bị bám bẩn hoặc mờ số, góc quan sát camera bị lệch nghiêng): tỷ lệ lỗi nhận diện ký tự tăng lên do ảnh đầu vào bị mất chi tiết hoặc nhiễu sáng.
  • Triển khai phần mềm quản lý: Trình bày chi tiết hệ thống giao diện trực quan của các trang chức năng dành cho Quản trị viên (bảng điều khiển dashboard, theo dõi camera trực tiếp, quản lý bảng giá vé, xem báo cáo doanh thu, quản lý danh sách tài khoản và phân quyền) và giao diện dành cho Người dùng/Sinh viên (tra cứu lịch sử gửi xe cá nhân, gửi yêu cầu đăng ký vé xe định kỳ).

Kết quả và đóng góp

Khóa luận đã giải quyết trọn vẹn mục tiêu nghiên cứu với các kết quả cụ thể:

  1. Huấn luyện thành công mô hình YOLOv11 phát hiện biển số xe máy kết hợp công cụ trích xuất ký tự PaddleOCR, đạt độ chính xác nhận diện 99.5% với tốc độ xử lý nhanh 4ms/ảnh.
  2. Hoàn thiện hệ thống website quản lý bãi đỗ xe trên nền tảng Laravel Framework, cung cấp đầy đủ các phân hệ nghiệp vụ: tiếp nhận thông tin xe ra vào theo thời gian thực, lưu trữ hình ảnh chứng cứ, hỗ trợ thanh toán phí gửi xe, tìm kiếm lịch sử và thống kê lưu lượng xe trong bãi.
  3. Đóng góp của đề tài thể hiện ở việc cập nhật và ứng dụng thành công phiên bản mô hình phát hiện đối tượng mới nhất (YOLOv11 với kiến trúc không dùng Anchor Boxes) vào bài toán quản lý nhà xe sinh viên, giải quyết bài toán đồng bộ dữ liệu thời gian thực giữa pipeline trí tuệ nhân tạo (Python/Flask) và cổng thông tin quản trị doanh nghiệp (PHP/Laravel).

Hạn chế và hướng nghiên cứu tiếp

Khóa luận chỉ ra một số điểm hạn chế kỹ thuật:

  • Khả năng nhận diện của hệ thống bị suy giảm khi phương tiện di chuyển trong điều kiện bất lợi như ánh sáng yếu vào ban đêm, biển số bị mờ xước, dính bùn đất hoặc góc đặt camera bị lệch nghiêng quá mức.
  • Hệ thống vận hành tốt nhất khi phương tiện dừng trong vùng kiểm soát với tốc độ quy định; chưa xử lý triệt để các trường hợp phương tiện di chuyển cắt ngang camera với tốc độ cao.

Hướng nghiên cứu và phát triển tiếp theo được tác giả xác định:

  • Bổ sung các kỹ thuật tiền xử lý nâng cao chất lượng ảnh đầu vào (cân bằng sáng, lọc nhiễu, hiệu chỉnh góc nghiêng phối cảnh của biển số).
  • Mở rộng tập dữ liệu huấn luyện cho YOLOv11 với nhiều trường hợp thời tiết phức tạp (mưa gió, chói sáng ban đêm).
  • Hoàn thiện hệ thống phần cứng và quy trình để tiến tới triển khai ứng dụng diện rộng cho các bãi đỗ xe thông minh, trạm thu phí và trạm kiểm soát an ninh quy mô lớn.

Giá trị tham khảo

Báo cáo khóa luận có giá trị tham khảo chuyên môn đối với sinh viên các ngành Hệ thống thông tin quản lý, Công nghệ thông tin và Khoa học máy tính:

  • Cung cấp tài liệu tham khảo chi tiết về quy trình thu thập dữ liệu, gán nhãn Roboflow và thiết lập huấn luyện mô hình YOLOv11 bằng thư viện Ultralytics.
  • Cung cấp mô hình kiến trúc tích hợp giữa một backend xử lý học sâu thời gian thực (Python, OpenCV, PaddleOCR, Flask API) với một ứng dụng web quản lý dữ liệu hoàn chỉnh (Laravel, MySQL).
  • Là tài liệu hữu ích cho việc xây dựng các đề tài đồ án về bãi đỗ xe thông minh, nhận dạng biển số xe tự động (ANPR) và số hóa quy trình quản lý giám sát.

Câu hỏi thường gặp

1. Tác giả sử dụng mô hình học sâu nào để phát hiện vùng biển số xe và phiên bản đó có đặc điểm gì nổi bật?
Tác giả sử dụng mô hình YOLOv11 do Ultralytics phát triển. Điểm nổi bật của phiên bản này so với các thế hệ trước là loại bỏ hoàn toàn cơ chế Anchor Boxes (chuyển sang dự đoán trực tiếp tọa độ khung bao), tích hợp lớp tích chập C3 nâng cao, tối ưu kỹ thuật Mosaic Augmentation và hỗ trợ xử lý độ phân giải hình ảnh lên tới 1024x1024 pixel.

2. Độ chính xác và thời gian xử lý của hệ thống nhận diện đạt được là bao nhiêu?
Theo kết quả công bố trong khóa luận, hệ thống nhận diện kết hợp giữa YOLOv11 và PaddleOCR đạt độ chính xác 99.5% và thời gian xử lý trung bình đạt 4ms trên mỗi hình ảnh.

3. Khóa luận sử dụng các công nghệ nào để xây dựng phần mềm quản lý nhà xe?
Phần mềm quản lý được phát triển bằng Laravel Framework (ngôn ngữ PHP) theo mô hình MVC, sử dụng Blade Template cho giao diện, Eloquent ORM để thao tác cơ sở dữ liệu quan hệ MySQL và chạy trên môi trường máy chủ cục bộ XAMPP.

4. Dữ liệu huấn luyện mô hình nhận diện được gán nhãn bằng công cụ nào và có những nhãn gì?
Dữ liệu hình ảnh được tác giả thu thập thực tế tại nhà xe Trường Đại học Kinh tế - Đại học Huế và đưa lên nền tảng trực tuyến Roboflow để gán nhãn thủ công các khung bao (bounding box) với nhãn "license plate" (biển số xe).

5. Trong các điều kiện nào thì hiệu quả nhận diện của hệ thống bị suy giảm?
Hệ thống gặp khó khăn và giảm độ chính xác trong các điều kiện môi trường bất lợi như: biển số xe bị mờ hoặc che khuất một phần, môi trường ánh sáng yếu vào ban đêm, hoặc góc ghi hình từ camera bị lệch nghiêng lớn so với mặt phẳng biển số.

Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Kim Tiến đã hoàn thành trọn vẹn mục tiêu tích hợp mô hình thị giác máy tính YOLOv11, công cụ nhận diện ký tự PaddleOCR và framework web Laravel nhằm xây dựng hệ thống nhận diện và quản lý biển số xe tại Trường Đại học Kinh tế - Đại học Huế. Với độ chính xác 99.5% và tốc độ xử lý 4ms/ảnh, giải pháp đã chứng minh tính hiệu quả kỹ thuật trong việc tự động hóa kiểm soát phương tiện ra vào. Mặc dù vẫn còn hạn chế trong điều kiện ánh sáng yếu hoặc góc chụp lệch, công trình là tài liệu thực nghiệm có giá trị ứng dụng thực tiễn cao cho việc hiện đại hóa công tác quản lý bãi đỗ xe thông minh.