Giới thiệu dự án

Trong bối cảnh đô thị hóa nhanh chóng tại Việt Nam, sự gia tăng đột biến của phương tiện giao thông cá nhân (đặc biệt là ô tô và xe máy) đã tạo áp lực nặng nề lên hạ tầng giao thông tĩnh. Theo thống kê từ các cơ quan quản lý đô thị tại các thành phố lớn như Hà Nội, TP. Hồ Chí Minh và Đà Nẵng, hệ thống bãi đỗ xe có giấy phép hiện nay mới chỉ đáp ứng được khoảng 8% đến 10% nhu cầu thực tế của người dân. Tình trạng thiếu hụt không gian đỗ xe dẫn đến hiện tượng dừng đỗ trái phép trên lòng đường, vỉa hè, gây ùn tắc giao thông nghiêm trọng và làm mất mỹ quan đô thị.

Vấn đề thực tiễn và điểm nghẽn (Pain Points)

Các bãi đỗ xe truyền thống đang bộc lộ nhiều hạn chế cốt lõi:

  • Quy trình thủ công, độ trễ lớn: Sử dụng nhân công phát vé giấy/thẻ từ thủ công khiến thời gian xử lý mỗi lượt xe vào/ra kéo dài từ 15–30 giây, gây ùn ứ cục bộ vào các khung giờ cao điểm.
  • Thất thoát doanh thu và thiếu minh bạch: Ghi chép thủ công hoặc hệ thống thẻ từ cơ bản dễ phát sinh gian lận, nhầm lẫn số liệu hoặc mất vé xe, gây khó khăn cho công tác kiểm toán tài chính.
  • Chi phí vận hành cao: Đòi hỏi đội ngũ nhân sự túc trực 24/7 tại từng làn xe để soát vé, thu tiền mặt và điều phối barrier.
  • Rủi ro tiếp xúc vật lý: Việc trao đổi tiền mặt và thẻ từ tiềm ẩn nguy cơ lây lan dịch bệnh truyền nhiễm trong môi trường công cộng.

Mục tiêu dự án

  1. Nghiên cứu, làm chủ và ứng dụng mô hình học sâu YOLOv5-Small trong bài toán nhận diện biển số xe máy và ô tô hai giai đoạn (Localization và Character OCR).
  2. Thiết kế và tích hợp hệ thống phần cứng điều khiển nhúng sử dụng vi điều khiển ESP32, động cơ servo điều khiển thanh chắn barrier và cảm biến hồng ngoại (IR Sensor) phát hiện vật cản.
  3. Xây dựng nền tảng phần mềm quản trị tập trung trên nền Python Flask, kết nối cơ sở dữ liệu quan hệ MySQL để quản lý thông tin xe ra/vào và trạng thái bãi đỗ thời gian thực.
  4. Tích hợp cổng thanh toán trực tuyến PayOS theo mô hình A2A (Account-to-Account) thông qua mã QR động chuẩn VietQR, tự động hóa hoàn toàn luồng thu phí không tiền mặt.
  5. Thử nghiệm, đo lường và đánh giá hiệu năng hệ thống trên các tập dữ liệu mô phỏng và thực nghiệm thực tế với các tiêu chí khắt khe về độ chính xác, độ trễ và độ ổn định.

Phương pháp tiếp cận

Giải pháp tiếp cận của đồ án kết hợp giữa Computer Vision (Học sâu)IoT (Internet of Things):

  • Tách bài toán nhận diện biển số xe thành 2 giai đoạn nối tiếp: (1) Phát hiện và khoanh vùng biển số (LP_detection), (2) Nhận dạng 27 lớp ký tự chữ và số (OCR).
  • Sử dụng kiến trúc mạng nơ-ron tích chập tối ưu hóa cho biên (Edge-ready) YOLOv5s giúp giảm tải tính toán mà vẫn đảm bảo tốc độ phản hồi tính bằng mili-giây.
  • Tự động hóa đóng/mở barrier dựa trên logic liên động giữa kết quả xác thực AI, trạng thái thanh toán từ PayOS Webhook và tín hiệu an toàn từ cảm biến hồng ngoại.

