Thiết Kế Bộ Tăng Tốc FPGA Hiệu Quả Cho Phát Hiện Chỗ Đậu Xe Thời Gian Thực

Luận văn về thiết kế bộ tăng tốc FPGA hiệu quả, ứng dụng trong phát hiện chỗ đậu xe thời gian thực. Nghiên cứu khoa học máy tính chuyên sâu.

Trường đại học

Trường Đại học Bách Khoa

Chuyên ngành

Kỹ thuật Máy tính

Người đăng

Ẩn danh

Thể loại

Luận án tốt nghiệp

2023

91
4
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng Quan Thiết Kế Bộ Tăng Tốc FPGA Cho Phát Hiện Chỗ Đậu Xe 55

Bài viết này trình bày về thiết kế bộ tăng tốc FPGA hiệu quả cho phát hiện chỗ đậu xe trong thời gian thực, một lĩnh vực ngày càng quan trọng trong bối cảnh đô thị hóa và gia tăng phương tiện cá nhân. Mục tiêu là xây dựng một hệ thống phát hiện chỗ đậu xe thông minh, nhanh chóng và tiết kiệm năng lượng. Hệ thống này sử dụng FPGA để tăng tốc quá trình xử lý ảnh, giúp đưa ra quyết định thời gian thực về tình trạng các chỗ đậu xe. Ứng dụng của hệ thống này rất đa dạng, từ quản lý bãi đậu xe thông minh đến hỗ trợ lái xe tự động. Việc ứng dụng FPGA mang lại lợi thế về hiệu năng và khả năng tùy biến, đáp ứng yêu cầu khắt khe của các ứng dụng thời gian thực. Bài viết dựa trên các nghiên cứu về mạng nơ-ron tích chập (CNN) và các kỹ thuật tối ưu hóa phần cứng để đạt được hiệu quả cao nhất. Theo một nghiên cứu, việc sử dụng FPGA có thể giảm đáng kể độ trễ và tăng tốc độ xử lý so với các giải pháp phần mềm truyền thống.

1.1. Lý Do Cần Tăng Tốc Phát Hiện Chỗ Đậu Xe Thời Gian Thực

Tình trạng thiếu chỗ đậu xe đang trở thành vấn đề nan giải tại các đô thị lớn. Các hệ thống phát hiện chỗ đậu xe hiện tại thường chậm chạp và không hiệu quả, gây lãng phí thời gian và nhiên liệu cho người lái xe. Việc xây dựng một hệ thống phát hiện chỗ đậu xe thời gian thực giúp người lái xe nhanh chóng tìm được chỗ trống, giảm ùn tắc giao thông và ô nhiễm môi trường. Việc tăng tốc quá trình này bằng FPGA là một giải pháp tiềm năng để giải quyết vấn đề này. Hệ thống có thể giám sát và đánh giá số lượng xe tại bãi và cung cấp thông tin trực tuyến cho người dùng. Theo báo cáo từ một nghiên cứu, sự gia tăng số lượng xe ô tô cá nhân dẫn đến nhu cầu ngày càng lớn về giải pháp phát hiện chỗ đậu xe thông minh và hiệu quả.

1.2. Vai Trò Của FPGA Trong Xử Lý Ảnh Thời Gian Thực

FPGA (Field-Programmable Gate Array) là một loại vi mạch tích hợp có thể lập trình được sau khi sản xuất. Điều này cho phép FPGA được tùy chỉnh để thực hiện các tác vụ cụ thể một cách hiệu quả, đặc biệt là trong các ứng dụng xử lý ảnhxử lý video thời gian thực. So với CPU và GPU, FPGA có ưu điểm về hiệu năng trên mỗi watt và độ trễ thấp. Khả năng lập trình song song của FPGA cho phép thực hiện nhiều phép tính đồng thời, tăng tốc đáng kể quá trình xử lý. Việc sử dụng FPGA giúp giảm tải cho bộ xử lý chính, giải phóng tài nguyên cho các tác vụ khác. FPGA cho phép tùy chỉnh để thực hiện các nhiệm vụ cụ thể, đặc biệt là trong các ứng dụng xử lý ảnhxử lý video thời gian thực.

II. Thách Thức Thiết Kế Hiệu Quả Bộ Tăng Tốc FPGA Phát Hiện Xe 58

