1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Hệ thống thông tin: Ứng dụng mạng Neural tich chập trong nhận dạng hoa quả

28 60 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 1,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tiểu luận nghiên cứu nhằm tìm hiểu mạng Couvolutional Neural Netwok và mô hình mạng; ứng dụng Couvolutional Neural Network cho bài toán nhận dạng hoa quả.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I

- -TÊN ĐỀ TÀI: ỨNG DỤNG MẠNG NEURAL TÍCH CHẬP

TRONG NHẬN DẠNG HOA QUẢ CHUYÊN NGÀNH :HỆ THỐNG THÔNG TIN

GIẢNG VIÊN HƯỚNG DẪN :PGS.TS NGUYỄN QUANG HOAN

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I

- -TÊN ĐỀ TÀI: ỨNG DỤNG MẠNG NEURAL TÍCH CHẬP

TRONG NHẬN DẠNG HOA QUẢ

CHUYÊN NGÀNH :HỆ THỐNG THÔNG TIN

GIẢNG VIÊN HƯỚNG DẪN :PGS.TS NGUYỄN QUANG HOAN

HÀ NỘI-NĂM 2021

MỤC LỤC

Trang 3

MỞ ĐẦU 4

Danh mục chữ viết tắt 5

Danh mục đồ thị 6

Chương I: GIỚI THIỆU TỔNG QUAN 7

I.1 Phát biểu bài toán nhận dạng hoa quả 7

I.2.Phương pháp tiếp cận bài toán: 7

I.2.1.Phương pháp Machine Learning truyền thống 8

I.2.2 Phương pháp học sâu – deep learning: 9

I.3 Phương hướng nghiên cứu bài toán: 9

Chương II: TÌM HIỂU MẠNG COUVOLUTIONAL NEURAL NETWOK VÀ MÔ HÌNH MẠNG 10

II.1 Couvolutional neural netwok là gì? 10

II.2.Lịch sử phát triển: 11

II.3 Phép tích chập (Convulution Operation) 12

II.3 Kiến trúc mạng Couvolutional Neural Netwok: 14

II.3.1 Lớp tích chập – Convolution Layer 14

II.3.2 Lớp phi tuyến (Nonlinear Layer) 16

II.3.3 Lớp gộp – Pooling Layer 16

II.3.4 Lớp kết nối đầy đủ - Fully Connected Layer 17

Chương III: ỨNG DỤNG COUVOLUTIONAL NEURAL NETWORK CHO BÀI TOÁN NHẬN DẠNG HOA QUẢ 18

III.1 Cơ sở dữ liệu huấn luyện: 18

III.2 Xây dựng mô hình huấn luyện CNN 19

III.2.1 Tạo project trên colab google: 19

III.2.2 Khai báo thư viện, kiểm tra lại dataset 20

III.2.3 Xây dựng, huấn luyện mô hình: 21

Trang 4

III.4 Bàn luận 24

KẾT LUẬN VÀO HƯỚNG NGHIÊN CỨU TIẾP THEO 25

1.Kết quả đã thực hiện được 25

2 Hướng nghiên cứu tiếp theo: 25

TÀI LIỆU THAM KHẢO 25

Trang 5

MỞ ĐẦU

Mạng neural nhân tạo hay gọi ngắn gọn là mạng neural (tiếng anh làArtifical Neural Network) đang là vấn đề khá nổi trong cuộc cách mạng côngnghệ 4.0 Các nhà nghiên cứu, các nhà khoa học, tổ chức đã và đang ứng dụngkhá nhiều công nghệ liên quan đến mạng neural vào đời sống hằng ngày Đơngiản là việc phân loại, nhận dạng các đối tượng trên camera Chúng góp phầnkhông nhỏ cho việc quản lý, nhận dạng các đối tượng nhằm giảm thiểu sự khókhăn trong công việc của con người

Ở nước ta, nền nông nghiệp được chú trọng phát triển Mỗi đợt thu hoạchnông sản, người nông dân phải làm thao tác phân loại nông sản bằng các biệnpháp thủ công nên rất mất thời gian, công sức Đây là công việc đơn giản nhưnglại ảnh hưởng rất lớn đối với quy mô phát triển nông nghiệp