Kết quả kỳ vọng

  • Độ chính xác phát hiện vùng biển số đạt trên 98% đối với ảnh rõ nét; độ chính xác nhận diện ký tự OCR đạt trên 95%.
  • Thời gian xử lý nhận diện AI dưới 100ms trên GPU/môi trường tính toán biên và toàn bộ chu trình mở barrier hoàn tất trong 1.5–2.5 giây.
  • Tự động hóa 100% quy trình thu phí và kiểm soát xe, giảm thiểu 90% nhân sự trực chốt tại cổng.

Phạm vi và giới hạn

  • Phạm vi: Ứng dụng kiểm soát phương tiện (tập trung vào xe máy và ô tô con) tại các bãi đỗ xe quy mô vừa và nhỏ như tòa nhà văn phòng, trường học, bệnh viện, khu dân cư.
  • Giới hạn: Tập trung xử lý biển số phương tiện theo quy chuẩn biển số xe cơ giới tại Việt Nam; hệ thống phụ thuộc vào chất lượng camera và yêu cầu môi trường ánh sáng tối thiểu 15–20 Lux.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Bãi đỗ xe thủ công (Vé giấy) Bãi đỗ xe thẻ từ (RFID) Hệ thống Smart Parking (YOLOv5 + PayOS)
Thời gian xử lý/lượt 15 – 30 giây 5 – 8 giây 1.5 – 2.5 giây
Rủi ro mất mát Thất lạc cuống vé, gian lận tiền Thất lạc thẻ, hỏng chip RFID Không dùng thẻ/vé vật lý, đối chiếu biển số gốc
Hình thức thu phí Tiền mặt 100% Tiền mặt / nạp tiền vào thẻ nội bộ Quét mã QR PayOS (A2A Napas247)
Chi phí nhân sự Rất cao (2-3 nhân viên/làn) Trung bình (1 nhân viên/làn) Tự động hóa hoàn toàn / 01 giám sát từ xa
Khả năng mở rộng Kém Trung bình (phụ thuộc đầu đọc thẻ) Cao (Module hóa phần mềm và IoT)

Ưu tiên yêu cầu theo mô hình MoSCoW

  • Must-Have: Nhận diện vị trí biển số xe; Tách và đọc chính xác ký tự biển số (OCR); Tự động nâng/hạ barrier qua vi điều khiển ESP32; Kiểm tra an toàn chống va đập bằng cảm biến IR; Tạo mã QR thanh toán động.
  • Should-Have: Giao diện điều khiển Web/Desktop Dashboard giám sát luồng xe trực quan; Lưu trữ lịch sử giao dịch vào MySQL; Xác thực thanh toán tự động qua Webhook IPN.
  • Could-Have: Cảnh báo xe đỗ quá giờ; Xuất báo cáo thống kê doanh thu định kỳ theo file Excel/CSV.
  • Won't-Have (Giai đoạn này): Tự động điều hướng tìm vị trí đỗ xe còn trống trong tầng hầm bằng cảm biến siêu âm từng vị trí; Nhận diện khuôn mặt người điều khiển xe.

Thiết kế hệ thống

+------------------+         +------------------+         +--------------------+
|  Camera IP / USB | ------> |  Python Server   | ------> | Database (MySQL)   |
|  (RTSP / Stream) |         |  (Flask + AI)    |         | (Lưu log & vé xe)  |
+------------------+         +--------+---------+         +--------------------+
                                      |
                 +--------------------+--------------------+
                 |                                         |
                 v                                         v
     +-----------------------+                 +-----------------------+
     |  ESP32 Microcontroller|                 |   Cổng thanh toán     |
     |  (UART / WiFi / PWM)  |                 |   PayOS (A2A API)     |
     +-----------+-----------+                 +-----------------------+
                 |
     +-----------+-----------+
     |                       |
     v                       v
+---------+             +---------+
| Cảm biến|             | Động cơ |
| IR      |             | Servo   |
+---------+             +---------+

Technology Stack và phiên bản sử dụng

  • AI Core: PyTorch v1.12.1, YOLOv5 Small/Medium (Ultralytics repository), OpenCV v4.6.0.
  • Backend Framework: Python v3.9+, Flask v2.2.2, Werkzeug v2.2.2, Jinja2.
  • Database: MySQL v8.0 / SQLite3 cho kiểm thử cục bộ.
  • Firmware / Embedded: C/C++ trên Arduino IDE / ESP-IDF cho ESP32.
  • Payment Gateway: PayOS SDK for Python / REST Open API.
  • Annotation & Training: LabelImg, Google Colab Pro (NVIDIA Tesla T4/V100 GPU).

