Bối cảnh và vấn đề nghiên cứu

Tại các đô thị ở Việt Nam, sự phát triển nhanh chóng của nền kinh tế cùng mật độ dân cư gia tăng kéo theo nhu cầu đi lại và vận chuyển hàng hóa tăng cao, dẫn đến tình trạng ùn tắc giao thông thường xuyên xảy ra. Ùn tắc giao thông gây thiệt hại trực tiếp đến sự phát triển kinh tế, suy giảm năng suất lao động và phát sinh các chi phí gián tiếp trong lưu thông hàng hóa. Một trong những nguyên nhân cơ bản của thực trạng này là do cơ sở hạ tầng giao thông chưa đáp ứng kịp nhu cầu thực tế, kết hợp với việc phân bổ chu kỳ thời gian cố định tại các nút đèn giao thông chưa linh hoạt theo mật độ phương tiện thực tế theo từng thời điểm.

Nhiều giải pháp đã được áp dụng như phân chia thời gian đèn theo khung giờ cao điểm hoặc phân luồng thủ công bằng lực lượng cảnh sát giao thông, tuy nhiên các phương án này mang tính tương đối và tiêu tốn nhiều nhân lực. Tại các nước phát triển, hệ thống camera giám sát tự động điều tiết giao thông kết hợp các thuật toán điều khiển mờ (fuzzy control) hoặc máy tính công nghiệp (như hệ thống của AdvanTech) đã được triển khai nhưng chi phí đầu tư rất lớn, lên tới hàng tỷ đồng cho mỗi nút giao. Tại Việt Nam, việc nhập khẩu các hệ thống đèn thông minh cũng gặp nhiều trở ngại về mặt làm chủ công nghệ: năm 2007, dự án lắp đặt 121 trụ đèn giao thông nhập từ Tây Ban Nha trị giá 3,5 triệu USD tại TP. Hồ Chí Minh không thể vận hành bình thường sau chưa đầy một năm; hệ thống 48 chốt đèn gắn cảm biến tự động từ nguồn vốn ODA cũng gặp sự cố khiến Ủy ban Nhân dân TP. Hồ Chí Minh phải chi hơn 8.456 USD thuê chuyên gia nước ngoài khắc phục.

Trước thực tế đó, đề tài "Ứng dụng xử lý ảnh vào mô hình điều khiển đèn giao thông ngã tư" được thực hiện nhằm mục tiêu thiết kế giải thuật và mô hình thực nghiệm điều khiển chu kỳ đèn giao thông tại một ngã tư gồm hai tuyến đường một chiều, tự động thay đổi thời gian đèn xanh dựa trên việc đếm số lượng phương tiện thực tế từ 2 camera thu phát về máy tính xử lý.

Đề tài xác định và hoàn thành 10 nội dung nghiên cứu cụ thể:

  1. Tìm hiểu các lý thuyết về mạng nơ-ron nhân tạo (ANN), mạng nơ-ron tích chập (CNN) và các thuật toán nhận dạng đối tượng.
  2. Nghiên cứu phương pháp thu nhận và xử lý tín hiệu hình ảnh từ camera.
  3. Tìm hiểu đặc điểm giao thông trong nước và lựa chọn giải thuật điều tiết phù hợp.
  4. Nghiên cứu các kỹ thuật phát hiện đối tượng (object detection) trong thị giác máy tính.
  5. Tìm hiểu chi tiết thuật toán YOLO (You Only Look Once).
  6. Xây dựng bộ cơ sở dữ liệu hình ảnh thu thập từ Internet và thực hiện gán nhãn dữ liệu.
  7. Thực hiện quá trình huấn luyện mạng nơ-ron trên nền tảng đám mây.
  8. Thiết kế phần cứng mô hình và mạch hiển thị đèn tín hiệu.
  9. Kiểm thử, hiệu chỉnh và hoàn thiện toàn bộ mô hình hệ thống.
  10. Viết báo cáo tổng kết và tài liệu hướng dẫn vận hành.