Hiện nay nhờ sự phát triển mạnh mẽ của công nghệ trong lĩnh vực họcmáy Việc sử dụng các mạng neural nhân tạo trong các máy móc phục vụ nôngnghiệp khá là hay, luôn hấp dẫn các nghiên cứu sinh nghiên cứu về nó Do đó,nhờ sự tìm hiểu và sự giúp đỡ từ thầy hướng dẫn, em chọn đề tài: “MạngCouvolutional Neural Network và ứng dụng trong việc nhân dạng hoa quả”

Bài báo cáo gồm 3 nội dung chính như sau:

Chương I: Giới thiệu tổng quan

Chương II: Tìm hiểu mạng Couvolutional Neural Netwok và mô hình mạngChương III: Ứng dụng Couvolutional Neural Network cho bài toán nhận dạnghoa quả

Trang 6

Danh mục chữ viết tắt

Tên viết tắt Nghĩa tiếng anh Nghĩa tiếng viêt

ANN Artifical Neural Network Mạng neural nhân tạoCNN Couvolutional Neural

Netwok

Mạng neural tích chậpReLU Rectified Linear Unit Đơn vị tính toán chỉnh

lưu

Trang 7

Danh mục đồ thị

Hình 1.Mô tả 2 phương pháp trong bái toán nhận dạng 8

Hình 2.Mô tả thị giác con người, cảm hứng cho mạng CNN 10

Hình 3.Hình ảnh đầu vào 2D mặt trời tích chập với một kernal.Một bản đồ đặc trưng (feuturemap) có kích thước (N-2)x(N-2) là kết quả từ phép tính 12

Hình 4.Minh hoạ 2D – Convolution 13

Hình 5 Mô hình CNN xử lý đầu vào và phân loại đối tượng 14

Hình 6.Mô tả hoạt động lớp Convolution Layer 15

Hình 7.Ma trận filter của ảnh 15

Hình 8.Vị trí của ma trận tại các điểm ảnh xác định cạnh 15

Hình 9.Mô tả hoạt động khi gộp đầu vào 16

Hình 10.Dữ liệu tiến hành huấn luyện 19

Hình 11 Dữ liệu tiến hành thử nghiệm (testing) 19

Hình 12 Setting môi trường và đường dẫn cho tập tin dataset 19

Hình 13 kiểm tra đường dẫn trong dataset và khai báo thư viện 20

Hình 14 Mã hoá tập dataset để đưa và mạng CNN 20

Hình 15 Ảnh hiển thị bằng matplotlib 21

Hình 16.Mạng CNN 21

Hình 17 Thiết lập các liên kết trước khi huấn luyên mạng 22

Hình 18.Training CNN 23

Hình 19.Test 24

Trang 8

Chương I: GIỚI THIỆU TỔNG QUAN

I.1 Phát biểu bài toán nhận dạng hoa quả

Bài toán nhận dạng là một bài toán khá cơ bản trong trí tuệ nhân tạo, học sâu… Nó là nền tảng cho hầu hết các lý thuyết liên quan đến nhiều bài toán mở rộng khác như phân lớp, định vị, tách biệt vật thể, Tuy nhiên, nhìn chung, bài toán này đã xuất hiện và tồn tại hàng thế kỉ mà con người vẫn chưa tìm ra cách giải quyết hợp lý Do đó, cũng có rất nhiều khó khăn trong việc để máy móc hiểuđược các thông tin trong bức ảnh Các khó khăn có thể kê đến như: sự đa dạng điểm ảnh, sự đa dạng về kích thước, điều kiện ánh sáng, sự ẩn giấu của các vật thể, sự đa dạng chủng loại, màu sắc,…

Một trong những trường hợp cụ thể của bài toán nhận dạng đó là nhận dạng hoa quả Bài toán này kế thừa những khó khăn của bài toán nhận dạng nói chung và kèm theo những khó khăn riêng của chính nó như: số lượng chủng loại hoa quả theo mùa, miền, địa hình,… với vô số loại có kích thước, màu sắc, kết cấu giống nhau trong suốt chu kỳ phát triển từ lúc xanh đến khi chín; sự đa dạng

về kích cỡ, hình dạng của cùng một loài quả do điều kiện khí hậu, đất đai, vùng miền,… Do đó, để xử lý bài toán này đòi hỏi phải có những phương pháp tiếp cận phù hợp với yêu cầu đề ra

I.2.Phương pháp tiếp cận bài toán:

