Giới thiệu dự án

Bối cảnh và thực trạng ngành giao thông

Tại các đô thị lớn ở Việt Nam như TP. Hồ Chí Minh và Hà Nội, tốc độ đô thị hóa nhanh chóng cùng sự gia tăng phương tiện cá nhân (hơn 8,5 triệu xe máy và gần 1 triệu ô tô đăng ký tại TP.HCM tính đến năm 2021) đã đặt áp lực nặng nề lên hạ tầng giao thông. Ùn tắc kéo dài, tai nạn giao thông và vi phạm tốc độ diễn ra phổ biến. Trong khi đó, công tác quản lý giao thông truyền thống vẫn phụ thuộc phần lớn vào giám sát thủ công bằng mắt thường của lực lượng cảnh sát hoặc các thiết bị cơ học cổ điển.

Vấn đề nghiên cứu cụ thể

Các giải pháp giám sát truyền thống bộc lộ nhiều nhược điểm nghiêm trọng:

  • Ống hơi áp lực mặt đường (Pneumatic Tubes): Dễ đếm sai số trục đối với xe tải nhiều hơn hai trục hoặc xe máy đi song song, đồng thời dễ bị hỏng hóc cơ học dưới tải trọng lớn.
  • Súng bắn tốc độ cầm tay / Cảm biến Radar: Chi phí trang bị cao, phạm vi đo hẹp, chỉ theo dõi được một mục tiêu tại một thời điểm và đòi hỏi nhân lực túc trực thường xuyên.
  • Camera quan sát thông thường (CCTV): Chỉ cung cấp hình ảnh trực quan thụ động, trung tâm điều hành không thể tự động thống kê lưu lượng hay phát hiện vi phạm tốc độ theo thời gian thực.

Môi trường giao thông Việt Nam có đặc thù mật độ phương tiện hỗn hợp (xe máy chiếm trên 75%), các đối tượng di chuyển đan xen, che khuất nhau liên tục (occlusion), khiến các giải pháp thị giác máy tính quốc tế khi áp dụng trực tiếp đều gặp sai số lớn.

Mục tiêu của đồ án

  1. Xây dựng tập dữ liệu video và hình ảnh giao thông đặc thù tại các nút giao trọng điểm TP. Hồ Chí Minh với đầy đủ nhãn gán cho phương tiện hỗn hợp.
  2. Thiết kế và huấn luyện mô hình học sâu phát hiện đối tượng (Object Detection) dựa trên kiến trúc YOLOv4, đạt sự cân bằng tối ưu giữa tốc độ suy luận (FPS) và độ chính xác (mAP).
  3. Triển khai thuật toán theo vết đa đối tượng (Multi-Object Tracking - MOT) bằng bộ lọc Kalman Filter kết hợp thuật toán Hungarian nhằm duy trì định danh xe liên tục qua các khung hình.
  4. Xây dựng module phân tích thông minh: Tự động đếm lưu lượng phương tiện theo làn và ước lượng vận tốc tức thời dựa trên phép biến đổi tọa độ điểm ảnh sang tọa độ thực tế (GPS/Homography).

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

Đồ án lựa chọn mô hình học sâu kết hợp xử lý thị giác máy tính thời gian thực (Real-time Computer Vision Pipeline):

  • Phát hiện: Áp dụng YOLOv4 với mạng xương sống CSPDarknet53, tích hợp Spatial Pyramid Pooling (SPP) và Path Aggregation Network (PANet).
  • Theo vết: Sử dụng Linear Kalman Filter và Unscented Kalman Filter (UKF) kết hợp Hungarian Algorithm để giải bài toán gán định danh (Data Association).
  • Phân tích: Thiết lập các đường ranh giới ảo (Virtual Counting Lines) để đếm xe và hiệu chuẩn không gian ảnh với tọa độ GPS thực địa thông qua bản đồ vệ tinh để tính vận tốc di chuyển.
+---------------+     +------------------+     +-------------------+
|  Camera RTSP  | --> | YOLOv4 Detection | --> |   Kalman Filter   |
| Video Stream  |     | (CSPDarknet53)   |     | + Hungarian Match |
+---------------+     +------------------+     +-------------------+
                                                         |
                                                         v
