Hệ Thống Nhận Diện Phương Tiện Giao Thông Trên FPGA

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp kỹ thuật máy tính hệ thống nhận diện phương tiện giao thông bằng fpga, điều tra thực trạng, phân tích số liệu, đề xuất biện pháp

Chuyên ngành

Kỹ Thuật Máy Tính

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2023

81
11
4

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: LÝ DO THỰC HIỆN KHÓA LUẬN. MỤC TIÊU KHÓA LUẬN

1.1. Lý do thực hiện khóa luận

1.2. Mục tiêu khóa luận

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Stride - Bước nhảy

2.2. Ý nghĩa phép tính tích chập

2.3. Cấu trúc mạng nơ-ron tích chập (CNN)

2.4. Mô hình YOLO và các biến thể

2.5. Số dấu chấm động và chuẩn IEEE 754

2.6. Cách OpenCL tổ chức các phép tính toán song song

2.7. Tổng quan về board DE1-SoC

3. CHƯƠNG 3: PHƯƠNG PHÁP THỰC HIỆN

3.1. Thiết kế mô hình Custom Tinier YOLO

3.2. Chuẩn bị và huấn luyện mô hình

3.3. Xây dựng hệ điều hành Linux trên board DE1-SoC

3.4. Các công cụ cần thiết

3.5. Thiết kế hệ thống SoC-FPGA

4. CHƯƠNG 4: KẾT QUẢ THỰC HIỆN

4.1. Kết quả huấn luyện mô hình Custom Tinier YOLO

4.2. Kết quả chạy giả lập Custom Tinier YOLO

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU TIẾNG ANH

TÀI LIỆU TIẾNG VIỆT

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT KHÓA LUẬN

Tóm tắt

I. Tổng quan về Hệ Thống Nhận Diện Phương Tiện Giao Thông Trên FPGA

Hệ thống nhận diện phương tiện giao thông trên FPGA đang trở thành một trong những giải pháp công nghệ tiên tiến nhất trong việc giám sát và quản lý giao thông. Với sự phát triển nhanh chóng của công nghệ, việc ứng dụng FPGA trong nhận diện hình ảnh giúp tăng tốc độ xử lý và độ chính xác cao hơn so với các phương pháp truyền thống. Hệ thống này có khả năng nhận diện nhiều loại phương tiện như ô tô, xe máy và xe tải, từ đó hỗ trợ trong việc giám sát vi phạm luật giao thông.

1.1. Khái niệm về FPGA và ứng dụng trong nhận diện hình ảnh

FPGA (Field-Programmable Gate Array) là một loại mạch tích hợp có thể lập trình lại. Việc sử dụng FPGA trong nhận diện hình ảnh cho phép tối ưu hóa hiệu suất và tiết kiệm năng lượng. Hệ thống này có thể xử lý các thuật toán phức tạp như mạng nơ-ron tích chập (CNN) để nhận diện phương tiện giao thông.

1.2. Lợi ích của việc sử dụng FPGA trong hệ thống giao thông thông minh

Sử dụng FPGA giúp cải thiện tốc độ xử lý và giảm thời gian phản hồi của hệ thống. Điều này rất quan trọng trong các ứng dụng thời gian thực như giám sát giao thông, nơi mà độ chính xác và tốc độ là yếu tố quyết định.

II. Thách thức trong việc nhận diện phương tiện giao thông trên FPGA

Mặc dù có nhiều lợi ích, việc triển khai hệ thống nhận diện phương tiện giao thông trên FPGA cũng gặp phải một số thách thức. Các vấn đề như độ phức tạp của thuật toán, yêu cầu về tài nguyên phần cứng và khả năng tối ưu hóa hiệu suất là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Độ phức tạp của thuật toán nhận diện

Các thuật toán nhận diện như YOLO yêu cầu tính toán phức tạp và cần nhiều tài nguyên. Việc tối ưu hóa các thuật toán này để chạy hiệu quả trên FPGA là một thách thức lớn.

2.2. Yêu cầu về tài nguyên phần cứng

FPGA có giới hạn về tài nguyên như bộ nhớ và khả năng xử lý. Việc thiết kế một hệ thống nhận diện hiệu quả mà không vượt quá giới hạn này là một thách thức quan trọng.

III. Phương pháp thiết kế hệ thống nhận diện phương tiện giao thông trên FPGA

Để xây dựng một hệ thống nhận diện phương tiện giao thông hiệu quả trên FPGA, cần áp dụng các phương pháp thiết kế hợp lý. Việc lựa chọn mô hình nhận diện phù hợp và tối ưu hóa mã nguồn là rất quan trọng.

