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

Tình trạng ùn tắc giao thông tại các đô thị hiện nay diễn ra ngày càng phổ biến, trở thành bài toán phức tạp xuất phát từ nhiều nguyên nhân: sự gia tăng nhanh chóng của số lượng phương tiện cá nhân, hạ tầng giao thông chưa đáp ứng kịp thời, năng lực xử lý của hệ thống giao thông công cộng còn hạn chế và công tác phân luồng chưa thực sự tối ưu. Trong thực tế, các phương pháp thu thập, thống kê lưu lượng và phân loại phương tiện thủ công tiêu tốn rất nhiều thời gian, nguồn lực và nhân lực. Bên cạnh đó, việc điều khiển đèn tín hiệu giao thông theo chu kỳ cố định bộc lộ nhiều nhược điểm, làm xuất hiện các khoảng "thời gian chết" kéo dài (tín hiệu đèn xanh vẫn bật ở làn đường không có xe, trong khi các làn đường khác có mật độ phương tiện cao lại phải dừng chờ). Điều này gây lãng phí thời gian di chuyển, gia tăng chi phí vận hành, gây ô nhiễm môi trường và tạo áp lực tâm lý cho người tham gia giao thông.

Trước bối cảnh đó, tác giả Vũ Tuấn Huy đã thực hiện đồ án tốt nghiệp nhằm nghiên cứu, xây dựng ứng dụng trí tuệ nhân tạo phục vụ công tác giám sát và điều phối giao thông đô thị.

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Thu thập, phân tích và xử lý nguồn dữ liệu video giao thông từ các camera thực tế tại nhiều vị trí và điều kiện môi trường khác nhau.
  2. Xây dựng và đào tạo mô hình nhận diện vật thể YOLOv8x kết hợp thuật toán theo dõi đa đối tượng ByteTrack để nhận dạng, gán định danh (ID) và truy vết quỹ đạo di chuyển của phương tiện.
  3. Nghiên cứu và thiết lập các thuật toán chuyên biệt phục vụ bài toán đếm phương tiện (phương pháp cho mặt cắt đường thẳng và phương pháp cho nút giao nhiều nhánh rẽ) cùng bài toán đo thời gian chờ đèn đỏ (Dwell-time).
  4. Thiết kế, xây dựng ứng dụng web demo tích hợp các mô-đun AI và đo lường, cho phép người dùng cấu hình vạch đếm, vùng tính toán và trích xuất báo cáo thống kê theo các khối thời gian phục vụ công tác quản lý giao thông.

Đối tượng nghiên cứu của đề tài là các phương tiện giao thông đường bộ lưu thông trong các luồng video giám sát, được phân loại chi tiết thành 9 nhóm phương tiện. Phạm vi không gian nghiên cứu tập trung vào các tuyến đường mặt cắt (đường thẳng 1 chiều, 2 chiều) và các nút giao thông (ngã ba, ngã tư) tại đô thị. Phạm vi dữ liệu bao gồm các đoạn video được ghi hình ở nhiều khung giờ (sáng, chiều, tối), đa dạng hình thái thời tiết (nắng, mưa, sương mù) và các mức mật độ giao thông khác nhau (thông thoáng, ùn tắc).

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

Đề tài vận dụng các nền tảng lý thuyết thuộc lĩnh vực Trí tuệ nhân tạo (AI), Học máy (Machine Learning), Học sâu (Deep Learning) và Thị giác máy tính (Computer Vision) với các nhiệm vụ trọng tâm: Phân loại hình ảnh (Image Classification), Nhận diện vật thể (Object Detection - OD) và Theo dõi vật thể (Object Tracking - OT).