Thiết kế bộ tăng tốc FPGA hiệu quả cho phát hiện chỗ đậu xe thời gian thực đặt ra nhiều thách thức. Một trong những thách thức lớn nhất là cân bằng giữa hiệu năng, hiệu quả năng lượng và chi phí. Việc triển khai các thuật toán học sâu phức tạp trên FPGA đòi hỏi phải tối ưu hóa phần cứng một cách tỉ mỉ để đáp ứng yêu cầu thời gian thực. Ngoài ra, việc tích hợp FPGA vào các hệ thống hiện có cũng có thể gặp nhiều khó khăn. Cần phải xem xét các yếu tố như giao tiếp với các cảm biến và hệ thống lưu trữ dữ liệu, cũng như đảm bảo tính bảo mật của hệ thống. Nghiên cứu này tập trung vào giải quyết các thách thức này bằng cách đề xuất các kiến trúc FPGA mới và các kỹ thuật tối ưu hóa phần cứng tiên tiến, đồng thời giảm thiểu tiêu thụ năng lượng.

2.1. Hạn Chế Về Tài Nguyên Của FPGA Và Giải Pháp

FPGA có tài nguyên hạn chế so với các bộ xử lý khác như CPU hoặc GPU. Số lượng logic gates, bộ nhớ và băng thông I/O có giới hạn. Để triển khai các thuật toán phát hiện chỗ đậu xe phức tạp, cần phải tối ưu hóa việc sử dụng tài nguyên một cách thông minh. Các kỹ thuật như chia sẻ tài nguyên, tối ưu hóa vòng lặp và sử dụng các thư viện IP core có thể giúp giảm thiểu nhu cầu về tài nguyên. Theo một nghiên cứu, việc sử dụng kỹ thuật tối ưu hóa vòng lặp có thể giảm đáng kể diện tích phần cứng cần thiết để triển khai các thuật toán xử lý ảnh.

2.2. Yêu Cầu Về Hiệu Năng Thời Gian Thực Trong Phát Hiện Xe

Các ứng dụng phát hiện chỗ đậu xe thời gian thực đòi hỏi độ trễ thấp và tốc độ xử lý cao. Hệ thống phải có khả năng xử lý luồng video từ camera và đưa ra quyết định về tình trạng chỗ đậu xe trong vòng vài mili giây. Để đáp ứng yêu cầu này, cần phải tối ưu hóa kiến trúc FPGA và thuật toán phát hiện chỗ đậu xe để giảm thiểu độ trễ xử lý. Việc sử dụng các kỹ thuật như pipeliningparallel processing có thể giúp tăng tốc độ xử lý. Việc xử lý khung hình phải được tiến hành nhanh chóng và không bị giật lag, giúp người dùng có trải nghiệm tốt.

2.3. Tiết Kiệm Năng Lượng Trong Thiết Kế FPGA Cho Phát Hiện Xe

Trong các ứng dụng nhúng, hiệu quả năng lượng là một yếu tố quan trọng. Việc tiêu thụ năng lượng của FPGA có thể ảnh hưởng đến tuổi thọ pin và chi phí vận hành của hệ thống. Cần phải áp dụng các kỹ thuật tối ưu hóa năng lượng để giảm thiểu tiêu thụ năng lượng của FPGA. Các kỹ thuật như clock gating, voltage scalingresource sharing có thể giúp giảm năng lượng tiêu thụ. Việc sử dụng các thuật toán phát hiện chỗ đậu xe đơn giản hơn cũng có thể giúp giảm tiêu thụ năng lượng. Các thiết bị FPGA phải có cơ chế hoạt động tiết kiệm và không làm ảnh hưởng đến các linh kiện khác trong quá trình hoạt động.

III. Phương Pháp Tăng Tốc Phát Hiện Chỗ Đậu Xe Bằng FPGA Hiệu Quả 59

Có nhiều phương pháp để thiết kế bộ tăng tốc FPGA hiệu quả cho phát hiện chỗ đậu xe thời gian thực. Một phương pháp phổ biến là sử dụng mạng nơ-ron tích chập (CNN) để trích xuất các đặc trưng từ hình ảnh và phân loại các chỗ đậu xe. Các CNN có thể được tối ưu hóa để chạy hiệu quả trên FPGA bằng cách sử dụng các kỹ thuật như quantizationpruning. Một phương pháp khác là sử dụng các thuật toán computer vision truyền thống như Haar-like featuresHOG. Các thuật toán này có thể được triển khai hiệu quả trên FPGA bằng cách sử dụng các thư viện IP core được tối ưu hóa.

