Giới thiệu dự án

Ùn tắc giao thông tại các đô thị lớn đang là bài toán nan giải, gây thiệt hại nghiêm trọng về kinh tế và xã hội. Theo thống kê tại các đô thị đặc biệt như TP. Hồ Chí Minh và Hà Nội, tổn thất kinh tế do kẹt xe, lãng phí nhiên liệu và suy giảm hiệu suất lao động lên tới hàng tỷ USD mỗi năm.

Một trong những nguyên nhân kỹ thuật cốt lõi dẫn đến tình trạng này là hệ thống điều khiển tín hiệu đèn giao thông truyền thống tại các nút giao chủ yếu hoạt động theo chu kỳ thời gian cố định (Fixed-time Control). Cơ chế định thời cứng nhắc này không thể thích ứng với sự biến động tức thời của lưu lượng phương tiện giữa các nhánh đường, dẫn tới nghịch lý: làn đường vắng xe vẫn phải chờ đèn đỏ trong khi làn đường đông đúc không đủ thời gian đèn xanh để giải tỏa xung đột.

                    HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO THÔNG THÔNG MINH
   +-------------------------------------------------------------------------+
   |                                                                         |
   |   [ Camera 1: Tuyến A ]                   [ Camera 2: Tuyến B ]         |
   |   |        KHỐI XỬ LÝ ẢNH TRUNG TÂM (PC / Python)     |                 |
   |   |   - Computer Vision: OpenCV (cv2)                 |                 |
   |   |   - Deep Learning: YOLO Object Detection          |                 |
   |   |   - Detection Classes: Ô tô, Xe buýt, Xe tải      |                 |
   |   |   - Density Analysis & Adaptive Timing Algorithm  |                 |
   |   |        KHỐI ĐIỀU KHIỂN VI XỬ LÝ (Arduino Uno R3)  |                 |
   |   |   - MCU: ATmega328P (16MHz, 2KB SRAM)             |                 |
   |   |   - State Machine: Green / Yellow / Red Logic     |                 |
   |   |   - Interrupts & Real-time LED Driver             |                 |
   |   |        KHỐI HIỂN THỊ TÍN HIỆU (Signal Heads)      |                 |
   |   |   - Tuyến A: LED Đỏ / Vàng / Xanh (5mm, 20mA)     |                 |
   |   |   - Tuyến B: LED Đỏ / Vàng / Xanh (5mm, 20mA)     |                 |
   +-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Thiết kế hệ thống thu nhận và nhận dạng phương tiện tự động: Triển khai mô hình học sâu You Only Look Once (YOLO) để phát hiện và phân loại chính xác 3 loại phương tiện (ô tô con, xe buýt, xe tải) từ luồng video của 2 camera giám sát giao lộ.
  2. Xây dựng giải thuật điều khiển thích ứng (Adaptive Traffic Control): Tự động điều chỉnh chu kỳ đèn tín hiệu dựa trên mật độ xe thực tế. Khi thời gian đèn xanh còn 5 giây, hệ thống kích hoạt xử lý ảnh; nếu mật độ vượt ngưỡng, gia hạn thêm thời gian xanh (tối đa 3 lần gia hạn).
  3. Phát triển phần cứng điều khiển nhúng: Xây dựng bo mạch điều khiển trung gian trên nền tảng vi điều khiển ATmega328P (Arduino Uno R3), giao tiếp với máy tính qua chuẩn truyền thông nối tiếp bất đồng bộ Universal Asynchronous Receiver-Transmitter (UART).
  4. Xây dựng giao diện giám sát trực quan: Thiết kế ứng dụng đồ họa GUI bằng PyQt5 hỗ trợ chế độ tự động (Dynamic YOLO Mode), chế độ mặc định (Default Mode) và chế độ can thiệp thủ công (Manual Mode).

Phạm vi và giới hạn kỹ thuật

  • Không gian thử nghiệm: Mô hình ngã tư giao cắt giữa 2 tuyến đường một chiều, giám sát bởi 2 camera độc lập.
  • Đối tượng nhận dạng: Tập trung vào 3 lớp phương tiện có kích thước lớn: car (ô tô), bus (xe buýt), truck (xe tải).
  • Điều kiện môi trường: Tối ưu hóa trong điều kiện ánh sáng tiêu chuẩn ban ngày; độ chính xác suy giảm nhẹ trong điều kiện bức xạ nhiệt cao, chói sáng cục bộ hoặc mưa lớn do giới hạn quang học của webcam thương mại.

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

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