Các mô hình và cơ sở toán học - thuật toán cốt lõi được tác giả sử dụng bao gồm:

  • Mô hình nhận diện YOLOv8 (phiên bản YOLOv8x): Thuộc họ mô hình One-stage Object Detection, trích xuất đặc trưng qua mạng tích chập (CNN), biểu diễn vị trí vật thể bằng Bounding Box $(x, y, w, h, p)$. Đánh giá độ chính xác vùng bao thông qua chỉ số IoU (Intersection over Union), xử lý triệt tiêu các khung bao trùng lặp bằng kỹ thuật Non-Maximum Suppression (NMS). Mô hình tối ưu hóa thông qua hàm mất mát tổng bình phương sai số (Sum-Squared Error - SSE) kết hợp từ ba thành phần: sai số định vị (Localization loss), sai số độ tin cậy (Confidence loss) và sai số phân loại lớp (Classification loss).
  • Thuật toán theo dõi ByteTrack: Thuật toán theo dõi đa đối tượng (Multiple Object Tracking - MOT) theo phương tiếp cận trực tuyến (Online Tracking) dựa trên nhận diện (Detection-based Tracking), duy trì ID đối tượng ổn định qua các khung hình (frame), xử lý tốt trong điều kiện ánh sáng thay đổi và trường hợp phương tiện bị che khuất tạm thời.
  • Giải thuật hình học và giải tích vectơ: Thuật toán xác định giao điểm giữa đoạn thẳng nối tọa độ tâm bounding box qua hai khung hình liên tiếp với vạch đếm (line); thuật toán kiểm tra hướng di chuyển bằng tích vô hướng và góc lệch giữa vectơ quỹ đạo (trajectory) với vectơ chỉ hướng (chấp nhận góc lệch trong khoảng $-90^\circ$ đến $90^\circ$).
  • Thuật toán Ray casting: Dùng để giải quyết bài toán điểm nằm trong đa giác (Point-in-Polygon) nhằm xác định chính xác thời điểm phương tiện tiến vào và rời khỏi vùng giám sát (Zone) khi tính thời gian chờ.

Phương pháp nghiên cứu thực nghiệm được triển khai thông qua việc kết hợp giữa huấn luyện mô hình học sâu và phát triển phần mềm ứng dụng. Nguồn dữ liệu huấn luyện được trích xuất từ các video giám sát giao thông thực tế, sử dụng trọng số nạp sẵn (pretrained weights) từ tập dữ liệu COCO để sinh nhãn tự động, sau đó được kiểm tra, hiệu chỉnh thủ công bằng phần mềm gán nhãn labelImg. Bộ dữ liệu hoàn chỉnh được phân chia theo tỷ lệ 80% cho tập huấn luyện (training set) và 20% cho tập kiểm thử/đánh giá (validation set).

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc tách rời gồm hai thành phần chức năng chính: khối xử lý AI (Object Tracking) và khối đo lường nghiệp vụ (Measure), kết nối với nhau thông qua tệp dữ liệu trung gian JSON.

[Video giám sát đầu vào] 
                                     [Khối Đo lường (Measure)]
                                     [Giao diện Web Flask / Xuất Excel]

Kiến trúc và nguyên lý vận hành

Do thời gian xử lý video của mô hình AI kích thước lớn (YOLOv8x) diễn ra tương đối lâu (thường gấp khoảng 1,5 lần thời lượng thực của video, ví dụ video 1 giờ mất khoảng 1 giờ 30 phút xử lý), hệ thống lựa chọn giải pháp chạy mô hình AI một lần duy nhất cho mỗi video dự án. Kết quả nhận diện và tracking bao gồm: chỉ số định danh (ID) của xe, loại phương tiện và tọa độ tâm của bounding box theo từng frame được lưu trữ hoàn toàn vào tệp JSON. Khối Measure sau đó chỉ cần truy xuất tệp JSON này để vẽ quỹ đạo (trajectory) và thực hiện các phép tính toán đếm xe hoặc đo thời gian chờ theo thời gian thực mà không cần chạy lại mô hình học sâu.

Công nghệ và công cụ triển khai

  • Ngôn ngữ và môi trường: Python, môi trường ảo Conda trên nền tảng Anaconda; hệ quản trị cơ sở dữ liệu quan hệ MySQL.
  • Nền tảng Web: Framework Flask (Python) phục vụ phía máy chủ (Backend); giao diện người dùng (Frontend) xây dựng bằng HTML, CSS và JavaScript; thư viện OpenCV hỗ trợ hiển thị và xử lý khung hình video.
  • Công cụ gán nhãn: Thư viện labelImg với tệp cấu hình predefined_classes.txt chứa danh sách 9 lớp phương tiện.

