Giới thiệu dự án

Bối cảnh và vấn đề thực tiễn

Theo báo cáo từ ReportLinker, thị trường phương tiện tự hành (Autonomous Vehicles - AV) toàn cầu được dự báo tăng trưởng mạnh mẽ từ 20,3 triệu xe năm 2021 lên 62,4 triệu xe vào năm 2030, đạt tốc độ tăng trưởng kép hàng năm (CAGR) là 13,3%. Song song đó, quy mô thị trường Hệ thống Giao thông Thông minh (Intelligent Transportation Systems - ITS) toàn cầu theo Grand View Research & Fortune Business Insights được định giá 25.378,2 triệu USD năm 2020 và dự kiến đạt 42.936,0 triệu USD vào năm 2028 với CAGR 7,0%.

Sự bùng nổ của mật độ phương tiện đô thị đặt ra bài toán cấp bách về an toàn giao thông, tối ưu hóa chuỗi cung ứng logistics và giảm thiểu ùn tắc. Để vận hành an toàn trong mạng lưới giao thông thông minh, các phương tiện tự hành đòi hỏi khả năng giao tiếp liên tục, tức thời theo mô hình Vehicle-to-Vehicle (V2V) và Vehicle-to-Everything (V2X).

   [ Bộ Phát (Transmitter) ]                 [ Kênh Truyền Quang Học ]              [ Bộ Thu (Receiver) ]
+------------------------------+             +-----------------------+        +------------------------------+
| Dữ liệu cảm biến / Trạng thái|             | Ánh sáng khả kiến     |        | Camera hành trình / Cảm biến |
| -> Mã hóa sửa lỗi (FEC)      | -> [LED] -> | (Nhiễu mặt trời, đèn  | ---->  | -> Phát hiện bảng LED (YOLO) |
| -> Điều chế xung bit (ESP32) |   Matrix    | đường, mờ chuyển động)|        | -> Giải mã bit (K-Means/CNN) |
+------------------------------+             +-----------------------+        +------------------------------+

Phát biểu bài toán (Problem Statement)

Các hệ thống truyền thông vô tuyến truyền thống (RF, DSRC, C-V2X) đối mặt với các rào cản lớn: nghẽn băng thông tần số vô tuyến trong môi trường đô thị dày đặc, độ trễ không ổn định do can nhiễu điện từ, và chi phí đầu tư phần cứng chuyên dụng đắt đỏ.

Giao tiếp camera quang học cho phương tiện giao thông (Vehicular Optical Camera Communication - VOCC) sử dụng hệ thống đèn LED sẵn có và camera hành trình làm kênh truyền tín hiệu ánh sáng khả kiến (Visible Light Communication - VLC). Tuy nhiên, việc ứng dụng VOCC vào thực tiễn gặp ba thách thức kỹ thuật cốt lõi:

  • Nhiễu quang học phức tạp: Sự biến thiên cường độ ánh sáng tự nhiên (ban ngày, ban đêm), chói sáng mặt trời, đèn đường và hiện tượng mờ do chuyển động (motion blur).
  • Hạn chế phần cứng và cự ly thu nhận: Tốc độ khung hình (FPS) của camera giới hạn băng thông dữ liệu; khoảng cách giao tiếp xa làm suy giảm diện tích bảng LED trên khung hình, gây mất mát thông tin không gian.
  • Yêu cầu suy luận thời gian thực (Real-time Inference): Độ trễ xử lý thuật toán phát hiện và giải mã phải dưới ngưỡng 30ms nhằm đáp ứng các tình huống phanh khẩn cấp hoặc chuyển làn an toàn.

Mục tiêu dự án

  1. Nghiên cứu cơ chế vận hành, truyền tải tín hiệu và giao thức đóng gói dữ liệu của hệ thống VOCC end-to-end giữa các phương tiện giao thông.
  2. Xây dựng 02 bộ dữ liệu điểm chuẩn (Benchmark Datasets) thực nghiệm cho bảng LED $4 \times 4$ và $8 \times 8$ trong điều kiện giao thông thực tế tại Việt Nam với đa dạng khoảng cách (3m - 60m), góc chụp và điều kiện chiếu sáng (ngày/đêm).
  3. Đánh giá và tối ưu hóa các mô hình học sâu State-of-the-Art (SOTA) Single-Stage Object Detection (YOLOv5, YOLOv7, PP-YOLO, PP-PicoDet, YOLOF, YOLOX) phục vụ tác vụ định vị bảng LED.
  4. Đề xuất và hiện thực hóa các giải pháp phân lớp chuỗi bit LED đạt tỷ lệ lỗi bit (Bit Error Rate - BER) thấp và tốc độ xử lý đạt chuẩn thời gian thực.
  5. Xây dựng ứng dụng nguyên mẫu (Prototype System) tích hợp pipeline hoàn chỉnh từ luồng video camera đến chuỗi bản tin cảnh báo.

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