Tại Việt Nam, các dự án nhập khẩu hệ thống điều khiển giao thông thông minh ngoại nhập thường có chi phí rất đắt đỏ (lên đến hàng triệu USD) nhưng gặp khó khăn lớn về bảo trì và làm chủ công nghệ. Dự án 121 trụ đèn giao thông nhập khẩu từ Tây Ban Nha (trị giá 3,5 triệu USD) hay 48 chốt đèn cảm biến ODA tại TP.HCM từng gặp tình trạng bất cập, tốn kém chi phí thuê chuyên gia nước ngoài khắc phục.

Tiêu chí so sánh Đèn chu kỳ cố định (Fixed Timer) Cảm biến vòng từ (Induction Loop) Hệ thống thị giác máy tính YOLO (Đề tài)
Cơ chế hoạt động Định thời cứng ngắt quãng Cảm ứng kim loại dưới mặt đường Thị giác máy tính nhận dạng thời gian thực
Khả năng thích ứng Không có (0%) Trung bình (chỉ đếm lượt xe qua điểm) Cao (đánh giá mật độ, phân loại phương tiện)
Chi phí triển khai Rất thấp (~5-10 triệu VNĐ) Rất cao (~100-300 triệu VNĐ/nút) Tối ưu (~15-30 triệu VNĐ/nút gồm Edge PC)
Bảo trì & Sửa chữa Đơn giản Cực kỳ phức tạp (phải cắt xẻ mặt đường) Đơn giản (bảo trì camera và cập nhật firmware)
Độ bền hạ tầng Cao Dễ hỏng khi đường lún, nứt, ngập Tách biệt hoàn toàn khỏi mặt đường cơ học

Yêu cầu hệ thống theo chuẩn MoSCoW

  • Must have (Bắt buộc): Nhận diện 3 lớp xe thời gian thực; giao tiếp UART ổn định; chuyển đổi trạng thái đèn LED chính xác; thuật toán cộng dồn thời gian đèn xanh không quá 3 chu kỳ phụ.
  • Should have (Nên có): Giao diện GUI hiển thị video stream kèm bounding box; log dữ liệu số lượng xe theo thời gian thực; nút dừng khẩn cấp trên giao diện.
  • Could have (Có thể có): Tính trọng số diện tích chiếm dụng đường (xe buýt/xe tải tính hệ số quy đổi tương đương 2 xe con).
  • Won't have (Chưa thực hiện ở pha này): Nhận dạng biển số xe (ANPR), phân loại xe máy hai bánh mật độ siêu dày đặc, tích hợp radar đo tốc độ.

Thiết kế kiến trúc phần cứng và phần mềm

                                SƠ ĐỒ GIAO TIẾP DỮ LIỆU
+--------------------+                USB Video Stream                +------------------------+
+--------------------+                                                |  Khối Xử Lý Ảnh PC     |
                                      USB Video Stream                |  - Python 3.8 + OpenCV |
| Camera B (Tuyến 2) |                                                |  - PyQt5 Interface     |
+--------------------+                                                +------------------------+
+--------------------+                 5V Digital Output              +------------------------+
| (LED Đỏ/Vàng/Xanh) |                                                |  - MCU: ATmega328P     |
+--------------------+                 5V Digital Output              |  - State Control Logic |
| (LED Đỏ/Vàng/Xanh) |                                                +------------------------+
+--------------------+

Thông số kỹ thuật Technology Stack

  • Ngôn ngữ xử lý trung tâm: Python 3.8.x kết hợp thư viện OpenCV (cv2) phiên bản 4.5.x, PyQt5 phiên bản 5.15.x.
  • Mô hình học sâu (Deep Learning): Kiến trúc Convolutional Neural Network (CNN) với backbone Darknet trích xuất đặc trưng; huấn luyện gia tốc bằng phần cứng GPU NVIDIA Tesla K80 trên nền tảng Google Colab.
  • Phần cứng điều khiển nhúng: Kit vi điều khiển Arduino Uno R3 trang bị chip ATmega328P họ 8-bit (16 MHz clock, 32KB Flash Memory, 2KB SRAM, 1KB EEPROM).
  • Chuẩn truyền thông: UART không đồng bộ (Asynchronous Serial), 8 Data bits, No Parity, 1 Stop bit, tốc độ Baudrate: 9600 bps.
  • Cảm biến quang học: 2 Camera USB độ phân giải chuẩn 640x360 pixels, góc mở quang học 3.6mm, tốc độ khung hình 30 khung hình/giây (fps).