Thiết kế cơ sở dữ liệu (Database Schema)

-- Bảng quản lý phiên đỗ xe
CREATE TABLE parking_sessions (
    session_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    plate_number VARCHAR(20) NOT NULL,
    check_in_time DATETIME NOT NULL,
    check_out_time DATETIME NULL,
    in_image_path VARCHAR(255) NOT NULL,
    out_image_path VARCHAR(255) NULL,
    status ENUM('PARKED', 'PAID', 'COMPLETED') DEFAULT 'PARKED',
    parking_fee DECIMAL(10, 2) DEFAULT 0.00,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Bảng quản lý giao dịch thanh toán
CREATE TABLE payment_transactions (
    transaction_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    session_id BIGINT NOT NULL,
    order_code BIGINT UNIQUE NOT NULL,
    amount DECIMAL(10, 2) NOT NULL,
    payment_status ENUM('PENDING', 'PAID', 'EXPIRED', 'FAILED') DEFAULT 'PENDING',
    payment_time DATETIME NULL,
    qr_code_url TEXT NULL,
    FOREIGN KEY (session_id) REFERENCES parking_sessions(session_id)
);

Thiết kế RESTful API

Endpoint Method Chức năng Request Payload Response
/api/v1/vehicle/check-in POST Xử lý xe vào, phát hiện biển số, lưu DB image_base64, lane_id plate_number, session_id, status
/api/v1/vehicle/check-out POST Xử lý xe ra, tính toán thời gian và phí image_base64, lane_id session_id, fee, order_code
/api/v1/payment/create-qr POST Tạo mã PayOS VietQR theo đơn hàng session_id, amount checkout_url, qr_code_string
/api/v1/payment/webhook POST Nhận Webhook IPN từ PayOS xác nhận tiền về orderCode, code, data HTTP 200 OK (Trigger mở barrier)
/api/v1/barrier/control POST Gửi tín hiệu điều khiển trực tiếp tới ESP32 device_id, action: OPEN/CLOSE status: SUCCESS

Phương pháp nghiên cứu và phát triển (Methodology)

Dự án áp dụng mô hình phát triển Agile/Iterative:

  • Milestone 1 (Tuần 1–3): Thu thập dữ liệu hình ảnh xe máy, gán nhãn dữ liệu bằng LabelImg; cấu hình kiến trúc YOLOv5s trên Google Colab.
  • Milestone 2 (Tuần 4–6): Huấn luyện mô hình Localization và OCR, tinh chỉnh siêu tham số (Hyperparameters), đánh giá chỉ số mAP.
  • Milestone 3 (Tuần 7–9): Lập trình vi điều khiển ESP32, đấu nối cảm biến hồng ngoại, lập trình xung PWM điều khiển động cơ servo barrier.
  • Milestone 4 (Tuần 10–12): Phát triển Backend Flask, tích hợp thư viện thanh toán PayOS Open API, thiết kế Web UI giám sát.
  • Milestone 5 (Tuần 13–14): Kiểm thử liên thông toàn hệ thống, tối ưu độ trễ và lập tài liệu kỹ thuật.

Implementation và kết quả

Quy trình phát triển và chi tiết thuật toán

Mô hình nhận diện sử dụng kiến trúc YOLOv5 với ba thành phần chính:

  1. Backbone: Dựa trên CSPNet (Cross-Stage Partial Network) giúp tối ưu hóa việc phân tách luồng gradient, giảm thiểu chi phí tính toán nhưng vẫn duy trì độ phong phú của đặc trưng trích xuất.
  2. Neck: Sử dụng PANet (Path Aggregation Network) tăng cường khả năng tổng hợp đặc trưng đa tỉ lệ từ các tầng thấp lên tầng cao.
  3. Head: Dự đoán các bounding boxes, điểm tự tin (confidence score) và xác suất phân loại lớp (class probabilities).

Hàm tổn thất (Loss Function)

Tổng độ lỗi $L_{total}$ trong quá trình tối ưu hóa YOLOv5 được tính theo công thức:

$$L_{total} = L_{confidence} + L_{classification} + L_{localization}$$

Trong đó:

  • Classification Loss: $$L_{classification} = \sum_{i=0}^{S^2} \pi_i^{obj} \sum_{c \in classes} \left( \rho_i(c) - \hat{\rho}_i(c) \right)^2$$ (Với $\pi_i^{obj} = 1$ khi ô vuông thứ $i$ chứa đối tượng và bằng 0 nếu ngược lại; $\rho_i(c)$ là phân phối xác suất lớp thực tế).

  • Localization Loss: $$L_{localization} = \sum_{i=0}^{S^2} \sum_{j=0}^{B} \pi_{ij}^{obj} \left[ (\Delta x_i - \hat{\Delta x_i})^2 + (\Delta y_i - \hat{\Delta y_i})^2 + (w_i - \hat{w}_i)^2 + (h_i - \hat{h}_i)^2 \right]$$

  • Confidence Loss: $$L_{confidence} = \sum_{i=0}^{S^2} \sum_{j=0}^{B} \pi_{ij}^{obj} (C_i - \hat{C}i)^2 + \lambda{noobj} \sum_{i=0}^{S^2} \sum_{j=0}^{B} \pi_{ij}^{noobj} (C_i - \hat{C}_i)^2$$

Mã nguồn huấn luyện mô hình (Google Colab CLI)

# Giai đoạn 1: Huấn luyện phát hiện vùng biển số (License Plate Localization)
!python train.py --img 320 --batch 32 --epochs 30 \
  --data /yolov5/data/LP_detection.yaml \
  --weights yolov5s.pt --cache

# Giai đoạn 2: Huấn luyện nhận diện 27 lớp ký tự biển số (Character OCR)
!python train.py --img 640 --batch 32 --epochs 30 \
  --data /yolov5/data/char_detect.yaml \
  --weights yolov5m.pt --cache

Xử lý cắt vùng biển số và nhận dạng ký tự (Python Backend Pipeline)

import cv2
import torch
import numpy as np

# Load mô hình YOLOv5 đã huấn luyện
plate_detector = torch.hub.load('ultralytics/yolov5', 'custom', path='weights/lp_detect_best.pt')
ocr_detector = torch.hub.load('ultralytics/yolov5', 'custom', path='weights/char_ocr_best.pt')

def process_license_plate(frame):
    """
    Nhận diện vùng biển số -> Crop ảnh -> Nhận diện ký tự OCR -> Sắp xếp chuỗi
    """
    results = plate_detector(frame)
    detections = results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, conf, cls]
    
    if len(detections) == 0:
        return None, None
        
    # Chọn bounding box có confidence cao nhất
    best_plate = detections[np.argmax(detections[:, 4])]
    x1, y1, x2, y2 = map(int, best_plate[:4])
    
    # Cắt vùng ảnh chứa biển số xe
    plate_crop = frame[y1:y2, x1:x2]
    
    # Nhận diện các ký tự trên biển số
    ocr_results = ocr_detector(plate_crop)
    char_boxes = ocr_results.xyxy[0].cpu().numpy()
    
    # Sắp xếp ký tự theo tọa độ từ trên xuống dưới, từ trái sang phải
    chars_sorted = sort_plate_characters(char_boxes)
    plate_text = "".join([char['label'] for char in chars_sorted])
    
    return plate_text, plate_crop

