Giới thiệu dự án

Sự bùng nổ của phương tiện giao thông cá nhân tại các đô thị lớn đang đặt áp lực nặng nề lên hạ tầng giao thông và công tác quản lý đô thị. Theo thống kê của Ngân hàng Thế giới, thiệt hại kinh tế do ùn tắc giao thông tại các thành phố đang phát triển chiếm từ 2% đến 5% GDP mỗi năm do lãng phí nhiên liệu và thời gian di chuyển. Để giải quyết bài toán này, Hệ thống Giao thông Thông minh (ITS - Intelligent Transportation System) đóng vai trò trung tâm trong việc thu thập dữ liệu, phân tích mật độ và điều tiết luồng phương tiện tự động.

Các giải pháp truyền thống như cảm biến vòng từ (Inductive Loop Detectors) hay cảm biến siêu âm (Ultrasonic Sensors) bộc lộ nhiều điểm yếu: chi phí lắp đặt đắt đỏ, phải cắt phá mặt đường gây gián đoạn giao thông, dễ hư hỏng và chi phí bảo trì cao. Trong khi đó, giải pháp truyền toàn bộ luồng video độ nét cao về máy chủ đám mây (Cloud Computing) để phân tích bằng AI gặp phải bài toán nghẽn băng thông mạng, độ trễ truyền dẫn cao (thường từ 500ms đến 2s) và nguy cơ rò rỉ dữ liệu cá nhân.

Đề tài "Hệ thống giám sát lưu lượng giao thông sử dụng camera thông minh" (Traffic Flow Calculating System using AI Camera) do sinh viên Đinh Đức Liêm và Nguyễn Hồng Nam thực hiện dưới sự hướng dẫn của TS. Lê Kim Hùng và ThS. Nguyễn Khánh Thuật tại Khoa Mạng máy tính và Truyền thông - Trường Đại học Công nghệ Thông tin (ĐHQG TP.HCM) đã giải quyết triệt để các hạn chế trên bằng cách tiếp cận Điện toán biên (Edge Computing).

Mục tiêu của đề tài

  1. Nghiên cứu và tối ưu hóa các mô hình Deep Learning phát hiện phương tiện (Object Detection) nhẹ, hiệu năng cao để thực thi suy luận trực tiếp trên các máy tính đơn bo mạch (Single Board Computer - SBC).
  2. Xây dựng bộ dữ liệu phương tiện giao thông (VDD - Vehicle Detection Dataset) đặc thù cho điều kiện giao thông thực tế tại Việt Nam với mật độ xe máy cao.
  3. Phát triển thuật toán theo vết (Tracking) và đếm phương tiện kết hợp nhận diện hướng di chuyển (Direction of Movement - DOM) trong vùng quan sát (Region of Observation - ROO) theo thời gian thực.
  4. Tích hợp phần cứng hoàn chỉnh trên Google Coral Dev Board (Edge TPU) và NVIDIA Jetson Nano (GPU), xây dựng Web Dashboard và Mobile App (VNTraffic) phục vụ quản lý và phân tích dữ liệu giao thông.

Phương pháp tiếp cận và Phạm vi nghiên cứu

  • Phương pháp tiếp cận: Chuyển dịch toàn bộ pipeline suy luận thị giác máy tính xuống thiết bị biên. Video thu nhận từ USB Camera được xử lý cục bộ, chỉ gửi siêu dữ liệu (metadata JSON) chứa số lượng, chủng loại phương tiện và vector hướng di chuyển qua giao thức WebSocket lên Cloud Server và Firebase.
  • Phạm vi nghiên cứu: Nhận diện 5 nhóm phương tiện cơ bản (Car, Motorbike, Truck, Bus, Van) từ luồng video 720p (1280x720) tại các nút giao thông đô thị Việt Nam; tối ưu hóa mô hình bằng kỹ thuật lượng tử hóa INT8 (Quantization) cho Edge TPU và TensorRT cho NVIDIA GPU.

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

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