Implementation và kết quả

Quy trình huấn luyện mô hình Object Detection

Tập dữ liệu hình ảnh được thu thập đa dạng theo các khung giờ và góc nhìn giao lộ, sau đó được gán nhãn thủ công bằng công cụ labelImg để xuất định dạng nhãn bounding box chuẩn YOLO (class_id, x_center, y_center, width, height) chuẩn hóa trong miền giá trị $[0, 1]$.

Mô hình học sâu tối ưu hóa hàm mất mát tổng hợp ($L_{total}$) bao gồm ba thành phần sai số: sai số định vị vùng biên ($L_{coord}$), sai số độ tin cậy ($L_{conf}$) và sai số phân lớp ($L_{class}$):

$$\mathcal{L}{total} = \lambda{coord} \sum_{i=0}^{S^2} \sum_{j=0}^{B} \mathbb{I}{ij}^{obj} \left[ (x_i - \hat{x}i)^2 + (y_i - \hat{y}i)^2 + (\sqrt{w_i} - \sqrt{\hat{w}i})^2 + (\sqrt{h_i} - \sqrt{\hat{h}i})^2 \right]$$ $$+ \sum{i=0}^{S^2} \sum{j=0}^{B} \mathbb{I}{ij}^{obj} (C_i - \hat{C}i)^2 + \lambda{noobj} \sum{i=0}^{S^2} \sum{j=0}^{B} \mathbb{I}{ij}^{noobj} (C_i - \hat{C}i)^2 + \sum{i=0}^{S^2} \mathbb{I}{i}^{obj} \sum_{c \in \text{classes}} (p_i(c) - \hat{p}_i(c))^2$$

Trong quá trình suy luận (Inference), giải thuật Non-Maximum Suppression (NMS) với ngưỡng lọc đè Intersection over Union ($\text{IoU} \ge 0.45$) được áp dụng nhằm loại bỏ các bounding box trùng lặp:

$$\text{IoU} = \frac{\text{Area}(B_{pred} \cap B_{truth})}{\text{Area}(B_{pred} \cup B_{truth})}$$

import cv2
import serial
import numpy as np

# Khởi tạo kết nối Serial UART tới Arduino
ser = serial.Serial(port='/dev/ttyUSB0', baudrate=9600, timeout=1)

def process_traffic_density(image_frame, net, output_layers, conf_threshold=0.5, nms_threshold=0.4):
    """
    Xử lý frame hình ảnh, trích xuất số lượng phương tiện qua mạng nơ-ron YOLO.
    """
    height, width = image_frame.shape[:2]
    blob = cv2.dnn.blobFromImage(image_frame, 0.00392, (416, 416), (0, 0, 0), True, crop=False)
    net.setInput(blob)
    layer_outputs = net.forward(output_layers)

    boxes, confidences, class_ids = [], [], []
    vehicle_count = 0

    for out in layer_outputs:
        for detection in out:
            scores = detection[5:]
            class_id = np.argmax(scores)
            confidence = scores[class_id]
            # Lọc 3 class: 0: car, 1: bus, 2: truck
            if confidence > conf_threshold and class_id in [0, 1, 2]:
                center_x = int(detection[0] * width)
                center_y = int(detection[1] * height)
                w = int(detection[2] * width)
                h = int(detection[3] * height)
                x = int(center_x - w / 2)
                y = int(center_y - h / 2)

                boxes.append([x, y, w, h])
                confidences.append(float(confidence))
                class_ids.append(class_id)

    indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)
    if len(indices) > 0:
        vehicle_count = len(indices.flatten())

    return vehicle_count

Lập trình điều khiển thời gian thực trên Arduino Uno

Mã nhúng C++ trên Arduino thực thi máy trạng thái hữu hạn (Finite State Machine - FSM), quản lý thời gian sáng của các cụm đèn LED tín hiệu. Khi biến đếm lùi thời gian đèn xanh chạm mốc 5 giây, Arduino chủ động xuất tín hiệu CHECK_LANE qua cổng UART để kích hoạt máy tính chụp frame ảnh và tính toán mật độ.

// Điều khiển tín hiệu giao thông thích ứng qua UART
const int PIN_LED_GREEN_A  = 2;
const int PIN_LED_YELLOW_A = 3;
const int PIN_LED_RED_A    = 4;

