Khóa Luận Tốt Nghiệp: Nghiên Cứu Cải Tiến Tích Hợp Thuật Toán YOLO Trên FPGA Zynq7020

Nghiên cứu cải tiến tích hợp thuật toán YOLO trên FPGA Zynq7020 trong khóa luận tốt nghiệp kỹ thuật máy tính, ứng dụng hiệu quả trong xử lý hình ảnh thời gian thực.

Chuyên ngành

Computer Engineering

Người đăng

Ẩn danh

Thể loại

graduation thesis

2021

80
7
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. CHƯƠNG 1: TÌNH HÌNH NƯỚC NGOÀI

1.1. Tình hình trong nước

1.2. Mục tiêu đề tài

2. CHƯƠNG 2

2.1. Lớp thần kinh

2.2. Lớp phi tuyến

2.3. Lớp tổng hợp

2.4. Lớp kết nối đầy đủ

3. CHƯƠNG 3

3.1. Thực hiện xử lý công nhận

3.2. Kiểm tra và độ chính xác

4. CHƯƠNG 4: ĐỊNH HƯỚNG KẾT LUẬN VÀ PHÁT TRIỂN

4.1. Tình trạng của toàn bộ đề tài

4.2. Kết quả dự kiến

4.3. Kết quả thực tế

4.4. Những gì em đạt được, hạn chế và định hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về nghiên cứu

Nghiên cứu này tập trung vào việc cải tiến tích hợp thuật toán YOLO trên FPGA Zynq7020, một hướng đi quan trọng trong lĩnh vực kỹ thuật máy tính. YOLO (You Only Look Once) là một thuật toán phát hiện đối tượng nhanh và hiệu quả, được ứng dụng rộng rãi trong các hệ thống thời gian thực. FPGA (Field Programmable Gate Array) là một công nghệ phần cứng linh hoạt, cho phép tối ưu hóa hiệu suất tính toán. Việc kết hợp YOLOFPGA nhằm mục đích tăng tốc độ xử lý và giảm độ trễ trong các ứng dụng thực tế.

1.1. Mục tiêu nghiên cứu

Mục tiêu chính của nghiên cứu là cải tiến thuật toán YOLO để tối ưu hóa hiệu suất khi triển khai trên FPGA Zynq7020. Cụ thể, nghiên cứu hướng đến việc thiết kế một hệ thống tích hợp IP camera với YOLO để thực hiện phát hiện đối tượng thời gian thực. Điều này đòi hỏi sự kết hợp giữa phần cứng và phần mềm, đặc biệt là việc tối ưu hóa kiến trúc mạng thần kinh để phù hợp với khả năng xử lý của FPGA.

1.2. Tình hình nghiên cứu trong và ngoài nước

Trên thế giới, các quốc gia như Hoa Kỳ, Trung Quốc, và Ấn Độ đã có nhiều nghiên cứu tiên phong trong lĩnh vực FPGADeep Learning. Tuy nhiên, tại Việt Nam, việc nghiên cứu và triển khai YOLO trên FPGA còn hạn chế do thiếu nguồn lực và công nghệ. Nghiên cứu này là một bước tiến quan trọng trong việc đưa Việt Nam vào bản đồ nghiên cứu công nghệ cao.

II. Kiến trúc và phương pháp nghiên cứu

Nghiên cứu sử dụng YOLOv2 làm nền tảng để phát hiện đối tượng. YOLOv2 là một phiên bản cải tiến của YOLO, với khả năng xử lý nhanh và độ chính xác cao. Kiến trúc mạng thần kinh của YOLOv2 bao gồm các lớp convolution, pooling, và fully connected, được tối ưu hóa để chạy trên FPGA Zynq7020. Việc tích hợp YOLOv2 trên FPGA đòi hỏi sự hiểu biết sâu về cả phần cứng và phần mềm.

2.1. Kiến trúc mạng thần kinh

