Triển khai mạng nơron tích chập trên nền tảng fpga và ứng dụng trong nhận dạng ảnh

113 1 0
Triển khai mạng nơron tích chập trên nền tảng fpga và ứng dụng trong nhận dạng ảnh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP NGUYỄN THỊ HÀ TRIỂN KHAI MẠNG NƠRON TÍCH CHẬP TRÊN NỀN TẢNG FPGA VÀ ỨNG DỤNG TRONG NHẬN DẠNG ẢNH LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ THÁI NGUYÊN - 2023 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP NGUYỄN THỊ HÀ TRIỂN KHAI MẠNG NƠRON TÍCH CHẬP TRÊN NỀN TẢNG FPGA VÀ ỨNG DỤNG TRONG NHẬN DẠNG ẢNH Chuyên ngành: Kỹ thuật Điện tử Mã số: 8.52.02.03 LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ Người hướng dẫn khoa học: TS Nguyễn Phương Huy TS Phạm Văn Thiêm THÁI NGUYÊN - 2023 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ và tên tác giả luận văn: Nguyễn Thị Hà Đề tài luận văn: “Triển khai mạng nơ ron tích chập trên nền tảng FPGA và ứng dụng trong nhạn dạng ảnh” Chuyên ngành: Kỹ thuật điện tử Mã số SV: 8.52.02.03 Tác giả, Cán bộ hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 26 tháng 05 năm 2023 với các nội dung sau: - Chỉnh sửa một số lỗi chính tả; - Trích dẫn nội dung đến phụ lục Giáo viên hướng dẫn Thái Nguyên, ngày 30 tháng 05 năm 2023 Tác giả luận văn CHỦ TỊCH HỘI ĐỒNG i LỜI CAM ĐOAN Tên tôi là: Nguyễn Thị Hà Sinh ngày: 07-02-1989 Học viên lớp cao học CHK24KTĐT - Trường Đại học Kỹ thuật Công nghiệp - Đại học Thái Nguyên Hiện đang công tác tại: Khoa Điện tử - Trường Cao đẳng Công nghệ Việt - Hàn Bắc Giang Xin cam đoan: Đề tài “Triển khai mạng nơron tích chập trên nền tảng FPGA và ứng dụng trong nhận dạng ảnh” do Thầy giáo TS Nguyễn Phương Huy và TS Phạm Văn Thiêm hướng dẫn là công trình nghiên cứu của riêng tôi Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật Thái Nguyên, ngày 30 tháng 05 năm 2023 Tác giả luận văn Nguyễn Thị Hà ii LỜI CẢM ƠN Sau một thời gian nghiên cứu và làm việc nghiêm túc, được sự động viên, giúp đỡ và hướng dẫn tận tình của Thầy giáo hướng dẫn TS Nguyễn Phương Huy và TS Phạm Văn Thiêm, luận văn với đề tài “Triển khai mạng nơron tích chập trên nền tảng FPGA và ứng dụng trong nhận dạng ảnh” đã hoàn thành Tôi xin bày tỏ lòng biết ơn sâu sắc đến: Các thầy giáo hướng dẫn: TS Nguyễn Phương Huy và TS Phạm Văn Thiêm đã tận tình chỉ dẫn, giúp đỡ tôi hoàn thành luận văn này Trường Đại học Kỹ thuật Công nghệp và đặc biệt là các Thầy, cô trong Khoa Điện tử đã giúp đỡ tôi trong quá trình học tập cũng như thực hiện luận văn Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên, khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn thành luận văn này Thái Nguyên, ngày 30 tháng 05 năm 2023 Tác giả luận văn Nguyễn Thị Hà iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii DANH MỤC CÁC TỪ VIẾT TẮT vi DANH MỤC CÁC HÌNH ẢNH .vii DANH MỤC BẢNG BIỂU .ix MỞ ĐẦU 1 1 Tính khoa học và cấp thiết của đề tài 1 2 Mục tiêu và đối tượng nghiên cứu của đề tài 2 3 Phạm vi nghiên cứu 3 4 Phương pháp nghiên cứu .3 5 Nội dung và bố cục của luận văn 3 CHƯƠNG 1 MẠNG CNN VÀ ỨNG DỤNG TRONG NHẬN DẠNG ẢNH 5 1.1 Giới thiệu chương 1 5 1.2 Bài toán nhận dạng ảnh số 5 1.2.1 Ảnh số 5 1.2.2 Nhận dạng ảnh số 6 1.2.3 Hệ thống nhận dạng hình ảnh 7 1.2.4 Các hướng tiếp cận chính trong nhận dạng ảnh 9 1.2.5 Ứng dụng của nhận dạng ảnh 11 1.3 Tổng quan về mạng CNN 11 1.3.1 Mạng nơron sinh học .11 1.3.2 Mạng nơron nhân tạo 13 1.3.3 Phép tích chập trong xử lý ảnh 15 1.3.4 Mạng nơron CNN 18 1.3.5 Kiến trúc mạng CNN .19 1.4 Ứng dụng của mạng CNN trong nhận dạng ảnh 23 1.4.1 Trường tiếp nhận cục bộ (Local receptive fields) 23 1.4.2 Trọng số chia sẻ và độ lệch (Shared weights and biases) .27 iv 1.4.3 Lớp chứa hay lớp tổng hợp (Pooling layer) 27 1.4.4 Cách chọn tham số cho CNN 29 1.5 Cập nhật các nghiên cứu ứng dụng mạng CNN trong nhận dạng ảnh .29 1.5.1 Các nghiên cứu trên thế giới 30 1.5.2 Các nghiên cứu trong nước .31 1.6 Kết luận chương 1 33 CHƯƠNG 2 THỰC THI MẠNG CNN TRÊN NỀN TẢNG FPGA 35 2.1 Giới thiệu chương .35 2.2 Tổng quan về công nghệ FPGA 35 2.2.1 Giới thiệu về FPGA .35 2.2.2 Kiến trúc cơ bản của chip FPGA 37 2.2.3 Quá trình lập trình FPGA 39 2.2.4 Công cụ phát triển và ngôn ngữ lập trình: .40 2.3 Thực thi mạng CNN trên nền tảng FPGA 41 2.3.1 Xây dựng trực tiếp các modul dựa trên ngôn ngữ mô tả phần cứng .41 2.3.2 Xây dựng mạng CNN dựa trên các công cụ tổng hợp mức cao 42 2.4 Thực thi thiết kế FPGA bằng công cụ HLS trên kit NB2DSK01 45 2.4.1 Giới thiệu về NB2DSK01 .45 2.4.2 Giới thiệu phần mềm Altium Designer 48 2.4.3 Các bước thực hiện 49 2.5 Kết luận chương 55 CHƯƠNG 3 XÂY DỰNG MÔ HÌNH THỬ NGHIỆM 57 3.1 Giới thiệu chương 57 3.2 Mô tả bài toán thực thi mạng CNN cho nhận dạng chữ số viết tay MNIST 57 3.3 Lựa chọn kiến trúc và tìm kiếm tham số tối ưu của mạng CNN cho bài toán nhận dạng chữ viết tay MNIST 59 3.3.1 Lựa chọn kiến trúc mạng CNN .59 3.3.2 Tìm kiếm tham số tối ưu của mạng CNN .60 v 3.4 Thực thi kiến trúc mạng CNN trên Kit NB2DSK01 và phần mềm Altium Designer 61 3.5 Một số kết quả đạt được .65 3.6 Kết luận chương 67 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68 TÀI LIỆU THAM KHẢO .70 I PHỤ LỤC .73 A Phụ lục 1 Mô tả chi tiết các bước thực thi trên FPGA theo tiếp cận HLS 73 B Phụ lục 2 Mô tả chi tiết chương trình Pythone tìm kiếm tham số tối ưu cho mạng CNN 87 C Phụ lục 3 Chương trình C thực thi mạng CNN trên KitNB2DSK01 89 vi DANH MỤC CÁC TỪ VIẾT TẮT Từ hoặc Từ tiếng Anh Từ tiếng Việt cụm từ Trí tuệ nhân tạo AI Artificial Intelligence ANN Artificial Neural Network Mạng nơron nhân tạo ASIC Application-Specific Integrated Circuit Vi mạch tích hợp chuyên dụng CV Computer Vision Thị giác máy tính CLB Configurable Logic Block Khối logic có thể lập trình CNN Convolutional Neural Network Mạng nơron tích chập DL Deep Learning Học sâu FPGA Field Programmable Gate Array Mảng cổng có thể lập trình được HDL Hardware Description Language Ngôn ngữ mô tả phần cứng HLS High Level Synthesis Công cụ tổng hợp mức cao MLP Multilayer Neural Network Mạng nơron nhiều lớp MNIST Modified National Institute of Standards and Technology Cơ sở dữ liệu về chữ số viết tay database ReLU Rectified Linear Units Hàm tinh chỉnh các đơn vị tuyến tính vii DANH MỤC CÁC HÌNH ẢNH Hình 1.1 Ảnh số trắng đen và ảnh màu 5 Hình 1.2 Minh họa hệ thống nhận dạng ảnh Chó/Mèo 6 Hình 1.5 Cấu trúc cơ bản của nơron sinh học 12 Hình 1.6 Nơron nhân tạo 13 Hình 1.7 Minh họa phép tích chập trong xử lý ảnh 16 Hình 1.8 Ma trận đầu ra Y khi chập ảnh X với kernel W 16 Hình 1.9 Stride=1, padding=1 16 Hình 1.10 Stride=2, padding=1 17 Hình 1.11 Một số bộ lọc Kerne1 trong xử lý ảnh 18 Hình 1.12 Cách máy tính “nhìn” một hình 18 Hình 1.13 Mạng nơron thông thường (trái) và CNN (phải) 20 Hình 1.14 Kiến trúc mạng CNN 20 Hình 1.15 Ví dụ về max pooling và average pooling kích thước 2×2 .22 Hình 1.16 Lớp kết nối đầy đủ 23 Hình 1.17 Lớp input gồm 28x28 nơron cho nhận dạng dữ liệu MNIST 23 Hình 1.18 Kết nối vùng 5x5 nơron input với nơron lớp ẩn .24 Hình 1.19 Vị trí bắt đầu của trường tiếp nhận cục bộ 24 Hình 1.20 Vị trí thứ 2 của trường tiếp nhận cục bộ và nơron lớp ẩn .25 Hình 1.21 Trường tiếp nhận cục bộ với ba bản đồ đặc trưng 25 Hình 1.22 Trường tiếp nhận cục bộ với 20 bản đồ đặc trưng 26 Hình 1.23 Ví dụ về Max pooling 2x2 27 Hình 1.24 Max pooling với ba bản đồ đặc trưng .28 Hình 1.25 Ví dụ về một kiến trúc mạng CNN cho nhận dạng ảnh MNIST 29 Hình 2.1 Quá trình hình thành và phát triển của FPGA 36 Hình 2.2 Cấu trúc cơ bản của FPGA 37 Hình 2.3 Minh họa cấu trúc bên trong của chip FPGA 39 Hình 2.4 Lược đồ các bước thực thi trên FPGA 40 Hình 2.5 Quy trình thiết kế Vivado HLS [1] 44 Hình 2.6 Bo mạch FPGA Nanoboard NB2 45 Hình 2.7 Thành phần và phân cấp các file trong Altium FPGA Project 50 Hình 2.8 Kiến trúc hệ thống được mô tả trên file OpenBus 50 Hình 2.9 File nguyên lý mô tả các thiết bị sẽ được sử dụng 51 Hình 2.10 Tạo và thiết lập các đặc tính cho project nhúng 52 Hình 2.11 Kiến trúc software platform cần thiết .53 Hình 2.12 Tạo các ràng buộc cho project 54 Hình 2.13 Mô tả quá trình biên dịch, tổng hợp và nạp vào kit NB2DSK01 55

Ngày đăng: 22/03/2024, 09:09

Tài liệu cùng người dùng

Tài liệu liên quan