Điều khiển nhúng ESP32 và cảm biến (C++ Arduino Firmware)

#include <ESP32Servo.h>

const int SERVO_PIN = 18;
const int IR_SENSOR_PIN = 19;

Servo barrierServo;
bool isBarrierOpen = false;

void setup() {
  Serial.begin(115200);
  pinMode(IR_SENSOR_PIN, INPUT);
  barrierServo.attach(SERVO_PIN, 500, 2400); // Đặt dải xung PWM cho Servo SG90
  barrierServo.write(0); // Vị trí đóng ban đầu (0 độ)
}

void loop() {
  if (Serial.available() > 0) {
    String command = Serial.readStringUntil('\n');
    command.trim();
    
    if (command == "OPEN_BARRIER") {
      openBarrier();
    }
  }

  // Tự động đóng barrier khi xe đã qua và không còn vật cản
  if (isBarrierOpen && digitalRead(IR_SENSOR_PIN) == HIGH) {
    delay(1000); // Trễ an toàn
    closeBarrier();
  }
}

void openBarrier() {
  barrierServo.write(90); // Mở góc 90 độ
  isBarrierOpen = true;
  Serial.println("STATUS:BARRIER_OPENED");
}

void closeBarrier() {
  barrierServo.write(0);  // Đóng về vị trí 0 độ
  isBarrierOpen = false;
  Serial.println("STATUS:BARRIER_CLOSED");
}