Kiến trúc mạng thần kinh của YOLOv2 bao gồm các lớp convolution để trích xuất đặc trưng, lớp pooling để giảm kích thước dữ liệu, và lớp fully connected để dự đoán đối tượng. Các lớp này được tối ưu hóa để phù hợp với khả năng xử lý của FPGA, đảm bảo hiệu suất cao và độ trễ thấp.

2.2. Tích hợp trên FPGA Zynq7020

Việc tích hợp YOLOv2 trên FPGA Zynq7020 đòi hỏi sử dụng các công cụ như VivadoPetalinux để thiết kế và triển khai hệ thống. FPGA được sử dụng để tăng tốc các phép toán phức tạp trong mạng thần kinh, giúp giảm thời gian xử lý và tăng hiệu suất tổng thể của hệ thống.

III. Kết quả và đánh giá

Nghiên cứu đã đạt được kết quả khả quan trong việc tích hợp YOLOv2 trên FPGA Zynq7020. Hệ thống có khả năng phát hiện đối tượng với độ chính xác cao và tốc độ xử lý nhanh, phù hợp với các ứng dụng thời gian thực. Kết quả thử nghiệm cho thấy, hệ thống có thể xử lý hình ảnh với tốc độ 30 FPS, đáp ứng yêu cầu của các ứng dụng thực tế.

3.1. Độ chính xác và tốc độ xử lý

Hệ thống đạt được độ chính xác mAP (mean average precision) cao, đặc biệt trong việc phát hiện các đối tượng phức tạp. Tốc độ xử lý đạt 30 FPS, đảm bảo khả năng hoạt động thời gian thực. Đây là một cải tiến đáng kể so với các phương pháp truyền thống.

3.2. Hạn chế và hướng phát triển

Mặc dù đạt được kết quả khả quan, nghiên cứu vẫn còn một số hạn chế, đặc biệt là trong việc tối ưu hóa tài nguyên phần cứng. Hướng phát triển trong tương lai bao gồm việc cải tiến kiến trúc mạng thần kinh và tăng cường khả năng xử lý của FPGA để đạt hiệu suất cao hơn.

21/02/2025

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

Chương 1. Tình hình nước ngoài. Tình hình trong nưỚC. Mục tiêu để tài.

rrrrrrrrrrrrree 7 Chương 2. c1 H HH HH HH HH it 8 2. Lớp thần Kin o. Lớp phi tuyến.

Lớp tổng hợp.cc2cvccc2222vccScEvrrrrerrttrrrrrrrrrrrrrrrree 21 2. Lớp kết nối đầy đủ. _ Hệ thống ô lưới. Mạng thần kinh cho YOLOvI.-----ccz+2222vvsccccez+crz 26 2.

Giao lộ qua Liên minh. Nhược điểm của YOLOvI. Chuẩn hóa hàng loạt (Batch Normalization). Phân loại độ phân giải CaO.

Sử dụng kiến trúc hộp neo (Anchor Box) dé đưa ra dự đoán. Cụm K-mean cho lựa chọn neO. Dự đoán vị trí trực tiếp. Thêm các tính năng chỉ tiẾt.

Đào tạo đa quy mÔ. Trọng lượng nhẹ Xương sống. Vivado & Petalinux oo. Petalinux + Xilinx SDK.

Mang công lập trình trường (EPGA). Tổng quan về ZedBOard. Bus giao diện mở rộng nâng cao (AXI). Công cụ phát triển và kiến trúc tổng thẻ:d.

_ Công cụ phát triỀn. Kiến trúc tổng thể. Dòng mạng tế bào thần kinh.-----cz+22ccvvsccccez+rrz 51 2. Thời gian thực hiỆn.

Tăng tốc kiến trúc tổng thể. Cách thức hoạt động nói chung. OV 7670 CaIm©TA. tt HT ng HH ngư 56 2.

Dac trưng. Thông số kĩ thuật. AXT Stream Data FIFO. Thong số kỹ thuật.