Phạm vi và giới hạn của đề tài bao gồm:

  • Thiết bị phần cứng: Board điều khiển Arduino Uno R3, 6 LED đơn (2 đỏ, 2 vàng, 2 xanh), 2 camera quan sát giao lộ 2 tuyến đường một chiều.
  • Đối tượng nhận dạng: Phân loại 3 nhóm phương tiện gồm ô tô con, xe buýt và xe tải.
  • Môi trường thử nghiệm: Mô hình ngã tư thu nhỏ; các yếu tố ngoại cảnh phức tạp (mưa, sương mù, đèn đường, đèn pha xe) và các điều kiện chiếu sáng khắc nghiệt (quá tối hoặc bức xạ nhiệt mạnh) chưa được mô phỏng toàn diện.

Cơ sở lý thuyết và phương pháp

Khóa luận dựa trên nền tảng lý thuyết mạng nơ-ron tích chập (CNN) và kiến trúc phát hiện đối tượng thời gian thực YOLO (You Only Look Once), kết hợp hệ thống vi điều khiển xử lý nhúng.

Hệ thống xử lý ảnh dựa trên thuật toán YOLO coi bài toán phát hiện đối tượng là bài toán hồi quy (regression) đơn tầng, đưa ảnh đầu vào qua các lớp tích chập, gộp (pooling) và kết nối đầy đủ (fully connected) để dự đoán trực tiếp tọa độ hộp bao (bounding box) và xác suất lớp đối tượng trong một lần truyền thẳng (forward pass).

Khóa luận tổng hợp quá trình phát triển của các phiên bản YOLO:

  • YOLOv1: Chia ảnh thành lưới $S \times S$ (mặc định $7 \times 7$), mỗi ô dự đoán $B$ bounding box với 5 tham số $(x, y, w, h, \text{confidence})$ cùng phân bố xác suất $C$ lớp đối tượng. Vector đầu ra có kích thước $S \times S \times (5B + C)$. Hàm mất mát tổng hợp gồm ba thành phần: độ lỗi phân loại ($L_{\text{classification}}$), độ lỗi định vị ($L_{\text{localization}}$) và độ lỗi độ tin cậy ($L_{\text{confidence}}$). Thuật toán Non-Maximal Suppression (NMS) kết hợp độ đo Intersect over Union (IoU) được dùng để loại bỏ các hộp trùng lặp.
  • YOLOv2: Bổ sung chuẩn hóa theo lô (Batch Normalization), phân loại độ phân giải cao ($448 \times 448$), sử dụng anchor box tính toán bằng gom cụm k-means, dự đoán vị trí trực tiếp bằng hàm sigmoid ($\sigma$), bổ sung tầng Reorg chuyển đổi feature map $26 \times 26$ sang $13 \times 13$ để ghép kênh, huấn luyện đa tỷ lệ (Multi-Scale Training) và sử dụng backbone Darknet-19 (19 lớp tích chập, 5 lớp maxpooling).
  • YOLOv3: Áp dụng hồi quy logistic cho điểm tin cậy, thay softmax bằng bộ phân loại logistic rời rạc, tích hợp mạng kim tự tháp đặc trưng (Feature Pyramid Networks - FPN) và liên kết nhảy tầng (skip-layer concatenation) để cải thiện độ chính xác trên vật thể kích thước nhỏ.
  • YOLOv4 & YOLOv5: Giới thiệu các kỹ thuật WRC, CSPDarknet, CmBN, SAT, hàm kích hoạt Mish, tăng cường dữ liệu Mosaic, DropBlock và hàm mất mát CIoU loss.

Công cụ và môi trường phần mềm:

  • Ngôn ngữ lập trình: Python (sử dụng trên IDE PyCharm).
  • Thư viện thị giác máy tính: OpenCV với các module Core, Imgproc, Highgui, Features2d, Calib3d, Objdetect, Ml, Video.
  • Thư viện giao diện: PyQt5 (kết hợp công cụ Qt Designer để xuất mã nguồn giao diện).
  • Gán nhãn dữ liệu: Công cụ mã nguồn mở labelImg để gán nhãn bounding box cho các lớp ô tô, xe buýt, xe tải.
  • Nền tảng huấn luyện: Google Colab cung cấp GPU đám mây Tesla K80 và TPUv2.
  • Môi trường nạp vi điều khiển: Visual Studio Code tích hợp extension PlatformIO.