+------------------+     +------------------+     +-------------------+
| Thống kê & Cảnh  | <-- | Module Tính Vận  | <-- | Module Đếm Xe Qua |
| báo Vi phạm      |     | Tốc (Pixel -> GPS|     | Ranh Giới Ảo      |
+------------------+     +------------------+     +-------------------+

Kết quả kỳ vọng và chỉ số đo lường

  • Tốc độ xử lý luồng video: $\ge 30\text{ FPS}$ trên phần cứng GPU tiêu chuẩn.
  • Độ chính xác phát hiện trung bình (mAP@0.5): $\ge 85%$ trên tập kiểm thử giao thông Việt Nam.
  • Sai số đếm lưu lượng phương tiện: $< 5%$.
  • Sai số đo vận tốc phương tiện so với thiết bị chuẩn: $< \pm 4\text{ km/h}$.

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

  • Địa điểm thu thập dữ liệu: 5 nút giao thông trọng điểm tại TP.HCM (Công viên Gia Định, Đại lộ Phạm Văn Đồng, Xa lộ Hà Nội, Cao tốc TP.HCM - Trung Lương, đường Nguyễn Văn Cừ) với tổng cộng 14 video đa góc quay.
  • Đối tượng nhận diện: 4 lớp phương tiện chính gồm Xe con (Car), Xe máy (Motorbike), Xe buýt (Bus), Xe tải (Truck).
  • Điều kiện môi trường: Ban ngày, ánh sáng tự nhiên từ thuận lợi đến phức tạp, camera cố định góc nhìn từ trên cao (overhead viewpoint).

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

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

So sánh các giải pháp giám sát giao thông

Tiêu chí Ống hơi áp lực Vòng từ cảm ứng Radar / Laser cầm tay Hệ thống AI Camera đề xuất
Chi phí triển khai Trung bình Rất cao (xẻ đường) Cao Thấp - Tối ưu (tận dụng camera sẵn có)
Bảo trì & Vận hành Thường xuyên đứt rách Phức tạp khi trải nhựa lại Đòi hỏi nhân sự túc trực Tự động hóa 100%, bảo trì phần mềm
Độ chính xác đếm Thấp khi kẹt xe ($< 75%$) Tốt với ô tô ($85-90%$) Không hỗ trợ đếm Rất cao ($> 95%$)
Đo tốc độ đa xe Không hỗ trợ Đo theo cặp cảm ứng Chỉ đo từng xe một Đo đồng thời hàng chục xe trên khung hình
Lưu trữ bằng chứng Không Không Ảnh tĩnh đơn lẻ Video clip, biển số, quỹ đạo di chuyển

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc phải có): Phát hiện chính xác 4 lớp phương tiện; gán ID duy nhất theo thời gian thực; đếm chính xác số lượng xe vượt qua vạch ảo; tính vận tốc tức thời từng xe.
  • Should have (Nên có): Giao diện dashboard trực quan hiển thị bounding box, vector quỹ đạo và nhãn tốc độ; biểu đồ thống kê lưu lượng theo khung giờ.
  • Could have (Có thể có): Tự động phát hiện cảnh báo xe đỗ sai quy định, xe đi lấn làn đường.
  • Won't have (Chưa thực hiện trong giai đoạn này): Nhận diện biển số xe ban đêm trong điều kiện thiếu sáng hoặc mưa bão cực đoan.

Thiết kế hệ thống

Kiến trúc tổng thể và công nghệ sử dụng

Hệ thống được xây dựng theo kiến trúc module hóa đa tầng:

  1. Tầng tiếp nhận dữ liệu (Ingestion Layer): OpenCV VideoCapture thu nhận luồng video/RTSP $1920\times 1080$ @ 30 FPS.
  2. Tầng xử lý thị giác máy tính (AI Processing Core): YOLOv4 Deep CNN thực thi trích xuất đặc trưng và dự đoán bounding box $\mathbf{y} = [p_c, b_x, b_y, b_h, b_w, c_1, c_2, c_3, c_4]^T$.
  3. Tầng theo vết & Phân tích động học (Tracking & Kinematics Layer): Kalman Filter ước lượng trạng thái liên tục; giải thuật Hungarian tối ưu hóa ma trận chi phí khoảng cách IoU; Module Homography quy đổi dịch chuyển điểm ảnh sang cự ly mét thực tế.
  4. Tầng trình diễn & Lưu trữ (Presentation & Storage): Trực quan hóa dữ liệu trên màn hình giám sát và ghi log kết quả phục vụ trích xuất.