Tùy chọn chung. Thuộc tính tín hiệu. THIẾT KE VÀ TRIÊN KHAI HE THÓNG. Mô đun đầu ra và đầu vào.

Mô-đun tế bào thần kinh. Mô-đun tổng hợp. Mô-đun sắp xép lại 3. Thực hiện xử lý công nhận.

Thực hiện trên ViVadO. óc te St Exexesrrrersssrrrrerreeesrer 69 3. Kiểm tra và độ chính Xác .----- ¿+ + ggrrêt75 Chương 4. ĐỊNH HƯỚNG KET LUẬN VA PHÁT TRIÊN.

Tình trạng của toàn bộ đỀ tài. Kết quả dự kiến:. Kết quả thực tế. Những gì em đạt được, hạn chế và định hướng phát triển 4.

_ Những gì em dat ẨưỢC. Định hướng phát triỂn.---22++s22cvvrreecrrvrrerrrrrrrrrr TÀI LIỆU THAM KHẢO DANH SÁCH SÓ LIỆU Hình 1: Cấu hình chung của Mạng thần kinh phổ biến để xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá tTỊ.----- 5< 25+ tEkekekerrrkrkrkerer 18 Hình2: Quá trình tính toán than kinh.-- +2222+++222v+z+ettvxvrerrrsrrrrrr 19 Hình 3: Bộ lọc 5x5 được sử dụng đề phát hiện góc / cạnh.-----: 19 Hình 4: Quy trình ReLU. „21 Hình 5: YOLOv1 dự đoán như thé nào.-- ¿52+ 3+ +vx+eErverreerrrrrrrrrrrrer 23 Hình 6: Kiến trúc YOLOv1 24 Hình 7: Khung hình trên giây của mỗi thuật toán.--¿--- ¿5+ 5+ 5s <+c+x+x++24 Hình 8: Ví dụ đối tượng duy nhất mà hình vuông chứa.----- 25 Hình 9: Mỗi hình vuông chịu trách nhiệm cho mỗi dự đoán 2 hộp ranh giới. 26 Hình 10: Một vectơ có 2 hộp và 3 lớp cho mỗi hình vuông.:---+ 26 Hình 11: Mô hình Neural Network cho YOLOV!1.

Hình 12: Ví dụ LOU. eeeeseeceseeseesseesseeeseesessesesseseesessesessseeseseesesesseessseasessseeaseneasens 29 Hình 13: Đầu ra NN (i, j) bản đồ thành hình ảnh (i, j). Hình 15: Hộp neo tinh chỉnh vị trí và kích thước hộp neo.------ - --34 Hình 16: Dự đoán hộp giới hạn trong YOLOV2.------55c5++ccccccccxrree 36 Hình 17: Kiến trúc YOLOV2.ccccc222ccccccc2222222222EEEEEErrrrrrrrrrrree 37 Hình 18: Kỹ thuật Reorg trong YOLOv2. 37 Hình 19: Darkmet-19 oo.

eeccececccesescseseesesescscssesesescarscsseseseecsvssessssseessnesscsesesseneseees oO) Hình 20: WordTree-YOL,O9000. re40 Hình 21: Dòng chảy HLS của Vivado Design.--- 5556 Sccccsetsrrkekererree 41 Hình 22: Cấu hình dé tạo tệp tin khởi động có thé truy cập hệ thống tệp gốc. 42 Hình 23: Cấu hình bộ nạp khởi động cho Zynq ZC702 và Zedboard. 42 Hình 24: Cấu hình dé làm cho Zedboard sử dụng tệp khởi động.- 42 Hình 25: Cấu hình dé gắn bộ nạp khởi động vào BOOT.- ¿s2 43 Hình 26: Cấu hình dé truy cập tệp hạt nhân.----:¿-©2z+2222++z+zcvvvrecrrrxz 43 Hình 27: Kiến trúc chung FPGA.