Đồ án tiếp cận theo mô hình xử lý hai giai đoạn tích hợp tuần tự (Two-stage Integrated Pipeline):

  • Giai đoạn 1 (LED Panel Detection): Sử dụng các mạng nơ-ron tích chập (CNN) Single-stage tối ưu hóa cho thiết bị biên để định vị và cắt vùng chứa bảng LED (Region of Interest - RoI) với độ chính xác cao.
  • Giai đoạn 2 (LED Bit Decoding): Kết hợp phương pháp phân cụm K-Means không giám sát và mạng CNN phân lớp chuyên biệt tích hợp kỹ thuật làm mịn dự đoán (Prediction Smoothing) để giải mã trạng thái Bật/Tắt (ON/OFF) của từng chip LED.

Kết quả kỳ vọng và phạm vi nghiên cứu

  • Chỉ số đo lường: Mô hình phát hiện bảng LED đạt $mAP@0.5 > 90%$ với tốc độ $\ge 30\text{ FPS}$; thuật toán giải mã bit đạt tỷ lệ lỗi bit $BER < 0.03$.
  • Phạm vi đối tượng: Xe ô tô di chuyển trong môi trường thực nghiệm ngoài trời, điều kiện ngày/đêm tại khuôn viên đô thị Đại học Quốc gia TP.HCM.
  • Giới hạn: Hệ thống tập trung vào kênh truyền trực diện hoặc góc lệch giới hạn $\pm 30^\circ$, tần số quét LED điều biến tối ưu ở 1250 Hz tương thích tốc độ màn trập camera thông dụng.

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 công nghệ truyền thông V2V

Tiêu chí Truyền thông Vô tuyến (DSRC / C-V2X) Quang học Cảm biến (LiDAR / Radar) Giao tiếp Camera-LED (VOCC)
Băng thông & Phổ tần Bị quản lý giấy phép, nguy cơ nghẽn dải 5.9 GHz Không truyền dữ liệu ngữ nghĩa phức tạp Băng thông ánh sáng khả kiến không giới hạn
Nhiễu tín hiệu Nhiễu đa đường (Multipath), can nhiễu điện từ Nhiễu thời tiết nặng (mưa, sương mù dày) Nhiễu quang học nền, có thể khử bằng thị giác máy tính
Chi phí phần cứng Rất cao (Transceiver chuyên dụng DSRC/5G) Cực kỳ đắt đỏ ($1.000 - $10.000 USD/cảm biến) Cực kỳ thấp (Tận dụng đèn LED & Camera hành trình)
Tính tương thích ITS Cần lắp thêm module OBU/RSU chuyên biệt Phục vụ nhận thức môi trường vật lý Tích hợp trực tiếp với Tracking, Lane/Sign Detection
Khoảng cách hoạt động 100m - 300m 10m - 150m 5m - 60m (Đặc thù V2V tầm gần - trung)

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

  • Must Have (Bắt buộc):
    • Khả năng phát hiện chính xác bảng LED trong khung hình với bounding box khớp $IoU \ge 0.5$.
    • Tốc độ suy luận tổng thể $\ge 30\text{ FPS}$ trên GPU/Edge Device.
    • Khả năng giải mã đúng chuỗi bit logic trong cự ly $10\text{m} - 30\text{m}$.
  • Should Have (Nên có):
    • Tự động hiệu chỉnh độ nghiêng và phối cảnh của bảng LED khi xe di chuyển chéo góc.
    • Tích hợp kỹ thuật Prediction Smoothing giảm tỷ lệ nhấp nháy/sai lệch bit giữa các khung hình liên tiếp.
  • Could Have (Có thể có):
    • Mở rộng hỗ trợ ma trận LED kích thước lớn ($16 \times 16$, $32 \times 32$) để truyền tải payload lớn hơn.
    • Thuật toán thích ứng tự động thay đổi ngưỡng sáng (Adaptive Dynamic Thresholding) theo thời gian thực.
  • Won't Have (Chưa thực hiện):
    • Giao thức truyền thông hai chiều song công toàn phần (Full-duplex Mesh VOCC) đa nguồn phát cùng lúc.