Các giải thuật đo lường chuyên biệt

  • Đếm phương tiện tại mặt cắt: Sử dụng tổ hợp 4 vạch đếm kết hợp cùng 1 vạch chỉ hướng $AB$. Hệ thống xác định phương tiện có cắt qua vạch đếm hay không bằng cách xét giao điểm của đoạn thẳng nối tâm bounding box giữa hai frame liên tiếp với vạch đếm. Vectơ chuyển động của xe (nối từ frame đầu tiên đến frame cuối cùng xuất hiện) được so sánh với vectơ chỉ hướng $AB$; phương tiện chỉ được tính hợp lệ khi góc tạo bởi hai vectơ nằm trong khoảng $[-90^\circ, 90^\circ]$.
  • Đếm phương tiện tại nút giao: Khắc phục nhược điểm của phương pháp 1 vạch không thể phân loại hướng rẽ, hệ thống áp dụng phương pháp 2 vạch (Line 1 và Line 2). Phương tiện chỉ được ghi nhận khi cắt qua cả hai vạch đếm. Hướng rẽ được xác định dựa trên thứ tự frame cắt vạch: nếu chỉ số frame cắt Line 1 nhỏ hơn frame cắt Line 2 thì xe di chuyển theo chiều từ Line 1 đến Line 2.
  • Tính thời gian chờ (Dwell-time): Người dùng định nghĩa một vùng đa giác tứ giác (Zone) trên giao diện. Bằng thuật toán Ray casting (bắn tia từ điểm kiểm tra ra vô cực, đếm số giao điểm với các cạnh của đa giác: lẻ là nằm trong, chẵn là nằm ngoài), hệ thống gán cờ (flag) khi tâm xe đi vào Zone và ghi nhận mốc thời gian rời khỏi Zone, từ đó xác định tổng thời gian dừng chờ của từng phương tiện.
  • Báo cáo định kỳ: Tích hợp tính năng làm tròn và phân nhóm số liệu theo các khối thời gian cấu hình sẵn (ví dụ chu kỳ 15 phút) và xuất kết quả ra bảng tính Excel.

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

Chương 1: Tổng quan cơ sở lý thuyết

Chương 1 hệ thống hóa các khái niệm nền tảng trong lĩnh vực trí tuệ nhân tạo, phân biệt mối quan hệ phân cấp giữa AI, Machine Learning và Deep Learning. Tác giả đi sâu vào các bài toán của thị giác máy tính, phân tích chi tiết cơ chế hoạt động của mô hình nhận diện YOLO (cấu trúc mạng tích chập, định dạng bounding box, chỉ số IoU, hàm mất mát SSE, kỹ thuật NMS) và so sánh với họ mô hình R-CNN. Đồng thời, chương này trình bày nguyên lý của thuật toán theo dõi đa đối tượng ByteTrack (đạt điểm MOTA trên 80, tốc độ xử lý trên 30 FPS), phân biệt các dạng SOT/MOT, Online/Offline Tracking, và giới thiệu các công nghệ phát triển web gồm kiến trúc Frontend/Backend, ngôn ngữ Python và framework Flask.

Khái niệm / Công nghệ Vai trò trong hệ thống Đặc điểm kỹ thuật chính
YOLOv8x Nhận diện đối tượng (OD) Mô hình kích thước lớn nhất, tối ưu độ chính xác, trích xuất bounding box $(x, y, w, h, p)$
ByteTrack Theo dõi đối tượng (OT) MOTA > 80, FPS > 30, duy trì ID ổn định khi bị che khuất và đổi ánh sáng
Flask & OpenCV Xây dựng ứng dụng web Xử lý luồng dữ liệu hình ảnh, tạo giao diện tương tác, xuất báo cáo Excel
Ray casting Tính toán hình học không gian Xác định điểm tâm bounding box nằm trong hay ngoài đa giác Zone

Chương 2: Phân tích các bài toán về giao thông

Chương 2 định nghĩa danh mục 9 loại phương tiện giao thông cần phân loại và thiết lập các ngưỡng sai số kỹ thuật cho hệ thống.

STT Lớp phương tiện Tên tiếng Anh Đặc điểm nhận dạng theo văn bản
1 Xe máy motor Xe chạy xăng/điện từ 50cc trở lên, không có bàn đạp
2 Xe đạp bicycle Xe đạp thông dụng, thể thao, xe đạp điện có bàn đạp
3 Xe con car Xe gia đình cơ bản 4–7 chỗ, sơn trơn một màu
4 Xe taxi taxi Xe con có gắn logo, thương hiệu, có mào trên nóc
5 Xe khách coach Xe chở khách từ trên 13 chỗ đến dưới 30 chỗ
6 Xe buýt bus Xe công cộng, kính lớn, có bảng số hiệu LED và logo hãng
7 Xe tải nhỏ lgv Khoang chứa hàng và khoang chở người tách biệt
8 Xe tải nặng hgv Xe tải nặng > 3,5 tấn, thân dài, 3–4 trục (6–8 bánh)
9 Xe siêu tải vhgv Xe đầu kéo, xe từ 5 trục trở lên, xe cẩu