Công nghệ phần cứng và truyền thông:

  • Board Arduino Uno R3 trang bị vi điều khiển 8-bit ATmega328, bộ nhớ Flash 32 KB (0.5 KB dùng cho Bootloader), SRAM 2 KB, EEPROM 1 KB, xung nhịp 16 MHz.
  • Chuẩn giao tiếp nối tiếp UART (Universal Asynchronous Receiver-Transmitter) bất đồng bộ kết nối giữa máy tính xử lý trung tâm và Arduino Uno R3 thông qua cổng USB/Serial.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc phân tầng gồm khối thu nhận hình ảnh, khối tính toán xử lý trung tâm, khối điều khiển vi xử lý và khối hiển thị tín hiệu.

[2 Camera] ---> [Máy tính xử lý (Python/OpenCV/YOLO/PyQt5)]
                        |  (Giao tiếp UART qua cáp USB)
                        v
                 [Arduino Uno R3] ---> [Khối hiển thị (6 LED đơn)]

Thiết kế phần cứng và cơ khí

  • Khối điều khiển trung tâm: Sử dụng board Arduino Uno R3. Mạch tích hợp bảo vệ quá dòng bằng cầu chì tự phục hồi MF-MSMF050-2, mạch dao động thạch anh 16 MHz, mạch reset ngoài qua nút nhấn có điện trở kéo 10 kΩ, và khối nguồn điều tiết 5V/3.3V.
  • Khối hiển thị: Gồm 6 đèn LED đường kính 5 mm (2 LED đỏ, 2 LED vàng, 2 LED xanh) đại diện cho tín hiệu giao thông của 2 tuyến đường một chiều tại giao lộ. Các LED được kết nối với các chân Digital của Arduino thông qua điện trở hạn dòng phù hợp nhằm đảm bảo dòng tiêu thụ dưới ngưỡng an toàn 40 mA mỗi chân.
  • Mô hình vật lý: Khung ngã tư mô phỏng được dựng dạng 3D, thiết kế chân đế có rãnh dẫn cáp USB kết nối máy tính, bố trí 2 trụ gắn camera có góc nhìn bao quát toàn bộ làn đường tiếp cận nút giao.
Thông số kỹ thuật Giá trị công bố trên hệ thống
Vi điều khiển Microchip ATmega328 (8-bit)
Điện áp hoạt động logic 5V DC
Điện áp cấp ngoài khuyên dùng 7 – 12V DC (Giới hạn: 6 – 20V DC)
Xung nhịp hoạt động 16 MHz
Số chân Digital I/O 14 chân (trong đó có 6 chân hỗ trợ PWM)
Số chân Analog Input 6 chân (A0 – A5, độ phân giải 10-bit)
Dòng ra tối đa chân 5V / 3.3V 500 mA / 50 mA
Dòng điện tối đa mỗi chân I/O 30 mA (giới hạn tuyệt đối 40 mA)
Bộ nhớ Flash 32 KB, SRAM 2 KB, EEPROM 1 KB
Giao thức truyền thông UART (chân 0 - RX, chân 1 - TX)