Bảng công nghệ và phiên bản (Technology Stack)

Thành phần Công nghệ / Thư viện Phiên bản Vai trò kỹ thuật
Ngôn ngữ cốt lõi Python 3.8.10 Lập trình logic hệ thống, xử lý luồng
Framework Deep Learning Darknet / PyTorch YOLOv4 Official / 1.9.0 Huấn luyện và chạy suy luận mô hình CNN
Thị giác máy tính OpenCV 4.5.2 Đọc luồng video, vẽ bounding box, xử lý ma trận ảnh
Tính toán ma trận NumPy / SciPy 1.20.3 / 1.6.3 Tối ưu phép tính ma trận covariance và Hungarian
Công cụ gán nhãn DarkLabel 1.3 Tạo bounding box nhãn cho tập dữ liệu tự quay
Hiệu năng GPU CUDA / cuDNN 11.2 / 8.1.1 Tăng tốc phần cứng suy luận Tensor trên GPU

Phương pháp luận (Methodology)

Đồ án triển khai theo quy trình phát triển lặp CRISP-DM (Cross-Industry Standard Process for Data Mining) kết hợp mô hình Agile gồm 4 giai đoạn chính:

  • Tuần 1 - 3: Khảo sát địa bàn, thu thập 14 video tại 5 nút giao thông TP.HCM, tiền xử lý và gắn nhãn bằng DarkLabel.
  • Tuần 4 - 7: Thiết kế backbone mạng, huấn luyện và tối ưu các siêu tham số của SSD và YOLOv4 trên GPU; thực nghiệm so sánh mAP.
  • Tuần 8 - 11: Tích hợp bộ lọc Linear Kalman và Unscented Kalman, thử nghiệm giải thuật Hungarian, xây dựng thuật toán đo tốc độ dựa trên tọa độ GPS thực tế.
  • Tuần 12 - 14: Đánh giá tổng thể hệ thống, đo đạc độ trễ, tối ưu hóa pipeline và đóng gói báo cáo khóa luận.

Implementation và kết quả

Quá trình phát triển và thuật toán then chốt

1. Mô hình phát hiện đối tượng YOLOv4

YOLOv4 chia bức ảnh đầu vào kích thước $608\times 608\times 3$ thành các lưới ô (grid cells) đa quy mô ($19\times 19$, $38\times 38$, $76\times 76$) nhằm nhận diện tốt cả phương tiện kích thước lớn lẫn xe máy kích thước nhỏ từ xa. Kiến trúc CSPDarknet53 phân tách bản đồ đặc trưng của tầng cơ sở thành hai phần: một phần đi qua Dense Block và một phần kết hợp trực tiếp qua Cross-Stage Hierarchy, giảm $20%$ chi phí tính toán nhưng giữ nguyên độ biểu diễn đặc trưng.

Vector đầu ra dự đoán tại mỗi ô lưới được chuẩn hóa: $$b_x = \sigma(t_x) + c_x, \quad b_y = \sigma(t_y) + c_y$$ $$b_w = p_w e^{t_w}, \quad b_h = p_h e^{t_h}$$

Trong đó $(c_x, c_y)$ là tọa độ góc của ô lưới, $(p_w, p_h)$ là kích thước anchor box tiền định.

import numpy as np

def calculate_iou(box1, box2):
    """
    Tính chỉ số Intersection over Union (IoU) giữa hai bounding box.
    Định dạng box: [x1, y1, x2, y2]
    """
    x_left = max(box1[0], box2[0])
    y_top = max(box1[1], box2[1])
    x_right = min(box1[2], box2[2])
    y_bottom = min(box1[3], box2[3])

    if x_right < x_left or y_bottom < y_top:
        return 0.0

    intersection_area = (x_right - x_left) * (y_bottom - y_top)
    box1_area = (box1[2] - box1[0]) * (box1[3] - box1[1])
    box2_area = (box2[2] - box2[0]) * (box2[3] - box2[1])
    
    iou = intersection_area / float(box1_area + box2_area - intersection_area)
    return max(0.0, min(iou, 1.0))

2. Thuật toán theo vết đa đối tượng với Kalman Filter & Hungarian Algorithm

