Khóa Luận Tốt Nghiệp Kỹ Thuật Máy Tính: Bộ Tăng Tốc AI Tích Hợp Trên Ultra96V2 Cho Smart Camera

Khóa luận tốt nghiệp nghiên cứu bộ tăng tốc AI tích hợp trên Ultra96-V2, ứng dụng trong smart camera, nâng cao hiệu suất xử lý hình ảnh.

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

2022

85
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Lý do chọn đề tài

1.2. Một số nghiên cứu liên quan

1.2.1. Nghiên cứu ngoài nước

1.2.2. Nghiên cứu trong nước

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

1.4. Giới hạn đề tài

1.5. Kết quả mong muốn

1.6. Bố cục luận văn

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

2.1. Field Programmable Gate Array (FPGA)

2.2. Kiến trúc tổng quát

2.3. Hệ thống nhúng

2.3.1. Phần mềm của một hệ thống nhúng

2.3.2. Phần cứng của một hệ thống nhúng

2.3.3. Đặc điểm của một hệ thống nhúng

2.4. Hệ thống SoC (System on Chip)

2.4.1. Định nghĩa hệ thống SoC

2.4.2. Cấu trúc phần cứng của một SoC

2.5. Smart Camera

2.6. High resolution classifier

2.6.1. Kiến trúc Anchor Box

2.6.2. K-means clustering

2.6.3. Direction location prediction

2.6.4. Fine-grained feature

2.6.5. Multi-scale training

2.6.6. Light-weight backbone

2.7. Các công cụ xử lý audio, video của FFmpeg

2.8. Các gói thư viện của FFmpeg

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Ý tưởng đề xuất cho hệ thống

3.2. Thiết kế tổng quát của hệ thống

3.3. Hệ thống SoC tích hợp IP YOLO2_FPGA trên Vivado 2019

3.4. Cải tiến tốc độ của khối YOLOv2 và hệ thống SoC Smart Camera

3.5. Xây dựng luồng streaming cho Smart Camera

3.5.1. Streaming phạm vi local đối với camera hình ảnh thường

3.5.2. Streaming phạm vi local đối với camera hình ảnh xử lý YOLOv2

3.5.3. Streaming phạm vi Internet đối với camera hình ảnh thường

3.5.4. Streaming phạm vi Internet đối với camera hình ảnh xử lý YOLOv2

3.6. Xây dựng chương trình thực thi bằng công cụ Vitis 2019

4. CHƯƠNG 4: HIỆN THỰC, THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

4.1. Zynq UltraScale+ MPSoC

4.2. Kịch bản thực nghiệm và phương pháp đánh giá

4.2.1. Kịch bản thực nghiệm

4.2.2. Phương pháp đánh giá

4.3. Kết quả thực nghiệm

4.3.1. Kết quả nhận diện

4.3.2. Tốc độ nhận diện

4.3.3. Kết quả thực nghiệm khi streaming phạm vi Local

4.3.4. Kết quả thực nghiệm khi streaming phạm vi Internet

4.4. Đánh giá hệ thống

4.4.1. Khoảng cách kết nối

4.4.2. Xem trực tiếp và xem lại

4.5. Đóng gói sản phẩm

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

5.1. Hướng phát triển của đề tài

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. Giới thiệu đề tài

Khóa luận tốt nghiệp này tập trung vào việc phát triển Bộ tăng tốc AI tích hợp trên Ultra96V2 cho Smart Camera. Mục tiêu chính là cải thiện tốc độ xử lý và hiệu suất của hệ thống camera thông minh bằng cách tối ưu hóa các thuật toán Xử lý AITăng tốc phần cứng. Đề tài này không chỉ mang tính học thuật mà còn có ứng dụng thực tiễn cao trong các hệ thống Camera AI hiện đại.

1.1 Lý do chọn đề tài

Với sự phát triển nhanh chóng của Công nghệ AI, nhu cầu về các hệ thống Smart Camera có khả năng xử lý hình ảnh và dữ liệu nhanh chóng ngày càng tăng. Ultra96V2 là một nền tảng phần cứng lý tưởng để tích hợp các thuật toán Xử lý hình ảnhTối ưu hóa AI. Đề tài này nhằm giải quyết các thách thức về tốc độ và hiệu suất trong các hệ thống camera thông minh.

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