Thiết kế phần mềm và giải thuật điều khiển

  1. Thu thập dữ liệu và huấn luyện: Tập dữ liệu hình ảnh các phương tiện được thu thập từ Internet, chuyển đổi sang định dạng phù hợp và gán nhãn tọa độ qua phần mềm labelImg. Quá trình huấn luyện mô hình nhận dạng được thực thi trên môi trường Google Colab với phần cứng GPU hỗ trợ.
  2. Giao diện điều khiển (GUI): Xây dựng bằng PyQt5 kết nối mã Python, hỗ trợ 3 chế độ vận hành:
    • Chế độ thủ công (MANUAL): Cho phép người vận hành cưỡng bức chuyển đổi trạng thái đèn tín hiệu bằng các nút bấm trên giao diện.
    • Chế độ tự động mặc định (AUTO DEFAULT): Đèn tín hiệu chuyển đổi theo chu kỳ định sẵn cố định không phụ thuộc dữ liệu camera.
    • Chế độ tự động có xử lý ảnh (AUTO YOLO): Điều tiết thời gian đèn xanh động theo mật độ phương tiện.
  3. Giải thuật điều khiển thời gian thực:
    • Arduino điều khiển bộ đếm lùi thời gian cho pha đèn xanh hiện tại của tuyến đường A.
    • Khi thời gian đèn xanh của tuyến đường này đếm lùi đến mốc 5 giây cuối cùng, Arduino phát một tín hiệu qua cổng UART gửi lên máy tính.
    • Khối xử lý ảnh trên máy tính thu nhận khung hình từ camera tương ứng của tuyến đường A, nạp vào mô hình YOLO để phát hiện và đếm tổng số phương tiện (ô tô, xe buýt, xe tải).
    • Dựa trên số lượng phương tiện đếm được so với ngưỡng cấu hình:
      • Nếu lượng xe lớn: Máy tính gửi mã lệnh điều khiển qua UART yêu cầu Arduino cộng thêm thời gian đèn xanh cho tuyến đường A. Số lần cộng thêm tối đa được giới hạn nghiêm ngặt không quá 3 lần liên tiếp nhằm tránh gây tắc nghẽn cục bộ cho tuyến đường còn lại.
      • Nếu lượng xe ít hoặc đã chạm ngưỡng 3 lần gia hạn: Arduino chuyển chu kỳ sang đèn vàng và chuyển quyền ưu tiên đèn xanh cho tuyến đường đối diện.

Nội dung chính theo từng chương

Chương 1. Tổng quan

Chương 1 thiết lập tính cấp thiết của việc tự động hóa điều tiết giao thông trong bối cảnh hạ tầng đô thị quá tải. Tác giả chỉ ra các nhược điểm của phương pháp điều khiển đèn giao thông truyền thống và sự thất bại của các dự án nhập khẩu thiết bị ngoại nhập đắt tiền do thiếu khả năng làm chủ công nghệ tại TP. Hồ Chí Minh. Chương này công bố mục tiêu chế tạo hệ thống nhận dạng xe qua camera để điều khiển đèn ngã tư, liệt kê 10 nhiệm vụ nghiên cứu, nêu các giới hạn phần cứng và bố cục toàn văn đồ án.

Chương 2. Cơ sở lý thuyết

Chương 2 trình bày tổng quan lý thuyết về thị giác máy tính và cấu trúc hệ thống nhúng. Tác giả phân tích lịch sử xử lý ảnh, cú pháp và các thư viện trong ngôn ngữ Python (PyQt5, OpenCV). Nội dung trọng tâm là phân tích chi tiết tiến trình kỹ thuật của họ thuật toán YOLO từ YOLOv1 đến YOLOv5: cấu trúc phân chia lưới $7 \times 7$, cơ chế dự đoán hộp bao, hàm mất mát 3 thành phần, kỹ thuật Anchor Box, lớp Reorg và mạng Darknet-19. Chương này cũng trình bày kiến trúc phần cứng của các dòng Arduino (Uno R3, Nano, Lilypad, RedBoard, Mega R3, Leonardo), các thông số kỹ thuật chi tiết của chip ATmega328 và nguyên lý truyền thông nối tiếp bất đồng bộ UART.

Chương 3. Tính toán và thiết kế

Chương 3 tập trung vào thiết kế kỹ thuật của hệ thống. Tác giả xây dựng sơ đồ khối tổng thể; phân tích chi tiết sơ đồ nguyên lý các khối mạch trên bo Arduino Uno R3 bao gồm khối nguồn, mạch dao động thạch anh, mạch reset vi điều khiển, mạch nạp và cầu chì tự phục hồi MF-MSMF050-2. Phần thiết kế mạch hiển thị tính toán thông số sụt áp và dòng điện định mức cho 6 đèn LED đơn sắc 5 mm (đỏ, vàng, xanh) kèm điện trở hạn dòng. Phần thiết kế cơ khí trình bày bản vẽ 3D cấu trúc ngã tư, hộp bảo vệ bo mạch, rãnh xuất cổng giao tiếp USB và trụ giá đỡ 2 camera quan sát.