Kiểm thử và đánh giá hiệu năng

Quá trình kiểm thử được tiến hành trên tập dữ liệu gồm 1.200 ảnh chụp xe máy và ô tô trong nhiều điều kiện môi trường:

  • Tập huấn luyện (Training Set): 80% (960 ảnh).
  • Tập kiểm định (Validation Set): 20% (240 ảnh).

Kết quả Benchmark mô hình

  • Giai đoạn 1 (LP Detection - YOLOv5s):
    • Precision: 98.4%
    • Recall: 97.8%
    • mAP@0.5: 98.9%
    • Thời gian xử lý trung bình: 18.2 ms/frame (GPU T4), 62.4 ms/frame (Intel Core i5 CPU).
  • Giai đoạn 2 (Character OCR - 27 Classes - YOLOv5m):
    • Precision: 96.1%
    • Recall: 95.3%
    • mAP@0.5: 96.8%
    • Thời gian xử lý trung bình: 28.5 ms/frame (GPU T4).

Thử nghiệm theo điều kiện môi trường

Kịch bản thử nghiệm Số lượng mẫu Tỷ lệ nhận diện đúng Thời gian phản hồi TB Ghi chú
Ánh sáng ban ngày thuận lợi 500 99.2% 1.45 giây Hoạt động tối ưu
Ánh sáng yếu / Ban đêm 300 94.6% 1.82 giây Cần đèn LED hỗ trợ phụ
Biển số mờ / Trầy xước nhẹ 200 91.5% 2.10 giây Đôi khi nhầm lẫn '8' và 'B'
Góc nghiêng camera (> 30°) 200 89.0% 2.35 giây Ảnh hưởng bởi biến dạng hình học

Đổi mới và đóng góp

Đổi mới kỹ thuật

  1. Kiến trúc nhận diện 2 tầng tối ưu: Thay vì sử dụng một mô hình duy nhất dự đoán trực tiếp ký tự từ khung hình lớn gây nhiễu, hệ thống chia nhỏ thành bài toán khoanh vùng biển số bằng YOLOv5-Small nhẹ, sau đó mới phóng to và nhận dạng ký tự bằng mô hình OCR chuyên biệt. Phương pháp này giảm 65% lỗi nhận diện sai do các vật thể nền tương tự chữ số.
  2. Cơ chế thanh toán A2A không chạm qua PayOS: Loại bỏ hoàn toàn sự phụ thuộc vào ví điện tử đóng kín hoặc thẻ vật lý. Sử dụng Open API ngân hàng giúp tiền chuyển trực tiếp từ tài khoản khách hàng sang tài khoản quản lý bãi đỗ với độ trễ phản hồi Webhook dưới 1 giây và phí giao dịch tiệm cận 0%.
  3. Điều khiển nhúng liên động an toàn: ESP32 tích hợp cơ chế ngắt phần cứng kết hợp cảm biến hồng ngoại, ngăn chặn việc barrier đóng sập khi xe vẫn còn nằm trong vùng kiểm soát nguy hiểm.

So sánh với các giải pháp hiện hành

Đặc tính kỹ thuật Giải pháp truyền thống Hệ thống RFID bán tự động Hệ thống đề xuất (YOLOv5 + PayOS)
Công nghệ định danh Thị giác người soát vé Thẻ từ RFID tần số 13.56MHz Thị giác máy tính YOLOv5 AI
Tốc độ lưu thông xe 120 xe/giờ 450 xe/giờ 720+ xe/giờ
Chi phí phần cứng tiêu hao Vé giấy / mực in Thẻ nhựa RFID (dễ gãy, mất) 0 đồng (không vật tư tiêu hao)
Khả năng tự động hóa 0% 40% 95%
Chi phí tích hợp cổng thanh toán 0% (tiền mặt) Cao (POS máy quẹt thẻ) Thấp (Open API PayOS miễn phí)

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế

  • Tòa nhà văn phòng & Trung tâm thương mại: Tự động nhận diện biển số nhân viên đã đăng ký vé tháng để mở barrier ngay lập tức; đối với khách vãng lai, hệ thống tự động sinh mã VietQR trên màn hình hiển thị tại cổng ra để khách quét thanh toán qua App ngân hàng bất kỳ.
  • Bệnh viện và Trường học: Giảm tải tắc nghẽn cục bộ vào các khung giờ cao điểm đầu giờ sáng; hạn chế tối đa nguy cơ lây nhiễm chéo vi khuẩn/virus qua tiền mặt hoặc thẻ nhựa tái sử dụng.