Mục tiêu chính của Khóa luận tốt nghiệp là thiết kế và triển khai một Bộ tăng tốc AI trên Ultra96V2 để cải thiện tốc độ xử lý của Smart Camera. Đề tài cũng tập trung vào việc tối ưu hóa các thuật toán Xử lý AITăng tốc phần cứng để đạt được hiệu suất cao nhất.

II. Cơ sở lý thuyết

Phần này trình bày các khái niệm cơ bản về FPGA, Hệ thống nhúng, và Công nghệ AI được sử dụng trong đề tài. Ultra96V2 là một nền tảng phần cứng mạnh mẽ, kết hợp giữa FPGAHệ thống SoC, cho phép tích hợp các thuật toán Xử lý hình ảnhTăng tốc AI một cách hiệu quả.

2.1 Field Programmable Gate Array FPGA

FPGA là một công nghệ phần cứng lập trình được, cho phép tùy chỉnh các chức năng xử lý dữ liệu. Trong đề tài này, FPGA được sử dụng để tăng tốc các thuật toán Xử lý AI trên Ultra96V2.

2.2 Hệ thống nhúng

Hệ thống nhúng là các hệ thống máy tính được thiết kế để thực hiện các chức năng cụ thể. Trong Smart Camera, hệ thống nhúng đóng vai trò quan trọng trong việc xử lý và truyền dữ liệu hình ảnh.

III. Thiết kế hệ thống

Phần này mô tả quá trình thiết kế và tích hợp Bộ tăng tốc AI trên Ultra96V2. Hệ thống được thiết kế để tối ưu hóa tốc độ xử lý và hiệu suất của Smart Camera thông qua việc sử dụng các thuật toán Xử lý hình ảnhTăng tốc phần cứng.

3.1 Thiết kế tổng quát

Hệ thống được thiết kế dựa trên nền tảng Ultra96V2, kết hợp giữa FPGAHệ thống SoC. Các thuật toán Xử lý AI được tích hợp để cải thiện tốc độ xử lý hình ảnh và dữ liệu.

3.2 Tích hợp IP YOLOv2

Thuật toán YOLOv2 được tích hợp vào hệ thống để nhận diện và xử lý hình ảnh. Quá trình tích hợp được thực hiện thông qua công cụ VivadoVitis của Xilinx.

IV. Thực nghiệm và đánh giá

Phần này trình bày các kết quả thực nghiệm và đánh giá hiệu suất của hệ thống. Các thử nghiệm được thực hiện để đo lường tốc độ xử lý, độ trễ, và hiệu suất của Smart Camera khi sử dụng Bộ tăng tốc AI trên Ultra96V2.

4.1 Kết quả nhận diện

Hệ thống đạt được độ chính xác cao trong việc nhận diện các đối tượng trong hình ảnh. Tốc độ xử lý được cải thiện đáng kể nhờ vào việc sử dụng Bộ tăng tốc AI.

4.2 Đánh giá hiệu suất

Các thử nghiệm cho thấy hệ thống có khả năng xử lý hình ảnh với tốc độ cao và độ trễ thấp. Điều này chứng tỏ hiệu quả của việc tích hợp Bộ tăng tốc AI trên Ultra96V2.

V. Kết luận và hướng phát triển

Khóa luận tốt nghiệp đã thành công trong việc thiết kế và triển khai Bộ tăng tốc AI trên Ultra96V2 cho Smart Camera. Hệ thống đạt được hiệu suất cao và có tiềm năng ứng dụng rộng rãi trong các hệ thống camera thông minh. Hướng phát triển trong tương lai bao gồm việc tối ưu hóa thêm các thuật toán Xử lý AI và mở rộng ứng dụng của hệ thống.

5.1 Kết luận

Đề tài đã chứng minh hiệu quả của việc sử dụng Bộ tăng tốc AI trên Ultra96V2 để cải thiện tốc độ và hiệu suất của Smart Camera. Các kết quả thực nghiệm cho thấy hệ thống có khả năng xử lý hình ảnh với độ chính xác cao và độ trễ thấp.

5.2 Hướng phát triển