Chương 4. Thi công hệ thống

Chương 4 mô tả toàn bộ quy trình triển khai phần cứng và phần mềm:

  • Thi công bo mạch in, hàn linh kiện và kiểm tra thông mạch khối hiển thị.
  • Thu thập bộ dữ liệu phương tiện, sử dụng phần mềm labelImg gán nhãn cho các lớp ô tô, xe buýt, xe tải; tạo cấu trúc thư mục huấn luyện trên Google Drive và chạy huấn luyện mô hình YOLO trên Google Colab.
  • Thiết kế giao diện đồ họa người dùng bằng Qt Designer, chuyển đổi sang mã nguồn Python, lập trình liên kết hệ thống xử lý trên PyCharm.
  • Lập trình nhúng cho vi điều khiển Arduino Uno R3 bằng môi trường PlatformIO trên Visual Studio Code, hiện thực hóa lưu đồ giải thuật nhận lệnh UART và giải mã chu kỳ đèn.
  • Xây dựng quy trình hướng dẫn vận hành cho 3 chế độ hoạt động (MANUAL, AUTO mặc định, AUTO YOLO).

Chương 5. Kết quả, nhận xét và đánh giá

Chương 5 công bố kết quả thử nghiệm mô hình thực tế. Tác giả trình bày hình ảnh thi công hoàn chỉnh của phần cứng, bảng mạch hiển thị và giao diện điều khiển trên máy tính. Hệ thống được kiểm thử thực tế qua các kịch bản: trạng thái khởi động, vận hành chế độ MANUAL, vận hành tự động mặc định và tự động xử lý ảnh trong hai tình huống mật độ phương tiện (giao lộ ít xe và giao lộ đông xe). Bảng kết quả nhận dạng (Bảng 5.1 trong văn bản) ghi nhận khả năng phát hiện chính xác các đối tượng mô phỏng và cơ chế gia hạn thời gian đèn xanh hoạt động đúng theo thuật toán định sẵn.

Chương 6. Kết luận và hướng phát triển

Chương 6 tóm tắt các kết quả đạt được: xây dựng thành công mô hình phần cứng ngã tư kết nối ổn định với máy tính xử lý qua UART, ứng dụng mô hình YOLO đếm chính xác 3 loại phương tiện và tự động tối ưu chu kỳ đèn tín hiệu. Tác giả cũng chỉ rõ các mặt hạn chế của mô hình thu nhỏ và vạch ra các hướng mở rộng kỹ thuật cho các nghiên cứu tiếp theo.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  1. Thi công hoàn chỉnh mô hình thực nghiệm: Xây dựng mô hình vật lý ngã tư giao lộ 2 tuyến đường một chiều gồm 2 trụ camera, hộp điều khiển trung tâm và 6 đèn LED hiển thị tín hiệu hoạt động ổn định.
  2. Xây dựng giải thuật điều khiển thích nghi: Hiện thực hóa thành công thuật toán giao tiếp 2 chiều giữa máy tính và Arduino qua chuẩn UART:
    • Nhận tín hiệu ngắt thời gian ở mốc 5 giây cuối của chu kỳ đèn xanh.
    • Nhận dạng và đếm số lượng 3 lớp phương tiện (ô tô, xe buýt, xe tải) bằng thuật toán YOLO.
    • Tự động quyết định tăng thêm thời gian đèn xanh với giới hạn tối đa 3 lần/pha đèn.
  3. Phần mềm giao diện hoàn chỉnh: Tích hợp giao diện điều khiển trực quan bằng PyQt5, cung cấp đầy đủ 3 chế độ vận hành: thủ công, tự động cố định và tự động xử lý ảnh.
  4. Quy trình huấn luyện dữ liệu: Xây dựng quy trình khép kín từ thu thập, gán nhãn bằng labelImg đến huấn luyện mô hình học sâu trên nền tảng Google Colab sử dụng GPU đám mây.

