Giới thiệu dự án

Ùn tắc giao thông đô thị là một trong những thách thức hạ tầng cấp bách nhất tại các thành phố lớn ở Việt Nam như Hà Nội, TP. Hồ Chí Minh, Hải Phòng và Đà Nẵng. Theo thống kê giai đoạn 2008 – 2022, cả nước ghi nhận hơn 1.379 vụ ùn tắc kéo dài trên một giờ, trong đó Hà Nội chiếm 24,4% (336 vụ) và TP. Hồ Chí Minh chiếm 16,5% (227 vụ). Cơ cấu phương tiện mất cân đối nghiêm trọng với tỷ lệ xe máy lưu thông chiếm tới 75,4% tại Hà Nội và 91,3% tại TP. Hồ Chí Minh, tạo ra luồng giao thông hỗn hợp phức tạp. Thiệt hại kinh tế ước tính chiếm từ 2% đến 3% tổng sản phẩm quốc nội (GDP) hàng năm, chưa kể các hệ lụy nặng nề về ô nhiễm bụi mịn $PM_{2.5}$ và phát thải khí nhà kính.

+-----------------------------------------------------------------------+
|                HIỆN TRẠNG GIAO THÔNG ĐÔ THỊ VIỆT NAM                  |
+-----------------------------------------------------------------------+
|  1.379+ Vụ ùn tắc > 1 giờ  |  75.4% - 91.3% Xe máy  |  2-3% GDP Tổn thất  |
+-----------------------------------------------------------------------+

Hạn chế cốt lõi của hệ thống đèn tín hiệu truyền thống là cơ chế chu kỳ cố định (Fixed-time Control). Hệ thống này phân bổ thời gian đèn xanh – đỏ dựa trên tham số giả định bất biến, hoàn toàn bất lực trước phương sai ngẫu nhiên của lưu lượng phương tiện theo thời gian thực, dẫn đến tình trạng làn đường vắng xe vẫn phải chờ đèn đỏ trong khi làn đường đông nghẹt lại bị ngắt đèn xanh quá sớm.

Đề tài "Hướng tới xây dựng hệ thống đèn giao thông thông minh dựa trên máy học" (Toward to Smart Street Light Based on Machine Learning) được thực hiện bởi nhóm nghiên cứu Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM (UIT-VNUHCM) dưới sự hướng dẫn của TS. Lê Kim Hùng và ThS. Thái Huy Tân nhằm giải quyết triệt để bài toán trên.

Mục tiêu cụ thể của dự án:

  1. Nghiên cứu và xây dựng mô hình Thị giác máy tính (Computer Vision) nhận diện mật độ phương tiện từ camera ngã tư dựa trên kiến trúc mạng nơ-ron tích chập nhẹ MobileNetV1.
  2. Huấn luyện mô hình Dự đoán lưu lượng giao thông (Traffic Prediction) sử dụng kỹ thuật Hồi quy tuyến tính (Linear Regression) trên nền tảng TensorFlow 2.x.
  3. Thiết kế hệ thống mô phỏng giao thông (Traffic Simulation) khép kín nhằm tạo tập dữ liệu huấn luyện và kiểm thử phản hồi chu kỳ đèn.
  4. Triển khai kiến trúc kết nối thời gian thực thông qua máy chủ không đồng bộ ASGI (Uvicorn) và giao thức Socket.IO, điều khiển trực tiếp vi điều khiển phần cứng NodeMCU ESP8266.

Dự án tập trung vào phạm vi nút giao thông 4 nhánh (ngã tư), tối ưu hóa thời gian chu kỳ chuyển trạng thái đèn xanh, vàng, đỏ thích ứng với dải lưu lượng biến thiên từ 100 đến 1.100 phương tiện/giờ (veh/h).


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

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

Nhiều giải pháp điều khiển giao thông đã được nghiên cứu trên thế giới với các ưu và nhược điểm khác nhau:

Giải pháp nghiên cứu Công nghệ cốt lõi Ưu điểm Nhược điểm & Thách thức
LiFi V2I (2017-2018) Ánh sáng khả kiến (Light Fidelity) Truyền tin ưu tiên xe khẩn cấp cực nhanh Tầm phủ hẹp, dễ suy hao do thời tiết sương/mưa
SONAR / Ultrasonic (2017) Sóng siêu âm đo khoảng cách hàng đợi Chi phí phần cứng rẻ, triển khai nhanh Góc quét hẹp, dễ nhiễu khi xe máy chen lấn
RFID Module (2020) Nhận dạng tần số vô tuyến Đo chính xác xe gắn thẻ định danh Yêu cầu 100% phương tiện phải gắn tag RFID
SUMO + OMNET++ (2019) Cân bằng tải định tuyến động Tối ưu hóa luồng ở quy mô toàn đô thị Đòi hỏi năng lực máy chủ tính toán siêu lớn
Hệ thống đề xuất (2022) MobileNetV1 + Linear Regression + IoT Nhận diện trực quan, chi phí rẻ, phản hồi thời gian thực Cần tối ưu thị giác máy tính trong điều kiện ban đêm

Yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have: Nhận diện số lượng phương tiện từ luồng video, thuật toán tính toán thời gian chu kỳ đèn động, giao tiếp điều khiển qua Socket.IO, cơ chế chuyển mạch LED trên ESP8266.
  • Should have: Giao diện Web Dashboard giám sát trực quan trạng thái nút giao theo thời gian thực, cơ chế an toàn tự chuyển về chu kỳ cố định khi mất kết nối mạng.
  • Could have: Phân loại chi tiết xe máy, ô tô con, xe buýt, xe tải để gán trọng số chiếm dụng lòng đường.
  • Won't have: Điều khiển mạng lưới đa nút giao liên kết (Green Wave) trong giai đoạn thử nghiệm đầu tiên.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống bao gồm 4 khối chức năng chính tương tác liên tục qua hạ tầng mạng IP:

[ Camera / Video Feed ] 
         │
         ▼
[ Module MobileNetV1 ] ──(Mật độ xe)──► [ Machine Learning Server ]
                                                │
                                       (Hồi quy tuyến tính)
                                                │
[ Giao diện Web Client ] ◄──(Socket.IO)── [ ASGI Uvicorn Gateway ]
                                                │
                                         (Lệnh chu kỳ đèn)
                                                │
                                                ▼
                                    [ NodeMCU ESP8266 / Relay ]
                                                │
                                                ▼
                                    [ Cụm Đèn Giao Thông LED ]
  • Technology Stack:

    • Machine Learning & Core Engine: Python 3.8+, TensorFlow 2.x, OpenCV 4.5.
    • Backend Server: Uvicorn ASGI Server, Python-SocketIO, AsyncIO.
    • Hardware & Firmware: NodeMCU ESP8266 (Tensilica L106 32-bit CPU, 80MHz, Wi-Fi 802.11 b/g/n), Raspberry Pi (Broadcom BCM2835), Arduino C++ Framework.
    • Simulation & Front-end: HTML5 Canvas / JavaScript Client, RESTful / WebSocket APIs.
  • Đặc tả giao thức WebSocket/Socket.IO:

    • Event traffic_density_emit: Gửi payload { intersection_id: "INT_01", lane: "NORTH_SOUTH", vehicle_count: 42, flow_rate: 650 }.
    • Event light_timing_dispatch: Nhận payload { lane_ns_green: 38, lane_ew_green: 22, yellow_duration: 3 }.
  • Cơ chế An toàn (Fail-safe): Nếu vi điều khiển ESP8266 không nhận được tín hiệu Heartbeat từ máy chủ quá 3.000ms, bộ định thời phần cứng (Hardware Timer) sẽ tự kích hoạt chế độ Fallback: chu kỳ xanh 30s – vàng 3s – đỏ 33s cố định.

Methodology

Quy trình phát triển dự án được tổ chức theo mô hình Agile/Scrum gồm các chặng kế tiếp:

  • Khảo sát & Lập đề cương: Xác định bài toán, khảo sát các công trình quốc tế về Deep Learning và IoT giao thông.
  • Phát triển Traffic Simulation: Xây dựng phần mềm giả lập lưu lượng ngã tư để chủ động sinh dữ liệu gán nhãn đa dạng kịch bản.
  • Thiết kế & Huấn luyện Model: Xây dựng mạng MobileNetV1 và mô hình Hồi quy tuyến tính với TensorFlow.
  • Tích hợp & Thực nghiệm Hardware-in-the-loop: Kết nối bo mạch NodeMCU, đo kiểm độ trễ truyền thông và tính chính xác của chu kỳ đèn.

Implementation và kết quả

Development process

Trọng tâm kỹ thuật của hệ thống nằm ở 2 thành phần: mạng trích xuất đặc trưng hình ảnh MobileNetV1 và mô hình dự đoán chu kỳ thời gian.

MobileNetV1 thay thế phép tích chập tiêu chuẩn (Standard Convolution) bằng Tích chập tách biệt theo chiều sâu (Depthwise Separable Convolution), gồm 2 giai đoạn:

  1. Depthwise Convolution: Áp dụng bộ lọc không gian $D_K \times D_K$ độc lập cho từng kênh (channel).
  2. Pointwise Convolution: Áp dụng tích chập $1 \times 1$ để tổng hợp tuyến tính thông tin giữa các kênh.