Thiết kế hệ thống

+---------------------------------------------------------------------------------------------------+
|                                 KIẾN TRÚC HỆ THỐNG VOCC END-TO-END                                |
+---------------------------------------------------------------------------------------------------+
                                                                                                    
 [ Input Video Stream ]                                                                             
           |                                                                                        
           v                                                                                        
 +--------------------+      Bounding Box       +-----------------------+      Normalized Patch     
 | LED Panel Detector | --------------------->  | Perspective Transform | --------------------+     
 | (YOLOv5 / PicoDet) |   [x_min, y_min, w, h]  | & RoI Extraction      |                     |     
 +--------------------+                         +-----------------------+                     |     
                                                                                              v     
 +------------------------------------------------------------------------------------------------+ 
 |                                LED Bit Decoding Pipeline                                       | 
 |                                                                                                | 
 |   +---------------------------------------+     +------------------------------------------+   | 
 |   |          Branch 1: K-Means            |     |        Branch 2: CNN Classification      |   | 
 |   | - Tâm bit lấy mẫu (Center Sampling)   |     | - Chia block sub-patch ($2 \times 2$)    |   | 
 |   | - Phân cụm pixel (K=2: ON / OFF)      |     | - Feature Extraction & Softmax           |   | 
 |   +---------------------------------------+     +------------------------------------------+   | 
 |                       \                                      /                                 | 
 |                        \                                    /                                  | 
 |                         v                                  v                                   | 
 |                               [ Prediction Smoothing Filter ]                                  | 
 |                                (Temporal Majority Voting)                                      | 
 +------------------------------------------------------------------------------------------------+ 
                                                 |                                                  
                                                 v                                                  
                                      [ Output Binary Stream ]                                      
                                   (0101111100010100 -> "Phanh Gấp")                                

Technology Stack và phiên bản chi tiết

  • Hệ điều hành & Nền tảng: Ubuntu 20.04 LTS / Linux x86_64, CUDA Toolkit 11.3, cuDNN 8.2.1.
  • Ngôn ngữ lập trình: Python 3.8.10, C++14 (giao tiếp vi điều khiển).
  • Deep Learning Frameworks:
    • PyTorch v1.10.2 + torchvision v0.11.3 (Huấn luyện YOLOv5, YOLOv7, CNN Custom).
    • PaddlePaddle v2.2.2 & PaddleDetection v2.3 (Huấn luyện PP-YOLO, PP-PicoDet, YOLOF, YOLOX).
  • Thị giác máy tính & Xử lý số liệu: OpenCV v4.5.5, NumPy v1.21.6, Scikit-learn v1.0.2 (K-Means algorithm).
  • Embedded Hardware & Firmware: ESP32 NodeMCU (Xtensa LX6 240MHz, FreeRTOS), Arduino IDE v1.8.19, ESP32 BLE/Timer Library.

Methodology

Quy trình phát triển tuân thủ theo chuẩn quy trình nghiên cứu thực nghiệm CRISP-DM (Cross-Industry Standard Process for Data Mining) kết hợp vòng lặp Agile:

  1. Thiết kế phần cứng & tạo mẫu: Lập trình vi điều khiển ESP32 phát tín hiệu điều chế xung theo chuỗi bit cố định hoặc ngẫu nhiên. Bảng LED $8 \times 8$ được cấu hình 4 bit góc luôn ở trạng thái ON đóng vai trò làm điểm neo (Anchor Markers) để cố định khung tọa độ ma trận.
  2. Thu thập dữ liệu thực địa: Thu hình tại nhiều khoảng cách ($20\text{m}, 30\text{m}, 40\text{m}, 50\text{m}, 60\text{m}$) và điều kiện môi trường (Sáng nắng gắt, Chiều tà, Đêm tối, Rung lắc camera).
  3. Gán nhãn & Kiểm định chéo (Cross-Validation Annotation): Sử dụng công cụ DarkLabel v2.4 để tạo bounding box. Áp dụng quy trình kiểm định chéo giữa 02 Annotator độc lập nhằm chuẩn hóa dữ liệu nhãn theo chuẩn COCO, Pascal VOC và YOLO format.
  4. Đánh giá rủi ro và giải pháp khắc phục:
Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu
Tần số quét LED gây hiện tượng Rolling Shutter Artifacts Cao Nâng tần số Refresh Rate của ESP32 từ 500 Hz lên 1250 Hz
Bảng LED bị biến dạng góc nhìn khi xe đổi làn Trung bình Tích hợp biến đổi phối cảnh 4 điểm (Homography/Perspective Transform)
Sai lệch nhãn do bóng mờ ban đêm Trung bình Kỹ thuật tăng cường dữ liệu (Data Augmentation): Mosaic, Blur, HSV Jitter