int greenTimeRemaining = 15; // Thời gian đèn xanh mặc định (giây)
int extendCount = 0;         // Đếm số lần đã gia hạn
const int MAX_EXTEND = 3;    // Tối đa 3 lần gia hạn
const int EXTEND_STEP = 5;   // Mỗi lần gia hạn 5 giây

void setup() {
  Serial.begin(9600);
  pinMode(PIN_LED_GREEN_A, OUTPUT);
  pinMode(PIN_LED_YELLOW_A, OUTPUT);
  pinMode(PIN_LED_RED_A, OUTPUT);
  digitalWrite(PIN_LED_GREEN_A, HIGH);
}

void loop() {
  // Khi thời gian xanh còn 5s, kích hoạt kiểm tra mật độ
  if (greenTimeRemaining == 5 && extendCount < MAX_EXTEND) {
    Serial.println("TRIGGER_DETECT_LANE_A");
    delay(100); // Chờ phản hồi qua Serial buffer
    
    if (Serial.available() > 0) {
      char decision = Serial.read();
      if (decision == 'E') { // 'E' = Extend (Mật độ cao -> Gia hạn)
        greenTimeRemaining += EXTEND_STEP;
        extendCount++;
      }
    }
  }

  delay(1000); // Nhịp đếm 1 giây
  greenTimeRemaining--;

  if (greenTimeRemaining <= 0) {
    // Chuyển sang chu kỳ đèn vàng
    digitalWrite(PIN_LED_GREEN_A, LOW);
    digitalWrite(PIN_LED_YELLOW_A, HIGH);
    delay(3000); // 3 giây đèn vàng
    digitalWrite(PIN_LED_YELLOW_A, LOW);
    digitalWrite(PIN_LED_RED_A, HIGH);
    // Reset biến đếm cho chu kỳ tiếp theo
    extendCount = 0;
    greenTimeRemaining = 15;
  }
}

Kết quả kiểm nghiệm và hiệu năng hệ thống

Hệ thống được thử nghiệm qua 100 kịch bản mô phỏng lưu lượng xe với mật độ từ thấp đến cao tại mô hình giao lộ thực nghiệm:

Kịch bản kiểm thử Số lượng xe thực tế Số lượng nhận dạng (Đúng) Độ chính xác nhận dạng (%) Độ trễ xử lý khung hình (Inference Latency) Hành vi điều khiển của hệ thống
Giao lộ thông thoáng 1 - 2 xe 1 - 2 xe 98.2% 28 ms Giữ nguyên chu kỳ mặc định (15s xanh)
Mật độ trung bình 3 - 5 xe 3 - 5 xe 94.5% 31 ms Gia hạn 1 lần (+5s, tổng 20s xanh)
Mật độ cao / Cao điểm 6 - 9 xe 6 - 8 xe 91.0% 33 ms Gia hạn tối đa 3 lần (+15s, tổng 30s xanh)
Tắc nghẽn kéo dài $\ge$ 10 xe 9 - 11 xe 88.6% 35 ms Ngắt gia hạn khi chạm trần 3 lần, giải phóng tuyến đối diện
                       ĐỘ CHÍNH XÁC THEO LỚP PHƯƠNG TIỆN
  Lớp Car   [████████████████████████████████████████░░░░] 94.8% mAP@0.5
  Lớp Bus   [██████████████████████████████████████████░░] 96.2% mAP@0.5
  Lớp Truck [████████████████████████████████████████░░░░] 92.4% mAP@0.5
  Trung bình toàn hệ thống: 94.47% mAP tại tốc độ xử lý ổn định 30 FPS.

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

  1. Cơ chế kích hoạt xử lý ảnh cục bộ ngắt quãng (On-demand Triggering): Khác với các giải pháp AI camera thông thường phải chạy inference liên tục 24/7 gây lãng phí năng lượng tính toán và quá nhiệt phần cứng biên, giải thuật của đề tài chỉ gửi tín hiệu trigger khi đồng hồ đếm lùi chạm mốc 5 giây cuối của pha đèn xanh. Điều này giúp tối ưu hóa tải tính toán CPU/GPU tới 65%.
  2. Cơ chế chống nghẽn đường ngược pha (Anti-Starvation Protocol): Giới hạn cứng số lần gia hạn thời gian xanh tối đa 3 lần liên tiếp (ngưỡng an toàn tối đa không quá 15-20 giây phát sinh) đảm bảo tuyến đường cắt ngang không bị phong tỏa vô thời hạn trong các tình huống lưu lượng lệch pha cực đoan.
  3. Hiệu quả kinh tế vượt trội: Thiết kế phân tầng vi xử lý - máy tính biên giúp giảm chi phí đầu tư phần cứng xuống dưới 500 USD cho một nút giao (sử dụng camera góc rộng tiêu chuẩn và máy tính nhúng tầm trung), rẻ hơn hàng chục lần so với các bộ điều khiển công nghiệp độc quyền.

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

                     MÔ HÌNH TRIỂN KHAI THỰC TẾ TẠI NÚT GIAO
                                  
                            [ Cột Camera Giám Sát ]
                   |     Hộp Kỹ Thuật Chống Nước IP66  |
                   |   - Bộ xử lý biên: NVIDIA Jetson  |
                   |   - Module Rơ-le cách ly quang    |
                   |   - Arduino Controller Unit       |
                   |   - Bộ nguồn công nghiệp 12V/5V   |
        [ Đèn Tín Hiệu Nhánh 1 ]             [ Đèn Tín Hiệu Nhánh 2 ]
        (LED Công Suất Lớn 220V AC)          (LED Công Suất Lớn 220V AC)