3.1. Ứng Dụng Mạng Nơ ron Tích Chập CNN Cho Phát Hiện Chỗ Đậu Xe

Mạng nơ-ron tích chập (CNN) là một loại mạng nơ-ron nhân tạo đặc biệt hiệu quả trong các tác vụ xử lý ảnhcomputer vision. CNN có thể tự động học các đặc trưng quan trọng từ hình ảnh, giúp cải thiện độ chính xác của hệ thống phát hiện chỗ đậu xe. Việc sử dụng CNN cho phép hệ thống phân biệt giữa các chỗ đậu xe trống và có xe một cách chính xác. Tuy nhiên, CNN thường đòi hỏi nhiều tài nguyên tính toán, do đó cần phải tối ưu hóa để chạy hiệu quả trên FPGA. Có nhiều loại CNN khác nhau, ví dụ như CNN dựa trên Zynq SoC, CNN dựa trên Intel FPGA, Xilinx FPGA,... Các thuật toán phát hiện chỗ đậu xe như HOG, Haar-like features đều rất hiệu quả để triển khai trên CNN.

3.2. Tối Ưu Hóa Phần Cứng Để Chạy CNN Hiệu Quả Trên FPGA

Để chạy CNN hiệu quả trên FPGA, cần phải tối ưu hóa phần cứng một cách tỉ mỉ. Các kỹ thuật như quantization (giảm độ chính xác của các tham số), pruning (loại bỏ các kết nối không quan trọng) và hardware acceleration (sử dụng các khối tính toán chuyên dụng) có thể giúp giảm thiểu nhu cầu về tài nguyên và tăng tốc độ xử lý. Việc sử dụng các công cụ thiết kế FPGA như Xilinx Vivado và Intel Quartus cũng có thể giúp tối ưu hóa hiệu năng. Quá trình tối ưu hóa cần đảm bảo sự cân bằng giữa độ chính xác và hiệu năng để đáp ứng yêu cầu thời gian thực. Hệ thống cần được kiểm tra, rà soát kĩ lưỡng để quá trình tối ưu hóa phần cứng diễn ra thành công.

3.3. Sử Dụng IP Core Và Thư Viện Để Tăng Tốc Thiết Kế FPGA

Việc sử dụng các thư viện IP core (Intellectual Property core) có thể giúp tăng tốc quá trình thiết kế FPGA. IP core là các khối thiết kế đã được xây dựng sẵn, có thể được tích hợp vào thiết kế FPGA để thực hiện các chức năng cụ thể. Có nhiều IP core có sẵn cho các tác vụ xử lý ảnh, xử lý videocomputer vision. Việc sử dụng IP core giúp giảm thời gian phát triển và tăng độ tin cậy của hệ thống. Đồng thời, các IP core giúp đảm bảo tính bảo mật và an toàn cho hệ thống. Các thiết kế đã được xây dựng sẵn có thể tích hợp vào thiết kế FPGA để thực hiện các chức năng cụ thể.

IV. Ứng Dụng Triển Khai Thực Tế Bộ Tăng Tốc FPGA Phát Hiện Xe 60

Bộ tăng tốc FPGA cho phát hiện chỗ đậu xe thời gian thực có thể được triển khai trong nhiều ứng dụng khác nhau. Một ứng dụng tiềm năng là trong các hệ thống quản lý bãi đậu xe thông minh. Hệ thống có thể sử dụng camera để giám sát các chỗ đậu xe và cung cấp thông tin thời gian thực cho người lái xe thông qua ứng dụng di động hoặc bảng điện tử. Một ứng dụng khác là trong các xe tự lái. Hệ thống có thể sử dụng camera để phát hiện các chỗ đậu xe trống và hỗ trợ xe tự động đỗ xe. Hơn nữa, hệ thống có thể sử dụng các cảm biến khác để đo khoảng cách và phát hiện các chướng ngại vật.

4.1. Hệ Thống Quản Lý Bãi Đậu Xe Thông Minh Với FPGA