Implementation và kết quả

Development Process

1. Lập trình phát tín hiệu trên vi điều khiển ESP32 (Transmitter)

Vi điều khiển phát các chuỗi bit với chu kỳ quét điều chỉnh chính xác qua ngắt Timer phần cứng để chống chập chờn xung sáng.

// Cấu hình điều chế ma trận LED trên ESP32
#include <Arduino.h>

#define MATRIX_ROWS 8
#define MATRIX_COLS 8
const uint8_t rowPins[8] = {13, 12, 14, 27, 26, 25, 33, 32};
const uint8_t colPins[8] = {15, 2, 4, 16, 17, 5, 18, 19};

// Khởi tạo ma trận dữ liệu: 4 góc luôn bật (Anchor Bits)
uint8_t frameData[8][8] = {
  {1, 0, 1, 1, 0, 0, 1, 1},
  {0, 1, 0, 0, 1, 0, 1, 0},
  {1, 1, 0, 1, 0, 1, 0, 1},
  {0, 0, 1, 0, 1, 1, 0, 0},
  {1, 0, 1, 0, 0, 1, 0, 1},
  {0, 1, 0, 1, 1, 0, 1, 0},
  {1, 0, 1, 1, 0, 1, 0, 1},
  {1, 1, 0, 0, 1, 0, 1, 1}
};

void IRAM_ATTR onTimer() {
  // Quét dòng với tần số điều chế cao (Refresh Rate = 1250 Hz)
  for (int r = 0; r < MATRIX_ROWS; r++) {
    digitalWrite(rowPins[r], HIGH);
    for (int c = 0; c < MATRIX_COLS; c++) {
      digitalWrite(colPins[c], frameData[r][c] ? LOW : HIGH);
    }
    delayMicroseconds(100);
    digitalWrite(rowPins[r], LOW);
  }
}

2. Pipeline xử lý và giải mã Bit LED (Receiver)

Vùng ảnh sau khi được bộ phát hiện đối tượng trích xuất sẽ được phân tích pixel tại vị trí tâm của từng ô LED hoặc phân loại qua mạng CNN.

import cv2
import numpy as np
from sklearn.cluster import KMeans

def decode_led_panel_kmeans(roi_img, grid_size=(8, 8), sample_radius=3):
    """
    Thuật toán giải mã ma trận LED bằng trích xuất tâm điểm và K-Means Clustering
    """
    h, w, _ = roi_img.shape
    step_y = h / grid_size[0]
    step_x = w / grid_size[1]
    
    samples = []
    coordinates = []
    
    for r in range(grid_size[0]):
        for c in range(grid_size[1]):
            # Xác định tọa độ tâm của từng chip LED
            center_y = int((r + 0.5) * step_y)
            center_x = int((c + 0.5) * step_x)
            coordinates.append((r, c))
            
            # Cắt vùng bán kính nhỏ xung quanh tâm để tính giá trị màu trung bình
            y1, y2 = max(0, center_y - sample_radius), min(h, center_y + sample_radius)
            x1, x2 = max(0, center_x - sample_radius), min(w, center_x + sample_radius)
            patch = roi_img[y1:y2, x1:x2]
            
            # Chuyển đổi sang không gian màu xám / độ chói V trong HSV
            gray_val = np.mean(cv2.cvtColor(patch, cv2.COLOR_BGR2GRAY))
            samples.append([gray_val])
            
    # Phân cụm 2 trạng thái: Bit 0 (OFF - tối) và Bit 1 (ON - sáng)
    kmeans = KMeans(n_clusters=2, random_state=42, n_init=10).fit(samples)
    cluster_centers = kmeans.cluster_centers_.flatten()
    
    # Xác định cụm có cường độ sáng cao hơn là Bit 1
    on_cluster_idx = np.argmax(cluster_centers)
    bit_matrix = np.zeros(grid_size, dtype=int)
    
    for idx, label in enumerate(kmeans.labels_):
        r, c = coordinates[idx]
        bit_matrix[r, c] = 1 if label == on_cluster_idx else 0
        
    return bit_matrix

