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

Hệ thống giao thông đường bộ tại Việt Nam đang đối mặt với áp lực quản lý gia tăng khi mạng lưới quốc lộ trải dài qua 128 tuyến với tổng chiều dài 17.530 km, đi kèm sự gia tăng nhanh chóng của các loại phương tiện cơ giới. Theo số liệu từ Hiệp hội các nhà sản xuất ô tô Việt Nam (VAMA) được tác giả trích dẫn, chỉ riêng tháng 10 năm 2020 đã có 36.359 ô tô được tiêu thụ (tăng 9% so với tháng trước và 22% so với cùng kỳ năm trước). Báo cáo nhập khẩu tháng 11 năm 2020 ghi nhận thêm 8.441 ô tô dưới 9 chỗ, 12 ô tô trên 9 chỗ và 2.237 ô tô chuyên dụng. Sự gia tăng này đặt ra thách thức lớn cho Bộ Giao thông Vận tải trong việc điều tiết luồng xe, kiểm soát ùn tắc và xử lý vi phạm.

Các hệ thống giao thông thông minh (ITS) quy mô quốc gia đã từng bước được triển khai, tiêu biểu như hệ thống ITS trên đường cao tốc Việt Nam (vận hành từ tháng 3 năm 2017 do liên danh Nhật Bản đứng đầu là Toshiba thực hiện) hay hệ thống 143 camera giám sát tại gần 50 vị trí ở Đà Nẵng (gồm 125 camera quan sát, 9 camera đo tốc độ và 9 camera nghiệp vụ). Tuy nhiên, rào cản lớn nhất của các giải pháp này là chi phí đầu tư thiết bị, lắp đặt và bảo trì rất cao, đòi hỏi hạ tầng mạng và tài nguyên tính toán lớn, khó phủ sóng rộng khắp các tuyến quốc lộ.

Xuất phát từ thực tiễn trên, khóa luận tốt nghiệp ngành Kỹ thuật Máy tính của nhóm tác giả Phan Trần Quốc Đạt (MSSV: 16520203) và Võ Quốc Huy (MSSV: 16520536) tại Trường Đại học Công nghệ Thông tin – ĐHQG-HCM, dưới sự hướng dẫn của TS. Lâm Đức Khải (cùng sự tham vấn từ TS. Nguyễn Minh Sơn theo Quyết định số 70/QĐ-ĐHCNTT ngày 27/01/2021), đã đặt ra mục tiêu xây dựng một giải pháp chi phí thấp nhằm phát hiện, theo dõi và ước tính vận tốc xe trên quốc lộ.

Nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Thu nhận tín hiệu hình ảnh/video từ camera chuyên dụng kết nối với phần cứng nhúng.
  2. Phát hiện và phân loại 5 nhóm phương tiện phổ biến tại Việt Nam (Car, Van, Truck, Lorry Truck, Bus) bằng mạng nơ-ron tích chập YOLOv3.
  3. Đếm lưu lượng phương tiện lưu thông qua từng khung hình.
  4. Theo dõi đối tượng (tracking) liên tục qua các khung hình và ước tính vận tốc di chuyển thực tế.

Đối tượng nghiên cứu là các phương tiện giao thông đường bộ điển hình tại Việt Nam. Phạm vi thực nghiệm được thực hiện trên dữ liệu video ghi nhận thực tế tại cầu vượt bộ hành Quốc lộ 1K (thành phố Biên Hòa) và cầu vượt bộ hành Quốc lộ 1A (khu vực gần Công viên Văn hóa Suối Tiên, TP.HCM) trong các mốc thời gian và điều kiện thời tiết khác nhau.


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

Khóa luận kết hợp giữa nghiên cứu lý thuyết thị giác máy tính, học sâu và phương pháp thực nghiệm thiết kế hệ thống nhúng.

Khung lý thuyết và mô hình nhận diện