Bài toán nhận dạng hoa quả từ lâu đã xuất hiện trên nhiều bài báo, diễn đàn, công trình khoa học đã đưa ra nhiều hướng giải quyết khác nhau Trong đó, sớm nhất phải kể đến phương pháp xử lý ảnh (image processing) Phương pháp này tập trung phần lớn vào việc trích xuất đặc trưng của ảnh như: mức xám, điểmảnh, tham số màu sắc, kích thước hình dạng vật thể,… từ bức ảnh đầu vào của hoa quả Vì vậy nên phương pháp này chỉ tập trung vào một vài bức ảnh đầu vào trong khi đó sự biến thiên về màu sắc, kích thước hoàn toàn khác nhau đối với các loại hoa quả Ảnh hưởng của nó đến hiệu suất của phương pháp không được cao nên áp dụng rất hạn chế đối với các loại hoa quả

Từ những năm 2000, một số bài báo viết về áp dụng phương pháp học máy (machine learning) vào bài toán nhận dạng với độ chính xác cao Từ đó, hướng giải quyết tập trung vào ứng dụng và cải tiến thuật toán học máy, cụ thể là

Trang 9

nghiên cứu, thử nghiệm trích chọn đặc trưng cụ thể để đưa vào bộ nhận dạng tự động Trong phạm vi hạn chế số lượng hoa quả, phương pháp này đã đạt được những kết quả đáng kinh ngạc

Phương pháp học sâu cũng là một trong những cách tiếp cận được áp dụngvào trong bài toán này Cụ thể kết hợp xử lý dữ liệu và sử dụng mạng neural như:ANN, CNN,… Điều này làm giảm đáng kể thời gian xử lý dữ liệu

Hình 1.Mô tả 2 phương pháp trong bái toán nhận dạng

I.2.1.Phương pháp Machine Learning truyền thống

Phương pháp này gồm 2 giai đoạn chính là huấn luyện (training) và thử nghiệm (testing) Trong mỗi giai đoạn thì yêu cầu chính và quan trọng đó là trích trọn đặc trưng của ảnh (Feature extraction) và thuật toán phân loại, nhận dang,… Hai thành phần này ảnh hưởng rất lớn đến kết quả bài toán do đó cần thiết kế cẩnthận, tốn nhiều công sức, thời gian, yêu cầu đối với người thiết kế phải nắm vữngchuyên môn và hiểu rõ đặc trưng cần xử lý

Trong thực tế, dữ liệu ta nhận được chỉ là dữ liệu thô, do đó những dữ liệunày phải qua quá trình chọn lọc, xử lý Để có thể có dữ liệu chuẩn đưa đi huấn luyện phải có quá trình biến đổi thành dạng dữ liệu cho máy hiểu Mỗi dữ loại dữliệu sẽ có những đặc trưng riêng đối với từng trường hợp cụ thể Do đó cần tuỳ biến một cách thích hợp để đảm bảo tính chính xác của bài toán

Trang 10

I.2.2 Phương pháp học sâu – deep learning:

Là một trong các lĩnh vực chuyên sâu của học máy xuất hiện từ những năm 1980 và hiện nay đang khá phổ biến Ta có thể tận dụng kho dữ liệu số khổng lồ trên internet và khả năng tính toán nhanh cho mô hình mạng

Mạng Neural được ứng dụng phổ biến trong phương pháp này Cụ thể ta đưa dữ liệu qua nhiều lớp của mạng Neural và lấy kết quả đầu ra để sao sánh với

dữ liệu huấn luyện Mỗi lớp của mạng sẽ phân tích đầu vào theo khía cạnh khác nhau và mức trừu tượng tăng dần

I.3 Phương hướng nghiên cứu bài toán:

Nhận dạng luôn là một bài toán nền tảng để phát triển bài toán tổng quát, chi tiết với độ chính xác cao Do đó, bài toán phụ thuộc chủ yếu vào bộ dữ liệu

Bộ dữ liệu càng lớn thì tính chính xác càng được cải thiện

Kết quả của bài toán sẽ được áp dụng cho các mức độ phức tạp chuyên sâu hơn như: phân loại hoa quả, nhận dạng bệnh trên quả,…

Việc áp dụng mạng neural vào nghiên cứu đảm bảo yêu cầu: phương pháp đơn giản, lượng dữ liệu đưa vào đầy đủ, chính xác với sản phẩm hoa quả phù hợp

ở nước ta, độ chính xác khi kết quả đầu ra dự đoán chính xác

Trang 11