Tiêu chí Cảm biến vòng từ (Inductive Loop) Hệ thống Cloud AI truyền thống Giải pháp Edge AI Camera (Đề tài)
Chi phí triển khai & bảo trì Rất cao (cắt đường, can thiệp hạ tầng) Trung bình phần cứng, cao chi phí Cloud Server Thấp (sử dụng camera đơn bo mạch độc lập)
Độ trễ xử lý (Latency) Thấp (< 50ms) Cao (500ms - 2000ms do băng thông mạng) Cực thấp (30ms - 45ms tại biên)
Băng thông mạng yêu cầu Rất thấp (chỉ gửi tín hiệu xung) Rất cao (yêu cầu truyền stream video liên tục) Rất thấp (chỉ truyền metadata JSON định kỳ)
Khả năng phân loại phương tiện Kém (chỉ ước lượng kích thước kim loại) Tốt (sử dụng Deep Learning server) Rất tốt (phân loại chi tiết từng dòng xe)
Tính riêng tư & Bảo mật Cao Thấp (dễ bị chặn bắt luồng video trên đường truyền) Rất cao (hình ảnh xử lý tại chỗ, không lưu stream thô)

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

  • Must-have (Bắt buộc): Phát hiện chính xác phương tiện theo thời gian thực (>= 20 FPS); đếm lưu lượng và phân loại xe; nhận diện hướng di chuyển; hoạt động ổn định trên bo mạch nhúng Edge TPU/GPU.
  • Should-have (Nên có): Dashboard web quản trị hiển thị biểu đồ thời gian thực; streaming video debug qua Flask; ứng dụng di động nhận thông báo cảnh báo ùn tắc.
  • Could-have (Có thể có): Hỗ trợ cấu hình động vùng ROO trực tiếp từ giao diện Web; lưu trữ hình ảnh snapshot phương tiện vi phạm rời vùng quan sát.
  • Won't-have (Chưa triển khai): Nhận dạng biển số xe tự động (ANPR); phân tích hành vi va chạm giao thông phức tạp.
flowchart TB
    subgraph Edge_Device [Thiết Bị Biên: Coral Dev Board / Jetson Nano]
        CAM[USB Camera 720p] --> CAP[Frame Capture & Preprocessing]
        CAP --> DET[Object Detector: SSD-MobileNet / MobileDet]
        DET --> TRK[SORT Tracker: Kalman Filter & Hungarian]
        TRK --> CNT[Counting & Direction Engine: ROO & Cosine]
    end

    subgraph Backend_Cloud [Hệ Thống Máy Chủ & Dịch Vụ Đám Mây]
        CNT -- WebSocket / JSON --> FLASK[Flask Streaming & Analytics Server]
        CNT -- REST API --> FIREBASE[(Firebase Realtime Database)]
    end

    subgraph Client_Interfaces [Giao Diện Người Dùng]
        FLASK --> WEB[Web Dashboard Admin]
        FIREBASE --> APP[VNTraffic Mobile App Android]
    end

Thiết kế hệ thống và Kiến trúc công nghệ

Hệ thống được thiết kế theo mô hình 3 tầng phân tán:

  1. Tầng biên (Edge Processing Layer):

    • Phần cứng 1: Google Coral Dev Board (NXP i.MX 8M SoC, 4-core Cortex-A53, Google Edge TPU coprocessor 4 TOPS, 1GB LPDDR4).
    • Phần cứng 2: NVIDIA Jetson Nano Developer Kit (128-core Maxwell GPU, Quad-core Cortex-A57, 472 GFLOPS, 4GB LPDDR4).
    • Phần mềm xử lý: Python 3.8, OpenCV 4.5.1, TensorFlow Lite Runtime 2.4, NVIDIA TensorRT 7.1.3.
  2. Tầng truyền tải & Lưu trữ (Transport & Storage Layer):

    • Giao thức: WebSocket đảm bảo truyền nhận hai chiều với độ trễ thấp (<10ms).
    • Database: Firebase Realtime Database lưu trữ bản ghi sự kiện phương tiện phục vụ đồng bộ tức thì lên thiết bị di động; cơ sở dữ liệu SQLite/PostgreSQL lưu trữ báo cáo tổng hợp.
  3. Cấu trúc dữ liệu Payload Metadata (JSON):

{
  "camera_id": "CAM_QUAN9_01",
  "timestamp": 1626854400,
  "frame_id": 14205,
  "events": [
    {
      "object_id": 84,
      "vehicle_class": "motorbike",
      "confidence": 0.92,
      "movement_direction_id": 1,
      "direction_label": "Straight_South_to_North",
      "exit_roi_time": "2021-07-21T10:40:00.120Z"
    }
  ]
}

Implementation và kết quả

Quy trình phát triển và Tối ưu hóa mô hình