Testing và validation

Hệ thống được kiểm thử trên tập dữ liệu kiểm tra độc lập gồm 10 kịch bản thực nghiệm khác nhau (kết hợp 5 mốc cự ly $20\text{m}, 30\text{m}, 40\text{m}, 50\text{m}, 60\text{m}$ và 2 điều kiện thời gian Ngày/Đêm).

Công thức đánh giá độ đo

  • Mean Average Precision ($mAP$): $$mAP = \frac{1}{N} \sum_{i=1}^{N} AP_i = \frac{1}{N} \sum_{i=1}^{N} \int_{0}^{1} P(R) dR$$ Trong đó, đánh giá tại ngưỡng IoU nghiêm ngặt $IoU=0.95$ để kiểm tra độ khít của Bounding Box phục vụ cắt ảnh chính xác.

  • Bit Error Rate ($BER$): $$BER = \frac{N_{\text{error_bits}}}{N_{\text{total_bits}}}$$

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

1. Đánh giá hiệu năng phát hiện bảng LED trên tập dữ liệu $8 \times 8$ và $4 \times 4$

Mô hình phát hiện Kiến trúc Backbone Tham số (M) Tốc độ (FPS) mAP@0.5 (%) mAP@0.95 (%)
YOLOv5s CSP-DarkNet53 7.2M 76.0 98.40 90.83
PP-PicoDet ESNet 1.1M 33.0 96.12 88.45
YOLOX-S Modified CSPNet 9.0M 45.0 95.80 86.20
PP-YOLOv2 ResNet50-vd-DCN 54.6M 28.5 97.10 87.90
YOLOF ResNet50 42.0M 31.2 92.40 81.30
YOLOv7-Tiny Extended ELAN 6.2M 68.0 97.90 89.60

[!NOTE] Mô hình YOLOv5s cho sự cân bằng vượt trội nhất về cả độ chính xác ($mAP@0.95 = 90.83%$) và tốc độ suy luận đạt 76 FPS, hoàn toàn vượt ngưỡng yêu cầu thời gian thực ($30\text{ FPS}$).

2. Đánh giá độ chính xác giải mã Bit LED (LED Bit Decoding)

Kịch bản thử nghiệm Phương pháp giải mã Cự ly hiệu dụng BER (Tỷ lệ lỗi bit) Tốc độ giải mã (FPS)
Ban ngày (Daytime) Center-sampling K-Means 20m - 50m 0.021 (2.1%) 36.2 FPS
Ban đêm (Nighttime) Center-sampling K-Means 20m - 60m 0.033 (3.3%) 32.8 FPS
Trung bình toàn tập K-Means Clustering 20m - 60m 0.027 (2.7%) 34.0 FPS
Trung bình toàn tập CNN Classification + Smooth 3m - 20m ($4 \times 4$) 0.048 (4.8%) 27.5 FPS

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

  1. Khắc phục giới hạn cự ly giao tiếp quang học V2V:
    • Nghiên cứu của Trong-Hop Do et al. (2020) chỉ dừng lại ở mô phỏng phòng lab.
    • Nghiên cứu của Sun et al. (2021) và các tác giả quốc tế trước đó giới hạn khoảng cách thu nhận tối đa ở mức $8\text{m}$.
    • Khóa luận đã đột phá đưa khoảng cách phát hiện và giải mã ổn định lên dải $20\text{m} - 60\text{m}$ trong môi trường giao thông ngoài trời thực tế.
  2. Thiết kế cơ chế Anchor Bits trên ma trận LED:
    • Đề xuất quy chuẩn 4 bit cố định tại 4 góc ma trận LED $8 \times 8$ luôn giữ trạng thái ON.
    • Giải quyết triệt để bài toán trôi khung hình (Frame Drift) và tự động bù góc xoay hình học khi phương tiện di chuyển lệch làn.
  3. Quy trình kết hợp linh hoạt Single-Stage Detector & K-Means/CNN:
    • Tách biệt rõ ràng 2 bài toán độc lập: Phát hiện bảng LED (Định vị không gian lớn) và Phân lớp Bit LED (Trích xuất logic cục bộ).
    • Tối ưu hóa hiệu năng tính toán: Giảm thiểu độ phức tạp thuật toán từ $\mathcal{O}(N^2)$ của các mạng phân đoạn dày đặc xuống $\mathcal{O}(K \cdot N)$ của thuật toán phân cụm điểm ảnh cục bộ, giúp hệ thống hoạt động mượt mà trên phần cứng hạn chế.

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