Chi phí tính toán được giảm thiểu theo tỷ lệ: $$\text{Tỷ lệ rút gọn} = \frac{D_K \cdot D_K \cdot M \cdot D_F \cdot D_F + M \cdot N \cdot D_F \cdot D_F}{D_K \cdot D_K \cdot M \cdot N \cdot D_F \cdot D_F} = \frac{1}{N} + \frac{1}{D_K^2}$$

Với kernel $3 \times 3$ ($D_K = 3$), khối lượng tính toán giảm từ 8 đến 9 lần so với tích chập thông thường mà độ chính xác gần như không suy giảm (đạt 70,6% Top-1 Accuracy trên ImageNet với chỉ 4,2 triệu tham số).

import tensorflow as tf
from tensorflow.keras import layers, models

def build_traffic_timing_regressor(input_dim=2):
    """
    Xây dựng mạng nơ-ron hồi quy tuyến tính dự đoán thời gian đèn xanh (giây)
    dựa trên lưu lượng đầu vào (Làn 1, Làn 2).
    """
    model = models.Sequential([
        layers.Input(shape=(input_dim,)),
        layers.Dense(units=8, activation='relu', name='hidden_layer'),
        layers.Dense(units=1, activation='linear', name='green_time_output')
    ])
    
    model.compile(
        optimizer=tf.keras.optimizers.Adam(learning_rate=0.01),
        loss='mean_squared_error',
        metrics=['mae']
    )
    return model

# Khởi tạo và kiểm tra cấu trúc
prediction_model = build_traffic_timing_regressor()
prediction_model.summary()

Phía máy chủ điều khiển trung tâm, nền tảng ASGI Uvicorn xử lý các kết nối thời gian thực đồng thời mà không nghẽn I/O:

import socketio
import uvicorn

sio = socketio.AsyncServer(async_mode='asgi', cors_allowed_origins='*')
app = socketio.ASGIApp(sio)

@sio.event
async def connect(sid, environ):
    print(f"[CONNECTED] Client: {sid}")

@sio.event
async def traffic_density_update(sid, data):
    vehicle_flow = float(data.get('flow_rate', 100))
    # Dự đoán thời gian đèn xanh tối ưu dựa trên mô hình máy học
    predicted_time = float(prediction_model.predict([[vehicle_flow, 100]])[0][0])
    optimal_green = max(15, min(int(predicted_time), 75))
    
    # Phát lệnh điều khiển thời gian thực về thiết bị IoT
    await sio.emit('traffic_light_command', {
        'lane_id': data.get('lane_id'),
        'green_time': optimal_green,
        'yellow_time': 3
    })

if __name__ == '__main__':
    uvicorn.run("server:app", host="0.0.0.0", port=8000, reload=False)

Testing và validation

Hệ thống được thử nghiệm toàn diện trên môi trường Traffic Simulation qua 11 cấp độ lưu lượng phương tiện từ $100\text{ veh/h}$ đến $1.100\text{ veh/h}$.

  Lưu lượng (veh/h)     Thời gian đèn xanh (s)     Trạng thái hàng đợi
  ─────────────────     ──────────────────────     ───────────────────
  100 - 300             15 - 20s                   Thông thoáng, 0 xe chờ
  400 - 600             25 - 35s                   Giải phóng tức thì
  700 - 800             40 - 50s                   Hàng đợi ngắn vừa phải
  900 - 1100            60 - 75s (Max cap)         Ổn định, chống nghẽn

Kết quả đạt được

Đánh giá so sánh trực tiếp giữa Hệ thống điều khiển chu kỳ cố định truyền thống và Hệ thống máy học tự động thích ứng:

[ Lưu lượng < 700 veh/h ]
- Truyền thống: Đèn xanh cố định thừa thãi -> Làn đối diện chịu đèn đỏ vô ích
- Đề xuất (ML): Tự co ngắn đèn xanh (15s-25s) -> Giảm 41.5% thời gian chờ

[ Lưu lượng 700 - 800 veh/h ]
- Truyền thống: Bắt đầu xuất hiện dồn ứ cục bộ
- Đề xuất (ML): Tăng chu kỳ xanh lên 40s-50s -> Cân bằng 100% dòng thoát xe