Trạng thái của phương tiện tại thời điểm $t$ được biểu diễn qua vector 7 chiều: $$\mathbf{x}_t = [u, v, s, r, \dot{u}, \dot{v}, \dot{s}]^T$$ Trong đó $(u, v)$ là tọa độ tâm bounding box, $s$ là diện tích khung bao, $r$ là tỉ lệ khung hình (aspect ratio), và $(\dot{u}, \dot{v}, \dot{s})$ là đạo hàm vận tốc tương ứng.

Chu trình hoạt động:

  1. Dự đoán (Predict): $$\mathbf{x}{t|t-1} = \mathbf{F} \mathbf{x}{t-1|t-1}, \quad \mathbf{P}{t|t-1} = \mathbf{F} \mathbf{P}{t-1|t-1} \mathbf{F}^T + \mathbf{Q}$$
  2. Cập nhật (Update): Dựa trên ma trận liên kết Hungarian với ma trận chi phí khoảng cách $1 - \text{IoU}$, tính độ lợi Kalman $\mathbf{K}t$ và hiệu chỉnh: $$\mathbf{K}t = \mathbf{P}{t|t-1}\mathbf{H}^T(\mathbf{H}\mathbf{P}{t|t-1}\mathbf{H}^T + \mathbf{R})^{-1}$$ $$\mathbf{x}{t|t} = \mathbf{x}{t|t-1} + \mathbf{K}_t(\mathbf{z}t - \mathbf{H}\mathbf{x}{t|t-1})$$
from scipy.optimize import linear_sum_assignment

def associate_detections_to_trackers(detections, trackers, iou_threshold=0.3):
    """
    Gán các box phát hiện mới với các tracklet hiện có bằng giải thuật Hungarian.
    """
    if len(trackers) == 0:
        return np.empty((0, 2), dtype=int), np.arange(len(detections)), np.empty((0,), dtype=int)

    iou_matrix = np.zeros((len(detections), len(trackers)), dtype=np.float32)
    for d, det in enumerate(detections):
        for t, trk in enumerate(trackers):
            iou_matrix[d, t] = calculate_iou(det, trk)

    # Giải thuật Hungarian giải bài toán Minimum Cost Bipartite Matching
    cost_matrix = 1.0 - iou_matrix
    row_ind, col_ind = linear_sum_assignment(cost_matrix)

    matched_indices = []
    unmatched_detections = []
    unmatched_trackers = []

    for d in range(len(detections)):
        if d not in row_ind:
            unmatched_detections.append(d)
    for t in range(len(trackers)):
        if t not in col_ind:
            unmatched_trackers.append(t)

    for r, c in zip(row_ind, col_ind):
        if iou_matrix[r, c] < iou_threshold:
            unmatched_detections.append(r)
            unmatched_trackers.append(c)
        else:
            matched_indices.append([r, c])

    return np.array(matched_indices), np.array(unmatched_detections), np.array(unmatched_trackers)

3. Thuật toán đếm xe và đo vận tốc thực nghiệm

  • Đếm xe: Thiết lập vector đoạn thẳng ảo $L = (A, B)$. Khi tâm xe di chuyển từ vị trí $P_{t-1}$ sang $P_t$, thuật toán kiểm tra sự giao nhau của hai đoạn thẳng $P_{t-1}P_t$ và $AB$ qua tích có hướng (Cross Product): $$\text{Intersect}(P_{t-1}P_t, AB) = \text{True} \iff (\vec{P_{t-1}A} \times \vec{P_{t-1}B}) \cdot (\vec{P_tA} \times \vec{P_tB}) < 0$$
  • Đo tốc độ: Sử dụng phép biến đổi phối cảnh (Perspective Transform) kết hợp tọa độ đo đạc thực địa GPS từ Google Maps. Với hai mốc điểm thực tế cách nhau $D\text{ (mét)}$, thời gian phương tiện di chuyển qua hai mốc là $\Delta t = \frac{\Delta \text{frames}}{\text{FPS}}$, vận tốc được tính bằng: $$v = \frac{D}{\Delta t} \times 3.6 = \frac{D \times \text{FPS}}{f_{\text{out}} - f_{\text{in}}} \times 3.6 \quad (\text{km/h})$$