Trong tương lai, đề tài có thể được mở rộng bằng cách tích hợp thêm các thuật toán Xử lý AI tiên tiến và tối ưu hóa hiệu suất của hệ thống. Ngoài ra, việc ứng dụng hệ thống trong các lĩnh vực khác như an ninh, giám sát cũng là một hướng phát triển tiềm năng.

21/02/2025
Khóa luận tốt nghiệp kỹ thuật máy tính bộ tăng tốc ai tích hợp trên ultra96v2 cho smart camera

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

Chương 1: Giới thiệu đề tài Chương dau tiên sẽ giới thiệu tông quan vê dé tài khóa luận, lý do nhóm chọn đê tài này, mục tiêu đê ra của nhóm, những giới hạn của đê tài và kêt quả thực hiện mà nhóm đạt được. Chương 2: Cơ sở lý thuyết Chương này trình bày những cơ sở lý thuyết được sử dụng có liên quan đến nội dung nghiên cứu của đề tài, những thông tin này dựa vào các nguồn tài liệu nhóm tìm kiếm được trên Internet, tham khảo các tài liệu có sẵn trên website của khoa KTMT cũng như những góp ý của các thầy cô, anh chị bao gồm: kiến thức chung về FPGA, smart camera, tìm hiểu về các kỹ thuật streaming video dé từ đó có thé chon ra kỹ thuật phù hợp nhất với mục tiêu đề ra ban đầu của đề tài, cuối cùng sẽ đưa ra các đề xuất phù hợp nhất. Chương 3: Thiết kế hệ thống Dựa vào những kiến thức về cơ sở lý thuyết đã tìm hiểu được ở Chương 2 thì ở Chương 3 nay nhóm sé đề xuất một mô hình hệ thống một cách chỉ tiết của khóa luận. Giải thích nguyên lý hoạt động của cả hệ thống.

Chương 4: Hiện thực, thực nghiệm và đánh giá kết quả Sau khi đã xây dựng được hệ thông, nhóm tiến hành các bước chạy thử, thực nghiệm thu được các kết quả sau đó thực hiện việc đánh giá, so sánh với mục tiêu ban đầu của đề tải cũng như so sánh với kết quả thực nghiệm của đề tài trước. Chương 5: Kết luận và hướng phát triển Chương cuối sẽ tổng kết lại khóa luận, tóm tắt toàn bộ những công việc mà nhóm đã hoàn thành, những kết quả và thành tích đạt được. Đồng thời chương này nhóm sẽ đưa ra đề xuất cho những hướng phát triển tiếp theo của đề tài trong tương lai. Field Programmable Gate Array (FPGA) 2.

Dinh nghĩa FPGA là một loại mạch tích hợp cỡ lớn dùng cấu trúc mảng phan tử logic mà người dùng có thê lập trình được. Chữ field ở đây muốn nói đến khả năng tái lập trình "bên ngoài" của người sử dụng, không phụ thuộc vào dây chuyền sản xuất phúc tạp của nhà máy bán dẫn. Vi mạch FPGA được cấu thành từ các bộ phận: e Các khối logic cơ bản lập trình được (logic block) e Hệ thống mạch liên kết lập trình được e Khối vào ra (I/O Pads) e Phan tử thiết kế san khác như DSP slice, RAM, ROM, nhân vi xử lý. FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dung ASIC, nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thư viện logic thì FPGA không đạt được mức độ tối ưu như những loại này và còn hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp.

Tuy vậy FPGA ưu việt hon ở chỗ có thé tái cau trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản do vậy chỉ phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng. Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL. Các hãng sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế. Ngoài ra cũng có một số hãng thứ ba cung cấp các gói phần mềm kiêu này như Synopsys, Synplify.

Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (con gọi là mã RTL). Kiến trúc tổng quát Kiến trúc cơ bản của FPGA gồm 3 thành phan chính sau: Khối I/O (hay gọi là các pin FPGA), khối kết nối (Interconnection), các khối logic cau hình (Logic Blocks hoặc Configurable Logic Blocks - CLB). Các khối CLB được tổ chức sắp xếp theo mảng với 2 hướng doc và ngang như Hình 2. Input/Output Blocks Logic Blocks | mm mế Ye oO a a Programmable Interconnect Lo P * Hình 2.1: Kiến trúc co bản của FPGA Khối CLB: thực thi các chức năng logic, cung cấp các tính toán và phan tử nhớ cơ bản được sử dụng trong hệ thống số.