3.1. Lựa chọn mô hình nhận diện phù hợp

Mô hình YOLO và các biến thể của nó được xem là lựa chọn tối ưu cho việc nhận diện phương tiện giao thông. Các mô hình này có khả năng phát hiện và phân loại đối tượng với tốc độ cao và độ chính xác tốt.

3.2. Tối ưu hóa mã nguồn cho FPGA

Việc tối ưu hóa mã nguồn để chạy trên FPGA bao gồm việc sử dụng ngôn ngữ OpenCL và các thư viện hỗ trợ. Điều này giúp cải thiện hiệu suất và giảm thời gian xử lý.

IV. Ứng dụng thực tiễn của hệ thống nhận diện phương tiện giao thông

Hệ thống nhận diện phương tiện giao thông trên FPGA có nhiều ứng dụng thực tiễn trong việc giám sát và quản lý giao thông. Các ứng dụng này không chỉ giúp cải thiện an toàn giao thông mà còn hỗ trợ trong việc phát hiện vi phạm luật giao thông.

4.1. Giám sát vi phạm luật giao thông

Hệ thống có khả năng phát hiện các vi phạm như vượt đèn đỏ, lấn làn và chạy quá tốc độ. Điều này giúp cơ quan chức năng có thể xử lý kịp thời các vi phạm.

4.2. Cải thiện an toàn giao thông

Việc sử dụng hệ thống nhận diện giúp giảm thiểu tai nạn giao thông và nâng cao ý thức của người tham gia giao thông. Hệ thống này có thể được tích hợp vào các giải pháp giao thông thông minh.

V. Kết luận và tương lai của hệ thống nhận diện phương tiện giao thông trên FPGA

Hệ thống nhận diện phương tiện giao thông trên FPGA không chỉ mang lại nhiều lợi ích mà còn mở ra nhiều cơ hội cho việc phát triển các giải pháp giao thông thông minh trong tương lai. Việc tiếp tục nghiên cứu và cải tiến công nghệ sẽ giúp nâng cao hiệu quả của hệ thống.

5.1. Tương lai của công nghệ nhận diện trên FPGA

Công nghệ nhận diện trên FPGA sẽ tiếp tục phát triển với sự hỗ trợ của các thuật toán học sâu và các công nghệ mới. Điều này sẽ giúp cải thiện độ chính xác và tốc độ xử lý của hệ thống.

5.2. Khả năng mở rộng và ứng dụng trong các lĩnh vực khác

Hệ thống nhận diện phương tiện giao thông có thể được mở rộng để áp dụng trong nhiều lĩnh vực khác nhau như an ninh, giám sát và quản lý đô thị. Điều này sẽ tạo ra nhiều cơ hội mới cho việc phát triển công nghệ.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật máy tính hệ thống nhận diện phương tiện giao thông bằng fpga

Trích đoạn nội dung tài liệu

Chương 1. tt th re 2 1. Lý do thực hiện khóa luận. Mục tiêu khóa luận.

re3 Chương2. CO SỞ LÝ THUYÉT. Stride - Bước nhảy [I]. Ý nghĩa phép tính tích chập:.---cc:c2222+2tv2EEEvrreEErrrrrsrrkrrrrrrrrrrree 8 2.

Câu trúc mang veccccsscessssssecscssssscssssssessssssscsssssvecssssusecesssueeesssssecessseess 8 2. Nguyên lý hoạt động của mang nơ-ron nhân tạo. Mạng nơ-ron tích chập (CNN). Câu trúc mạng nơ-ron tích chập.

Lớp tích chập [3]. Mô hình YOLLO. Hàm tính IoU [G]. Fine-grained Feature 2.

Mô hình YOLO v2-TÌny. Mô hình Custom YOLO. Mô hình YOLOv3. Mô hình Tinier-YOLO [9].