Kịch bản ứng dụng trong giao thông đô thị

  • Cảnh báo phanh khẩn cấp phân tầng (Emergency Brake Light Warning): Xe phía trước khi kích hoạt phanh gấp sẽ truyền bản tin mã hóa qua bảng LED gắn sau đuôi xe, xe đi sau lập tức nhận diện qua camera và kích hoạt phanh tự động trước khi tài xế kịp phản ứng vật lý.
  • Hỗ trợ chuyển làn an toàn (Platooning & Lane Changing): Đội xe tự hành (Truck Platooning) chia sẻ liên tục thông tin vận tốc, góc đánh lái và gia tốc mà không phụ thuộc vào độ trễ của trạm phát sóng di động 4G/5G.
  • Truyền nhận danh tính và trạng thái xe (Vehicle ID Broadcast): Phát mã định danh phương tiện và trạng thái nhiên liệu/lỗi kỹ thuật trực tiếp cho các xe xung quanh hoặc trạm thu phí không dừng nội đô.
       [Xe A (Dẫn đầu)]                            [Xe B (Bám đuôi)]
+-----------------------------+             +-----------------------------+
| Phanh gấp!                  |             | Camera thu hình bảng LED    |
| -> LED phát: "01011111"     | ----------> | -> YOLOv5 phát hiện bảng    |
| (Tốc độ phát: 1250 Hz)      |   Ánh sáng  | -> K-Means giải mã bit      |
+-----------------------------+             | -> Kích hoạt phanh tự động! |
                                            +-----------------------------+
                                              Độ trễ toàn trình: ~28 ms

Kiến trúc triển khai phần cứng trên xe

  • Transmitter Node: Bảng đèn LED Matrix ($8 \times 8$ hoặc $4 \times 4$) tích hợp vi điều khiển ESP32 gắn phía sau đuôi xe, cấp nguồn qua cổng 12V trên ô tô.
  • Receiver Node: Camera Dashboard chuẩn Full HD 1080p@60fps kết nối với máy tính nhúng chuyên dụng (NVIDIA Jetson Xavier NX / Jetson Orin Nano).

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

  • Chi phí thiết bị truyền thống (DSRC OBU + Radar): $\approx 1.500 - 3.000\text{ USD/xe}$.
  • Chi phí giải pháp VOCC: $\approx 50 - 100\text{ USD/xe}$ (Bảng LED ma trận $\approx 15\text{ USD}$, ESP32 $\approx 5\text{ USD}$, tận dụng Camera hành trình sẵn có).
  • ROI: Tiết kiệm hơn 90% chi phí đầu tư phần cứng V2V cho các đội xe thương mại, xe bus công cộng và xe vận tải logistics.

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

Hạn chế kỹ thuật

  • Tốc độ truyền dữ liệu (Data Throughput) còn khiêm tốn do giới hạn tốc độ lấy mẫu khung hình của camera thông thường ($30 - 60\text{ FPS}$).
  • Điều kiện thời tiết cực đoan như sương mù dày đặc hoặc mưa bão lớn làm tán xạ ánh sáng LED, làm gia tăng tỷ lệ lỗi bit ($BER$).

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

  • Ứng dụng Optical Flow & Tracking: Tích hợp thuật toán ByteTrack/SORT để theo vết bảng LED qua các frame, giảm tải tần suất phải chạy model phát hiện full-frame.
  • Mã hóa kênh tiên tiến (Forward Error Correction - FEC): Bổ sung mã Reed-Solomon hoặc Hamming Code vào cấu trúc gói tin để tự động phát hiện và sửa lỗi bit suy hao.
  • Nâng cấp Camera sự kiện (Event-based Camera): Nghiên cứu cảm biến thị giác Neuromorphic Event Camera với tần số quét tương đương $\mu\text{s}$ để nâng băng thông truyền dẫn lên hàng trăm kbps.

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

  • Sinh viên & Học viên cao học: Tiếp cận mã nguồn mẫu, phương pháp luận thực nghiệm thị giác máy tính và quy trình chuẩn hóa dataset chuẩn COCO/Pascal VOC.
  • Kỹ sư AI & Lập trình viên nhúng: Nắm bắt kiến trúc triển khai thực tế của các mô hình YOLOv5, PP-PicoDet trên thiết bị biên kết hợp thuật toán xử lý ảnh kinh điển.
  • Doanh nghiệp Ô tô & Công ty Logistics: Sở hữu giải pháp công nghệ V2V chi phí siêu thấp, dễ dàng tích hợp vào các dòng xe thương mại mà không cần chờ đợi phủ sóng hạ tầng C-V2X quốc gia.
  • Các nhà nghiên cứu ITS: Kế thừa 02 bộ dữ liệu điểm chuẩn VOCC ngoài trời với các điều kiện cự ly xa ($60\text{m}$) phục vụ công bố học thuật quốc tế.

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ì?