Chương II: TÌM HIỂU MẠNG COUVOLUTIONAL NEURAL NETWOK

VÀ MÔ HÌNH MẠNG II.1 Couvolutional neural netwok là gì?

Mạng neural tích chập (Couvolutional neural netwok) là một thuật toándeep learning có thể lấy hình ảnh đầu vào, gán độ quan trọng (trọng số và độlệch) cho các đặc trưng và đối tượng khác nhau trong hình ảnh; có thể phân biệtđược đặc trưng và đối tượng này với nhau Công việc tiền xử lý được yêu cầucho mạng neural tích chập ít hơn nhiều so với các mô hình khác Trong phươngthức sơ khai, các bộ lọc được thiết kế bằng tay, với một quá trình huấn luyện đểchọn lọc ra các bộ lọc đặc trưng phù hợp thì mạng neural tích chập lại có khảnăng tự học để chọn ra các bộ lọc, đặc trưng tối ưu nhất

Kiến trúc neural tích chập tương tự mô hình kết nối của các neural trong

bộ não con người và được lấy cảm hứng từ võ thị giác trong bộ não Các neuralchỉ phản ứng với các kích thích trong một khu vực hạn chế của trường thị giácgọi là trường tiếp nhận Một tập hợp trường tiếp nhận như vậy chồng lên nhau đểbao phủ toàn trường thị giác

Trang 12

II.2.Lịch sử phát triển:

Nghiên cứu trong thập niên 1950 và 1960 của D.H Hubel và T.N Wieseltrên não động vật đã đề xuất một mô hình mới cho việc cách mà động vật nhìnnhận thế giới Trong báo cáo hai ông đã mô tả 2 loại tế bào neural trong não vàcách hoạt động khác nhau: tế bào đơn giản (simple cell – S cell) và tế bào phứctạp (complex cell – C cell)

Các tế bào đơn giản được kích hoạt khi nhận dạng các hình dáng đơn giảnnhư đường nằm trong một khu vực cố định và một góc cạnh của nó Các tế bàophức tạp có vùng tiếp cận lớn hơn và đầu ra của nó không nhạy cảm với những vịtrí cố định trong vùng

Trong thị giác, vùng tiếp nhận của neural tương ứng với một vùng trênvõng mạc nơi sẽ kích hoạt neural tương ứng

Năm 1980, Fukushima đề xuất mô hình mạng neural có cấp bậc gọi làneocoginitron, Mô hình này dựa trên khái niệm về S cell và C cell Mạngneocoginitron có thể nhận dạng mẫu dựa việc học hình dáng đối tượng

Sau đó năm 1988, Mạng neural tích chập được giới thiệu bởi Bengio,LeCun, Bottou và Haffner Mô hình đầu tiên được gọi tên là LeNet-5 Mô hìnhnày có thể nhận dạng chữ viết tay

Trang 13

II.3 Phép tích chập (Convulution Operation)

Ta có thể hiểu phép tích chập giống như một hoạt động trộn thông tin lạivới nhau Phép toán này được sử dụng tương đối rộng rãi trong nhiều ngành khoahọc và kỹ thuật khác nhau

Trong toán học, phép tích chập giữa hai hàm f và g sẽ tạo ra một hàm thứ

ba biểu thị sự biến đổi của một hàm đối với hàm còn lại Xét hai hàm f và g, phéptích chập giữa hai hàm này được định nghĩa như sau:

Hình 3.Hình ảnh đầu vào 2D mặt trời tích chập với một kernal.Một bản đồ đặc trưng (feuturemap) có kích thước

Trang 14

II.3 Kiến trúc mạng Couvolutional Neural Netwok:

Nguyên tắc chung trong hầu hết các mạng CNN hiện này đều được thiết

kế như sau:

 Sử dụng nhiều Convolution Layer chồng lên nhau

 Giảm dần kích thước ouput mỗi tầng

 Tăng dần số lượng Feature map

Mô hình mạng CNN dùng để huấn luyện và kiểm tra, mỗi hình ảnh đầuvào sẽ được qua một loạt các lớp tích chập với các bộ lọc (Kernals), tổng hợp lạicác lớp được kết nối đầy đủ (Full Connected) và áp dụng hàm Softmax để phânloại đối tượng có xác suất 0 và 1

13

Trang 15

II.3.1 Lớp tích chập – Convolution Layer