def estimate_speed(frame_start, frame_end, real_distance_meters, fps=30.0):
    """
    Tính vận tốc tức thời của xe dựa trên khoảng cách mét thực địa và số frames di chuyển.
    """
    delta_frames = frame_end - frame_start
    if delta_frames <= 0:
        return 0.0
    time_seconds = delta_frames / fps
    speed_mps = real_distance_meters / time_seconds
    speed_kmh = speed_mps * 3.6
    return round(speed_kmh, 2)

Thử nghiệm và đánh giá kết quả

So sánh mô hình phát hiện: SSD vs YOLOv4

Mô hình Backbone mAP@0.5 (%) Precision (%) Recall (%) Tốc độ suy luận (FPS trên GPU V100)
SSD (Single Shot Detector) VGG-16 74.2% 76.5% 71.8% 38 FPS
YOLOv4 (Đề xuất) CSPDarknet53 89.6% 91.2% 87.4% 45 FPS

Nhận xét: YOLOv4 vượt trội hoàn toàn so với SSD với độ chính xác mAP cao hơn +15.4% và tốc độ xử lý nhanh hơn gần 18.4%, xử lý mượt mà luồng video độ nét cao.

So sánh giải thuật theo vết: Linear Kalman Filter vs Unscented Kalman Filter (UKF)

Thực nghiệm trên các tình huống phức tạp (xe bị khuất sau cột điện, cây xanh hoặc xe tải lớn che xe máy):

  • Linear Kalman Filter: Tính toán ma trận covariance nhanh ($O(n^3)$ với $n=7$), duy trì ID tốt khi xe chạy thẳng hoặc đổi làn nhẹ. Khi xe bị che khuất hoàn toàn quá $6-8$ frames liên tiếp, vị trí dự đoán bị trôi và tạo ID mới khi xuất hiện lại.
  • Unscented Kalman Filter (UKF): Xử lý tốt hơn các quỹ đạo phi tuyến (xe máy lạng lách, quay đầu), tuy nhiên chi phí tính toán tăng $35%$.
  • Quyết định lựa chọn: Đồ án chọn Linear Kalman Filter kết hợp cơ chế lưu trữ bộ đệm tracklet trong 15 frames để khôi phục định danh xe khi vượt qua vật cản, đảm bảo tối ưu hóa độ trễ thời gian thực.

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

  1. Bộ dữ liệu giao thông thực tế tại Việt Nam: Xây dựng và gắn nhãn thủ công hơn 10.000 khung hình trích xuất từ 14 video tại 5 nút giao thông đông đúc của TP.HCM, giải quyết bài toán thiếu hụt dữ liệu huấn luyện đặc thù cho phương tiện hỗn hợp.
  2. Tối ưu hóa pipeline phát hiện và theo vết: Tích hợp thành công YOLOv4 (CSPDarknet53) và Linear Kalman Filter với Hungarian Matching, đạt hiệu suất xử lý thực tế 45 FPS, vượt trội so với các hệ thống R-CNN truyền thống vốn chỉ đạt $5-10\text{ FPS}$.
  3. Cơ chế đo vận tốc không xâm lấn thông qua bản đồ số: Đề xuất phương pháp kết hợp tọa độ điểm ảnh với mốc đo thực địa GPS (Google Maps Reference), loại bỏ sự cần thiết của các thiết bị cảm biến phần cứng đắt tiền gắn trên mặt đường.
  4. Cải thiện độ chính xác đếm xe: Đạt tỷ lệ chính xác $96.8%$ trong điều kiện lưu thông hỗn hợp, giảm thiểu hiện tượng đếm trùng lặp (double counting) bằng cách theo dõi vector quỹ đạo phương tiện thay vì chỉ kiểm tra bounding box tĩnh.

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

Kịch bản ứng dụng thực tế

  • Trung tâm điều hành giao thông thông minh đô thị (Smart City TMC): Tự động đếm lưu lượng phương tiện theo thời gian thực để điều khiển nhịp đèn tín hiệu giao thông thích ứng linh hoạt.
  • Phát hiện và xử phạt vi phạm tự động: Phát hiện xe chạy quá tốc độ quy định trên các tuyến đường cao tốc và đại lộ (như Đại lộ Phạm Văn Đồng, Cao tốc TP.HCM - Trung Lương).
  • Giám sát an ninh bãi đỗ xe và khu công nghiệp: Thống kê lượt xe ra vào, tự động phát hiện phương tiện dừng đỗ sai vị trí tại các khu vực cấm.