Nghiên cứu khảo sát quá trình phát triển của các kiến trúc phát hiện đối tượng:

  • Two-stage Detectors: Khảo sát R-CNN (trích xuất khoảng 2.000 vùng đề xuất qua Selective Search, phân loại bằng SVM, đạt mAP 53,7% trên PASCAL VOC 2010 nhưng tốc độ rất chậm), Fast R-CNN (trích xuất đặc trưng toàn ảnh, sử dụng RoI Pooling) và Faster R-CNN (thay thế Selective Search bằng Region Proposal Network - RPN để tăng tốc trích xuất vùng ứng viên).
  • One-stage Detectors: Khảo sát SSD (Single Shot MultiBox Detector) và YOLO (You Only Look Once). Tác giả lựa chọn mô hình YOLOv3 nhờ sự cân bằng tối ưu giữa độ chính xác và tốc độ xử lý theo thời gian thực. Kiến trúc sử dụng mạng trích xuất đặc trưng Darknet-53 kết hợp thêm 53 tầng tích chập cho quá trình phát hiện (tổng cộng 106 tầng). Quá trình phát hiện thực hiện tại 3 tầng tương ứng (tầng 82, 94 và 106) với hệ số giảm mẫu (stride) lần lượt là 32, 16 và 8. Với ảnh đầu vào kích thước $416 \times 416$, kích thước feature map tương ứng là $13 \times 13$ (vật thể lớn), $26 \times 26$ (vật thể trung bình) và $52 \times 52$ (vật thể nhỏ). Mỗi ô lưới dự đoán 3 bounding box thông qua 9 anchor boxes (được phân cụm K-means), tạo ra tổng cộng 10.647 bounding box dự đoán.

Thuật toán theo dõi đối tượng (Object Tracking)

Nhóm nghiên cứu đánh giá các thuật toán tracking cổ điển và hiện đại:

Phương pháp tracking Ưu điểm Hạn chế
Kalman Filter Theo dõi tốt các điểm có nhiễu, ước lượng đệ quy thời gian thực. Các biến trạng thái bị giới hạn trong không gian tuyến tính.
Particle Filter Tối ưu khi đánh giá giả thuyết vị trí vật thể dựa trên phân bố phi tuyến. Độ phức tạp tính toán cao.
MeanShift / CamShift Phù hợp với đối tượng có màu sắc chủ đạo; CamShift hỗ trợ co giãn cửa sổ tìm kiếm. Thất bại khi nền có màu sắc tương đồng hoặc cảnh quay phức tạp.
KLT Tracker Tiết kiệm thời gian, xử lý tốt chuyển động điểm. Rất phức tạp khi theo dõi đa đối tượng đồng thời (MOT).
Template Matching Dễ cài đặt và triển khai. Dễ mất dấu khi đối tượng bị che khuất hoặc rời khỏi khung hình.
Contour Tracking Xử lý được mô hình phức tạp của vật thể biến dạng, ít bị ảnh hưởng bởi ánh sáng. Khó kiểm soát khi vật thể đi vào và đi ra khỏi khung hình.

Từ khảo sát trên, khóa luận lựa chọn thuật toán SORT (Simple Online and Realtime Tracking) gồm 5 bước phối hợp:

  1. Sử dụng bộ lọc Kalman Filter để dự đoán trạng thái của các track hiện có từ quá khứ.
  2. Tính toán ma trận chi phí liên kết giữa các track dự đoán và các bounding box mới phát hiện dựa trên chỉ số giao nhau trên diện tích hợp (IoU - Intersection over Union).
  3. Áp dụng thuật toán Hungarian để giải bài toán phân bổ tối ưu ma trận chi phí.
  4. Phân loại và xử lý các phát hiện chưa khớp (unmatched detections) để tạo track mới hoặc xóa bỏ track mất dấu.
  5. Cập nhật lại trạng thái Kalman Filter cho các track đã được gán thành công.

Phương pháp ước tính vận tốc

Vận tốc phương tiện được ước tính bằng cách chuyển đổi độ dời điểm trọng tâm của bounding box giữa các khung hình liên tiếp sang khoảng cách vật lý thực tế:

  • Tỷ lệ chuyển đổi mét trên pixel ($mpp$): $$mpp = \frac{\text{Khoảng cách thực tế trên đoạn đường mẫu (m)}}{\text{Chiều rộng đoạn đường trên khung hình (pixel)}}$$
  • Độ dời điểm ảnh giữa khung hình 1 ($c_1$) và khung hình 2 ($c_2$): $df = c_2 - c_1$
  • Quãng đường di chuyển thực tế: $dt = mpp \times df$
  • Vận tốc trung bình qua $n$ khoảng khung hình: $$\text{Vận tốc trung bình} = \frac{dt_1 + dt_2 + \dots + dt_n}{n \times t}$$ (Trong đó $t$ là khoảng thời gian giữa các khung hình trích xuất).