[ Lưu lượng 900 - 1100 veh/h ]
- Truyền thống: Ùn tắc nghiêm trọng kéo dài qua nhiều chu kỳ đèn
- Đề xuất (ML): Cấp chu kỳ tối đa (65s-75s) kết hợp điều tiết nhịp nhàng -> Giảm 32% chiều dài hàng đợi
  • Độ trễ tính toán suy luận mô hình (Inference Latency): Đạt $32\text{ms/frame}$ trên phần cứng máy tính nhúng, đáp ứng tiêu chuẩn xử lý thời gian thực ($\ge 30\text{ FPS}$).
  • Độ trễ truyền nhận tín hiệu mạng Socket.IO qua Wi-Fi cục bộ: $\le 12\text{ms}$.

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

  1. Ứng dụng hiệu quả Depthwise Separable Convolution vào bài toán giao thông: Tối ưu hóa kiến trúc MobileNetV1 30 lớp giúp cắt giảm 75% lượng tham số so với GoogleNet và giảm hơn 80% số phép toán nhân cộng (Mult-Adds) so với VGG-16, cho phép nhúng trực tiếp mô hình lên các thiết bị phần cứng giá rẻ.
  2. Cơ chế Hồi quy động thay thế hoàn toàn bảng tra tĩnh (Lookup Table): Dự đoán liên tục hàm thời gian $Y = f(X_1, X_2)$ phản ánh đúng đặc tính phi tuyến của dòng xe, xóa bỏ hoàn toàn hiện tượng "đèn xanh cho đường trống".
  3. Mô hình kết nối IoT phi đồng bộ hiệu năng cao: Ứng dụng chuẩn ASGISocket.IO cho phép một máy chủ điều phối hàng trăm ngã tư đồng thời với độ trễ thấp và độ tin cậy cao.

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

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

Hệ thống có thể được lắp đặt trực tiếp tại các nút giao thông đô thị hiện hữu mà không cần đào đường đặt vòng từ cảm ứng (Inductive Loop):

  1. Thu thập tín hiệu: Lắp đặt 02 - 04 Camera IP góc rộng quan sát các nhánh ngã tư.
  2. Xử lý biên hoặc Máy chủ tập trung: Stream video RTSP về thiết bị Edge (Raspberry Pi/Jetson Nano) hoặc Server trung tâm để đếm xe.
  3. Bộ điều khiển tín hiệu tại tủ điện: Bo mạch NodeMCU ESP8266 kết nối relay công nghiệp đóng cắt nguồn các bóng đèn LED giao thông theo lệnh qua Wi-Fi/4G.
+-------------------------------------------------------------------------+
|                  SƠ ĐỒ TRIỂN KHAI TẠI TỦ ĐIỀN ĐIỀU KHIỂN                |
+-------------------------------------------------------------------------+
| [Camera RTSP] ──(Ethernet)──► [Edge Computing / Mini PC]                |
|                                       │ (Socket.IO / Local AP)          |
|                                       ▼                                 |
| [Nguồn 220VAC] ──► [Relay Module] ◄── [NodeMCU ESP8266] (Fail-safe MCU) |
|                         │                                               |
|                         ▼                                               |
|             [Cụm Đèn Đỏ - Vàng - Xanh]                                  |
+-------------------------------------------------------------------------+

Đánh giá hiệu quả kinh tế (ROI)

  • Chi phí trang bị một bộ điều khiển thông minh đề xuất (Camera IP + ESP8266 + Raspberry Pi + Phụ kiện Relay) ước tính dưới 10 triệu VNĐ/ngã tư, rẻ hơn 85% so với các hệ thống cảm biến vòng từ hoặc hệ thống SCATS/SCOOT nhập ngoại hàng trăm triệu đồng.
  • Thời gian thu hồi vốn xã hội đạt được ngay trong 6 tháng đầu nhờ tiết kiệm nhiên liệu tiêu hao do giảm thời gian nổ máy chờ đợi và giảm phát thải môi trường.

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

  • Hạn chế kỹ thuật:
    • Mô hình thị giác máy tính bị suy giảm độ chính xác khi gặp điều kiện thời tiết cực đoan (mưa bão lớn, sương mù dày) hoặc ánh đèn pha rọi trực diện vào camera ban đêm gây lóa (Glaring).
    • Chưa xét đến ưu tiên riêng cho phương tiện giao thông công cộng (xe buýt nhanh BRT) hoặc người đi bộ qua đường.
  • Hướng phát triển tiếp theo:
    • Tích hợp các backbone mới hơn như YOLOv8-nano hoặc MobileNetV3 tối ưu hóa qua TensorFlow Lite trên Google Coral Edge TPU.
    • Nghiên cứu thuật toán Học tăng cường đa tác tử (Multi-Agent Reinforcement Learning - MARL) để đồng bộ hóa chuỗi đèn liên tục (Làn sóng xanh - Green Wave) trên toàn tuyến phố.

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

  • Sinh viên & Học viên chuyên ngành CNTT/Mạng máy tính: Tài liệu tham khảo hoàn chỉnh về cách kết hợp giữa Học sâu (Deep Learning), Hồi quy máy học và Lập trình nhúng IoT thực tế.
  • Kỹ sư phần mềm & Lập trình viên IoT: Nắm bắt kiến trúc xử lý thời gian thực sử dụng ASGI, Socket.IO và cơ chế truyền nhận dữ liệu phi đồng bộ tới vi điều khiển ESP8266.
  • Cơ quan quản lý đô thị & Giao thông công chính: Cung cấp một phương án giải quyết ùn tắc với kinh phí thấp, tính linh hoạt cao và khả năng tích hợp từng bước vào lộ trình xây dựng Đô thị thông minh (Smart City).
  • Nhà nghiên cứu ITS (Intelligent Transportation Systems): Nền tảng dữ liệu thực nghiệm lưu lượng giao thông $100 - 1.100\text{ veh/h}$ phục vụ các nghiên cứu mở rộng về tối ưu hóa dòng phương tiện.

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