Dự án triển khai qua 5 giai đoạn chính từ tháng 03/2021 đến tháng 07/2021:

  • Giai đoạn 1 (01/03 - 31/03/2021): Nghiên cứu cơ sở lý thuyết CNN, benchmark sơ bộ các kiến trúc SSD, YOLOv4, YOLOv5 trên phần cứng nhúng.
  • Giai đoạn 2 (01/04 - 15/04/2021): Thu thập video giao thông thực tế tại các tuyến đường TP.HCM, trích xuất frame ảnh và gán nhãn bằng công cụ LabelImg để hoàn thiện bộ dữ liệu VDD.
  • Giai đoạn 3 (16/04 - 15/05/2021): Huấn luyện mô hình Transfer Learning; thực hiện Quantization-Aware Training (QAT) chuyển đổi mô hình sang INT8 cho Edge TPU và biên dịch TensorRT Engine cho GPU Jetson.
  • Giai đoạn 4 (16/05 - 10/06/2021): Phát triển thuật toán theo vết SORT và module tính toán Cosine Similarity để xác định hướng di chuyển.
  • Giai đoạn 5 (11/06 - 29/07/2021): Tích hợp Cloud Flask Server, Firebase, xây dựng Mobile App VNTraffic và đánh giá thực nghiệm.
import numpy as np

def calculate_direction_cosine(trajectory, vector_standard):
    """
    Xác định hướng di chuyển của phương tiện dựa trên độ tương đồng Cosine
    :param trajectory: Danh sách tọa độ tâm [(x1, y1), (x2, y2), ...] của xe qua các frame
    :param vector_standard: Vector chuẩn của làn đường (dx, dy)
    :return: Điểm tương đồng Cosine trong đoạn [-1, 1]
    """
    if len(trajectory) < 2:
        return 0.0
    
    # Vector chuyển động thực tế của phương tiện
    p_start = np.array(trajectory[0])
    p_end = np.array(trajectory[-1])
    vec_motion = p_end - p_start
    
    norm_motion = np.linalg.norm(vec_motion)
    norm_std = np.linalg.norm(vector_standard)
    
    if norm_motion == 0 or norm_std == 0:
        return 0.0
        
    # Tính Cosine Similarity Score: (u . v) / (||u|| * ||v||)
    cosine_sim = np.dot(vec_motion, vector_standard) / (norm_motion * norm_std)
    return float(cosine_sim)
# Biên dịch mô hình TFLite INT8 sang định dạng tương thích Edge TPU
edgetpu_compiler -s ssd_mobiledet_vd_quant.tflite -o ./compiled_models/

Kết quả thực nghiệm và Đánh giá hiệu năng

Thử nghiệm được thực hiện trên tập dữ liệu video kiểm thử VDD với độ phân giải 720p, đo lường tốc độ suy luận (Inference Speed - FPS), độ trễ (Latency) và độ chính xác trung bình (mAP@0.5).

Hiệu năng mô hình Object Detection trên các nền tảng phần cứng

Nền tảng phần cứng Mô hình Object Detection Độ phân giải đầu vào Định dạng mô hình FPS Latency (ms) mAP (%)
Google Coral Dev Board SSD MobileNet V1 $300 \times 300$ Edge TPU INT8 38.4 26.0 71.2
Google Coral Dev Board SSD MobileNet V2 $320 \times 320$ Edge TPU INT8 33.1 30.2 73.5
Google Coral Dev Board SSD MobileDet $320 \times 320$ Edge TPU INT8 35.7 28.0 78.4
Google Coral Dev Board SSD MobileNet V2 FPNLite $640 \times 640$ Edge TPU INT8 12.6 79.3 80.1
NVIDIA Jetson Nano YOLOv4-Tiny $416 \times 416$ TensorRT FP16 24.5 40.8 76.8
NVIDIA Jetson Nano SSD MobileNet V2 $300 \times 300$ TensorRT FP16 29.2 34.2 74.0
NVIDIA Jetson Nano YOLOv5s $640 \times 640$ PyTorch FP32 9.4 106.3 81.2

Đánh giá độ chính xác của thuật toán đếm lưu lượng và phân loại hướng

$$\text{Counting Error Rate} = \frac{|N_{\text{ground_truth}} - N_{\text{predicted}}|}{N_{\text{ground_truth}}} \times 100%$$

Thực nghiệm trên 6 video kiểm thử với mật độ giao thông từ trung bình đến đông đúc:

  • Độ chính xác đếm phương tiện: Đạt mức trung bình 95.6% (sai số dưới 4.4%).
  • Độ chính xác nhận diện hướng di chuyển (DOM): Đạt 98.1% nhờ giải thuật kết hợp Cosine Similarity và kiểm tra ranh giới thoát vùng quan sát (ROO boundary exiting).