Dữ liệu nghiên cứu và công cụ gán nhãn

  • Tập dữ liệu được tác giả thu thập trực tiếp bằng camera cá nhân và thu thập từ internet tại Việt Nam, bao gồm 2.430 ảnh với 19.200 thực thể (instances) được gán nhãn thủ công qua phần mềm LabelImg.
  • Dữ liệu chia thành 5 lớp phương tiện: Car, Van, Truck, Lorry Truck, Bus. Định dạng gán nhãn tuân theo chuẩn YOLO (<class_id> <x_center> <y_center> <width> <height> chuẩn hóa theo kích thước ảnh).

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo mô hình thiết bị nhúng độc lập, xử lý luồng dữ liệu tại biên (Edge Computing).

Kiến trúc phần cứng

  1. Khối tính toán nhúng (Jetson Nano Developer Kit):
    • GPU: 128-core kiến trúc Maxwell.
    • CPU: Quad-core ARM A57 @ 1.43 GHz.
    • Bộ nhớ RAM: 4 GB 64-bit LPDDR4 (băng thông 25.6 GB/s).
    • Lưu trữ: Thẻ nhớ MicroSD Samsung EVO Plus 64 GB.
    • Khả năng xử lý: Hỗ trợ tập lệnh tính toán song song CUDA. Chi phí khoảng 127 USD.
Phần cứng Khung làm việc (Framework) Mô hình Tốc độ khung hình (FPS)
Raspberry Pi 3 Darknet Tiny YOLOv3 0.5 FPS
NVIDIA Jetson Nano Darknet Tiny YOLOv3 10.0 FPS

Kết quả đo kiểm cho thấy Jetson Nano đạt tốc độ xử lý cao gấp 20 lần so với Raspberry Pi 3.

  1. Khối thu nhận hình ảnh (Raspberry Pi Camera Module v2):
    • Cảm biến: Sony IMX219 độ phân giải 8 Megapixel (kích thước ảnh tĩnh $3280 \times 2464$).
    • Chế độ quay video: 1080p@30fps, 720p@60fps, 640x480p@60/90fps.
    • Góc nhìn ngang (Horizontal Field of View): 48.8 độ.
    • Tiêu cự: 3.2 mm, trọng lượng 3g, chi phí khoảng 25 USD.

Môi trường phần mềm và hạ tầng huấn luyện

  • Huấn luyện mô hình: Sử dụng nền tảng Google Colaboratory được cấp phát GPU NVIDIA Tesla K80 (12 GB VRAM GDDR5), CPU Intel Xeon 2 nhân @ 2.30 GHz và 13 GB RAM.
  • Framework thực thi: Sử dụng Darknet (viết bằng C và CUDA bởi Joseph Redmon) để nạp mô hình 106 layer.
  • Xử lý thị giác máy tính: Sử dụng thư viện OpenCV (phiên bản hỗ trợ tăng tốc GPU CUDA) với các module chuyên biệt: core, imgproc (xử lý bộ lọc, biến đổi hình học), video (phân tích chuyển động và tracking), calib3d (hiệu chuẩn camera), objdetect, highgui và videoio.

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

Chapter 1. CURRENT PROBLEM AND POTENTIAL SOLUTION

Chương này trình bày thực trạng mạng lưới 128 tuyến quốc lộ dài 17.530 km tại Việt Nam, sự quá tải trong quản lý phương tiện và các hệ lụy xã hội như ùn tắc giao thông, vi phạm an toàn đường bộ. Tác giả đề xuất giải pháp ứng dụng học sâu (Deep Learning) để nhận diện và theo dõi phương tiện tự động, hướng đến hỗ trợ lực lượng cảnh sát giao thông và cung cấp thông tin cảnh báo lưu lượng cho người dân. Đồ án vạch ra lộ trình 3 giai đoạn: tiếp cận lý thuyết học sâu, thiết kế phần cứng/thu thập tập dữ liệu đặc thù Việt Nam, và huấn luyện/kiểm thử thực tế.