+-------------------------------------------------------------+
|               KIẾN TRÚC TRIỂN KHAI THỰC TẾ                  |
|                                                             |
|  [IP Camera RTSP]   [IP Camera RTSP]   [IP Camera RTSP]     |
|         |                  |                  |             |
|         +------------------+------------------+             |
|                            | (Gigabit LAN / 4G)             |
|                            v                                |
|        +----------------------------------------+           |
|        |    AI Edge Server (NVIDIA Jetson /     |           |
|        |    RTX Server running Darknet Core)    |           |
|        +----------------------------------------+           |
|                            |                                |
|         +------------------+------------------+             |
|         |                                     |             |
|         v                                     v             |
|  [PostgreSQL Event DB]              [Web Dashboard/Alert]   |
|  - Vehicle Counts                   - Live Stream Overlay   |
|  - Speed Logs & Snapshots           - Over-speed Warnings   |
+-------------------------------------------------------------+

Yêu cầu cấu hình hệ thống triển khai

Phần cứng / Phần mềm Cấu hình tối thiểu (Edge/Camera đơn) Cấu hình khuyến nghị (Multi-camera Server)
CPU Intel Core i5 / AMD Ryzen 5 (4 Cores) Intel Xeon / AMD EPYC (16+ Cores)
GPU NVIDIA GTX 1660 Ti (6GB VRAM) NVIDIA RTX 3080 / A100 (10GB+ VRAM)
RAM 8 GB DDR4 32 GB DDR4/DDR5
Hệ điều hành Ubuntu 18.04 / 20.04 LTS Ubuntu 20.04 LTS Linux
Băng thông mạng 10 Mbps / Camera 1000 Mbps Dedicated LAN

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI)

  • Tiết kiệm chi phí đầu tư: Một camera AI giám sát tích hợp phần mềm thay thế hoàn toàn hệ thống 1 súng bắn tốc độ cầm tay và 1 trạm đếm xe vòng từ, giúp tiết kiệm hơn $60%$ chi phí mua sắm thiết bị phần cứng chuyên dụng.
  • Thời gian hoàn vốn (ROI): Ước tính từ $6 - 9\text{ tháng}$ thông qua việc giảm chi phí nhân sự tuần tra trực tiếp trên đường và tối ưu hóa điều phối giao thông tránh lãng phí nhiên liệu xã hội.

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 rào lớn hoặc ban đêm bị lóa đèn pha ngược chiều, độ chính xác phát hiện của YOLOv4 giảm khoảng $8-12%$.
  • Góc đặt camera: Nếu camera đặt ở góc quay quá thấp (low-angle view), các phương tiện kích thước lớn như xe buýt, xe container sẽ che khuất hoàn toàn các xe máy di chuyển ở làn bên trong.
  • Tích tụ sai số tọa độ: Phép biến đổi điểm ảnh - GPS phụ thuộc vào độ chính xác khi xác định mốc thực địa; địa hình đường dốc không bằng phẳng có thể gây sai số nhỏ trong tính toán vận tốc.

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

  1. Nâng cấp kiến trúc mạng: Chuyển đổi mô hình lên các phiên bản YOLOv8/YOLOv10 hoặc tích hợp mạng Transformer (DETR) nhằm tăng độ chính xác phát hiện xe bị che khuất.
  2. Tích hợp module nhận diện biển số (ALPR/ANPR): Kết hợp OCR nhận diện biển số xe vi phạm tốc độ để tạo báo cáo xử phạt tự động khép kín.
  3. Mở rộng Re-Identification (ReID): Theo vết đối tượng xuyên suốt qua nhiều camera liên tiếp trên toàn tuyến đường mà không bị mất dấu định danh.

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

  • Sinh viên & Học viên Cao học: Nguồn tài liệu tham khảo hoàn chỉnh về quy trình xây dựng đồ án thị giác máy tính thực tế, từ thu thập dữ liệu, huấn luyện mạng CNN đến giải thuật tracking đa đối tượng.
  • Kỹ sư AI & Lập trình viên: Tham khảo mã nguồn và kỹ thuật tối ưu hóa luồng xử lý pipeline OpenCV - Darknet - Kalman Filter đạt 45 FPS thời gian thực.
  • Cơ quan quản lý & Doanh nghiệp: Cung cấp phương án kỹ thuật khả thi, chi phí thấp để hiện đại hóa hệ thống camera giám sát giao thông đô thị và quản lý bãi đỗ thông minh.
  • Nhà nghiên cứu học thuật: Cung cấp các kết quả thực nghiệm đối sánh rõ ràng giữa YOLOv4 vs SSD và Linear Kalman vs UKF trên tập dữ liệu đặc thù Việt Nam.

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