Hình 28: Cấu trúc của khối logic có thé cấu hình.---©c¿2222+zcsvczsseez 45 Hình 29: Lớp phủ chức năng của ZedBOard.------ 5: + 5+5++c+c+cexsrezxersrerre 46 Hình 30: Sơ đồ khối của ZedBoard.---+++22222+++2EE++2+tEEEEEerrErEkkrrrrrrkerrrg 47 Hình 31: Giao diện và kết nối.-----22cccccct22222EEEttriitttrtkrrrrrtrrrrrrirrrrrrir 49 Hình 32: Kênh trong giao diện AXÌ. ¿5-5252 S+S++xxtreekerrrerrrerree 50 Hình 33: Kiến trúc tổng thể Hình 34: Tiến độ thực hiện. Hình 35: Kiến trúc tong thé của máy gia tốc .:¿-++22cv++zvccvvvreerrrve 55 Hình 36: Sơ đồ khối của OV7670 Camera Module.-¿:2cz+222sszz+ccxxe 59 Hình 37: So d6 khGi ctta AXTDMA 01a. 61 Hình 38: Thông số của IP AXI Stream Data FIFO.--- ¿+22222zz222+scez 62 Hình 39: Truyền dữ liệu một kênh.---2--©2¿£22EE+z++2EEE+zt2EEEEEztrEEEEerrrrrrrcee 65 Hình 40: Mô-đun tế bào thần kinh(Tn = 4 và Tm = 2) .----¿ ¿©552266 Hình 41: Mô-đun tong hợp.

Hình 42: Mô-đun T€OTE,. 1kg HT 68 Hình 43: Kiến trúc tổng thé thực hiện trên ZedBoard.-- 2: z- ssccsszses+ 69 Hình 44: Thiết kế block trên Vivado.------ccccciiieeiiirrrrrrrree 69 Hình 45: Kết quả mô phỏng đối tượng gần.----2:-©22++2222+zzvtvvvvvcerrree 71 Hình 46: Kết qua mô phỏng đối tượng với khoảng cách 20cm .------ 71 Hình 47: Kết quả mô phỏng với đối tượng Xa.--2¿¿22+cz+222vzcecccree 72 Hình 48: Kết quả mô phỏng đối tượng với khoảng cách 40em.----- 72 Hình 49 : : Khoảng cách 8m. ¿+ - + 5+1 k2 E112 112111 1 1111 1gp73 Hình 50 : Độ chính xác với khoảng cách 80cm. Hình 51: Khoảng cách I2Cm.

- -- - SxS E 3k vn HH tr nườt74 Hình 52: Độ chính xác với khoảng cách I20cm.-- + 2+ + 5+ £sc++++++c+ese+ 74 DANH SÁCH BANG Bảng 1: So sánh bộ lọc nhỏ và bộ lọc lớn. --- - ¿5+ *sx++‡vEkvEeEetxekerrrrresrre 20 Bảng 2: Chuyển đổi chuẩn hóa hàng loạt, áp dung cho kích hoạt x trên một lô nhỏ30 Bảng 3: Luông mạng tế bào thần kinh.2--- 2¿©+++2222++++222S+zevtrvszeerrr 51 Bảng 4: bo 0. Bảng 6: So sánh đối tượng với khoảng cách khác nhau .-----:--2 74 Bảng 7: So sánh kết quả giữa darknet phần mềm và việc thực hiện của em. 75 DANH SÁCH CÁC TỪ VIẾT TÁT ASIC: Application Specific Integrated Circuit AXI: Advanced Extensible Interface BN: Batch Normalization BRAM: Block Random Access Memory CLB: Configurable Logic Block COCO: Common Objects in Context DDR: Double Data Rate DMA: Direct Memory Access DSP: Digital Signal Processing DSP48E: Digital Signal Processing Logic Element FF: Flip-Flop FIFO: First in First Out FPGA: Field Programmable Gate Array GPU: Graphics Processing Unit HDF: Hardware Descriptor File HDL: Hardware Description language HLS: High-level Synthesis IOU: Intersection Over Union IP: Intellectual Property ISE: Integrated Synthesis Environment LUT: Look-Up Table mAP: mean average precision.