1. Yêu cầu phần cứng tối thiểu để triển khai giải pháp là gì?

Ở cấp độ ngã tư, hệ thống yêu cầu 01 Camera IP độ phân giải tối thiểu 720p 30fps cho mỗi làn đường, 01 bộ điều khiển trung gian NodeMCU ESP8266 kèm mạch Relay cách ly quang, và 01 thiết bị tính toán biên (Raspberry Pi 4 4GB hoặc Mini PC Core i3 không card đồ họa rời vẫn có thể chạy mượt mà mô hình MobileNetV1 đã qua lượng tử hóa).

2. Hệ thống xử lý thế nào khi xảy ra mất kết nối mạng Internet hoặc đứt kết nối Server?

Vi điều khiển ESP8266 được tích hợp bộ định thời an toàn (Watchdog/Heartbeat Timer). Nếu mất kết nối Socket.IO với máy chủ quá 3 giây, vi điều khiển sẽ tự động ngắt chế độ điều khiển động và kích hoạt chế độ dự phòng chu kỳ đèn cố định (Fixed-timer Fallback) để đảm bảo giao thông không bị gián đoạn.

3. Giải pháp có tương thích với các tủ điều khiển đèn giao thông cũ không?

Hoàn toàn tương thích. Đầu ra của module Relay từ ESP8266 được đấu nối song song hoặc thay thế trực tiếp cho các công tắc tơ cơ học điều khiển các pha đèn LED 220VAC/24VDC trong tủ điện hiện hữu.

4. Chi phí vận hành và bảo trì định kỳ bao gồm những gì?

Chi phí vận hành định kỳ rất thấp, chủ yếu bao gồm bảo dưỡng lau chùi ống kính camera định kỳ 3-6 tháng/lần và tiền điện tiêu thụ của thiết bị IoT (dưới 15W cho toàn bộ hệ thống xử lý biên).

5. Khả năng mở rộng từ 1 ngã tư đơn lẻ lên mạng lưới nhiều nút giao như thế nào?

Kiến trúc máy chủ ASGI Uvicorn hỗ trợ xử lý hàng nghìn kết nối Socket.IO đồng thời theo cơ chế non-blocking event-driven. Khi mở rộng nhiều ngã tư, chỉ cần đăng ký các Intersection_ID khác nhau lên hệ thống quản lý trung tâm mà không cần thay đổi cấu trúc nền tảng.


Kết luận

Đề tài "Hướng tới xây dựng hệ thống đèn giao thông thông minh dựa trên máy học" của sinh viên Thái Minh Huy và Ngô Trung Hiếu (Trường ĐH Công nghệ Thông tin - ĐHQG TP.HCM) đã 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 và IoT vào bài toán tối ưu hóa giao thông đô thị. Bằng cách kết hợp linh hoạt giữa mạng nơ-ron tinh gọn MobileNetV1, mô hình Hồi quy tuyến tính trên TensorFlow 2.x, máy chủ ASGI Uvicorn và phần cứng ESP8266, hệ thống đã giải quyết thành công nhược điểm của các chu kỳ đèn cố định truyền thống, mở ra hướng đi chi phí thấp nhưng mang lại giá trị thực tiễn to lớn cho công cuộc xây dựng Giao thông thông minh tại Việt Nam.