Giải pháp và kiến nghị

  • Ứng dụng công nghệ thị giác máy tính thay thế cho các cảm biến chôn ngầm dưới lòng đường truyền thống, giúp giảm chi phí bảo trì cơ sở hạ tầng giao thông và tránh làm hư hại bề mặt đường bộ.
  • Triển khai thuật toán điều khiển thích nghi theo số lượng xe thực tế thay cho hệ thống định thời cố định nhằm giảm thiểu thời gian chờ vô ích tại các giao lộ có lưu lượng phương tiện chênh lệch lớn giữa các nhánh đường.

Đóng góp của đề tài

  • Chứng minh tính khả thi của giải pháp điều khiển giao thông thông minh nội địa hóa với chi phí phần cứng thấp (sử dụng kit vi điều khiển Arduino phổ thông kết hợp camera) thay thế các hệ thống nhập khẩu đắt tiền.
  • Đóng góp tài liệu kỹ thuật hoàn chỉnh từ khâu thiết kế sơ đồ mạch, lập trình nhúng trên PlatformIO đến triển khai mô hình học sâu YOLO trong bài toán giao thông đô thị.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận ghi nhận các hạn chế kỹ thuật do phạm vi thử nghiệm trên mô hình thực nghiệm:

  • Quy mô mô hình: Hệ thống chỉ được thử nghiệm trên mô hình giao lộ thu nhỏ; khoảng cách đặt camera gần hơn so với thực tế; lưu lượng và chủng loại phương tiện mô phỏng còn đơn giản.
  • Đối tượng nhận dạng: Mô hình chỉ tập trung nhận dạng 3 lớp đối tượng chính (ô tô, xe buýt, xe tải), chưa bao gồm xe máy và người đi bộ – hai đối tượng chiếm tỷ trọng lưu thông lớn tại các đô thị Việt Nam.
  • Yếu tố môi trường: Độ chính xác của thuật toán xử lý ảnh suy giảm khi gặp điều kiện cường độ ánh sáng quá mạnh, ánh sáng quá yếu hoặc bức xạ nhiệt lớn; các hiện tượng thời tiết thực tế như mưa, sương mù, phản xạ đèn đường và đèn pha xe chưa được mô phỏng trong đề tài.

Hướng phát triển tiếp theo được tác giả đề xuất:

  • Mở rộng tập dữ liệu huấn luyện để nhận dạng thêm xe máy, xe đạp và người đi bộ qua đường.
  • Tối ưu hóa thuật toán để nâng cao độ chính xác nhận dạng dưới các điều kiện thời tiết phức tạp (mưa gió, ban đêm, chói sáng).
  • Nghiên cứu tích hợp hệ thống xử lý ảnh trực tiếp lên các kit nhúng chuyên dụng có bộ tăng tốc AI (như Raspberry Pi hoặc Jetson Nano) nhằm loại bỏ máy tính cồng kềnh đặt tại chốt đèn.
  • Triển khai thử nghiệm hệ thống trên các giao lộ phức tạp hơn (ngã tư hai chiều, ngã năm, ngã sáu) và liên kết các nút giao thành mạng lưới giao thông thông minh đồng bộ.

Giá trị tham khảo

Đồ án tốt nghiệp cung cấp giá trị tham khảo chuyên môn cho các nhóm đối tượng sau:

  • Sinh viên ngành Kỹ thuật Điện tử, Công nghệ Kỹ thuật Điện tử Truyền thông và Kỹ thuật Điều khiển - Tự động hóa: Tham khảo thiết kế mạch nguyên lý phần cứng, phương pháp tính toán sụt áp - dòng điện linh kiện, và kỹ thuật giao tiếp UART giữa máy tính và vi điều khiển qua PlatformIO/VS Code.
  • Sinh viên ngành Khoa học Máy tính, Công nghệ Thông tin, Trí tuệ Nhân tạo: Tham khảo quy trình thu thập dữ liệu ảnh, công cụ gán nhãn labelImg, phương pháp huấn luyện mô hình YOLO trên Google Colab, và việc tích hợp mô hình Deep Learning vào giao diện người dùng PyQt5.
  • Người nghiên cứu các giải pháp Giao thông thông minh (ITS): Tham khảo giải thuật định thời gian đèn động (ngắt 5 giây cuối, tối đa 3 lần gia hạn) để tối ưu lưu lượng tại các nút giao thông.