NNW: Neuron Net Work PL: Processing Logic PS: Processing System RAM: Read Access Memory RCNN: Region-Based Convolution Neural Networks ReLU: Rectified Linear Units RTL: Register-transfer Level SD: Secure Digital SRAM: Static Random-access Memory YOLO: You Only Look One TOM TAT DE TÀI Trong những năm trở lại đây, các mô hình Deep Learning đã được nhiều nhà khoa học quan tâm và tham gia nghiên cứu, đáng chú ý là mô hình Mạng thần kinh (Neural Network) như một ứng cử viên hàng đầu đề giải quyết các vấn đề như nhận dạng và xử lý đối tượng. Nhiều ứng dụng thực tế thường có độ trễ (delay) thấp trong phần mềm hoặc chiếm rất nhiều tài nguyên trong phần cứng. Dé đối phó với van dé này, các giải pháp tối ưu hóa như thực hiện FPGA được áp dụng. Em lập kế hoạch, thiết kế và trién khai FPGA của kiến trúc tăng tốc Mang thần kinh và sử dụng thuật toán phát hiện You Only Look Once phiên bản 2 (YOLOv2).

Tình hình nước ngoài Ở nước ngoài, có rất nhiều quốc gia dẫn đầu về vi mạch như Hoa Kỳ, Án Độ, Đức, Trung Quốc, Nhật Bản,. Do đó, chúng ta có thé dé dàng tim ra các tài liệu về vi mạch thông qua Internet và quốc gia Án Độ là một trong những quốc gia có rất nhiều tài liệu trực tuyến về vi mạch. Trong Giải thưởng Hiệp hội vì sự tiễn bộ của trí tuệ nhân tạo (AAAT) 2020, Geoffrey Hinton (Google, Viện Vector và Đại học Toronto) mang đến cách tiếp cận mới với mục tiêu nhận dạng đối tượng cho mạng thần kinh. Kéo dai cho đến cuối năm 2017, Trung Quốc đã triển khai công nghệ nhận dạng khuôn mặt và trí tuệ nhân tạo tại Tân Cương Đề tài của WalkerLau về tăng tốc Mạng thần kinh với FPGA trên github.

Trong dé tài này, họ chỉ có thé so sánh tốc độ của CPU và CPU + FPGA bằng cách thực thi nhận dạng khuôn mặt với 7 lớp thần kinh. Kết quả là hệ thống tăng tốc CPU + FPGA hoạt động nhanh hơn 45x-75x.? Đề tài của Mohamed Atri, Fethi Smach, Johel Miteran và Mohamed Abid về thiết kế phân loại Mạng thần kinh dé phát hiện khuôn mặt. Trong chủ dé này, họ có một khái niệm mới là Perceptron nhiều lớp. Kết quả của đề tài đó là họ nhận được độ chính xác 99,67% của 500 hình ảnh mẫu bằng cách sử dung Xilinx FPGA? 1.

Tình hình trong nước Ở Việt Nam, chúng ta có rất nhiều hạn chế về nguồn lực, chi phí, công nghệ dẫn đến nguồn nhân lực phải đi du học để có được chat lượng cao. Hau hết tat cả các công ty làm việc về vi mạch cũng dừng lại ở việc đóng gói mạch hoặc trung gian cho các 1 The 16® AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment ? Acceleration CNN computation with FPGA from WaklerLau. 3 Neural Networks Classifier for Face Detection. 16 công ty lớn bên ngoài Việt Nam.

Vì vậy, hầu hết các chủ đề nghiên cứu được xuất bản từ nước ngoài. Việc nghiên cứu và triển khai thuật toán YOLO trên FPGA rất khó khăn vì em không thể tìm ra bắt kỳ tài liệu hoặc đề tài nào đo người dân ở Việt Nam thực hiện. Mục tiêu đề tài Có ba mục tiêu chính trong dé tài của em: - Đầu tiên là nghiên cứu thuật toán YOLO dựa trên Mạng than kinh. - Thứ hai là thiết kế IP camera.