1. Hệ thống cần cấu hình phần cứng như thế nào để xử lý thời gian thực luồng video Full HD?

Hệ thống yêu cầu máy tính trang bị GPU NVIDIA có hỗ trợ CUDA từ 6GB VRAM trở lên (như GTX 1660 Ti, RTX 2060 hoặc NVIDIA Jetson Xavier NX cho thiết bị biên). Tốc độ xử lý trên GPU RTX 2060 đạt khoảng $35-45\text{ FPS}$ cho luồng video $1080\text{p}$.

2. Làm thế nào để đo tốc độ xe chính xác khi camera không có cảm biến đo khoảng cách phần cứng?

Hệ thống sử dụng kỹ thuật Perspective Homography Transformation. Bằng cách chọn ít nhất 4 điểm mốc thực địa đã biết chính xác tọa độ GPS trên thực tế (đo qua bản đồ vệ tinh hoặc vạch kẻ đường), hệ thống lập ma trận chuyển đổi từ khoảng cách pixel di chuyển trong video sang khoảng cách mét thực tế. Vận tốc được tính qua cự ly thực tế chia cho khoảng thời gian giữa các khung hình ($\Delta t = \Delta \text{frames} / \text{FPS}$).

3. Khi hai xe máy đi sát nhau và che khuất nhau, hệ thống có bị đếm nhầm hoặc mất dấu không?

Nhờ thuật toán Non-Max Suppression (NMS) với ngưỡng IoU tối ưu cùng bộ lọc Kalman Filter duy trì vector trạng thái chuyển động, hệ thống tiếp tục dự đoán vị trí của xe máy bị che khuất trong tối đa 15 khung hình liên tiếp. Khi xe xuất hiện trở lại, giải thuật Hungarian sẽ tái gán đúng ID cũ, ngăn ngừa hiện tượng đếm trùng hoặc nhảy định danh.

4. Hệ thống có thể tích hợp với các hệ thống camera CCTV có sẵn của thành phố không?

Hoàn toàn có thể. Hệ thống chỉ yêu cầu đường truyền nhận luồng RTSP tiêu chuẩn từ bất kỳ camera IP nào hiện có. Không cần can thiệp hay thay đổi cấu trúc phần cứng của camera.

5. Chi phí triển khai phần mềm này so với lắp đặt máy bắn tốc độ radar chuyên dụng chênh lệch ra sao?

Một trạm radar/laser bắn tốc độ chuyên dụng nhập khẩu có giá từ 300 - 500 triệu VNĐ/vị trí. Trong khi đó, giải pháp triển khai phần mềm AI trên hạ tầng camera sẵn có chỉ tiêu tốn chi phí đầu tư máy chủ xử lý trung tâm khoảng 30 - 50 triệu VNĐ (có thể xử lý đồng thời 4-8 luồng camera), giảm chi phí đầu tư ban đầu từ $70-80%$.


Kết luận

Đề tài "Hệ thống giám sát giao thông tự động hỗ trợ đếm xe và đo tốc độ" đã giải quyết trọn vẹn bài toán ứng dụng trí tuệ nhân tạo và thị giác máy tính vào thực tiễn quản lý giao thông tại Việt Nam. Bằng việc kết hợp sức mạnh trích xuất đặc trưng của mạng YOLOv4 (CSPDarknet53), khả năng duy trì trạng thái của bộ lọc Kalman Filter và phép biến đổi phối cảnh GPS thông minh, hệ thống đạt tốc độ xử lý 45 FPS, độ chính xác phát hiện 89.6% mAP và độ chính xác đếm xe đạt 96.8%. Đây là nền tảng công nghệ vững chắc, có tính khả thi cao, sẵn sàng triển khai thực tế phục vụ đề án xây dựng đô thị thông minh (Smart City) tại TP. Hồ Chí Minh và các đô thị trên cả nước.