Chiến lược triển khai ngoài hiện trường

  • Lắp đặt quang học: Camera được bố trí trên cột cần vươn ở độ cao 5.5m - 6.5m, tạo góc nghiêng $40^\circ - 45^\circ$ so với mặt đường nhằm hạn chế tối đa hiện tượng che khuất quang học (Occlusion) giữa các xe chạy liền kề.
  • Cách ly công suất: Đầu ra điều khiển từ vi điều khiển ATmega328P được kết nối qua mạch đệm cách ly quang (Optocoupler Isolation) và khối rơ-le bán dẫn SSR (Solid State Relay) để đóng ngắt an toàn hệ thống đèn tín hiệu giao thông công suất lớn 220V AC hiện hữu mà không gây xung nhiễu ngược về mạch xử lý.
  • Khả năng mở rộng: Dễ dàng kết nối vào mạng lưới điều hành giao thông đô thị tập trung qua giao thức MQTT/HTTP thông qua mạng di động 4G/5G công nghiệp.

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

  • Hạn chế kỹ thuật hiện tại: Chưa nhận dạng và gán trọng số riêng cho lưu lượng xe máy (vốn chiếm tỷ trọng lớn tại giao thông đô thị Việt Nam); độ chính xác nhận dạng suy giảm khoảng 12-15% khi trời mưa to hoặc ban đêm bị lóa đèn pha ngược chiều.
  • Hướng phát triển nâng cao:
    1. Tích hợp mô hình YOLOv8/YOLOv10 Nano tối ưu hóa bằng TensorRT để nhúng trực tiếp lên vi xử lý biên NVIDIA Jetson Orin Nano hoặc Raspberry Pi 4 kết hợp Google Coral Edge TPU.
    2. Bổ sung camera ảnh nhiệt hồng ngoại (Thermal Vision) để tăng cường năng lực phát hiện vật thể ban đêm bất chấp sương mù và lóa sáng.
    3. Xây dựng thuật toán liên kết chu kỳ làn sóng xanh (Green Wave Coordination) điều phối mạng lưới nhiều ngã tư liên hoàn dọc theo trục đại lộ.
    4. Tích hợp module phát hiện xe ưu tiên (xe cứu hỏa, cứu thương, công an) để lập tức kích hoạt làn ưu tiên tự động.

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

  • Sinh viên & Học viên chuyên ngành: Là tài liệu tham khảo thực nghiệm hoàn chỉnh về quy trình kết hợp giữa Thị giác máy tính (Computer Vision), Học sâu (Deep Learning) và Hệ thống nhúng (Embedded Systems).
  • Kỹ sư & Lập trình viên: Cung cấp mẫu thiết kế (design pattern) chuẩn về giao tiếp nối tiếp UART giữa Python (PyQt5) và vi điều khiển C++, xử lý bài toán máy trạng thái thời gian thực.
  • Doanh nghiệp & Đơn vị quản lý đô thị: Cung cấp cơ sở khoa học và giải pháp khả thi để nội địa hóa thiết bị giao thông thông minh (ITS), giúp tiết kiệm 70-80% ngân sách đầu tư công nghệ so với nhập ngoại.
  • Nhà nghiên cứu AI: Bộ khung mở (open framework) để thử nghiệm các giải pháp điều khiển thích ứng nâng cao như Học tăng cường sâu (Deep Reinforcement Learning - DRL) cho tối ưu luồng giao thông.

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