Trong hệ thống quản lý bãi đậu xe thông minh, bộ tăng tốc FPGA đóng vai trò quan trọng trong việc phát hiện và phân tích hình ảnh từ camera giám sát. Hệ thống có thể cung cấp thông tin về số lượng chỗ trống, vị trí các chỗ trống và hướng dẫn người lái xe đến các chỗ đậu xe gần nhất. Thông tin này có thể được hiển thị trên bảng điện tử hoặc gửi trực tiếp đến điện thoại thông minh của người lái xe. Việc sử dụng FPGA giúp hệ thống hoạt động thời gian thực và cung cấp thông tin chính xác. Đây là một ứng dụng thực tiễn, đáp ứng được yêu cầu về hiệu suất cao.

4.2. Tích Hợp FPGA Vào Xe Tự Lái Cho Hỗ Trợ Đỗ Xe Tự Động

Trong xe tự lái, bộ tăng tốc FPGA có thể được sử dụng để hỗ trợ đỗ xe tự động. Hệ thống có thể sử dụng camera để phát hiện các chỗ đậu xe trống và điều khiển xe tự động đỗ xe vào chỗ đó. Điều này đòi hỏi hệ thống phải có khả năng phát hiện chính xác và nhanh chóng các chỗ đậu xe, đồng thời phải đảm bảo an toàn trong quá trình đỗ xe. FPGA có thể cung cấp hiệu năng cần thiết để đáp ứng các yêu cầu này. FPGA phải hoạt động liên tục và không có sai sót, đảm bảo an toàn cho người sử dụng.

4.3. Đánh Giá Hiệu Năng Hệ Thống Phát Hiện Chỗ Đậu Xe FPGA

Đánh giá hiệu năng của hệ thống là vô cùng quan trọng để kiểm tra tính khả thi. Điều này liên quan đến việc đo lường độ chính xác của hệ thống, độ trễ xử lý và mức tiêu thụ năng lượng. Các chỉ số quan trọng bao gồm độ chính xác (Precision), độ phủ (Recall) và chỉ số F1. Bên cạnh đó, việc so sánh hệ thống FPGA với các giải pháp khác dựa trên CPU hoặc GPU cũng cần thiết để đánh giá ưu điểm của thiết kế. Quá trình đánh giá giúp người dùng và nhà nghiên cứu có thể cải thiện thêm về hệ thống phát hiện chỗ đậu xe FPGA này.

V. Kết Luận Tiềm Năng Phát Triển Bộ Tăng Tốc FPGA Phát Hiện Xe 55

Thiết kế bộ tăng tốc FPGA hiệu quả cho phát hiện chỗ đậu xe thời gian thực là một lĩnh vực đầy tiềm năng. Với sự phát triển của công nghệ FPGAhọc sâu, chúng ta có thể mong đợi các hệ thống phát hiện chỗ đậu xe thông minh hơn, nhanh chóng hơn và tiết kiệm năng lượng hơn trong tương lai. Các nghiên cứu tiếp theo có thể tập trung vào việc tối ưu hóa các thuật toán học sâu để chạy hiệu quả hơn trên FPGA, cũng như phát triển các kiến trúc FPGA mới được thiết kế đặc biệt cho các ứng dụng computer vision. Ngoài ra, nghiên cứu nên được hướng dẫn để hoàn thành các công việc tốt hơn.

5.1. Hướng Nghiên Cứu Tiếp Theo Về Tối Ưu Thuật Toán Học Sâu Trên FPGA

Trong tương lai, cần tập trung vào việc tối ưu hóa các thuật toán học sâu để chạy hiệu quả hơn trên FPGA. Các kỹ thuật như quantization, pruningknowledge distillation có thể giúp giảm thiểu nhu cầu về tài nguyên và tăng tốc độ xử lý. Ngoài ra, cần nghiên cứu các kiến trúc CNN mới được thiết kế đặc biệt cho FPGA. Điều này có thể dẫn đến các hệ thống phát hiện chỗ đậu xe có hiệu năng cao hơn và tiêu thụ ít năng lượng hơn. Nghiên cứu về CNN cần được đẩy mạnh hơn nữa để tăng hiệu quả và tính ứng dụng.

5.2. Phát Triển Kiến Trúc FPGA Chuyên Dụng Cho Computer Vision