Chapter 2. DOMESTIC AND FOREIGN SOLUTIONS REVIEW

Chương này khảo sát các công trình liên quan:

  • Trong nước: Hệ thống ITS trên cao tốc (Toshiba triển khai năm 2017) và hệ thống camera thông minh Đà Nẵng (143 camera tại gần 50 vị trí điều hành 24/7).
  • Quốc tế: Nghiên cứu phân loại tầng (cascade) kết hợp đặc trưng Haar-like và HoG của tác giả Pablo Negri và cộng sự (đạt độ chính xác phát hiện 94% trên CPU 2.2 GHz nhưng chưa thử nghiệm thực địa); công nghệ Sitraffic Sivicam của Siemens Mobility hỗ trợ phát hiện phương tiện tại giao lộ và quản lý điều tiết phương tiện công cộng/khẩn cấp.
  • Kết luận chương: Các giải pháp quy mô quốc gia có chi phí quá lớn, từ đó định hình tính cấp thiết của một hệ thống rút gọn tài nguyên tính toán nhưng vẫn đáp ứng tính năng cốt lõi.

Chapter 3. REVIEW OF OBJECT DETECTION MODELS, DATASET, TRAINING AND TRACKING ALGORITHMS

Chương 3 tập trung phân tích sâu về lý thuyết và thực nghiệm mô hình:

  • So sánh các mô hình nhận diện (R-CNN, Fast R-CNN, Faster R-CNN, SSD, YOLOv2, YOLOv3, RetinaNet).
  • Đi sâu vào cấu trúc YOLOv3: Mạng Darknet-53, 3 tầng phát hiện đa quy mô (82, 94, 106), 9 anchor boxes phân cụm K-means, hàm tính toán tọa độ bounding box ($b_x, b_y, b_w, b_h$) và cách tính Objectness score kết hợp xác suất lớp.
  • Xây dựng Dataset 5 lớp phương tiện (19.200 nhãn trên 2.430 ảnh), chuẩn hóa nhãn bằng LabelImg và tiến hành huấn luyện trên Google Colab với GPU Tesla K80.
  • Trình bày thuật toán tracking SORT (kết hợp Kalman Filter và Hungarian Algorithm) và thiết lập công thức tính vận tốc xe từ độ dời pixel trên luồng video.

Chapter 4. PROJECT IMPLEMENTATION AND RESULT EVALUATION

Chương này mô tả chi tiết phần cứng thực thi gồm NVIDIA Jetson Nano và Raspberry Pi Camera Module v2 kết hợp framework Darknet và thư viện OpenCV. Tác giả tiến hành đo kiểm thực địa tại cầu vượt Quốc lộ 1K (Biên Hòa) và cầu vượt Quốc lộ 1A (Suối Tiên) theo 5 kịch bản thời tiết: trời nắng (Sunny), trời nhiều mây (Cloudy), chập tối (Near night), trời mưa (Rain), và trời mưa ban đêm (Rainy night). Đánh giá chi tiết khoảng cách nhận diện tối đa, khả năng phát hiện vật thể bị che khuất một phần (occlusion), cũng như hiện tượng nhảy ID (ID changing) trong quá trình tracking.


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

Kết quả huấn luyện mô hình YOLOv3

Quá trình huấn luyện trên Google Colab (đánh giá tại ngưỡng tin cậy conf_thresh = 0.25 và ngưỡng IoU threshold = 50%) ghi nhận các chỉ số thực nghiệm:

  • Tổng số phát hiện (detections count): 95.346
  • Số lượng đối tượng thực tế (unique truth count): 27.835
  • True Positive (TP): 22.712; False Positive (FP): 6.435; False Negative (FN): 5.123
  • Độ chính xác tổng thể (Precision): 0.80 (80%)
  • Chỉ số giao nhau trung bình (Average IoU): 60.70%
  • Độ chính xác trung bình toàn bộ các lớp (mAP@0.50): 83.20%
  • Tổng thời gian phát hiện kiểm thử: 103 giây