- Cuối cùng là có thé kết nối IP camera cùng với YOLO dé có thực hiện phát hiện đối tượng thời gian thực. Mạng nơ-ron Mạng nơ-ron là một thuật toán trong DeepLearning có thể lấy dữ liệu đầu vào là một hình ảnh. Các yêu cầu xử lý trước trong mạng nơ-ron thấp hơn nhiều so với các thuật toán phân loại khác. Trong khi đó ở các phương diện khác như: các bộ lọc được thiết kế thủ công, đào tạo đủ,.

Mạng nơ-ron có khả năng cải thiện các tính năng đó. Trong Hình 1, Mạng thần kinh bao gồm tập hợp các lớp co bản: lớp thần kinh và lớp phi tuyến, các lớp tổng hợp và lớp được kết nói đầy đủ. Thông thường, một hình ảnh sẽ được truyền qua lớp thần kinh đầu tiên và lớp phi tuyến, sau đó tính toán giá trị và lan truyền thông qua lớp tổng hợp. Lớp thần kinh, lớp phi tuyến và lớp tổng hợp có thể được lặp lại nhiều lần trong mạng.

Và sau đó, đữ liệu được truyền qua lớp được kết nối day đủ và softmax dé tính xác suất mà hình ảnh chứa. — car — TRUCK — VAN HÍ n ñ-weœer | INPUT — €ONVOLUHONSREUU P@OUNG — CONVOLUTION. A Y Y FEATURE LEARNING CLASSIFICATION Hình 1: Cấu hình chung của Mạng than kinh phổ biến dé xử lý hình ảnh đầu vào va phân loại các đối tượng dựa trên giá tri. Lớp thần kinh Lớp thần kinh là lớp đầu tiên trích xuất các tính năng từ hình ảnh đầu vào và hoạt động bằng cách đặt một bộ lọc trên một mảng pixel.

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

Tài liệu "Nghiên cứu cải tiến tích hợp thuật toán YOLO trên FPGA Zynq7020 trong khóa luận tốt nghiệp kỹ thuật máy tính" trình bày một nghiên cứu sâu sắc về việc tối ưu hóa thuật toán YOLO (You Only Look Once) để phát hiện đối tượng trên nền tảng FPGA Zynq7020. Nghiên cứu này không chỉ giúp cải thiện hiệu suất xử lý hình ảnh mà còn mở ra cơ hội ứng dụng trong các hệ thống nhúng, nơi yêu cầu tốc độ và độ chính xác cao. Độc giả sẽ tìm thấy những thông tin quý giá về cách thức tích hợp và tối ưu hóa thuật toán, cũng như những lợi ích mà nó mang lại cho các ứng dụng thực tiễn trong lĩnh vực nhận diện đối tượng.

Nếu bạn muốn mở rộng kiến thức của mình về các ứng dụng tương tự, hãy tham khảo tài liệu Đồ án hcmute nhận diện phương tiện giao thông sử dụng bộ phát hiện single shot multibox, nơi bạn có thể tìm hiểu về các phương pháp nhận diện phương tiện giao thông. Bên cạnh đó, tài liệu Luận văn thạc sĩ kỹ thuật viễn thông hệ thống phát hiện người đi bộ sử dụng mô hình yolov5 cải tiến sẽ cung cấp cho bạn cái nhìn sâu sắc về việc áp dụng các mô hình YOLO trong phát hiện người đi bộ. Cuối cùng, tài liệu Hcmute nguyên cứu và phát triển chương trình nhận diện xe ô tô và người đi bộ sẽ giúp bạn hiểu rõ hơn về các nghiên cứu liên quan đến nhận diện xe và người đi bộ, mở rộng thêm kiến thức trong lĩnh vực này.