Cấu trúc mô hình. Số dau chấm động (Floating poin†). Số châm động với chuẩn [EEE 754. Số chấm động half-precision với chuẩn IEEE 754.

Cách OpenCL tổ chức các phép tính toán song song. Truyén nhận dữ LGU. Intel® FPGA SDK for OpenCLTM [15] 0. Tổng quan về board DEI-SoC.---:2scz222ssvzeccvse 34 Chuong 3.

PHƯƠNG PHÁP THỰC HIỆN. Thiết kế mô hình Custom Tinier YOLO. Chuẩn bị và huấn luyện mô hình.38 Chuan bi va 0n ân, Vẽ. Cấu hình mô hình trên framework darknet.

Huấn luyện mô hình. Xây dựng hệ điều hành Linux trên board DEI-SoC. Luồng boot linux [I7].¿-cc522vs+veeccvvrreerrsrrrerrreree 44 3. Các công cụ cần thiết 3.

Tạo file FPGA programmable bitstream (.aocx) và file raw binary 0000809077. Tạo file preloader (preloader-mkpimage. Tạo file u-boot (uboot. Tạo file zImage và file device tree blob(.

Tạo root filesystem [17]. Tạo u-boot script [17]. Tạo OpenCL driver. Tạo SD image [21].

eee eee SE ren50 3. Thiết kế hệ thống SoC-FPGA. Hiện thực host prograim. Hiện thực kernel.---- + +5 +x+k‡k*k*EkEekekE ngư55 Chuong 4.

KET QUA THUC HIỆN. Kết quả huấn luyện mô hình Custom Tinier YOLO. Kết quả chạy giả lập Custom Tinier YOLO. KET LUẬN VÀ HƯỚNG PHAT TRIÉN.

Kết quả dat ẨƯỢC. Nhược điểm. TÀI LIEU TIENG ANH TAI LIEU TIENG VIET DANH MỤC HÌNH Hìn 2. Ma trận điểm ảnh X có kích thước 5*5.

Nhân ma trận con với kernel W. Kết quả tích giữa ma trận con A va kernel W. Kết quả tích chập Y giữa ma trận X va kernel W. Ma trận với padding=1.

Ma trận với padding=1 và stride=2. Kernel cho phép tích chập làm nét ảnh. Kernel cho phép tích chập xác định đường nét ảnh. Cấu trúc tổng quan của mang nơ-ron nhân ta0.

Đường biểu diễn biểu thức ReLU. Đường biểu diễn Leaky ReLU. Sơ đồ quá trình Feed-forward. Cấu trúc mạng no-ron tích chập.

Tensor ba chiều biểu diễn ảnh màu. Tích chập giữa tensor ảnh màu va tensor kernel. Kích thước dữ liệu đầu ra từ lớp tích chập. Ví du về max pooling.---zz+22scc+ccz+ Hin 2.

Phương pháp pooling giảm width va height của dữ liệu đầu vao.Téng quan quá trình nhận diện bằng mô hình YOLO. Cầu trúc của mô hình YOLO. Các thông số của bounding box.------ccc:¿+222cvvvvcresrrrrrrree 19 Hinl h 2. Công thức tính lo.

Dự đoán bounding box dựa trên độ lệch so với anchor box. Cấu trúc mô hình YOLOV2. Cau trúc mô hình YOLOv2-Tiny [1]. Cấu trúc mô hình Custom YOLO.

Cấu trúc Darknet-53 mà mô hình YOLOv3 dùng. Cấu trúc mô hình Tinier YOLO. Số dau cham động dang single precision theo chuẩn IEEE 754. Số dau cham động half-precision theo chuân IEEE 754.

Thuật toán GEMM. --- 5c c2 St SE erverrrrrrrrrrrrrrrrrrrrrrree 30 Hin h 2. Workflow của OpenCL framewWOrẨK. Global dimension, local dimension, work-group và work-item.

Vi dụ về cách ma OpenCL đồng bộ phép tinh. Sau khi gan phép tính vào work-item. Cấu trúc của hệ thống SoC-FPGA board DE1-SoC. Board DE1-SoC ÏayOUL.

Một số ảnh trong Stanford car dataset.:---cc++2cvsccrccrveree 39 Hin h 3. Layout của SD card image [Í6]. Ludng boot Linux.-:--:¿22+++22+++++22vv+eztvvsversrrsseee 44 Hin 3. Các bước chạy sau khi Linux kernel được boot.

Board package support của Terasic. Tổng quan hệ thống SoC-FPGA. Mô tả quá trình thực thi của hệ thống. Áp dụng phương pháp im2col dé xử lý đầu vào cho GEMM.

Áp dụng phương pháp im2row đề xử lý đầu vào cho GEMM. Kết quả huấn luyện mô hình. Kết quả nhận diện của Custom Tinier YOLO khi chạy giả lập. Kết quả biên dịch của kernel.

Kết quả chạy gia lập mô hình cho board DE1-SoC. 64 DANH MỤC BANG Bảng 2. So sánh hiệu suất của các phiên bản YOLO [2]. mAP và FLOPS của Tiny Yolov2 và Custom Yolo.3 Bang so sánh tốc độ của các kiến trúc mạng nơ-ron.

Bảng so sánh độ chính xác của nhiều mô hình khác nhau. Bảng thông số mô hình Custom Tinier YOLO. Liệt kê đặc trưng các loại xe trong tập huấn luyện. Chỉ tiết của mỗi partition.

Độ chính xác AP của các đối tượng Bảng 4. Một số kết quả ngẫu nhiên của 3 đối tượng. So sánh BFLOPS của một số mô hình Tiny YOLO. So sánh độ phức tap của các mô hình Tiny YOLO cho FPGA.

61 DANH MỤC TU VIET TAT STT Từ viết tắt Từ đầy đủ 1 ALM Adaptive Logic Module 2 ALUT Adaptive Look-Up Table 3 CNN Convolution Neural Network 4 DNN Deep Neural Network 5 DSP Digital Signal Processing 6 FPGA Field Programmable Gate Array 7 GEMM General Matrix Multiply 8 HLS High-Level Synthesis 9 HPS Hardware Processor System 10 IoU Intersection over Union 11 LUT Look-Up Table 12 ReLU Retified Linear Unit 13 SDK Software Development Kit 14 SoC System on Chip 15 YOLO You Only Look Once TÓM TÁT KHÓA LUẬN Đề tài "Hệ thống nhận diện phương tiện giao thông trên FPGA" - một nghiên cứu về việc thiết kế và xây dựng một hệ thống nhận diện phương tiện giao thông trên FPGA(Field-programmable gate array). Hệ thống này có khả năng nhận diện một số phương tiện giao thông trên đường bao gồmô tô, xe máy, xe tải. Từ đó có thể ứng dụng mô hình này để xây dựng hệ thống giám sát vi phạm luật giao thông như bắn tốc độ trên đường cao tốc, kiểm tra các vi phạm như lấn làn, vượt đèn đó, gây tai nạn,. Việc thiết kế hệ thống sử dụng FPGA giúp tăng tốc độ xử lý và giảm thời gian đáp ứng của hệ thống và có thể phát triển thành các IC.

Kết quả của nghiên cứu này sẽ giúp cải thiện an toàn giao thông và giảm tỷ lệ xảy ra tai nạn. Đề tài tập trung nghiên cứu một số mô hình nhận diện vật thé phổ biến hiện nay, cụ thé là mô hình YOLO và các biến thé của nó. Vì YOLO được biết đến là một trong những mô hình CNN có khả năng phát hiện và phân loại đối tượng với tốc độ cao mà vẫn đảm bảo độ chính xác nên thường được ứng dụng trong các hệ thống nhận diện thời gian thực. Hơn nữa, một số biến thể của YOLO đã phát triển để đáp ứng những môi trường bị giới hạn tài nguyên như máy tính nhúng hay hệ thống SoC FPGA.

Từ đó, nhóm xây dựng một mô hình YOLO phù hợp với môi trường tài nguyên hạn hẹp của DEI-SoC. Đề phục vụ cho việc phát triển khả năng nhận diện một số loại phương tiện giao thông, nhóm đã thu thập một bộ dữ liệu huấn luyện cho mô hình của nhóm. Ngoài ra, đề tài cũng nghiên cứu cách xây dựng hệ thống sử dụng hệ điều hành Linux trên board DE1-SoC phục vụ cho việc thực thi chương trình trên board. Từ đó, nhóm tận dung khả năng hỗ trợ xây dựng mach logic tổ hợp bằng ngôn ngữ OpenCL dé hiện thực mô hình nhận diện trên FPGA.

Lý do thực hiện khóa luận Sự phát triển bùng nỗ của phương tiện giao thông khiến cho việc quan lý đảm bảo trật tự an toàn giao thông cũng như giám sát vi phạm luật của các phương tiện trở nên khó khăn hơn, từ đó dẫn đến số vụ tai nạn và khả năng gặp tai nạn tăng cao. Nhằm tang cường đảm bảo an toàn cho người dân khi tham gia giao thông, chính phủ đã cho thực hiện những chính sách đây mạnh ứng dụng khoa học công nghệ vào việc xây dựng hệ thống hỗ trợ quản lý, giám sát. Một trong những giải pháp công nghệ được ứng dụng phổ biến, đóng một vai trò quan trọng trong việc quản lý, điều phối và xử lý các tình huống giao thông chính là xử lý ảnh. Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy tính và là phân ngành trong xử lý tín hiệu số với tín hiệu xử lý là ảnh.

Day là một phân ngành khoa học mới rất phát triển trong những năm gần đây, thu hút rất nhiều nhà nghiên cứu và phát các kỹ thuật cũng như mô hình xử lý ảnh có độ chính xác và khả năng ứng dụng cao trong đời sống. Tuy nhiên, các thuật toán xử lý đều phải thực thi trên hệ thống máy tính phức tạp. Việc này hạn chế năng lực xử lý ảnh cũng như gây tiêu hao công suất tiêu thụ khi sử dụng lượng lớn camera và CPU hiệu năng cao cho hệ thống giám sát. Để cải thiện khả năng xử lý nhanh hơn và tiết kiệm năng lượng thì giải thuật nhận diện vật thé nên được thực hiện trên FPGA.

Nhằm mục đích tìm hiéu, tiếp cận các kỹ thuật xử lý ảnh đang phổ biến hiện nay khi kết hợp cùng với các giải thuật máy học, thông qua các bước nghiên cứu về kiến thức cơ bản về mô hình máy học xử lý ảnh như mạng nơ-ron tích chập CNN, nghiên cứu các thư viện hỗ trợ xử lý tính toán như OpenCV, BLAS. Hơn nữa, nhóm mong muốn học hỏi thêm về hệ thống SoC, cũng như khả năng hiện thực mô hình máy học lên FPGA. Từ đó, chúng em có thé đưa ra và hiện thực giải pháp cho van dé nói trên, cụ thể hơn là hiện thực một hệ thống máy học có thể nhận diện một số phương tiện giao thông trên FPGA. Do đó, nhóm chọn thực hiện khóa luận “Hệ thống nhận điện phương tiện giao thông trên FPGA”.

Mục tiêu khóa luận Mục tiêu chính của khóa luận là nghiên cứu, hiện thực một hệ thống SoC có khả năng phát hiện và phân loại một phương tiện giao thông trên đường, sử dụng mô hình Custom Tinier YOLO hiện thực trên board FPGA DEI-SoC. Cụ thể, chúng em sẽ tiến hành: Tìm hiểu và nghiên cứu các bài báo về hiện thực mô hình nhận diện trên FPGA. Từ đó lựa chọn hệ thống và mô hình khả thi dựa trên tài nguyên hiện có. Tìm hiểu về board DEI-SoC cũng như ngôn ngữ OpenCL nhằm hỗ trợ cho quá trình xây dựng cũng như hiện thực mô hình nhận diện phù hợp lên hệ thống.

Tìm hiểu và nghiên cứu mô hình YOLO cũng như các biến thé của nó dé chọn ra mô hình phù hợp với tiêu chí cụ thể như độ chính xác và độ tin cậy của dự đoán, kích thước mô hình, tốc độ xử lý. Từ đó, xây dựng mô hình phù hợp với phần cứng nhưng vẫn đảm bảo độ chính xác của kết quả dự đoán. Thu thập và xây dựng dataset phù hợp cho mô hình và tiến hành huấn luyện. Xây dựng chương trình có thê phát hiện và phân loại được 3 loại phương tiện giao thông gồm xe hơi, xe máy và xe tải.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Hệ Thống Nhận Diện Phương Tiện Giao Thông Trên FPGA" trình bày một giải pháp công nghệ tiên tiến cho việc nhận diện và phân loại phương tiện giao thông bằng cách sử dụng FPGA (Field-Programmable Gate Array). Nội dung chính của tài liệu bao gồm các phương pháp xử lý hình ảnh, thuật toán nhận diện, và ứng dụng thực tiễn trong việc cải thiện an toàn giao thông. Độc giả sẽ tìm thấy những lợi ích rõ ràng từ việc áp dụng hệ thống này, như tăng cường hiệu quả giám sát giao thông và giảm thiểu tai nạn.

Để mở rộng kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu Khóa luận tốt nghiệp kỹ thuật máy tính hệ thống điều hướng tự động dựa trên phần cứng, nơi cung cấp cái nhìn sâu sắc về hệ thống điều hướng tự động. Bên cạnh đó, tài liệu Thiết kế giao tiếp camera và hiển thị màn hình vga trên kit de10 sẽ giúp bạn hiểu rõ hơn về việc tích hợp camera trong các ứng dụng giao thông. Những tài liệu này không chỉ bổ sung kiến thức mà còn mở ra nhiều hướng nghiên cứu mới cho bạn.