ID Lớp Tên lớp phương tiện Average Precision (AP) True Positive (TP) False Positive (FP)
0 Car 80.35% 15.228 4.331
1 Van 86.34% 1.339 321
2 Truck 84.37% 3.406 1.099
3 Lorry Truck 85.69% 1.199 256
4 Bus 79.26% 1.540 428

Kết quả đo kiểm thực địa

  • Khoảng cách phát hiện: Thực nghiệm tại cầu vượt Quốc lộ 1K cho thấy khoảng cách phát hiện phương tiện từ phía trước (front view) đạt hiệu quả cự ly cao gần gấp 2 lần so với phát hiện từ phía sau (back view) trong điều kiện trời nắng.
  • Khả năng tracking và đo tốc độ: Thuật toán SORT duy trì theo dõi ổn định quỹ đạo phương tiện trong điều kiện luồng giao thông thông thoáng; công thức chuyển đổi điểm ảnh sang khoảng cách thực cho phép ước tính vận tốc di chuyển của từng xe qua nhiều khung hình liên tiếp.

Đóng góp chính

  1. Xây dựng thành công bộ dữ liệu giao thông tùy biến gồm 2.430 hình ảnh và 19.200 nhãn phân loại đặc thù cho các dòng xe lưu thông trên quốc lộ Việt Nam.
  2. Thiết kế và hiện thực hóa hệ thống phát hiện, theo dõi và ước lượng tốc độ phương tiện hoàn chỉnh trên nền tảng phần cứng chi phí thấp (NVIDIA Jetson Nano kết hợp Raspberry Pi Camera v2) với mức mAP đạt 83.20%.

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

Hạn chế

  • Hiện tượng mất dấu và đổi ID (ID changing): Khi phương tiện bị che khuất một phần (partially obscured) bởi các xe kích thước lớn hơn hoặc di chuyển qua khu vực có mật độ quá dày đặc, thuật toán SORT gặp hiện tượng gán nhầm hoặc tự tạo ID mới.
  • Ảnh hưởng của môi trường ánh sáng yếu: Khoảng cách và độ chính xác nhận diện suy giảm trong điều kiện ban đêm, thời tiết mưa hoặc mưa đêm do chất lượng hình ảnh từ camera Pi Camera v2 bị nhiễu hạt và lóa đèn pha.
  • Tốc độ xử lý trên mô hình đầy đủ: Mô hình YOLOv3 đầy đủ (106 layers) có độ phức tạp tính toán lớn, đòi hỏi tối ưu sâu về cấu trúc mạng để đạt tốc độ thời gian thực mượt mà trên phần cứng hạn chế của Jetson Nano (trong khi bản Tiny YOLOv3 đạt 10 FPS).

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

  • Nâng cấp mô hình nhận diện lên các phiên bản tối ưu hơn (như YOLOv4 hoặc các biến thể tinh gọn cho thiết bị nhúng).
  • Cải tiến thuật toán tracking bằng cách bổ sung đặc trưng nhận dạng ngoại hình (như DeepSORT) nhằm giảm thiểu hiện tượng đổi ID khi xe bị che khuất.
  • Bổ sung cảm biến chuyên dụng hoặc camera có dải tương phản động cao (HDR)/hồng ngoại để nâng cao chất lượng nhận diện vào ban đêm và khi thời tiết xấu.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên và học viên ngành Kỹ thuật Máy tính, Khoa học Máy tính, Hệ thống Thông tin, Kỹ thuật Điều khiển & Tự động hóa: Cung cấp tài liệu mẫu về quy trình xây dựng đồ án thị giác máy tính ứng dụng từ bước thu thập dữ liệu, gán nhãn, cấu hình mạng Darknet, huấn luyện trên GPU đám mây đến triển khai phần cứng nhúng.
  • Nhóm nghiên cứu về Giao thông Thông minh (ITS): Tham khảo phương pháp chuyển đổi không gian pixel sang mét thực tế ($mpp$) để đo vận tốc phương tiện từ camera tĩnh và bộ tham số thực nghiệm nhận diện 5 loại phương tiện trên quốc lộ Việt Nam.
  • Kỹ sư phát triển hệ thống nhúng: Tham khảo cấu hình triển khai Darknet/OpenCV tích hợp CUDA trên kit NVIDIA Jetson Nano.

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