Đổi mới và đóng góp kỹ thuật

  1. Ứng dụng thành công kỹ thuật Quantization-Aware Training (QAT) trên Edge TPU: Khắc phục triệt để hiện tượng sụt giảm độ chính xác khi chuyển đổi từ Float32 sang INT8, duy trì mAP đạt 78.4% với kiến trúc SSD MobileDet trong khi tốc độ tăng gấp 3.2 lần so với thực thi CPU thông thường.
  2. Bộ dữ liệu giao thông VDD tối ưu cho Việt Nam: Thu thập và chuẩn hóa hàng nghìn frame ảnh với mật độ xe gắn máy chiếm trên 70%, giúp mô hình giải quyết bài toán chồng lấn vật thể (occlusion) vượt trội hơn hẳn các pre-trained model trên tập dữ liệu quốc tế như MS COCO hay Pascal VOC.
  3. Giải thuật phân loại hướng kết hợp Cosine & Khoảng cách cực tiểu: Khắc phục nhược điểm của việc đếm qua đường vạch đơn (virtual line crossing) vốn dễ bị đếm lặp hoặc sót khi xe chuyển làn phức tạp.
So sánh cải tiến hiệu năng hệ thống:
Băng thông mạng tiêu thụ:     [██░░░░░░░░] Giảm 88.5% (từ 4.2 Mbps stream video xuống 0.48 Mbps metadata)
Độ trễ phản hồi hệ thống:   [█░░░░░░░░░] Giảm 91.3% (từ 450ms xuống 39ms)
Chi phí phần cứng trạm đo:   [███░░░░░░░] Tiết kiệm 65% so với máy chủ GPU công nghiệp

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

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

  • Điều khiển chu kỳ đèn tín hiệu thích ứng (Adaptive Traffic Light Control): Cung cấp dữ liệu mật độ và lưu lượng xe theo từng giây về trung tâm điều khiển để tự động kéo dài hoặc rút ngắn thời gian đèn xanh tại các giao lộ trọng điểm.
  • Giám sát phân luồng và phát hiện vi phạm giờ giới nghiêm: Tự động đếm và cảnh báo xe tải, xe khách đi vào làn đường hoặc khung giờ cấm.
  • Cung cấp dữ liệu trực tiếp cho người tham gia giao thông: Ứng dụng VNTraffic thông báo tình trạng ùn tắc theo thời gian thực giúp người dân chủ động lựa chọn lộ trình tránh điểm kẹt xe.
gantt
    title Lộ Trình Triển Khai Thực Tế Hệ Thống Camera AI
    dateFormat  YYYY-MM-DD
    section Khảo sát & Chuẩn bị
    Khảo sát vị trí lắp đặt camera cột đèn     :a1, 2021-08-01, 15d
    Chuẩn bị phần cứng vỏ hộp IP66 & nguồn PoE:a2, after a1, 10d
    section Triển khai thử nghiệm
    Lắp đặt trạm quan sát tại 3 giao lộ mẫu   :b1, 2021-08-25, 20d
    Tối ưu tham số ROO và kiểm thử đường truyền:b2, after b1, 15d
    section Đưa vào vận hành
    Kết nối hệ thống dữ liệu Trung tâm Đô thị  :c1, 2021-09-30, 20d
    Đánh giá ROI và mở rộng quy mô toàn quận  :c2, after c1, 30d

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

  • Chi phí một trạm Edge AI (Camera + Bo mạch nhúng + Vỏ IP66 + Phụ kiện): Xấp xỉ 4.500.000 - 6.500.000 VNĐ.
  • Chi phí hệ thống cảm biến vòng từ truyền thống: Dao động từ 35.000.000 - 50.000.000 VNĐ/làn đường (chưa tính chi phí hoàn trả mặt đường).
  • Thời gian hoàn vốn đầu tư (ROI): Dự kiến dưới 6 tháng nhờ cắt giảm 85% chi phí bảo dưỡng hạ tầng và tiết kiệm hơn 80% chi phí truyền dẫn dữ liệu 4G/5G hàng tháng.

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

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

  • Mật độ che khuất cực lớn vào giờ cao điểm: Khi xe máy chen chúc sát nhau ở cự ly dưới 20cm, bounding box dễ bị dính chùm dẫn đến thuật toán SORT bị nhảy ID (ID switch).
  • Điều kiện thời tiết khắc nghiệt: Độ chính xác phát hiện giảm khoảng 8-12% trong điều kiện trời mưa lớn làm mờ ống kính hoặc ban đêm tại các cung đường thiếu đèn chiếu sáng công cộng.

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

  • Nâng cấp thuật toán theo vết lên DeepSORT hoặc ByteTrack kết hợp mạng trích xuất đặc trưng Re-ID nhẹ tối ưu hóa cho Edge TPU.
  • Tích hợp thêm module nhận diện biển số xe (ANPR) và phát hiện phương tiện không đội mũ bảo hiểm hoặc đi sai làn đường.
  • Ứng dụng giao tiếp mạng phương tiện V2X (Vehicle-to-Everything) để thiết bị biên có thể phát tín hiệu cảnh báo trực tiếp đến các xe tự hành lân cận.

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


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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu bo mạch nhúng có hỗ trợ bộ tăng tốc phần cứng chuyên dụng: Google Coral Dev Board (Edge TPU) hoặc NVIDIA Jetson Nano (tối thiểu bản 2GB/4GB RAM), kết hợp cùng USB Camera hoặc RTSP IP Camera hỗ trợ độ phân giải tối thiểu 720p@30fps và nguồn cấp 5V-3A hoặc 5V-4A ổn định.