Yêu cầu phần cứng và phần mềm triển khai

  • Thiết bị tại mỗi làn xe:
    • 01 Camera độ phân giải tối thiểu Full HD (1080p), hỗ trợ chuẩn RTSP và có khả năng bắt hình ở tốc độ 30fps.
    • 01 Module vi điều khiển ESP32 NodeMCU-32S.
    • 01 Động cơ Servo / Động cơ bước điều khiển thanh chắn barrier.
    • 01 Cặp cảm biến hồng ngoại thu-phát IR chống va đập.
    • 01 Màn hình LCD/LED hiển thị mã QR thanh toán PayOS.
  • Máy chủ điều khiển (Edge Server / Local PC):
    • CPU: Intel Core i5 thế hệ 10 hoặc tương đương.
    • RAM: Tối thiểu 8GB DDR4.
    • GPU (Khuyến nghị): NVIDIA GeForce GTX 1650 hoặc cao hơn (hỗ trợ CUDA) để xử lý đa làn đồng thời.
    • Hệ điều hành: Ubuntu 20.04/22.04 LTS hoặc Windows 10/11 64-bit.

Phân tích chi phí - lợi ích (Cost-Benefit Analysis & ROI)

  • Chi phí đầu tư ban đầu (CAPEX): Ước tính khoảng 15 – 25 triệu VNĐ cho một làn xe hoàn chỉnh (bao gồm Camera, Mini PC, ESP32, Barrier cơ điện và phụ kiện).
  • Chi phí vận hành hàng tháng (OPEX): Giảm từ 18 triệu VNĐ/tháng (thuê 3 ca nhân viên bảo vệ soát vé) xuống còn dưới 1.5 triệu VNĐ/tháng (tiền điện và bảo trì mạng).
  • Thời gian hoàn vốn (ROI): Ước tính từ 4 đến 6 tháng đối với bãi đỗ xe thương mại quy mô 300–500 lượt xe/ngày.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Điều kiện thời tiết khắc nghiệt: Trong điều kiện mưa bão lớn làm nhòe ống kính camera hoặc biển số bị bám bùn đất che lấp quá 30% diện tích, độ chính xác nhận diện giảm xuống dưới 80%.
  • Chưa tối ưu hóa toàn diện cho phần cứng siêu nhẹ: Mô hình hiện tại vẫn cần GPU tầm trung để đạt độ trễ < 30ms; khi chạy thuần CPU trên Raspberry Pi, tốc độ bị giảm xuống mức 1.5–2 khung hình/giây.

Hướng phát triển trong tương lai

  1. Nâng cấp kiến trúc mô hình: Nghiên cứu chuyển đổi sang YOLOv8 hoặc YOLOv10 kết hợp các kỹ thuật lượng tử hóa trọng số (TensorRT, INT8 Quantization) để triển khai trực tiếp trên các chip biên NPU như NVIDIA Jetson Nano hay Orange Pi AI.
  2. Bổ sung nhận diện loại phương tiện và màu xe: Tích hợp thêm nhánh nhận diện đa tác vụ (Multi-task learning) để phát hiện hãng xe, màu sơn và nhận diện khuôn mặt người lái xe nhằm nâng cao tính an ninh chống trộm cắp phương tiện.
  3. Mở rộng tính năng Smart Guidance: Tích hợp mạng cảm biến siêu âm hoặc camera toàn cảnh trên cao để chỉ dẫn vị trí ô đỗ còn trống qua ứng dụng di động cho tài xế.