Các phần nội dung có giá trị tham khảo kỹ thuật cao:

  • Phần tổng quan toán học và cấu trúc các phiên bản YOLO (v1 đến v5) kèm hàm mất mát chi tiết tại Chương 2.
  • Toàn bộ sơ đồ nguyên lý mạch nguồn, mạch nạp, mạch reset của khối điều khiển vi xử lý tại Chương 3.
  • Quy trình lập trình giao tiếp truyền thông và lưu đồ giải thuật điều khiển hệ thống tại Chương 4.

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

1. Hệ thống xử lý ảnh gửi tín hiệu can thiệp vào chu kỳ đèn giao thông tại thời điểm nào?
Hệ thống xử lý ảnh kích hoạt phân tích khi thời gian đèn xanh của tuyến đường hiện tại đếm lùi đến mốc 5 giây cuối cùng (tín hiệu do Arduino gửi lên máy tính qua UART).

2. Thuật toán điều khiển cho phép gia hạn thời gian đèn xanh tối đa bao nhiêu lần cho một pha giao thông?
Thuật toán khống chế số lần cộng thêm thời gian đèn xanh liên tiếp cho một tuyến đường tối đa không quá 3 lần, nhằm đảm bảo không gây tắc nghẽn kéo dài cho tuyến đường đối diện.

3. Mô hình YOLO trong đồ án được huấn luyện để phân loại những phương tiện nào?
Mô hình tập trung nhận dạng và đếm 3 lớp phương tiện giao thông gồm: ô tô con, xe buýt và xe tải.

4. Khối điều khiển trung tâm và giao thức kết nối phần cứng của hệ thống là gì?
Hệ thống sử dụng kit vi điều khiển Arduino Uno R3 (vi điều khiển ATmega328, 16 MHz) kết nối và trao đổi dữ liệu hai chiều với máy tính xử lý ảnh thông qua chuẩn truyền thông nối tiếp bất đồng bộ UART qua cáp USB/Serial.

5. Các công cụ phần mềm nào được sử dụng để xây dựng giao diện điều khiển và huấn luyện mô hình nhận dạng?
Nhóm tác giả sử dụng công cụ labelImg để gán nhãn dữ liệu, nền tảng điện toán đám mây Google Colab (GPU Tesla K80 / TPUv2) để huấn luyện mạng YOLO, và thư viện PyQt5 (thiết kế bằng Qt Designer) trên IDE PyCharm để lập trình giao diện điều khiển người dùng.


Kết luận

Đồ án tốt nghiệp "Ứng dụng xử lý ảnh vào mô hình điều khiển đèn giao thông ngã tư" của sinh viên Nguyễn Tấn Hưng và Nguyễn Minh Tuấn (Trường ĐH Sư phạm Kỹ thuật TP. Hồ Chí Minh) đã thiết kế và chế tạo thành công mô hình giao lộ điều khiển đèn tín hiệu tự động thích nghi theo mật độ xe. Hệ thống kết hợp giải thuật thị giác máy tính YOLO trên máy tính với vi điều khiển Arduino Uno R3 qua giao thức UART, tự động gia hạn thời gian đèn xanh khi phát hiện lượng xe đông tại mốc 5 giây cuối chu kỳ. Kết quả thực nghiệm khẳng định tính khả thi của giải pháp điều khiển giao thông thông minh chi phí thấp, tạo cơ sở thực tiễn để mở rộng nghiên cứu sang các phương tiện khác và các giao lộ phức tạp hơn.