2. Sự khác biệt giữa Edge TPU và GPU Jetson Nano trong bài toán này là gì?

Edge TPU trên Coral Dev Board vượt trội về tốc độ suy luận các mô hình lượng tử hóa INT8 và tiết kiệm điện năng tiêu thụ (chỉ khoảng 2W - 4W cho chip xử lý). Trong khi đó, NVIDIA Jetson Nano hỗ trợ định dạng số thực FP16, tương thích rộng rãi hơn với nhiều kiến trúc mạng phức tạp mà không đòi hỏi lượng tử hóa khắt khe.

3. Hệ thống có thể mở rộng xử lý nhiều camera cùng lúc trên một bo mạch không?

Một bo mạch đơn như Coral Dev Board hoặc Jetson Nano được thiết kế để xử lý tối ưu 1 đến 2 luồng video 720p đồng thời ở tốc độ 25-30 FPS. Để mở rộng quy mô trên toàn thành phố, kiến trúc phân tán sẽ triển khai mỗi nút giao một bo mạch độc lập và gửi siêu dữ liệu tập trung về máy chủ đám mây.

4. Hệ thống đảm bảo tính riêng tư của người đi đường như thế nào?

Toàn bộ video thô được xử lý trực tiếp trong bộ nhớ RAM của bo mạch biên và giải phóng ngay lập tức sau khi trích xuất thông tin. Hệ thống không lưu trữ hay truyền video có khuôn mặt người tham gia giao thông lên Internet, chỉ truyền số liệu thống kê nặc danh.

5. Chi phí bảo trì hàng năm của hệ thống ước tính là bao nhiêu?

Nhờ thiết kế phần cứng không có bộ phận chuyển động cơ học và camera gắn cố định trên cao, chi phí bảo trì hàng năm ước tính chỉ chiếm dưới 5% tổng chi phí đầu tư ban đầu, chủ yếu dành cho việc vệ sinh định kỳ ống kính camera và cập nhật firmware OTA.


Kết luận

Đề tài "Hệ thống giám sát lưu lượng giao thông sử dụng camera thông minh" của nhóm tác giả Đinh Đức Liêm và Nguyễn Hồng Nam đã chứng minh tính khả thi và hiệu quả vượt trội của việc ứng dụng Trí tuệ Nhân tạo tại biên (Edge AI) trong việc giải quyết bài toán giao thông đô thị. Bằng việc kết hợp nhuần nhuyễn giữa kiến trúc phần cứng nhúng tiên tiến (Google Coral Dev Board, NVIDIA Jetson Nano), kỹ thuật lượng tử hóa mô hình chuyên sâu (QAT INT8, TensorRT) và các thuật toán thị giác máy tính hiện đại (SSD MobileDet, SORT, Cosine Similarity), hệ thống đã đạt độ chính xác đếm lưu lượng trên 95.6% với tốc độ xử lý thời gian thực vượt 35 FPS.

Đây là một đóng góp học thuật và ứng dụng thực tiễn giá trị, mở ra giải pháp xây dựng hệ thống Giao thông Thông minh (ITS) chi phí thấp, bảo mật cao và dễ dàng nhân rộng cho các đô thị thông minh tại Việt Nam.