Chương này cũng đặt ra các yêu cầu kiểm soát sai số chấp nhận được:

  • Sai số tổng số xe của từng loại phương tiện: không vượt quá 5%.
  • Sai số tổng số lượng xe của tất cả 9 loại: không vượt quá 3%.
  • Sai số tính thời gian chờ (Dwell-time): không lệch quá 10 giây cho mỗi xe.
  • Sai số tính độ dài hàng chờ (Queue-length): trong khoảng $\pm 14\text{ m}$.

Bên cạnh đó, chương 2 phân tích chi tiết nguyên lý đếm xe trên mặt cắt (4 line + 1 line chỉ hướng), nguyên lý đếm xe tại nút giao theo nhánh rẽ (2 line) và giải thuật Ray casting để tính dwell-time trong Zone.

Chương 3: Xây dựng ứng dụng

Chương 3 trình bày các bước cài đặt môi trường, công cụ thực thi và quy trình chuẩn bị dữ liệu:

  • Cài đặt hệ điều hành và các phần mềm hỗ trợ: Anaconda, hệ quản trị cơ sở dữ liệu MySQL, công cụ labelImg và cấu hình tệp predefined_classes.txt.
  • Tổ chức mã nguồn: Mô-đun tiền xử lý và sinh dữ liệu tự động (process-traffic-videos), mô-đun ứng dụng web (verhical-count), tích hợp tệp trọng số huấn luyện trong thư mục /weights.
  • Quy trình chuẩn bị dữ liệu: Xử lý video thô đa dạng điều kiện môi trường $\rightarrow$ trích xuất ảnh và sinh nhãn tự động từ pretrained weight COCO $\rightarrow$ kiểm tra, chỉnh sửa nhãn thủ công $\rightarrow$ phân chia dữ liệu train/validation theo tỷ lệ 80/20.
  • Xây dựng giao diện web gồm: trang đăng nhập, trang chủ, màn hình thao tác đếm mặt cắt (video ngắn/dài), đếm nút giao (video ngắn/dài), vẽ vùng Zone tính thời gian chờ và trích xuất bảng kết quả Excel.

Chương 4: Kết quả, nhận xét và hướng phát triển

Chương 4 tổng hợp các kết quả thử nghiệm thực tế của ứng dụng trên các tập video giao thông đối với cả hai dạng video ngắn và video dài được chia theo các khối thời gian. Tác giả trình bày các bảng so sánh số liệu đếm giữa mô hình AI và số liệu đếm thủ công của con người theo từng loại phương tiện và theo từng hướng di chuyển ($Vc_1, Vc_2$). Kết quả cho thấy hệ thống hoạt động ổn định trên các kịch bản mặt cắt, phân loại chính xác các hướng rẽ tại nút giao và trích xuất thành công bảng tính thời gian chờ của các phương tiện (ví dụ ghi nhận xe ID 51 dừng lúc 17:37:05, xe ID 60 dừng lúc 17:37:10). Cuối chương là các nhận xét đánh giá và đề xuất hướng phát triển mở rộng hệ thống.

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

Kết quả thực nghiệm chính

  • Xây dựng thành công ứng dụng web demo hoàn chỉnh tích hợp mô hình nhận diện YOLOv8x và ByteTrack, cho phép phân loại chi tiết 9 nhóm phương tiện giao thông.
  • Đạt độ chính xác tổng thể trong điều kiện thực nghiệm lên đến 90% so với kết quả đếm thủ công của con người (theo đánh giá của giảng viên hướng dẫn).
  • Đảm bảo các chỉ tiêu sai số kỹ thuật đề ra: sai số tổng số xe dưới 3%, sai số từng loại xe dưới 5%, thời gian chờ sai số trong khoảng $\pm 10\text{ giây}$.
  • Xuất dữ liệu thống kê tự động ra tệp Excel phân chia rõ ràng theo từng hướng di chuyển và từng khối thời gian xác định (chu kỳ 15 phút).