Ở phía thu, hệ thống yêu cầu Camera hỗ trợ tối thiểu 1080p@30fps và máy tính biên trang bị GPU tương đương NVIDIA Jetson Nano (4GB) hoặc CPU Intel Core i5 thế hệ 8 trở lên để đảm bảo tốc độ xử lý $\ge 30\text{ FPS}$. Phía phát chỉ cần vi điều khiển 32-bit (ESP32 hoặc ARM Cortex-M4) và bảng ma trận LED công suất phát tiêu chuẩn.

2. Hệ thống xử lý thế nào khi phương tiện rung lắc hoặc nghiêng góc?

Nhờ vào 4 bit neo (Anchor Bits) cố định tại 4 góc của ma trận LED $8 \times 8$, hệ thống sử dụng thuật toán biến đổi phối cảnh 4 điểm (cv2.getPerspectiveTransformcv2.warpPerspective) để nắn phẳng bảng LED về ma trận vuông chuẩn trước khi thực hiện phân lớp bit.

3. Khả năng tích hợp của VOCC với các hệ thống ADAS hiện có ra sao?

VOCC sử dụng chung nguồn cấp hình ảnh từ Camera phía trước của hệ thống ADAS. Module phát hiện bảng LED có thể chạy song song như một nhánh tác vụ phụ (Task Branch) bên cạnh các tác vụ nhận diện làn đường, biển báo và người đi bộ mà không làm phát sinh thêm cảm biến vật lý.

4. Tại sao phương pháp phân cụm K-Means lại cho hiệu quả tốt hơn CNN trên ma trận 8x8?

Với bảng LED $8 \times 8$ ở cự ly xa ($40\text{m} - 60\text{m}$), diện tích mỗi ô LED con chỉ chiếm vài pixel trên ảnh. Việc đưa qua các lớp tích chập sâu của CNN dễ gây mất mát thông tin không gian do pooling. Phân cụm K-Means lấy mẫu trực tiếp cường độ sáng tại tâm điểm giúp phân tách nhị phân 2 mức sáng ON/OFF cực kỳ chính xác và nhanh chóng.

5. Chi phí bảo trì và độ bền của bảng LED ngoài trời như thế nào?

Bảng LED sử dụng chip LED trạng thái rắn (Solid-state LED) chuẩn chống nước IP67/IP68 với tuổi thọ hoạt động trên 50.000 giờ, chi phí thay thế định kỳ dưới $20\text{ USD}$, hoàn toàn không đòi hỏi bảo dưỡng vi mạch phức tạp.


Kết luận

Khóa luận tốt nghiệp đã giải quyết thành công bài toán giao tiếp quang học giữa các phương tiện giao thông (VOCC) thông qua việc kết hợp các mô hình học sâu hiện đại và thuật toán thị giác máy tính thông minh. Những đóng góp nổi bật bao gồm việc xây dựng 02 bộ dữ liệu thực nghiệm chất lượng cao $4 \times 4$ và $8 \times 8$ ở cự ly lên đến $60\text{m}$, chứng minh tính ưu việt của mô hình YOLOv5s ($mAP@0.95 = 90.83%$, $76\text{ FPS}$) cùng phương pháp phân cụm K-Means ($BER = 0.027$, $34\text{ FPS}$).

Công trình khẳng định tính khả thi cao, mở ra hướng đi đột phá với chi phí thấp nhằm hiện thực hóa các giải pháp giao tiếp V2V an toàn, tin cậy cho mạng lưới xe tự hành và đô thị thông minh trong tương lai gần. Bạn có thể sử dụng lệnh /plan để lập kế hoạch chi tiết cho các thử nghiệm nâng cao tiếp theo.