Phân loại bề mặt đất bằng mạng nơ-ron tích chập trên FPGA sử dụng kiến trúc DeepLabV3+

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp kỹ thuật máy tính phân loại bề mặt đất bằng mạng nơ ron tích chập hiện thực trên fpga, điều tra thực trạng, phân tích số liệu,

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2023

115
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

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ục tiêu đề tài

1.3. Bố cục báo cáo

2. CHƯƠNG 2: NGHIÊN CỨU MẠNG NƠ RON TÍCH CHẬP

2.1. Tổng quan

2.2. Lớp Tích Chập — Convolutional Layer

2.2.1. Bước trượt (Stride)

2.2.2. Tích chập giãn nở (Dilated Convolution)

2.3. Lớp Tổng Hợp — Pooling Layer

2.3.1. Lớp tổng hợp giá trị lớn nhất (Max Pooling)

2.3.2. Lớp tổng hợp giá trị trung bình (Average Pooling)

2.4. Các lớp thành phần khác

3. CHƯƠNG 3: THIẾT KẾ VÀ HIỆN THỰC

3.1. Mô hình thiết kế tổng quát

3.2. Interface IP Core

3.3. Thiết kế phần cứng chi tiết

3.3.1. Khối Tích chập 3D

3.3.2. Khối Lap lại dữ liệu đầu vào (conv_loop_data_in)

3.3.3. Khối Tích chập 2D (conv_top)

3.3.4. Khối tích chập 2D dành cho bộ lọc 3x3 với bước trượt là 1

3.3.5. Khối Xử lý ma trận ảnh

3.3.6. Khối Xử lý ma trận trọng số

3.3.7. Khối Tính toán tích chập

3.3.8. Khối tích chập 2D dành cho bộ lọc 3x3 và 7x7 với bước trượt là 2

3.3.9. Khối tích chập 2D dành cho bộ lọc 1x1

3.3.9.1. Bước trượt
3.3.9.2. Khối Xử lý ma trận ảnh 1x1
3.3.9.3. Khối Xử lý ma trận trọng số 1x1
3.3.9.4. Bước trượt 2

3.3.10. Khối Cộng kênh ảnh đầu vào (conv_channel_in_adder)

3.3.11. Khối Tổng hợp

3.3.11.1. Khối tổng hợp giá trị lớn nhất
3.3.11.2. Khối Tìm giá trị lớn nhất (maxp_core)
3.3.11.3. Khối tổng hợp giá trị trung bình
3.3.11.4. Khối Tính giá trị trung bình (avgp_core)

3.3.12. Các khối thành phần khác

3.3.12.1. Khối Tăng lấy mẫu
3.3.12.2. Khối Kết nối
3.3.12.2.1. Khối Kết nối 2 đầu vào (concat_2in)
3.3.12.2.2. Khối Kết nối 5 đầu vào (concat_5in)
3.3.12.3. Khối Cộng ma trận
3.3.12.4. Khối Hàm đơn vị tuyến tính chỉnh lưu
3.3.12.5. Khối Hàm Sigmoid

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

4.1. Kết quả mô phỏng

4.1.1. Kết quả dạng sóng

4.2. Kết quả sai số

4.2.1. Kết quả tổng hợp

4.3. So sánh kết quả với các mô hình khác

4.4. Đánh giá kết quả và độ chính xác

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

5.1. Kết quả đạt được

5.2. Khó khăn gặp phải

5.3. Hướng phát triển

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

MỞ ĐẦU

Tóm tắt

I. Tổng quan về phân loại bề mặt đất bằng mạng nơ ron tích chập

Phân loại bề mặt đất là một lĩnh vực quan trọng trong nghiên cứu môi trường và quản lý tài nguyên. Việc áp dụng mạng nơ-ron tích chập (CNN) trên FPGA đã mở ra nhiều cơ hội mới cho việc phân tích và xử lý dữ liệu hình ảnh. Mô hình CNN có khả năng trích xuất đặc trưng từ hình ảnh một cách hiệu quả, giúp cải thiện độ chính xác trong việc phân loại bề mặt đất.

1.1. Khái niệm về mạng nơ ron tích chập