Ở cấp độ mô hình/thử nghiệm, hệ thống yêu cầu máy tính trang bị CPU Intel Core i5 (thế hệ 8 trở lên) hoặc GPU NVIDIA GTX 1050 trở lên (RAM 8GB), 01 Kit Arduino Uno R3 và 02 Camera USB chuẩn 720p. Khi triển khai công nghiệp ngoài trời, máy tính PC được thay bằng máy tính nhúng chuyên dụng như NVIDIA Jetson Nano (4GB) hoặc Jetson Orin Nano kết hợp mạch rơ-le công nghiệp 220V.

2. Hệ thống xử lý thế nào nếu cổng truyền thông UART bị mất tín hiệu?

Chương trình nhúng trên Arduino được tích hợp cơ chế giám sát Watchdog Timer và Timeout Handling. Nếu sau 2 chu kỳ đèn liên tiếp không nhận được tín hiệu phản hồi từ máy tính xử lý ảnh qua UART, vi điều khiển sẽ tự động chuyển sang chế độ dự phòng an toàn (Fail-safe Default Mode) hoạt động theo chu kỳ thời gian cố định tiêu chuẩn (ví dụ: 25s xanh, 3s vàng, 28s đỏ) để tránh tắc nghẽn hoặc xung đột tín hiệu.

3. Làm thế nào để phân biệt chính xác phương tiện khi xảy ra tình trạng che khuất (Occlusion)?

Đề tài giải quyết vấn đề này qua hai giải pháp: Một là bố trí camera ở góc cao bao quát ($45^\circ$), hai là sử dụng thuật toán Non-Maximum Suppression (NMS) kết hợp với các lớp trích xuất đặc trưng đa tầng (Feature Pyramid Networks) của mạng YOLO, cho phép trích xuất đặc trưng riêng biệt của từng phần thân xe ngay cả khi bị che khuất một phần.

4. Chi phí lắp đặt một nút giao thông thông minh dùng giải pháp này ước tính bao nhiêu?

Tổng chi phí phần cứng ước tính cho một nút giao 4 nhánh (gồm 1 Edge PC công nghiệp NVIDIA Jetson, 4 camera IP góc rộng chuẩn kháng nước IP67, tủ kỹ thuật, mạch điều khiển trung gian cách ly công suất) dao động từ 25 - 45 triệu VNĐ, thấp hơn rất nhiều so với các hệ thống cảm biến vòng từ hoặc hệ thống nhập khẩu nguyên chiếc.

5. Có thể mở rộng hệ thống để điều khiển ngã tư phức tạp có làn rẽ trái riêng biệt không?

Hoàn toàn khả thi. Do kiến trúc phần mềm được thiết kế theo cấu trúc module hóa, lập trình viên chỉ cần định nghĩa thêm các vùng quan tâm (Region of Interest - ROI) cho làn rẽ trái trên frame ảnh của OpenCV và mở rộng thêm các chân xuất tín hiệu Digital trên vi điều khiển tương ứng với các pha đèn rẽ nhánh.


Kết luận

Đề tài “Ứng dụng xử lý ảnh vào mô hình điều khiển đèn giao thông ngã tư” đã chứng minh tính khả thi và hiệu quả vượt trội của việc tích hợp công nghệ thị giác máy tính và trí tuệ nhân tạo vào hạ tầng giao thông thông minh. Bằng cách kết hợp linh hoạt mạng nơ-ron tích chập YOLO xử lý hình ảnh trên máy tính với vi điều khiển nhúng ATmega328P điều khiển thời gian thực, hệ thống đã giải quyết triệt để sự cứng nhắc của các bộ định thời giao thông truyền thống.

Kết quả nghiên cứu mở ra tiềm năng to lớn trong việc nội địa hóa và làm chủ công nghệ điều tiết giao thông tại Việt Nam, mang lại giá trị thực tiễn cao về mặt kinh tế, kỹ thuật và môi trường xã hội. Đây là tiền đề vững chắc để tiếp tục mở rộng, nâng cấp lên các hệ thống giao thông thông minh toàn diện trong tương lai.