1. Tập dữ liệu huấn luyện của đồ án có quy mô bao nhiêu và gồm những loại phương tiện nào?

Tập dữ liệu do nhóm tác giả tự xây dựng gồm 2.430 hình ảnh thu thập thực tế tại Việt Nam và trên internet, chứa 19.200 thực thể (instances) được gán nhãn thủ công qua công cụ LabelImg theo 5 lớp phương tiện: Car (ô tô con), Van (xe bán tải/xe van), Truck (xe tải), Lorry Truck (xe tải lớn/xe đầu kéo) và Bus (xe buýt).

2. Mô hình YOLOv3 được cấu hình nhận diện đa tỷ lệ như thế nào?

YOLOv3 sử dụng kiến trúc tổng cộng 106 tầng (53 tầng backbone Darknet-53 và 53 tầng detection). Quá trình phát hiện diễn ra tại tầng 82, 94 và 106 ứng với hệ số giảm mẫu lần lượt là 32, 16 và 8. Với kích thước đầu vào $416 \times 416$, mạng xuất ra 3 kích thước feature map là $13 \times 13$ (nhận diện xe kích thước lớn), $26 \times 26$ (xe kích thước vừa) và $52 \times 52$ (xe kích thước nhỏ), kết hợp với 9 anchor boxes để dự đoán 10.647 bounding box.

3. Thuật toán theo dõi đối tượng SORT vận hành theo các bước nào?

SORT hoạt động qua 5 bước liên tục:

  1. Dự đoán trạng thái chuyển động của track cũ bằng bộ lọc Kalman Filter.
  2. Xây dựng ma trận chi phí liên kết dựa trên chỉ số giao nhau (IoU) giữa bounding box phát hiện mới và track dự đoán.
  3. Giải bài toán phân bổ tối ưu bằng thuật toán Hungarian.
  4. Xử lý các phát hiện chưa khớp (khởi tạo track mới hoặc xóa track mất dấu).
  5. Cập nhật lại thông tin đo lường vào bộ lọc Kalman Filter cho các track khớp thành công.

4. Vận tốc của phương tiện trên video được tính toán theo nguyên lý nào?

Tác giả sử dụng hệ số chuyển đổi mét trên pixel ($mpp = \text{khoảng cách thực tế} / \text{chiều rộng khung hình}$), sau đó xác định độ dời trọng tâm của bounding box giữa các khung hình ($df = c_2 - c_1$) để tính quãng đường thực tế ($dt = mpp \times df$). Vận tốc được tính bằng quãng đường chia cho thời gian và lấy trung bình qua $n$ khoảng khung hình liên tiếp để giảm sai số.

5. Kết quả độ chính xác mAP và AP đạt được sau khi huấn luyện là bao nhiêu?

Sau quá trình huấn luyện trên Google Colab với GPU Tesla K80, mô hình đạt độ chính xác trung bình toàn bộ các lớp (mAP@0.50) là 83.20% với độ chính xác tổng thể (Precision) đạt 80%. AP của từng lớp lần lượt là: Van đạt 86.34%, Lorry Truck đạt 85.69%, Truck đạt 84.37%, Car đạt 80.35% và Bus đạt 79.26%.


Kết luận

Khóa luận tốt nghiệp của sinh viên Phan Trần Quốc Đạt và Võ Quốc Huy đã nghiên cứu và triển khai thành công hệ thống phát hiện, theo dõi và đo tốc độ phương tiện trên đường quốc lộ sử dụng mô hình học sâu YOLOv3 kết hợp thuật toán SORT. Hệ thống được kiểm chứng trên tập dữ liệu đặc thù giao thông Việt Nam gồm 19.200 thực thể, đạt chỉ số mAP 83.20% và được thử nghiệm thực tế trên phần cứng nhúng NVIDIA Jetson Nano kết hợp camera Raspberry Pi v2. Công trình cung cấp giải pháp kỹ thuật khả thi với chi phí thấp, đóng góp tư liệu thực nghiệm hữu ích cho các nghiên cứu phát triển hệ thống giao thông thông minh trong nước.