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.