Mạng nơ-ron tích chập (CNN) là một loại mạng nơ-ron nhân tạo được thiết kế đặc biệt cho việc xử lý dữ liệu hình ảnh. CNN sử dụng các lớp tích chập để trích xuất đặc trưng từ hình ảnh, giúp cải thiện khả năng phân loại và nhận diện.

1.2. Tầm quan trọng của phân loại bề mặt đất

Phân loại bề mặt đất có vai trò quan trọng trong việc quản lý tài nguyên thiên nhiên, bảo vệ môi trường và phát triển bền vững. Việc xác định loại bề mặt đất giúp đưa ra các quyết định chính xác trong quy hoạch và phát triển đô thị.

II. Thách thức trong phân loại bề mặt đất bằng mạng nơ ron

Mặc dù mạng nơ-ron tích chập mang lại nhiều lợi ích, nhưng vẫn tồn tại một số thách thức trong việc phân loại bề mặt đất. Các vấn đề như độ chính xác, tốc độ xử lý và khả năng tổng quát của mô hình cần được giải quyết để đạt được kết quả tốt nhất.

2.1. Độ chính xác trong phân loại

Độ chính xác là một trong những yếu tố quan trọng nhất trong phân loại bề mặt đất. Các mô hình cần được huấn luyện với dữ liệu phong phú và đa dạng để đảm bảo khả năng phân loại chính xác.

2.2. Tốc độ xử lý dữ liệu

Tốc độ xử lý là một yếu tố quan trọng khi triển khai mô hình trên FPGA. Cần tối ưu hóa thiết kế phần cứng để đạt được tần số hoạt động cao mà không làm giảm độ chính xác của mô hình.

III. Phương pháp thiết kế mạng nơ ron tích chập trên FPGA

Thiết kế mạng nơ-ron tích chập trên FPGA yêu cầu một quy trình chặt chẽ từ việc lựa chọn kiến trúc đến việc tối ưu hóa mã nguồn. Kiến trúc DeepLabV3+ được sử dụng để cải thiện khả năng phân loại bề mặt đất.

3.1. Kiến trúc DeepLabV3

Kiến trúc DeepLabV3+ sử dụng các lớp tích chập giãn nở để cải thiện khả năng nhận diện các đối tượng trong hình ảnh. Điều này giúp tăng cường độ chính xác trong việc phân loại bề mặt đất.

3.2. Tối ưu hóa mã nguồn trên FPGA

Tối ưu hóa mã nguồn là bước quan trọng để đảm bảo mô hình hoạt động hiệu quả trên FPGA. Việc sử dụng ngôn ngữ Verilog giúp triển khai các thuật toán một cách hiệu quả và tiết kiệm tài nguyên.

IV. Ứng dụng thực tiễn của phân loại bề mặt đất

Phân loại bề mặt đất bằng mạng nơ-ron tích chập có nhiều ứng dụng thực tiễn trong các lĩnh vực như nông nghiệp, quy hoạch đô thị và bảo vệ môi trường. Kết quả từ mô hình có thể hỗ trợ các quyết định quan trọng trong quản lý tài nguyên.

4.1. Ứng dụng trong nông nghiệp

Phân loại bề mặt đất giúp nông dân xác định loại đất và điều kiện môi trường, từ đó đưa ra các quyết định phù hợp trong việc trồng trọt và chăm sóc cây trồng.

4.2. Ứng dụng trong quy hoạch đô thị

Kết quả phân loại bề mặt đất hỗ trợ các nhà quy hoạch trong việc phát triển hạ tầng và quản lý tài nguyên thiên nhiên một cách hiệu quả.

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

Phân loại bề mặt đất bằng mạng nơ-ron tích chập trên FPGA là một lĩnh vực đầy tiềm năng. Các nghiên cứu tiếp theo có thể tập trung vào việc cải thiện độ chính xác và tốc độ xử lý của mô hình, cũng như mở rộng ứng dụng trong các lĩnh vực khác.

5.1. Kết quả đạt được

Kết quả từ nghiên cứu cho thấy mô hình có khả năng phân loại bề mặt đất với độ chính xác trên 70%, đáp ứng yêu cầu thực tiễn.

5.2. Hướng phát triển trong tương lai

Nghiên cứu có thể mở rộng sang các mô hình học sâu khác và cải tiến thuật toán để nâng cao hiệu quả trong việc phân loại bề mặt đất.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật máy tính phân loại bề mặt đất bằng mạng nơ ron tích chập hiện thực trên fpga sử dụng kiến trúc deeplabv3

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