Giải pháp và kiến nghị của tác giả

  • Đề xuất mô hình xử lý hai pha (AI Tracking lưu tệp JSON trung gian $\rightarrow$ Measure xử lý nghiệp vụ) giúp tối ưu hóa tài nguyên phần cứng và linh hoạt thay đổi cấu hình đo lường mà không phải chạy lại mô hình thị giác máy tính.
  • Áp dụng phương pháp 2 vạch đếm (2-line) để giải quyết triệt để bài toán phân luồng và xác định hướng rẽ tại các nút giao thông phức tạp.
  • Ứng dụng giải thuật Ray casting và khái niệm Zone để đo lường thời gian chờ thực tế của phương tiện, làm cơ sở dữ liệu đầu vào phục vụ việc điều chỉnh, tối ưu hóa chu kỳ đèn tín hiệu giao thông nhằm giảm thiểu thời gian chết.

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

  • Hoàn thiện bài toán phân loại phương tiện giao thông với mức độ chi tiết cao (9 lớp chuyên biệt, phân biệt rõ xe con, taxi, xe buýt, xe khách và các hạng xe tải khác nhau) thay vì chỉ phân loại các nhóm cơ bản như đa số các nghiên cứu thông thường.
  • Tích hợp đồng thời nhiều tính năng nghiệp vụ giao thông trên một nền tảng duy nhất: đếm lưu lượng mặt cắt, đếm phân luồng nút giao và đo thời gian dừng chờ theo vùng địa lý tùy biến.

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

Hạn chế

  • Thời gian xử lý của khối AI còn chậm (mất khoảng 1,5 lần thời lượng video) do lựa chọn mô hình YOLOv8x có kích thước lớn để ưu tiên độ chính xác, dẫn đến chưa thể triển khai theo cơ chế thời gian thực trực tiếp trên luồng video đầu vào.
  • Độ chính xác của hệ thống vẫn chịu ảnh hưởng bởi chất lượng dữ liệu đầu vào và các góc quay camera; quy trình tạo nhãn dữ liệu đòi hỏi nhiều công sức kiểm tra, chỉnh sửa thủ công.
  • Tính năng tính độ dài hàng chờ (Queue-length) và đo tốc độ phương tiện mới dừng ở mức phân tích yêu cầu bài toán, chưa được hoàn thiện sâu trong phần thực nghiệm.

Hướng nghiên cứu tiếp

  • Thử nghiệm và tối ưu hóa các phiên bản mô hình nhỏ hơn nhằm cân bằng giữa độ chính xác và tốc độ xử lý, hướng tới khả năng xử lý thời gian thực (Real-time Processing).
  • Mở rộng tập dữ liệu huấn luyện trong các điều kiện thời tiết khắc nghiệt hơn (mưa lớn, ban đêm thiếu sáng, sương mù dày đặc) để nâng cao độ bền vững của mô hình.
  • Hoàn thiện thuật toán đo tốc độ di chuyển và tính toán tự động độ dài hàng chờ của phương tiện tại các nút giao.
  • Phát triển hệ thống kết nối trực tiếp với hệ thống điều khiển đèn giao thông thông minh để tự động điều chỉnh chu kỳ đèn thích ứng theo mật độ phương tiện thực tế.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên và học viên ngành Công nghệ thông tin, Khoa học dữ liệu, Trí tuệ nhân tạo: Có thể tham khảo phương pháp kết hợp giữa mô hình nhận diện YOLOv8 và thuật toán theo dõi ByteTrack, quy trình xử lý dữ liệu hình ảnh, gán nhãn bằng labelImg và phân chia tập dữ liệu.
  • Kỹ sư và nhà nghiên cứu trong lĩnh vực Giao thông thông minh (ITS): Cung cấp giải pháp kỹ thuật cụ thể về giải thuật 2 vạch đếm phân luồng nút giao, phương pháp vectơ chỉ hướng và thuật toán Ray casting đo thời gian dừng chờ (Dwell-time).
  • Lập trình viên phát triển ứng dụng thị giác máy tính: Cung cấp mô hình kiến trúc tách rời (AI Processing lưu tệp JSON $\rightarrow$ Web Flask Measure), giúp tối ưu hóa hiệu năng khi xây dựng các sản phẩm xử lý video trên nền tảng web.

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

