Bối cảnh và vấn đề nghiên cứu
Sự gia tăng nhanh chóng của các phương tiện giao thông phục vụ nhu cầu đi lại của xã hội kéo theo nhiều vấn đề phức tạp, trong đó tai nạn giao thông đường bộ là thách thức nghiêm trọng nhất đối với tính mạng và tài sản của người dân. Theo số liệu thống kê từ Cục Cảnh sát Giao thông trong 10 tháng năm 2023, cả nước đã xảy ra 9.829 vụ tai nạn giao thông đường bộ, làm chết 5.496 người và làm bị thương 6.973 người. Mặc dù con số này có xu hướng giảm so với năm 2019, song tình hình tai nạn giao thông đang có chiều hướng gia tăng trở lại. Bên cạnh các nguyên nhân như ý thức chấp hành luật kém, sử dụng rượu bia, chạy quá tốc độ hay đi sai phần đường, việc người điều khiển phương tiện không chú ý hoặc không tuân thủ hiệu lệnh của biển báo giao thông là một trong những nguyên nhân trực tiếp dẫn đến tai nạn.
Trước bối cảnh đó, xu hướng tự động hóa và phát triển các hệ thống an toàn hỗ trợ người lái nâng cao (Advanced Driver Assistance System - ADAS) đang trở thành trọng tâm nghiên cứu của ngành công nghiệp chế tạo phương tiện thông minh. Trong cấu trúc ADAS, hệ thống phát hiện biển báo giao thông (Traffic Sign Detection - TSD) và hệ thống nhận diện biển báo giao thông (Traffic Sign Recognition - TSR) đóng vai trò là các hệ thống con quan trọng, cung cấp thông tin điều hướng và đưa ra cảnh báo kịp thời cho người lái. Tuy nhiên, việc nhận diện biển báo giao thông trong thực tế gặp nhiều thách thức do sự đa dạng về chủng loại, hình thức, kích thước, vị trí lắp đặt, tình trạng biển cũ hay mới, cũng như sự thay đổi liên tục của điều kiện ánh sáng và thời tiết.
Tại Việt Nam, các nghiên cứu thực nghiệm nhận diện biển báo giao thông sử dụng tập dữ liệu nội địa còn rất hạn chế; đa số các công trình trước đây đều dựa vào các tập dữ liệu quốc tế có sẵn (như bộ dữ liệu Los Angeles trên kit Jetson TX2). Trên thế giới, các phương pháp truyền thống dựa vào kỹ thuật phân đoạn tách màu ảnh (Color Segmentation) thường kém linh hoạt khi thời tiết thay đổi và phụ thuộc nhiều vào chất lượng cảm biến. Do đó, tác giả Phan Công Duy Khiêm đã thực hiện khóa luận tốt nghiệp kỹ sư ngành Kỹ thuật Máy tính tại Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM (dưới sự hướng dẫn của TS. Nguyễn Minh Sơn) nhằm giải quyết bài toán phát hiện và nhận diện biển báo giao thông đường bộ Việt Nam bằng công nghệ học sâu tích hợp trên phần cứng nhúng.
Mục tiêu nghiên cứu của đề tài được xác định cụ thể như sau:
- Mục tiêu tổng quát: Nghiên cứu và triển khai hệ thống phát hiện, nhận diện biển báo giao thông trên nền tảng phần cứng Xilinx ZYNQ Ultra96-V2 ứng dụng mô hình học sâu YOLOv4 Tiny và tập dữ liệu biển báo giao thông thông dụng tại Việt Nam, hướng đến thiết kế tinh gọn và lắp đặt thuận tiện trên các phương tiện thông minh.
- Mục tiêu và nhiệm vụ cụ thể:
- Nghiên cứu cơ sở lý thuyết về mô hình YOLOv4 Tiny và các ứng dụng liên quan trong bài toán nhận diện vật thể.
- Nghiên cứu phương pháp huấn luyện mô hình nhận dạng biển báo bằng YOLOv4 Tiny.
- Thu thập, phân loại và tiến hành gán nhãn tập dữ liệu một số biển báo thông dụng trên đường phố Việt Nam.
- Huấn luyện mô hình nhận diện biển báo giao thông bằng YOLOv4 Tiny dựa trên tập dữ liệu đã thu thập.
- Thử nghiệm và đánh giá mô hình đã huấn luyện trên máy tính chủ.
- Nghiên cứu, thiết kế và hiện thực hệ thống nhận diện biển báo trên phần cứng FPGA.
- Xây dựng hệ thống các tiêu chí đánh giá hiệu suất của hệ thống nhận diện.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Tập dữ liệu các biển báo giao thông đường bộ thông dụng tại Việt Nam (biển cấm, biển cảnh báo, biển chỉ dẫn) và kiến trúc hệ thống nhúng SoC/FPGA (Xilinx Zynq UltraScale+ MPSoC).
- Phạm vi nghiên cứu: Thử nghiệm trong điều kiện phương tiện di chuyển với vận tốc không quá 30 km/h; khoảng cách nhận diện vật mẫu tối ưu trong khoảng 30 m và tối đa đạt 120 m; độ phân giải hình ảnh xử lý từ 416×416 đến 1280×720 pixel; dữ liệu nhận diện được trích xuất từ camera USB và hiển thị trực tiếp lên màn hình qua cổng Mini DisplayPort tích hợp trên bo mạch.
Cơ sở lý thuyết và phương pháp
Khóa luận được xây dựng dựa trên sự kết hợp giữa lý thuyết thị giác máy tính, học sâu và kiến trúc vi mạch số tái cấu trúc:
- Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Mô hình mạng phân tầng gồm tầng tích chập (CONV) sử dụng bộ lọc kích thước $F$ và độ trượt $S$ để tạo ra các bản đồ đặc trưng (Feature Map); tầng tổng hợp (Pooling) thực hiện giảm kích thước không gian (Downsampling) thông qua Max Pooling (lấy giá trị cực đại) hoặc Average Pooling (lấy giá trị trung bình); và tầng kết nối đầy đủ (Fully Connected) ở cuối mạng nhằm tổng hợp dữ liệu đã làm phẳng để tối ưu hóa việc phân loại.
| Kiểu Pooling |
Chức năng |
Đặc điểm xử lý |
| Max Pooling |
Chọn giá trị lớn nhất trong vùng áp dụng |
Giữ lại các đặc trưng nổi bật nhất, giảm chiều dữ liệu |
| Average Pooling |
Tính giá trị trung bình các phần tử trong vùng áp dụng |
Làm mịn đặc trưng, giữ thông tin tổng thể của vùng ảnh |
- Kỹ thuật phát hiện vật thể (Object Detection):
- Intersection over Union (IoU): Hàm định lượng mức độ trùng khớp giữa tọa độ hộp giới hạn dự đoán ($B_p$) và hộp giới hạn thực tế ($B_a$).
- Anchor Boxes: Kỹ thuật hỗ trợ dự đoán đồng thời nhiều hộp giới hạn chồng lặp cho một vật thể dựa trên các thuộc tính hình học xác định trước.
- Non-Max Suppression (NMS): Thuật toán loại bỏ các hộp dự đoán dư thừa có cùng nhãn đối tượng bằng cách giữ lại hộp có độ tin cậy cao nhất và xóa bỏ các hộp có chỉ số $IoU > 0.5$ so với hộp được chọn.
- Kiến trúc mô hình YOLOv4 Tiny: Là phiên bản rút gọn của YOLOv4 (giảm cấu trúc xuống còn 29 tầng tích chập và 2 tầng dự đoán), được tối ưu hóa cho các vi xử lý xung nhịp thấp và phần cứng nhúng. Cấu trúc mạng tích hợp các kỹ thuật tiên tiến:
- Khối Cross Stage Partial (CSPBlock): Chia tách bản đồ đặc trưng thành hai nhánh độc lập (một nhánh đi qua các tầng tích chập/kết nối dày đặc, nhánh còn lại kết hợp trực tiếp sang giai đoạn kế tiếp), giúp loại bỏ dòng đạo hàm trùng lặp, đẩy nhanh tốc độ huấn luyện và giảm chi phí tính toán khi suy luận.
- DropBlock: Cơ chế điều hòa loại bỏ ngẫu nhiên từng vùng nơ-ron liên kết liền kề nhằm khắc phục hiện tượng tương quan cục bộ trong feature map.
- Hàm kích hoạt Mish: Thay thế cho ReLU và Swish, giúp loại bỏ hiện tượng chết nơ-ron ở miền giá trị âm và duy trì độ chính xác kiểm định (Validation Accuracy) cao trên dữ liệu mới.
| Thuật toán / Mô hình |
Số lượng tầng / Phức tạp |
Tốc độ xử lý (FPS trên GPU 1080Ti với COCO) |
Ứng dụng mục tiêu |
| YOLOv4 |
Đầy đủ 3 tầng dự đoán, hàng trăm lớp tích chập |
Dưới 50 FPS |
Hệ thống máy trạm, yêu cầu độ chính xác cao |
| YOLOv4 Tiny |
Tinh gọn còn 29 tầng tích chập, 2 tầng dự đoán |
Đạt khoảng 375 FPS |
Hệ thống nhúng, thiết bị biên, yêu cầu độ trễ thấp |
- Công nghệ FPGA và Kiến trúc SoC:
- Vi mạch FPGA: Cấu thành từ các khối logic khả trình (Configurable Logic Blocks - CLBs) chứa bảng tra cứu (LUT 4 đầu vào) và Flip-Flop; các khối tính toán xử lý tín hiệu số tốc độ cao DSP Slice (thực hiện phép tính nhân-cộng $A \times B + C$ 18-bit); các khối bộ nhớ nội Block RAM (BRAM); cùng hệ thống đường nối liên kết khả trình.
- Hệ thống Zynq UltraScale+ MPSoC: Kiến trúc tích hợp dị thể gồm phân vùng xử lý (Processing System - PS) chứa chip vi xử lý trung tâm APU ARM Cortex-A53 đa nhân, GPU Mali-400, bộ điều khiển bộ nhớ DDR4; và phân vùng logic khả trình (Programmable Logic - PL). Hai phân vùng giao tiếp tốc độ cao qua các chuẩn bus nội bộ AXI (AXI HPM FPD, S-AXI HP, AXI DMA).
- Phương pháp nghiên cứu thực nghiệm:
- Thu thập và tiền xử lý dữ liệu: Chụp ảnh và quay video thực tế các biển báo giao thông trên đường phố Việt Nam tại nhiều khung giờ và điều kiện môi trường: 7:30 a.m (độ rọi Lux ~ 1500), 8:00 p.m (Lux ~ 335) và 7:00 p.m (thiếu sáng, out nét) ở các khoảng cách 30 m và 120 m.
- Công cụ phần mềm: Sử dụng LabelImg và Roboflow để gán nhãn dữ liệu; TensorFlow để tối ưu hóa cấu hình đồ thị luồng dữ liệu (Dataflow Graph); Vivado Design Suite 2019 để thiết kế, tổng hợp RTL và đóng gói lõi IP phần cứng; PYNQ Framework (môi trường Python/Jupyter Notebook chạy trên Petalinux) để kiểm thử và điều khiển toàn bộ hệ thống.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình đồng thiết kế phần cứng/phần mềm (Hardware/Software Co-design) trên nền tảng bo mạch Avnet Ultra96-V2 trang bị chip Xilinx Zynq UltraScale+ MPSoC ZU3EG SBVA484 và 2 GB bộ nhớ LPDDR4.
(AXI HPM FPD) (S-AXI HP / DMA)
Kiến trúc phần cứng và luồng dữ liệu
Hệ thống phân chia nhiệm vụ rõ ràng giữa hai phân vùng PS và PL:
- Khối PS (Processing System): Đảm nhiệm việc giao tiếp ngoại vi. PYNQ Framework điều khiển cổng USB 3.0 để thu nhận luồng video thời gian thực từ Webcam, trích xuất từng khung hình (Frame) và ghi trực tiếp vào một vùng nhớ đệm được phân bổ trên bộ nhớ DDR4 RAM.
- Khối PL (Programmable Logic): Chứa lõi IP tăng tốc phần cứng YOLOv4 Tiny. Lõi IP này bao gồm các mạch tính toán phần cứng chuyên biệt cho lớp tích chập $3 \times 3$ (Convolution) và lớp tổng hợp $2 \times 2$ Max Pooling với bước nhảy bằng 2.
- Cơ chế tương tác và điều khiển:
- Thông qua đường truyền bus AXI HPM FPD, khối PYNQ gửi tín hiệu điều khiển đồng bộ sang khối IP YOLOv4 Tiny trên PL để bắt đầu chu trình xử lý khung hình.
- Khối IP YOLOv4 Tiny trực tiếp truy xuất dữ liệu điểm ảnh từ DDR4 RAM thông qua bus S-AXI HP và AXI DMA để thực hiện tính toán ma trận và so khớp đặc trưng với bộ trọng số mô hình.
- Khi tiến trình suy luận hoàn tất, khối PL phát tín hiệu
DONE về cho PS để ngắt quyền truy cập bộ nhớ.
- PYNQ Framework tiếp nhận dữ liệu đầu ra, thực thi giải thuật Non-Max Suppression trên môi trường Python để tạo các Bounding Box bao quanh biển báo, gắn nhãn phân loại, sau đó trích xuất khung hình hoàn chỉnh ra cổng Mini DisplayPort hiển thị lên màn hình theo dõi.
Quy trình tiền xử lý và đóng gói hệ thống
- Xây dựng tập dữ liệu: Thu thập mẫu thực tế các nhóm biển báo đường bộ tại Việt Nam (biển cấm như cấm xe tải, cấm đỗ xe ngày chẵn; biển cảnh báo; biển chỉ dẫn). Dữ liệu được chuẩn hóa và gắn nhãn tọa độ qua LabelImg và Roboflow trước khi xuất ra định dạng tương thích với mô hình YOLO.
- Hiện thực trên Vivado 2019: Thiết kế logic phần cứng cho khối tính toán tích chập và pooling, tích hợp thành IP Core YOLOv4 Tiny, tạo sơ đồ kết nối khối (Block Design), tiến hành tổng hợp (Synthesis), hiện thực hóa (Implementation), và kết xuất file Bitstream cấu hình hệ thống.
- Triển khai bằng PYNQ Framework: Nạp file ảnh
BOOT.bin chứa kernel Linux và môi trường PYNQ vào thẻ nhớ microSD. Trong giao diện Jupyter Notebook, hệ thống tải file Bitstream chứa Overlay phần cứng, load mô hình mạng qua định dạng ONNX/TensorFlow, và kích hoạt chương trình xử lý nhận diện thời gian thực.
Nội dung chính theo từng chương
Chương 1: Giới thiệu đề tài
Chương mở đầu phân tích tính cấp thiết của đề tài dựa trên số liệu tai nạn giao thông 10 tháng năm 2023 từ Cục Cảnh sát Giao thông (9.829 vụ tai nạn, 5.496 người chết). Tác giả tổng quan các nghiên cứu TSD/TSR trong nước (công trình của nhóm tác giả Bùi Quốc Tú trên kit Jetson TX2 dùng tập dữ liệu Los Angeles) và thế giới (Đài Loan, Mỹ). Từ đó, xác định mục tiêu tổng quát, 7 mục tiêu cụ thể, kết quả dự kiến đạt mAP $\ge 70%$, cùng các giới hạn về tài nguyên, thời gian và phạm vi vận hành của hệ thống trên bo mạch Xilinx UltraScale96v2.
Chương 2: Cơ sở lý thuyết
Chương này cung cấp nền tảng học thuật toàn diện cho toàn bộ đề tài:
- Trình bày nguyên lý hoạt động của mạng nơ-ron tích chập CNN (tầng CONV, Max/Average Pooling, tầng Fully Connected).
- Đi sâu vào bài toán phát hiện vật thể, giải thích chi tiết các đại lượng và thuật toán: hàm định vị IoU, kỹ thuật Anchor Boxes, và giải thuật Non-Max Suppression.
- Phân tích chi tiết cấu trúc mạng YOLOv4 Tiny, làm rõ ưu thế của khối CSPBlock, DropBlock, hàm kích hoạt Mish, và so sánh hiệu suất đạt 375 FPS trên tập dữ liệu COCO so với bản đầy đủ YOLOv4.
- Giới thiệu cấu trúc phần cứng vi mạch FPGA (CLBs, LUTs, Flip-Flops, DSP Slices, Block RAM), phân tích ưu/nhược điểm khi thiết kế trên FPGA, vai trò của thư viện TensorFlow, và tóm lược lịch sử phát triển của hệ thống TSR trên các dòng xe thương mại từ năm 2008 đến 2012.
Chương 3: Thiết kế hệ thống
Chương 3 trình bày chi tiết phương án thiết kế phần cứng và phần mềm:
- Phân tích kiến trúc vi xử lý Zynq UltraScale+ MPSoC và bo mạch Avnet Ultra96-V2 (chip XCZU3EG, 2 GB LPDDR4, các cổng kết nối ngoại vi).
- Đánh giá kiến trúc PYNQ Framework chạy trên nền Jupyter Notebook kết hợp Linux Petalinux.
- Xây dựng sơ đồ khối chức năng và kiến trúc kết nối giữa PL và PS qua các kênh bus AXI DMA, S-AXI HP, AXI HPM FPD.
- Mô tả quy trình thu thập mẫu biển báo giao thông Việt Nam theo khoảng cách (30 m, 120 m) và điều kiện ánh sáng (Lux ~ 335 đến 1500), công đoạn gán nhãn bằng LabelImg và Roboflow.
- Thiết kế chi tiết khối IP phần cứng YOLOv4 Tiny (khối tính toán tích chập $3 \times 3$ và khối Pooling), các bước đóng gói IP và tạo file cấu hình Bitstream trên công cụ Vivado 2019.
Chương 4: Thử nghiệm và đánh giá
Chương 4 tập trung vào quy trình thực nghiệm và lượng hóa hiệu năng:
- Đánh giá kết quả huấn luyện mô hình YOLOv4 Tiny trên tập dữ liệu biển báo đường bộ Việt Nam.
- Kiểm thử thực tế khả năng nhận diện của mô hình trên các hình ảnh tĩnh (với các lớp biển báo cụ thể như "Cấm đỗ xe ngày chẵn", "Cấm xe tải") và trên luồng video mô phỏng.
- Đo đạc và tổng hợp các thông số phần cứng sau khi thiết kế trên Vivado 2019: mức điện năng tiêu thụ, tần số hoạt động của hệ thống, và tỷ lệ sử dụng tài nguyên phần cứng (LUT, FF, BRAM, DSP) trên chip Ultra96-V2.
- So sánh hiệu suất hoạt động và độ chính xác của hệ thống khi chạy trên máy tính chủ (Host Computer) so với khi triển khai trên bo mạch phần cứng FPGA.
Chương 5: Kết luận và hướng phát triển
Chương cuối cùng tổng kết các kết quả đạt được: hoàn thành việc xây dựng tập dữ liệu biển báo Việt Nam, huấn luyện mô hình YOLOv4 Tiny, và hiện thực thành công hệ thống trên phần cứng Zynq Ultra96-V2 qua PYNQ Framework. Đồng thời, tác giả thẳng thắn chỉ ra các khó khăn, hạn chế về mặt tài nguyên, tốc độ xử lý khung hình, và đề xuất các giải pháp nâng cấp, tối ưu hóa hệ thống trong các nghiên cứu tiếp theo.
Kết quả và đóng góp
Kết quả kỹ thuật chính
- Xây dựng thành công tập dữ liệu ảnh thực tế cho các nhóm biển báo giao thông thông dụng tại Việt Nam trong nhiều điều kiện môi trường ánh sáng phức tạp (độ rọi từ 335 Lux đến 1500 Lux) và các cự ly quan sát từ 30 m đến 120 m.
- Huấn luyện hoàn chỉnh mô hình YOLOv4 Tiny nhận diện chính xác các lớp biển báo giao thông đặc thù (như biển cấm xe tải, biển cấm đỗ xe ngày chẵn).
- Thiết kế, tổng hợp và đóng gói thành công khối IP phần cứng tăng tốc thuật toán YOLOv4 Tiny (tích chập $3 \times 3$ và Max Pooling $2 \times 2$) trên phần mềm Vivado 2019.
- Hiện thực hóa thành công luồng xử lý nhận diện video thời gian thực từ Webcam USB, truyền nhận dữ liệu qua AXI Bus và xuất hình ảnh trực tiếp lên màn hình ngoài thông qua cổng Mini DisplayPort trên bo mạch Xilinx Zynq Ultra96-V2.
Đóng góp học thuật và thực tiễn
- Đóng góp về dữ liệu: Khắc phục khoảng trống dữ liệu trong nước bằng cách tự thu thập và xây dựng tập dữ liệu biển báo giao thông thực tế của Việt Nam thay vì phải phụ thuộc vào các tập dữ liệu quốc tế có sẵn.
- Đóng góp về kiến trúc hệ thống: Đề xuất và chứng minh tính khả thi của giải pháp kết hợp giữa mô hình học sâu rút gọn (YOLOv4 Tiny) với công nghệ vi mạch khả trình tái cấu trúc (Zynq UltraScale+ MPSoC), tạo tiền đề cho các thiết bị hỗ trợ lái xe ADAS nhỏ gọn, tiêu thụ ít điện năng so với các hệ thống máy tính truyền thống.
Hạn chế và hướng nghiên cứu tiếp
Điểm hạn chế
- Tốc độ xử lý khung hình của hệ thống trên bo mạch cơ bản Ultra96-V2 còn thấp hơn đáng kể so với các hệ thống nhúng chuyên dụng sử dụng vi xử lý đồ họa GPU tích hợp thư viện tối ưu hóa CUDA của NVIDIA (như dòng Nvidia Jetson).
- Tài nguyên logic khả trình (CLB, LUT, BRAM, DSP) trên dòng chip Zynq UltraScale+ XCZU3EG còn hạn chế, gây khó khăn cho việc mở rộng số lượng lớp tích chập hoặc triển khai các mô hình mạng nơ-ron có độ phức tạp cao hơn.
- Hiệu quả nhận diện bị suy giảm khi phương tiện di chuyển ở tốc độ cao trên 30 km/h hoặc khi hình ảnh đầu vào bị mờ nhòe nghiêm trọng (out nét) trong điều kiện thiếu sáng ban đêm.
Hướng phát triển
- Tối ưu hóa sâu hơn kiến trúc khối IP phần cứng trên PL (tận dụng triệt để tính toán song song SIMD và tối ưu hóa đường truyền dữ liệu AXI DMA) nhằm nâng cao tần số hoạt động và tốc độ khung hình (FPS).
- Mở rộng quy mô tập dữ liệu huấn luyện với đầy đủ các phân nhóm biển báo trên toàn quốc, bổ sung các kịch bản thời tiết khắc nghiệt (mưa lớn, sương mù, góc nghiêng quan sát lớn).
- Tích hợp thêm module phần mềm cảnh báo sớm bằng âm thanh hoặc hình ảnh trực tiếp vào hệ thống điều khiển trung tâm của phương tiện.
Giá trị tham khảo
Tài liệu khóa luận này mang lại giá trị học thuật và thực tiễn sâu sắc cho:
- Sinh viên và học viên chuyên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Hệ thống Nhúng & IoT: Là tài liệu tham khảo thực tế về quy trình thiết kế hệ thống nhúng SoC kết hợp giữa vi xử lý ARM và logic khả trình FPGA sử dụng Xilinx Vivado và PYNQ Framework.
- Các nhóm nghiên cứu về Thị giác máy tính và Trí tuệ nhân tạo biên (Edge AI): Cung cấp phương pháp chi tiết về việc rút gọn mô hình học sâu (YOLOv4 Tiny, CSPBlock, DropBlock, hàm kích hoạt Mish) để triển khai suy luận trên các phần cứng có tài nguyên hạn chế.
- Nội dung đáng tham khảo nhất: Quy trình xây dựng sơ đồ khối giao tiếp giữa Processing System (PS) và Programmable Logic (PL) qua chuẩn AXI Bus (Hình 3.6, Hình 3.7) và phương pháp thiết kế lõi IP tích chập phần cứng trên Vivado.
Câu hỏi thường gặp
1. Khóa luận sử dụng nền tảng phần cứng và vi điều khiển cụ thể nào để xây dựng hệ thống?
Tác giả sử dụng bo mạch phát triển Avnet Ultra96-V2 tích hợp chip SoC dị thể Xilinx Zynq UltraScale+ MPSoC ZU3EG SBVA484. Phần cứng bao gồm khối xử lý PS chứa vi xử lý APU ARM Cortex-A53 đa nhân, GPU Mali-400 kết hợp với 2 GB bộ nhớ LPDDR4, và phân vùng logic lập trình được PL để nhúng lõi IP tăng tốc thuật toán.
2. Tại sao tác giả lựa chọn mô hình YOLOv4 Tiny thay vì phiên bản YOLOv4 tiêu chuẩn?
YOLOv4 Tiny là phiên bản rút gọn với cấu trúc nén giảm xuống còn 29 lớp tích chập và 2 tầng dự đoán (so với hàng trăm lớp của YOLOv4). Mô hình này đạt tốc độ xử lý lên đến 375 FPS trên GPU GTX 1080Ti (so với dưới 50 FPS của YOLOv4), kích thước nhỏ gọn và mức tiêu thụ năng lượng thấp, hoàn toàn phù hợp với các hệ thống nhúng có tài nguyên bộ nhớ và xung nhịp CPU hạn chế như bo mạch Ultra96-V2.
3. Khối Cross Stage Partial (CSPBlock) trong mạng YOLOv4 Tiny mang lại lợi ích kỹ thuật gì?
Khối CSPBlock thực hiện tách bản đồ đặc trưng (Feature Map) thành hai luồng độc lập: một luồng đi qua các tầng kết nối dày đặc (Dense layers) và transition layer, luồng còn lại được kết hợp trực tiếp sang giai đoạn sau. Cấu trúc này ngăn chặn sự trùng lặp của dòng đạo hàm (gradient flow), giúp giảm đáng kể số lượng tham số tính toán, tăng tốc độ huấn luyện và nâng cao tốc độ suy luận của mô hình.
4. Quy trình truyền nhận và xử lý dữ liệu giữa Camera, bộ nhớ DDR và khối IP FPGA diễn ra như thế nào?
PYNQ trên khối PS điều khiển việc bắt khung hình từ Webcam USB và lưu vào DDR RAM. Sau đó, thông qua bus AXI HPM FPD, PYNQ phát tín hiệu đồng bộ để khối IP YOLOv4 Tiny trên PL trực tiếp lấy ảnh từ DDR RAM qua kênh bus S-AXI HP/DMA để thực hiện tính toán tích chập. Khi hoàn tất, khối PL gửi tín hiệu DONE về PS, và PYNQ sẽ trích xuất khung hình đã vẽ Bounding Box ra màn hình ngoài qua cổng Mini DisplayPort.
5. Tập dữ liệu biển báo giao thông Việt Nam trong khóa luận được thu thập và phân loại theo các điều kiện nào?
Tập dữ liệu được thu thập từ thực tế đường phố Việt Nam và phân loại theo hai tiêu chí chính: khoảng cách chụp (vật mẫu ở cự ly tối ưu 30 m và cự ly xa 120 m) và điều kiện ánh sáng môi trường (khung giờ 7:30 a.m với độ rọi Lux ~ 1500, khung giờ 8:00 p.m với Lux ~ 335, và khung giờ 7:00 p.m trong điều kiện thiếu sáng, ảnh out nét). Dữ liệu được gán nhãn thành 3 nhóm chức năng: biển cấm, biển cảnh báo và biển chỉ dẫn.
Kết luận
Khóa luận tốt nghiệp của tác giả Phan Công Duy Khiêm đã giải quyết thành công bài toán phát hiện và nhận diện biển báo giao thông đường bộ Việt Nam thông qua giải pháp đồng thiết kế phần cứng/phần mềm trên nền tảng Xilinx Zynq UltraScale+ MPSoC Ultra96-V2. Bằng việc kết hợp mô hình mạng học sâu rút gọn YOLOv4 Tiny với môi trường lập trình PYNQ và các lõi IP tăng tốc phần cứng thiết kế trên Vivado, công trình đã chứng minh tính khả thi của việc xử lý thị giác máy tính thời gian thực trên các vi mạch khả trình công suất thấp. Mặc dù vẫn còn những hạn chế nhất định về tốc độ khung hình so với các hệ thống GPU chuyên dụng, kết quả nghiên cứu là tài liệu tham khảo có giá trị cao cho việc phát triển các hệ thống hỗ trợ lái xe an toàn ADAS nội địa trong tương lai.