Lớp tích chập (Convolution Layer) là lớp quan trọng nhất và cũng là lớpđầu tiên của mô hình CNN Lớp này có chức năng chính là phát hiện các đặctrưng có tính không gian hiệu quả Trong tầng này có bốn đối tượng chính là: matrận đầu vào, bộ lọc (filters), trường tiếp nhận (receptive field) và Feature map

Lớp tích chập đầu vào này sẽ là một ma trận ba chiều và một bộ lọc cầnphải học Bộ lọc này sẽ trượt qua từng bức ảnh để tích chập (Convolution) giữa

bộ lọc và phần tương ứng trên bức ảnh Phần tương ứng này gọi là trường tiếpnhận (receptive field), tức là vùng mà neural có thể nhìn thầy để đưa ra quyếtđịnh, và ma trận cho ra bởi quá trình này gọi là Feature map

Ví dụ, dữ liệu đầu vào là ma trận có kích thước 8x8x1, một bộ lọc có kíchthước 2x2x1, feature map có kích thước 7x7x1 Mỗi giá trị feature map được tínhbằng tổng các phần tử tương ứng của bộ lọc 2x2x1 với trường tiếp nhận trên ảnh

Và để tính tất cả các giá trị cho feature map, ta trượt bộ lọc từ trái qua phải, trênxuống dưới Do đó, phép convolution bảo toàn thứ tự không gian các điểm ảnh

Trang 16

Chức năng chính của lớp Convolution Layer là phát hiện đặc trưng củaảnh (feature detector) Những đặc trưng này bao gồm các đặc trưng cơ bản như:góc, cạnh, màu sắc, hoặc đặc trưng phức tạp hơn như texture ảnh Vì bộ lọc quétqua toàn bộ bức ảnh nên đặc trưng có thể nằm ở bất kỳ đâu trong bức ảnh, cho dùxoay trái hay phải thì vẫn nhận ra đặc trưng đó.

Hình 7.Ma trận filter của ảnh

Hình 8.Vị trí của ma trận tại các điểm ảnh xác định cạnh

Trang 17

Trong ví dụ trên, khi dùng bộ lọc trượt qua ảnh của nhân vật Olaf trong bộphim Frozen Ta thấy, chỉ những vị trí trên bức ảnh có dạng góc như đặc trưng ởfilter thì mới có giá trị lớn trên feature map, những vị trí còn lại có giá trị thấphơn.

Ngoài ra, các tham số như: kích thước bộ lọc, bước nhảy và padding cũngkhá quan trọng Kích thước bộ lọc nhỏ thường được ưu tiên hơn trong các môhình huấn luyện, mặt khác, kích cỡ bộ lọc thường là số lẻ Bước nhảy thể hiện sốpixel dịch chuyển khi di chuyển bộ lọc Tham số padding khắc phục tình trạng

ma trận bị nhỏ đi khi qua các layer do đó đảm bảo kích thước ban đầu của đầu

vào để thực hiện huấn luyện.

II.3.2 Lớp phi tuyến (Nonlinear Layer)

Lớp này chứa các hàm phi tuyến để biến đổi ảnh

ReLU (Rectified Linear Unit) là hàm kích hoạt trong mạng CNN Hàmnày được ưu chuộng bởi vì tính toán đơn giản, giúp hạn chế tình trạng vanishinggradient và cũng cho kết quả tốt hơn ReLU cũng như các hàm kích hoạt khácđược đặt ngay sau tầng convolution, ReLU sẽ gán những giá trị âm bằng 0, giữnguyên các giá trị đầu vào khi lớn hơn 0

ReLU cũng có một vấn đề tiềm ẩn đó là không tồn tại đạo hàm tại 0, giátrị của hàm ReLU có thể lớn đến vô cùng và nếu không khởi tạo trọng số cẩnthận, hoặc khởi tạo tốc độ học (learning rate) quá lớn thì những neural ở tầng này

có thể rơi vào trạng thái chết

II.3.3 Lớp gộp – Pooling Layer

Sau hàm kích hoạt, thông thường chúng ta sẽ sử dụng tầng pooling Một số loạipooling phổ biến như max-pooling, average pooling, với chức năng chính làgiảm chiều tầng trước đó Với một pooling kích thước 2x2, ta cần trượt bộ lọc2x2 này trên vùng ảnh kích thước rồi tính max, average của vùng đó

Ngày đăng: 06/05/2021, 12:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w