Việc phát triển các kiến trúc FPGA chuyên dụng cho các ứng dụng computer vision có thể mang lại những cải tiến đáng kể về hiệu năng và hiệu quả năng lượng. Các kiến trúc này có thể được thiết kế để hỗ trợ các phép tính phổ biến trong computer vision, chẳng hạn như tích chập, poolingactivation. Ngoài ra, các kiến trúc này có thể được tối ưu hóa để sử dụng bộ nhớ và băng thông I/O một cách hiệu quả. Cần có thêm các chuyên gia nghiên cứu về lĩnh vực này.

5.3. Ứng Dụng Trí Tuệ Nhân Tạo và Phát Hiện Chỗ Đậu Xe Thời Gian Thực

Ứng dụng trí tuệ nhân tạo (AI) nói chung trong các ứng dụng phát hiện chỗ đậu xe vẫn còn rất nhiều tiềm năng để phát triển. Các thuật toán AI khác nhau có thể giúp nhận biết, phân tích và đánh giá hiệu quả chất lượng dữ liệu. Đồng thời, AI có thể nâng cao tính linh hoạt và độ chính xác của hệ thống phát hiện chỗ đậu xe, giúp người dùng dễ dàng tìm được chỗ trống. Các thuật toán AI cần được nghiên cứu một cách nghiêm túc và bài bản để có thể ứng dụng trong thực tế.

16/05/2025

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

VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY FACULTY OF COMPUTER SCIENCE AND ENGINEERING GRADUATION THESIS DESIGN AN EFFICIENT FPGA-BASED ACCELERATOR FOR REAL-TIME PARKING OCCUPANCY DETECTION Major: COMPUTER ENGINEERING THESIS COMMITTEE : COMPUTER ENGINEERING SUPERVISOR(s) : ASSOC. TRAN NGOC THINH MR. HUYNH PHUC NGHI MEMBER SECRETARY: ASSOC. PHAM QUOC CUONG ---o0o--- STUDENT 1 : NGUYEN VU THANH NGUYEN - 1652437 HO CHI MINH CITY, 01/2023 ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM -----Độc lập - Tự do - Hạnh phúc----- TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA: KH & KT Máy tính NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP BỘ MÔN: KT Máy tính Chú ý: Sinh viên phải dán tờ này vào trang nhất của bản thuyết trình HỌ VÀ TÊN: Nguyễn Vũ Thành Nguyễn MSSV: 1652437 NGÀNH: Kỹ thuật Máy tính LỚP: 1.

Đầu đề luận án: Design an efficient FPGA-based accelerator for real-time parking occupancy detection 2. Nhiệm vụ (yêu cầu về nội dung và số liệu ban đầu): • Research on a BNN approach in image classification task with CNRPark dataset. • Implementation of an encoder for input images and a set of weight parameters for parking solutions. • Build and evaluate a hardware accelerator run on Ultra96v2 SoC with a pre-encoded 32x32 image set.

Ngày giao nhiệm vụ luận án: 19/09/2022 4. Ngày hoàn thành nhiệm vụ: 09/01/2023 5. Họ tên giảng viên hướng dẫn: Phần hướng dẫn: 1) PGS. TS Trần Ngọc Thịnh 2) KS.

Huỳnh Phúc Nghị Nội dung và yêu cầu LVTN đã được thông qua Bộ môn. Ngày tháng năm 2023 CHỦ NHIỆM BỘ MÔN GIẢNG VIÊN HƯỚNG DẪN CHÍNH (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ): Đơn vị: Ngày bảo vệ: Điểm tổng kết: Nơi lưu trữ luận án: Commitment I hereby declare that I worked on and is the sole author of this bachelor thesis and that I have not used any sources other than those listed in the bibliography and identified as references. Other than that, the work presented is entirely my own. Nguyen Vu Thanh Nguyen 1 Acknowledgements This thesis has completely reached its result thanks to the continuous efforts of myself, the support and encouragement of our lecturers, friends and families.

I would like to express our sincere attitude to those who have helped us throughout the study, research and during working on the thesis. I would first like to express my sincere gratitude to my supervisors, Assoc Professor Tran Ngoc Thinh and BEng Huynh Phuc Nghi have consistently helped me out by providing me with not only the necessary tools to complete the thesis but also with a wealth of information and direction so that I could move in the best route. They never stopped inspiring me and provided me the chance to participate in a really fascinating work that was built using a lot of the information I had acquired during our time at university. They have always been a kind, understanding teacher who encourages me to make changes to the work and this thesis as needed.