CLBs là phần tử cơ bản cấu thành FPGA, là nguồn tài nguyên logic chính tạo nên các mach logic đồng bộ lẫn không đồng bộ. Một CLB cơ bản gồm một mạch tổ hợp có thể lập trình (còn gọi là LUT), một Flip-Flop hoặc một chốt (latch). Kết quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop. Ngoài khối logic cơ bản đó, nhiều chip FPGA hiện nay còn có một hỗn hợp các khối khác nhau, một số trong đó chỉ được dùng cho các chức năng cụ thể, chăng hạn như các khối bộ nhớ chuyên dụng, các bộ nhân (multipliers) hoặc các bộ ghép kênh (multiplexers).

T ất nhiên, câu hình bộ nhớ được sử dụng trên tât cả các khôi logic được dùng đê điêu khiên các chức năng cụ thé của mỗi phan tử bên trong khối đó. Khối kết nối (Interconnections): dùng dé liên kết các khối logic và I/O lại với nhau dé tạo thành một thiết kế hoàn chỉnh. Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng. Tùy theo từng loại FPGA mà các đường kết nỗi được chia thành các nhóm khác nhau.

Các đường kết nối được nối với nhau thông qua các khối chuyền mạch lập trình được (programmable switch). Trong mỗi khối chuyên mạch chứa một số lượng nút chuyên lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau. Khối I/O: cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến đến các thành phần bên ngoài. Một trong những vấn đề quan trọng nhất trong thiết kế kiến trúc I/O là việc lựa chọn các tiêu chuẩn điện áp cung cấp và điện áp tham chiếu sẽ được hỗ trợ.

Số lượng Pin (I/O) của FPGA tương đối lớn, thường được chia ra làm 2 loại: User Pin (chân người dùng), Dedicated Pin (chân chuyên dụng). User Pin: người dùng có thể lập trình như đầu vào, đầu ra hoặc cả đầu vào — ra. Mỗi pin được kết nối với một “I/O Cell” bên trong FPGA, được cấp bởi các chân Vcc I/O (/O power pin). Dedicated Pin: được mã hóa cứng với một chức năng cụ thé như: e Power Pin e Configuration Pin: các pin dé cấu hình FPGA.

¢ Dedicated Input hay Clock Pin: điều khiển mạng lưới clock trong FPGA. ¢ Voltage IO: cấp nguồn cho các công logic va flip-flops bên trong FPGA Theo thời gian, các kiến tric FPGA cơ ban đã được phát triển nhiều hon thông qua việc bổ sung các khối chức năng đặc biệt có thé lập trình như bộ nhớ Block RAMs, logic số hoc (ALU), bộ nhân, DSP-48 va thậm chí là bộ vi xử lý nhúng được thêm vào do nhu cầu của các nguồn tài nguyên cho một ứng dụng. Kết qua là nhiều FPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó. Hệ thống nhúng 2.

Dinh nghĩa Hệ thống nhúng là một loại hệ thống máy tính được thiết kế dé thực hiện một số tác vụ như truy cập, xử lý, lưu trữ và kiểm soát dữ liệu trong các hệ thống thiết bị điện tử khác nhau. Các hệ thống nhúng là sự kết hợp giữa phần cứng và phần mềm, ở đây phần mềm được nhúng vào phần cứng. Một trong những đặc điểm quan trọng nhất của các hệ thống này là nó chỉ cung cấp input/output trong một khoảng thời gian giới hạn. Sự hỗ trợ của các hệ thống nhúng giúp cho công việc trở nên hoàn thiện và thuận tiện hơn.

Vì thế, các hệ thống nhúng thường được tích hợp trong rất nhiều thiết bị từ đơn giản đến phức tạp.2 mô tả mô hình cơ bản của một hệ thống nhúng. User Interface | Embedded Computer Input Variables ——* Software —| Output Variables | Hardware Link to Other Systems Hình 2.2: Mô hình co bản của một hệ thống nhúng 2. Phần mềm của một hệ thống nhúng Phần mềm được viết cho hệ thống nhúng được gọi là phần mềm nhúng hay firmware. Phần mềm nhúng là một chương trình được viết, biên dịch trên máy tính và nạp vào một hệ thong khác bao gom một hoặc nhiều bộ vi xử lý đã được cài đặt san một hệ điều hành, bộ nhớ ghi chép được, các công giao tiếp được với các phần cứng khác.