Đối tượng hưởng lợi

  • Sinh viên & Người học ngành Kỹ thuật: Cung cấp tài liệu tham khảo thực tế về việc áp dụng mô hình Computer Vision từ khâu gán nhãn, huấn luyện đến triển khai hệ thống nhúng giao tiếp phần cứng.
  • Lập trình viên & Kỹ sư IoT: Cung cấp mẫu thiết kế kiến trúc chuẩn (Architectural Blueprint) về việc liên kết giữa Python Backend, hệ thống nhúng ESP32 và Open API thanh toán trực tuyến.
  • Doanh nghiệp & Đơn vị vận hành bãi đỗ xe: Sở hữu giải pháp chuyển đổi số với chi phí hợp lý, nâng cao tỷ suất sinh lời, kiểm soát 100% dòng tiền doanh thu minh bạch.
  • Người tham gia giao thông: Trải nghiệm dịch vụ gửi xe nhanh chóng, tiết kiệm 80% thời gian chờ đợi, an toàn và tiện lợi khi thanh toán qua điện thoại thông minh.

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

1. Hệ thống có thể hoạt động khi mất kết nối Internet hay không?

Khi mất kết nối Internet, phân hệ nhận diện biển số xe bằng AI và điều khiển barrier đóng/mở qua ESP32 cục bộ vẫn hoạt động bình thường. Tuy nhiên, tính năng thanh toán quét mã QR PayOS sẽ tạm thời không khả dụng; hệ thống sẽ tự động chuyển sang chế độ dự phòng (ghi nhận công nợ hoặc yêu cầu nhân viên thu tiền mặt khẩn cấp).

2. Mô hình có phân biệt được biển số giả hoặc biển số bị cong vênh không?

YOLOv5 có khả năng trích xuất đặc trưng hình học mạnh mẽ nên vẫn nhận diện tốt các biển số bị cong vênh ở mức độ vừa phải (sai lệch góc < 35 độ). Tuy nhiên, đối với biển số giả mạo tinh vi, hệ thống cần tích hợp thêm dữ liệu đối chiếu với cơ sở dữ liệu đăng kiểm quốc gia qua API của Cục Cảnh sát Giao thông.

3. Tốc độ nhận diện có bị suy giảm khi có nhiều làn xe hoạt động cùng lúc không?

Khi triển khai hệ thống máy chủ có card đồ họa hỗ trợ CUDA (ví dụ GTX 1650 trở lên), mô hình có thể xử lý đa luồng (Multi-threading) song song từ 4–8 luồng camera RTSP với độ trễ tăng thêm không đáng kể (< 15ms/luồng).

4. Hệ thống đảm bảo an toàn như thế nào để tránh barrier hạ trúng xe?

Hệ thống sử dụng cơ chế bảo vệ 2 lớp: Lớp 1 là thuật toán logic phần mềm chỉ gửi lệnh đóng khi camera xác nhận xe đã rời khỏi khung hình; Lớp 2 là cảm biến hồng ngoại phần cứng gắn trực tiếp dưới chân barrier, tự động giữ barrier mở khi phát hiện vật cản cắt ngang tia hồng ngoại.

5. Chi phí bảo trì và độ bền của phần cứng ESP32 và Servo như thế nào?

Module ESP32 có độ bền công nghiệp cao, hoạt động ổn định trong dải nhiệt độ từ -40°C đến 125°C. Động cơ Servo trong môi trường thử nghiệm là dòng SG90 mô hình; khi triển khai thực tế quy mô lớn, chỉ cần thay thế bằng động cơ Servo công nghiệp hoặc Barrier tự động chuyên dụng (220V/24V) thông qua mạch kích Relay đóng cắt chuẩn công nghiệp.


Kết luận

Đồ án “Nghiên cứu xây dựng bãi đỗ xe thông minh” đã giải quyết thành công bài toán tự động hóa kiểm soát phương tiện giao thông tĩnh thông qua sự kết hợp nhịp nhàng giữa trí tuệ nhân tạo và công nghệ Internet vạn vật. Bằng việc ứng dụng mô hình học sâu hai giai đoạn YOLOv5-SmallYOLOv5-Medium, hệ thống đạt độ chính xác nhận diện trên 95% với thời gian phản hồi toàn trình dưới 2.5 giây. Việc tích hợp cổng thanh toán PayOS theo chuẩn A2A VietQR mang lại bước đột phá trong việc tối ưu hóa chi phí vận hành và nâng cao trải nghiệm người dùng cuối.

Kết quả nghiên cứu không chỉ mang giá trị học thuật cao mà còn có tính ứng dụng thực tiễn to lớn, sẵn sàng để chuyển giao và nhân rộng tại các đô thị thông minh trong kỷ nguyên chuyển đổi số quốc gia.