Working with them and gaining expertise under their guidance was an honor for me. In addition to thanking the supervisors, I also like to acknowledge the councilors at the thesis defense for their wise criticism and suggestions that helped me improve my work. Once more, I also want to express our gratitude to all of the instructors in the Faculty of Computer Science and Engineering, as well as to all of the instructors at Ho Chi Minh City University of Technology, for their commitment to teaching and helping me learn the fundamentals of engineering. I want to express my gratitude to everyone of my friends for being my mentors and helpers during our time at the institution.

Finally, I would like to thank my parents for always providing a positive environment for our development and for supporting me when I face difficulties in both our academic and personal live. Nguyen Vu Thanh Nguyen 2 Abstracts This thesis proposes, studies and examines an approach on developing an edge-ai smart parking solution, including hardware and software components by implementation of the FracBNN+CNRPark model with hardware acceleration on the Ultra96-V2 board. This approach allows end-users to be able to monitor and detect busy and free parking spaces automatically via security cameras. The image classification model runs entirely on the edge, on the Ultra96-V2 board, without the help of a server workstation.

3 Contents Commitment 2 Acknowledgements 3 Abstracts 4 List of Figures 10 List of Table 11 Terms 12 1 Introduction 1 1.1 Purpose and Motivation .2 Scope and Objectives .3 Structure of Thesis. 4 2 Background knowledge and Terminology 5 2.1 Software - Artificial Intelligence .1 The development of AI .3 Convolutional Neural Network (CNN) .4 Binary Neural Network (BNN) .2 Smart Parking concepts .3 Hardware and constraints .1 FPGA and SoC .4 Tools and Frameworks .2 Vivado and Vivado HLS .3 PYNQ and BNN-PYNQ .1 Recall, Precision & F1-score .2 Average IoU & mean Average Accuracy (mAP) .1 Smart Parking Related works .1 Moscow Parking (Source: https://parking.4 Cisco Smart+Connected City Parking .2 Solutions in Vietnam .3 Smart Parking systems with Image Processing .2 Previous Group’s Thesis Result .1 License Plate Dataset .2 YOLOv3 Object Detection Model .3 Implementing Vien’s approach .4 Comparing YOLOv3 on Ultra96-V2 and JetsonNano 40 3.4 The Original BNN Model .5 Improved BNN Models .1 The proposed solution - Previous thesis group .2 Hardware Accelerator Architecture .1 FracBNN+CNRPark model on Pytorch .1 Training the model .2 Hardware Acceleration on Ultra96-V2 .1 Weights and Bias processing .3 Building model on Vivado HLS and Vivado .4 Inference on the Ultra96-V2 .2 Hardware acceleration result .1 Comparing to Vien’s thesis .2 Trained and implemented FracBNN+CNRPark model on Pytorch, run on GPU .3 Implemented hardware acceleration via Vivado HLS on Ul- tra96v2 .4 Achieve inference result using built thermometer encoder on Ultra96v2 .2 Real-time application. 72 7 List of Figures 2.1 Development timeline of AI, ML and DL [1] .2 a Neural Network with 4 layers .3 Composition of a hidden layer on the CNN .4 Five commonly used activation functions: (a) binary step function, (b) sigmoid function, (c) tanh function, (d) ReLU function, (e) leaky ReLU function.5 Structure of a CNN. The data is run through several convolutional and pooling layers learning features in the image.6 Convolutional filter size 3x3 sweeping through image size 4x4 .7 Output (darkgreen) from a convolutional filter .8 Convolutional filter sweeping with padding size 1, stride of 2 .10 Smart Parking Solution .11 Edge AI Workflow .12 An FPGA block diagram .13 Front view of Ultra96-V2 .14 Block diagram of the Ultra96-V2 .16 Calculation of IoU .1 Vietnamese License Plate Dataset.

36 8 List of Figures 3.2 YOLOv3 performance result .3 YOLOv3 box bounding technique .5 GPU Implementation Workflow .6 Benchmark with threshold IoU 50% .7 Benchmark with threshold IoU 75% .8 A visualization of the sign layer and Straight-Through Estimator (STE). While the real values of the weights are processed by the sign function in the forward pass, the gradient of the binary weights are simply passed through to the real valued weights.9 BNN Training Curve .10 Evolution of BNN Accuracy - Source: FracBNN introduction pre- sentation slides (FPGA2021) .11 Main contributions of FracBNN - Source: FracBNN introduction presentation slides (FPGA2021) .12 Input images need to be first encoded .13 Results of binarizing the input layer using thermometer encoding on CIFAR-10 – ResNet-20 BNN has 0.27 million parameters and 40.14 Improving BNN by computing an additional sparse binary convolu- tion layer.1 Previous group’s proposed solution - Smart Parking System Archi- tecture [4] .2 FracBNN+CNRPark model architecture, based on Resnet20 [5] .3 Basic blocks - green highlights are the difference to ReActNet [6] model .4 Edge solution architecture .5 FracBNN accelerator architecture[3] .6 CNRPark+EXT dataset sample .1 FracBNN Training workflow .2 Generating an FPGA accelerator from trained FracBNN. 61 9 List of Figures 5.3 Thermometer encoder workflow .4 Vivado HLS Utilization Estimate. 65 10 List of Tables 2.1 Energy Consumption when Inferencing CNV Model on Ultra96v2 and VGG Model on Jetson Nano[4] .2 Summary of Vien’s thesis result .3 Summary and Comparison between Ultra96v2 and Jetson Nano .4 A table of major details of the methods presented in this section.5 Comparison of accuracies on the ImageNet dataset from works presented in this section.

Full precision network accuracies are included for comparison as well.1 Resources utilization on Ultra96v2 .2 Accuracy comparison between models of input size 32x32 .3 Inference results of prospective models on Ultra96v2 .4 Power consumption on Ultra96v2 of different models. Application Specific Integrated Circuits BNN. Binary Neural Network BRAM. Block Random Access Memory CNN.

Convolutional Neural Network CPU. Core Processing Unit FF. Flip-flop FPGA. Field Programmable Gate Array GPU.

Graphics Processing Unit MPSoC. Multi-Processors System on Chip LUT. Look Up Table PL. Programmable Logic RGB.

Red Green Blue 1 Introduction 1.1 Purpose and Motivation Machine learning became more well-known at the beginning of the twenty- first century. This resulted from the need to process increasing amounts of data and the availability of less expensive ML-capable hardware, like GPUs and RAM. Due to their inherent design, neural networks heavily rely on parallel computing to be effective, making a GPU with its many cores the ideal tool for the job. Due to this, GPUs have been the norm for machine learning applications for the last few years, but new hardware has recently been introduced.

The Tensor Processing Unit, or TPU, a chip made specifically for machine learning, was unveiled by Google in 2016. As a way to obtain the effectiveness of a dedicated chip without the restrictions of an ASIC, FPGAs have also been demonstrating promise over time. The development of machine learning has also greatly benefited from the current trend of cloud computing. More researchers can conduct their research cost-effectively thanks to the availability of large GPU, TPU, or FPGA centers’ computing power.

[1] Each year, more and more applications for machine learning are released, signaling the field’s rapid expansion. Today, we use applications on a daily basis, whether they are in our cars, phones, medical software, or almost any other hi-tech product. To be accurate and effective, machine learning requires a lot of data, and as machine learning becomes more popular, more data is being sent across various networks. We send enormous amounts of data back and forth, particularly for applications that collect data in the field, send it to a datacenter for processing, and then return the results.

As a result, the system that collects the data needs to further develop its ability to process data at the network’s edge. For instance, this could significantly reduce the amount of data on the networks for a video stream 1 1.1 Purpose and Motivation that counts the number of cars on a highway. The counted number of cars can be sent to a datacenter whenever necessary rather than sending full scale images 30 times per second. Machine learning will permeate more and more aspects of our lives, as it stands today.

There are countless uses for intelligent machines that can assist us in performing tasks without being micromanaged. An application should always perform processing as close to the edge as possible to avoid clogging our communication networks with data.[1] As Vietnam today continues to develop economically, our country has seen a steady increase in the number of cars in traffic, facilitating the needs for more, and bigger parking lots to accommodate it. This has led to many new problems for both drivers and management, one of which is the increasing difficulty in identifying and finding empty parking space. Smart Parking emerged as a viable solution to these issues, but this system still can be improved.

To further optimize and enhance its performance, we propose the implementation of hardware acceleration.

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