Chương 1: GIỚI THIỆU ĐÈ TÀI Chương | sẽ giới thiệu đề tài nhóm đang thực hiện. Chương 2: NGHIÊN CỨU MẠNG NƠ RON TÍCH CHẬP Chương 2 sẽ trình bày các kiến thức, nghiến cứu tổng quan về mạng nơ ron tích chập. Chương 3: THIẾT KE VÀ HIỆN THUC Chương 3 trình bày phương pháp thiết kế, xây dựng mô hình mạng và các khối thành phần chỉ tiết, cách hoạt động. Chương 4: THUC NGHIỆM VA ĐÁNH GIÁ KET QUÁ Chương 4 sẽ trình bày kết quả và phương pháp đánh giá của thiết kế Chương 5: KET LUẬN VÀ HƯỚNG PHÁT TRIEN Chương 5 sẽ tom tắt toàn bộ công việc và kết quả đạt được.

Đồng thời đề ra phương hướng phát triển cho đề tài trong tương lai cũng được trình bày ở chương này. NGHIÊN CỨU MẠNG NO RON TÍCH CHAP 2.1 Tong quan Trong lĩnh vực học sâu (Deep Learning), một mô hình mạng nơ ron tích chập (CNN) được xem như là một tập tính của mạng nơ ron nhân tạo (ANN). Mô hình CNN được áp dụng phổ biến nhất trong việc phân tích hình ảnh. Mô hình CNN cũng được biết đến như là mạng nơ ron nhân tạo không gian bắt biến dựa trên kiến trúc chia sẻ trọng số của các bộ lọc tích chập.

Các bộ lọc này sẽ trượt đi trên những bức ảnh đữ liệu đầu vào và cung cấp ở đầu ra sẽ là các đặc tính được dịch và trích xuất ra từ bức ảnh đó. Mô hình CNN được ứng dụng trong nhận diện ảnh và video, phân loại ảnh, phân tầng ảnh, phân tích hình ảnh y khoa, xử lý ngôn ngữ tự nhiên. CNN được xem như là một phiên bản chính quy của mạng nơ ron truyền thắng nhiều lớp (Multilayer Perceptrons). Có thể hiểu một cách đơn giản mang no ron truyền thang nhiều lớp là mạng kết nói day đủ (Fully Connected Networks) — mỗi nơ ron của một lớp hình ảnh sẽ có liên kết với tất cả các nơ ron của lớp phía sau nó.