1. Tại sao tác giả lại lựa chọn mô hình YOLOv8x thay vì các phiên bản nhỏ hơn của YOLOv8?
Trong các bài toán phân tích và thống kê giao thông, độ chính xác của số liệu là ưu tiên hàng đầu vì số liệu sai lệch sẽ dẫn đến các quyết định quy hoạch và điều phối sai lầm. Do đó, tác giả chấp nhận đánh đổi tốc độ xử lý chậm hơn (thời gian chạy gấp 1,5 lần thời lượng video) để sử dụng phiên bản có kích thước lớn nhất là YOLOv8x nhằm đạt được độ chính xác cao nhất cho dữ liệu.

2. Hệ thống phân loại phương tiện thành bao nhiêu nhóm và gồm những loại nào?
Hệ thống phân loại phương tiện thành 9 nhóm cụ thể: xe máy (motor), xe đạp (bicycle), xe con dưới 13 chỗ (car), xe taxi (taxi), xe khách từ trên 13 đến dưới 30 chỗ (coach), xe buýt công cộng (bus), xe tải nhỏ (lgv), xe tải nặng 3–4 trục trên 3,5 tấn (hgv) và xe siêu tải từ 5 trục trở lên hoặc xe cẩu (vhgv).

3. Tại sao tại các nút giao thông không thể áp dụng phương pháp đếm 1 vạch như ở mặt cắt đường thẳng?
Tại nút giao có nhiều nhánh rẽ (ngã ba, ngã tư), nếu chỉ dùng 1 vạch đếm thì tất cả các xe đi qua vạch đều bị tính mà không thể phân biệt được xe đó đi thẳng, rẽ trái hay rẽ phải. Do đó, tác giả sử dụng phương pháp 2 vạch (Line 1 và Line 2); chỉ những xe cắt qua cả hai vạch theo đúng thứ tự thời gian xuất hiện trên các khung hình mới được ghi nhận cho hướng rẽ tương ứng.

4. Thuật toán Ray casting được ứng dụng như thế nào trong bài toán tính thời gian chờ đèn đỏ?
Người dùng tạo một vùng đa giác tứ giác (Zone) trên mặt đường. Thuật toán Ray casting kiểm tra tọa độ tâm bounding box của xe có nằm trong đa giác hay không bằng cách đếm số giao điểm của tia nối từ điểm đó ra ngoài đa giác (số giao điểm lẻ là nằm trong, chẵn là nằm ngoài). Khi xe bắt đầu vào Zone, hệ thống gán một cờ (flag) và ghi nhận thời gian cho đến khi xe rời khỏi Zone để tính tổng thời gian dừng chờ.

5. Vì sao hệ thống không xử lý trực tiếp video mỗi khi người dùng thực hiện thao tác đếm xe trên web?
Do thời gian xử lý của mô hình AI rất lâu (video 1 giờ mất khoảng 1 giờ 30 phút xử lý), nên nếu mỗi lần đổi cấu hình đếm lại phải chạy lại video từ đầu thì ứng dụng sẽ không khả thi. Tác giả lựa chọn giải pháp chạy AI một lần duy nhất, xuất toàn bộ thông tin (ID, loại xe, tọa độ tâm theo từng frame) ra tệp JSON trung gian; khối đo lường trên web sau đó chỉ cần đọc tệp JSON để tính toán tức thì.

Kết luận

Đồ án tốt nghiệp của sinh viên Vũ Tuấn Huy đã giải quyết thành công bài toán ứng dụng thị giác máy tính trong giám sát và điều phối giao thông đô thị thông qua việc kết hợp mô hình YOLOv8x và thuật toán ByteTrack. Hệ thống cho phép phân loại chi tiết 9 nhóm phương tiện, đếm lưu lượng chính xác tại cả mặt cắt và nút giao, đồng thời xác định thời gian dừng chờ của phương tiện với độ chính xác đạt khoảng 90% so với thực tế. Kiến trúc phân tách hai pha thông qua tệp lưu trữ JSON cùng giải pháp giao diện web Flask mang lại tính ứng dụng cao, cung cấp cơ sở dữ liệu tin cậy phục vụ công tác quy hoạch hạ tầng và tối ưu hóa hệ thống đèn tín hiệu giao thông.