Phân mêm nhúng là phân mêm tạo nên phân hôn, phân trí tuệ của các lãi sản phâm nhúng. Phân mêm nhúng ngày càng có giá tri cao trong các sản pham nhúng. Phần cứng của một hệ thống nhúng Hệ thống nhúng sử dụng nên tang phần cứng dé thực thi các hoạt động. Phan cứng của hệ thống nhúng được lắp ráp cùng với bộ vi xử ly/vi điều khiển.

Hệ thống phần cứng này bao gồm các yếu tố như giao diện cho các dữ liệu đầu vào/đầu ra, bộ nhớ, giao diện người dùng và bộ hiên thi đữ liệu. Về cơ bản, một hệ thống nhúng thường bao gồm: e_ Bộ cung cấp năng lượng e Bộnhớ e Đầu ra/ bảng mạch dau ra e Cổng giao tiếp nỗi tiếp e SASC (System application specific circuits — Các mach ứng dụng cho một hệ thống cụ thé nào đó) 12 Input devioss Interfacing! DiverCircuits ~_——~— — _ _— Hình 2.3: Phần cứng của một hệ thống nhúng 2. Đặc điểm của một hệ thống nhúng Hệ thống nhúng được thiết kế dé thực hiện một chức năng chuyên biệt nào đó. Đây là điểm khác biệt so với các hệ thống máy tính khác như máy tính cá nhân hoặc các siêu máy tính có thé thực hiện nhiều chức năng khác nhau với những phép tính phức tạp.

Tính chuyên dụng của hệ thống nhúng giúp nâng cao khả năng sử dụng và tiết kiệm tài nguyên cho hệ thống. Tất cả các hệ thống máy tính đều có những hạn chế về các số liệu thiết kế, tài nguyên. Số liệu thiết kế là thước đo dé đánh giá việc xây dựng các tinh năng như độ lớn, công suất, chi phí và cả hiệu năng hoạt động của hệ thống. Hệ thống phải hoạt động nhanh ở một mức độ chấp nhận được nào đó, đồng thời vẫn phải đảm bảo tiêu thụ ít năng lượng hơn để tăng tuôi thọ của pin.

Một số hệ thống nhúng phải tương tác liên tục với những thay đổi trong hệ thống và tính toán các kết quả cụ thể trong thời gian thực với độ trễ cực thấp hoặc hầu như không có. 13 Hệ thống nhúng phải được nhúng vào một vi điều khiển hoặc bộ vi xử lý. Hệ thống nhúng luôn yêu cầu một bộ nhớ nên phần mềm nhúng thường được đưa trực tiếp vào ROM. Hệ thống nhúng không bắt buộc sử dụng bộ nhớ thứ cấp trên máy tính.

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

Bài khóa luận tốt nghiệp với tiêu đề Khóa Luận Tốt Nghiệp: Bộ Tăng Tốc AI Trên Ultra96V2 Cho Smart Camera trình bày một nghiên cứu sâu sắc về việc tối ưu hóa hiệu suất của camera thông minh thông qua việc sử dụng bộ tăng tốc AI trên nền tảng Ultra96V2. Tài liệu này không chỉ giải thích các khái niệm cơ bản về AI và camera thông minh mà còn đi vào chi tiết về cách thức triển khai và lợi ích của việc sử dụng Ultra96V2 trong các ứng dụng thực tế. Độc giả sẽ tìm thấy những thông tin quý giá về cách cải thiện tốc độ xử lý hình ảnh và khả năng nhận diện đối tượng, từ đó nâng cao hiệu quả của các hệ thống giám sát.

Để mở rộng thêm 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 nghiên cứu cải tiến tích hợp thuật toán yolo trên fpga zynq7020, nơi cung cấp cái nhìn sâu sắc về việc cải tiến thuật toán YOLO trên FPGA, một công nghệ cũng liên quan mật thiết đến việc phát triển các ứng dụng AI trong camera thông minh. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các công nghệ tiên tiến trong lĩnh vực xử lý hình ảnh và AI.