Đặc tính kết nối đầy đủ của các mạng này sẽ giúp chúng không gặp phải hiện tượng “quá khớp dữ liệu”. Các cách dé chính quy hóa, hoặc tránh sự quá khớp gồm: giảm bớt trọng số trong quá trình huấn luyện hoặc cắt giảm kết nối (skipped connections, dropout,. Tuy nhiên, mang CNN sẽ có một cách tiếp cận khác đối với quá trình chính quy hóa này, đó là: tận dụng đữ liệu khuôn mẫu có cấp bậc, tổng hợp các khuôn mẫu có độ phức tạp tăng dần bằng cách sử dụng các khuôn mẫu nhỏ và đơn giản hơn được tích hợp sẵn trong bộ lọc. Vì vậy, xét đến khía cạnh độ liên kết và tính phức tạp thì mô hình CNN được đánh giá là đơn giản hơn.

— CAR — TRUCK — VAN oO H — BICYCLE INPUT CONVOLUTION + RELU POOLING CONVOLUTION + RELU POOLING FLATTEN FULLY SOFTMAX \ CONNECTED FEATURE LEARNING CLASSIFICATION Hình 2. 1: Ví dụ khát quát mô hình CNN. Kĩ thuật tích chập được truyền cảm hứng bởi cách mà các nơ ron được liên kết với nhau, hoạt động này giống với cách hoạt động của mắt người. Từng tế bào thần kinh nơ ron chỉ phản ứng với một vùng nhất định trong trường thị giác, đây được gọi là trường tiếp nhận.

Các trường tiếp nhận này khi tiếp nhận nhiều các nơ ron khác nhau sẽ xếp chồng lan lên nhau cho đến khi bao phủ hết cả trường thị giác của mắt người. Từ đó sẽ hình thành nên hình ảnh, giúp mắt người có thê nhận biết được môi trường xung quanh. Cell's receptive field Hình 2. 2: Trường thị giác và trường tiếp nhận của mắt người.

Mô hình CNN bao gồm lớp đầu vào, lớp ân và cuối cùng là lớp đầu ra. Lớp ấn chính là lớp thực hiện việc tích chập, đầu ra của lớp tích chập này sẽ là tích vô hướng ma trận chập của khói tích chập với ma trận dữ liệu đầu vào của lớp. Khi ma trận chập này trượt đi trên ma trận dữ liệu đầu vào sẽ tạo ra những đặc trưng (feature map), đây cũng chính là đữ liệu đầu vào cho lớp tiếp theo. Theo sau lớp tích chập sẽ là các lớp như lớp pooling, lớp kết nói đầy đủ, lớp chuẩn hóa,.

Tất cả các lớp trên đây sẽ được trình bày một cách chỉ tiết ở phần bên dưới.2 Lớp Tích Chap — Convolutional Layer Tích chập làm nỗi bật 3 tính chat quan trọng trong việc thúc day sự phát triển của thị giác máy tính: tương tác rời rạc (sparse interaction), chia sẻ trọng số (parameter sharing), và ánh xạ (equivariant representation). Những mạng nơ ron thông thường sử dụng phép nhân ma trận ảnh với một ma trận khác được cấu thành bởi các trọng SỐ, các trọng SỐ này mô tả sự tương tác giữa dữ liệu đầu vào và đầu ra. Điều này có nghĩa là mỗi đơn vị dữ liệu đầu ra đều sẽ tương tác với các đữ liệu đầu vào. Tuy nhiên, mạng nơ ron tích chập có tính chất tương tác rời rạc.

Phương pháp này sử dụng ma trận chập với kích thước nhỏ hơn nhiều so với ảnh đầu vào. Một bức ảnh đầu vào có thé có hàng nghìn đến hàng triệu điểm ảnh, và với nhiều ma trận chập có kích thước nhỏ sẽ giúp chúng ta phát hiện nhiều những thông tin hơn so với phép nhân ma trận ảnh của các mang nơ ron thông thường. Phương pháp nay cũng giúp giảm bớt số lượng các trọng số cần được lưu, từ đó giảm đi dung lượng bộ nhớ cần có và đồng thời còn giúp cải thiện hơn về mặt hiệu năng của mạng. Nếu như việc tính toán một điểm ảnh ở một vị trí nhất định (x0, y0) mang lại lợi ích thì chắc chắn rằng việc tính toán này ở vị trí điểm ảnh khác (x1, yl) cũng sẽ có anh hưởng tích cực tương tự.

Điều này có nghĩa là đối với ma trận chập 2 chiều sẽ tạo ra nơ ron đầu ra được ràng buộc sử dụng chung tập trọng số. Với mạng nơ ron truyền thống trước đây, mỗi giá trị trong ma trận chập chỉ được sử dụng một lần duy nhất. Trong khi đó, mạng nơ ron tích chập có tính chất chia sẻ trọng số, để có được điểm ảnh ở đầu ra thì trọng số được sử dụng ở một điểm ảnh đầu vao sẽ được sử dụng ở các điểm ảnh đầu vào khác. Và vì mạng nơ ron tích chập mang tính chất chia sẻ trọng số, cho nên khi chúng ta thay đổi ảnh đầu vào theo một cách nhất định (tăng/giảm kích thước, tăng/giảm chiều sâu) thì ảnh đầu ra cũng sẽ thay đổi tương tự.

Tính chất này chính là ánh xạ trong mạng nơ ron tích chập. Lớp tích chập đóng vai trò quan trọng nhất và cũng chính là lớp căn bản nhất của một mô hình CNN. Lớp này sẽ đảm nhận hầu hết trọng trách trong việc tính toán của mô hình mạng băng cách thực hiện tích vô hướng giữa hai ma trận, trong đó, một ma trận sẽ là phan giới hạn của trường tiếp nhận (Phan 2. Ma trận chập (Kernel) sẽ có kích thước nhỏ hơn nhưng lại có chiều sâu lớn hơn so với bức ảnh dữ liệu.

Trong quá trình lan truyền xuôi, ma trận chập sẽ trượt đi trên chiều dài và chiều rộng của bức ảnh dir liệu, từ đó tao ra một dạng biểu diễn ảnh của trường tiếp nhận là một ma trận điểm ảnh hai chiều. Ma trận trên là kết quả của tích vô hướng giữa ma trận chập và vị trí nhất định trên bức ảnh dữ liệu. Kích thước khi trượt đi của ma trận trượt được gọi là bước trượt (Stride). Ma trận điểm ảnh đầu ra này sẽ cho chúng ta biết được những thông tin như là những góc hoặc cạnh của bức ảnh dữ liệu đầu vảo.

Tiếp đó, ma trận này sẽ trở thành dir liệu đầu vào cho cách lớp khác nhăm trích xuất thêm những đặc tính từ ảnh đầu vào. Lớp tích chập trong mạng CNN sẽ truyền kết quả tính toán đầu ra của mình cho các lớp khác sau khi đã xử lý xong dữ liệu đầu vào. Lớp tích chập mang lại rất nhiều lợi ích cho mạng CNN nhờ vào khả năng bảo toàn tính nguyên vẹn trong mối liên kết giữa các điểm ảnh. Lớp tích chập trong CNN thực hiện hoạt động tích chập của mình với hình ảnh ở chế độ 3D vì dữ liệu ảnh đầu vào sẽ luôn có kích thước với chiều dài, chiều rộng và chiều sâu (Thông thường, chiều dài và chiều rộng sẽ bằng nhau).

Chiều sâu đại diện cho các kênh màu của anh và thường sẽ có định dạng là RGB (Red — Do, Green — Xanh Lá, Blue — Xanh Dương): height aa: —|Olc rP1O o|F x > 1|0|0|1|0 O24 | 0) 2 1/0 1|0|1|0|1|x 1|1 1|0|0|1|0 1|0|1 0|1|1|0|1 Hình 2. 5: Ví dụ cho cách hoạt động của lớp tích chập. Đề có thê hiểu rõ hơn về cách hoạt động của lớp tích chập, hình ảnh dưới đây sẽ là một ví dụ trực quan hơn về những bước tính toán và xử lý của các điểm ảnh khi được cho đi qua lớp tích chập: Ma trận chập aaa bw+cx cw+dx +fy+gz +gy+hz ew+fx fw+gx gw+hx +iy+jz +jy+kz +ky+lz iw+jx+ jw+kx+ kw+lx+ my+nz ny+oz oy+pz Hình 2. 6: Vi du cho bước tính toán của lớp tích chap.

Chúng ta di chuyên các diém anh của ma trận đầu vào từ trai qua phải va từ trên xuống dưới. Sau đó lấy giá trị của điểm ảnh nhân với ma trận chập sẽ thu được ma trận đầu ra có kích thước tương đương. Tùy vào bước trượt được qui định là bao nhiêu ma ta sẽ di chuyển kết quả của mỗi lần nhân các điểm ảnh với bộ lọc sang bấy nhiêu đơn vi. Sau cùng là tính tổng các vị trí tương ứng của các ma trận kết quả dé thu được ma trận chuyển VỊ.

10 Giả sử, một bức ảnh đầu vào có kích thước là W x W x D (W: Width — chiều rộng bức ảnh, D: Dimension — Chiều sâu bức ảnh), sỐ lượng ma trận chập là Dout có kích thước là F, bước trượt là S và viền đệm là P thì ta sẽ có được công thức tính kích thước ma trận đâu ra dựa trên công thức sau đây: W-F+d+2P Weuy=————e————T+1 (2. 7: Công thức tính kích thước ma trận đầu ra sau khi đi qua lớp tích chập. Có 2 giá tri được đề cập đến ở công thức trên đóng vai trò rat cần thiết trong hoạt động tính toán của lớp tích chập, đó chính là bước trượt (stride) và viền đệm (padding). Bước trượt và viền đệm sẽ giúp chúng ta dễ kiêm soát kích thước của ma trận dau ra.

Nguyên do là vì những ma trận chập thường được sử dụng sẽ có chiều dai và rộng lớn hơn 1, sau khi ma trận ảnh đầu vào đi qua nhiều lớp tích chập, kích thước ma trận đầu ra sẽ nhỏ hơn so với đầu vào.

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