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
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ả

Đ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

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ả.

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 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 MỞ ĐẦU Danh mục chữ viết tắt Danh mục đồ thị Chương I: GIỚI THIỆU TỔNG QUAN I.1 Phát biểu toán nhận dạng hoa .7 I.2.Phương pháp tiếp cận toán: I.2.1.Phương pháp Machine Learning truyền thống I.2.2 Phương pháp học sâu – deep learning: .9 I.3 Phương hướng nghiên cứu toán: Chương II: TÌM HIỂU MẠNG COUVOLUTIONAL NEURAL NETWOK VÀ MƠ HÌNH MẠNG 10 II.1 Couvolutional neural netwok 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ở 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 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 III.3 Kết huấn luyện .23 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 thực 25 Hướng nghiên cứu tiếp theo: .25 TÀI LIỆU THAM KHẢO 25 MỞ ĐẦU Mạng neural nhân tạo hay gọi ngắn gọn mạng neural (tiếng anh Artifical Neural Network) vấn đề cách mạng công nghệ 4.0 Các nhà nghiên cứu, nhà khoa học, tổ chức ứng dụng nhiều công nghệ liên quan đến mạng neural vào đời sống ngày Đơn giản việc phân loại, nhận dạng đối tượng camera Chúng góp phần khơng nhỏ cho việc quản lý, nhận dạng đối tượng nhằm giảm thiểu khó khăn cơng việc người Ở nước ta, nông nghiệp trọng phát triển Mỗi đợt thu hoạch nông sản, người nông dân phải làm thao tác phân loại nông sản biện pháp thủ công nên thời gian, công sức Đây công việc đơn giản lại ảnh hưởng lớn quy mô phát triển nông nghiệp Hiện nhờ phát triển mạnh mẽ công nghệ lĩnh vực học máy Việc sử dụng mạng neural nhân tạo máy móc phục vụ nơng nghiệp hay, hấp dẫn nghiên cứu sinh nghiên cứu Do đó, nhờ tìm hiểu giúp đỡ từ thầy hướng dẫn, em chọn đề tài: “Mạng Couvolutional Neural Network ứng dụng việc nhân dạng hoa quả” Bài báo cáo gồm nội dung sau: Chương I: Giới thiệu tổng quan Chương II: Tìm hiểu mạng Couvolutional Neural Netwok mơ hình mạng Chương III: Ứng dụng Couvolutional Neural Network cho toán nhận dạng hoa Danh mục chữ viết tắt Tên viết tắt ANN CNN ReLU Nghĩa tiếng anh Artifical Neural Network Couvolutional Neural Netwok Rectified Linear Unit Nghĩa tiếng viêt Mạng neural nhân tạo Mạng neural tích chập Đơn vị tính tốn chỉnh lưu Danh mục đồ thị Hình 1.Mơ tả phương pháp bái toán nhận dạng Hình 2.Mơ tả thị giác 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 kernal.Một đồ đặc trưng (feuturemap) có kích thước (N-2)x(N-2) kết từ phép tính .12 Hình 4.Minh hoạ 2D – Convolution 13 Hình Mơ hình CNN xử lý đầu vào 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 ảnh 15 Hình 8.Vị trí ma trận điểm ảnh xác định cạnh 15 Hình 9.Mơ tả hoạt động 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 đường dẫn cho tập tin dataset 19 Hình 13 kiểm tra đường dẫn dataset khai báo thư viện 20 Hình 14 Mã hoá tập dataset để đưa mạng CNN 20 Hình 15 Ảnh hiển thị matplotlib 21 Hình 16.Mạng CNN 21 Hình 17 Thiết lập liên kết trước huấn luyên mạng .22 Hình 18.Training CNN 23 Hình 19.Test 24 Chương I: GIỚI THIỆU TỔNG QUAN I.1 Phát biểu toán nhận dạng hoa Bài toán nhận dạng tốn trí tuệ nhân tạo, học sâu… Nó tảng cho hầu hết lý thuyết liên quan đến nhiều toán mở rộng khác phân lớp, định vị, tách biệt vật thể, Tuy nhiên, nhìn chung, tốn xuất tồn hàng kỉ mà người chưa tìm cách giải hợp lý Do đó, có nhiều khó khăn việc để máy móc hiểu thơng tin ảnh Các khó khăn kê đến như: đa dạng điểm ảnh, đa dạng kích thước, điều kiện ánh sáng, ẩn giấu vật thể, đa dạng chủng loại, màu sắc,… Một trường hợp cụ thể toán nhận dạng nhận dạng hoa Bài tốn kế thừa khó khăn tốn nhận dạng nói chung kèm theo khó khăn riêng như: số lượng chủng loại hoa 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 suốt chu kỳ phát triển từ lúc xanh đến chín; đa dạng kích cỡ, hình dạng lồi điều kiện khí hậu, đất đai, vùng miền,… Do đó, để xử lý tốn địi hỏi phải có phương pháp tiếp cận phù hợp với yêu cầu đề I.2.Phương pháp tiếp cận toán: Bài toán nhận dạng hoa từ lâu xuất nhiều báo, diễn đàn, cơng trình khoa học đưa nhiều hướng giải khác Trong đó, sớm phải kể đến phương pháp xử lý ảnh (image processing) Phương pháp tập trung phần lớn vào việc trích xuất đặc trưng ả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ừ ảnh đầu vào hoa Vì nên phương pháp tập trung vào vài ảnh đầu vào biến thiên màu sắc, kích thước hồn toàn khác loại hoa Ảnh hưởng đến hiệu suất phương pháp khơng cao nên áp dụng hạn chế loại hoa Từ năm 2000, số báo viết áp dụng phương pháp học máy (machine learning) vào tốn nhận dạng với độ xác cao Từ đó, hướng giải tập trung vào ứng dụng cải tiến thuật toán học máy, cụ thể nghiên cứu, thử nghiệm trích chọn đặc trưng cụ thể để đưa vào nhận dạng tự động Trong phạm vi hạn chế số lượng hoa quả, phương pháp đạt kết đáng kinh ngạc Phương pháp học sâu cách tiếp cận áp dụng vào toán Cụ thể kết hợp xử lý liệu sử dụng mạng neural như: ANN, CNN,… Điều làm giảm đáng kể thời gian xử lý liệu Hình 1.Mơ tả phương pháp bái tốn nhận dạng I.2.1.Phương pháp Machine Learning truyền thống Phương pháp gồm giai đoạn huấn luyện (training) thử nghiệm (testing) Trong giai đoạn yêu cầu quan trọng trích trọn đặc trưng ảnh (Feature extraction) thuật toán phân loại, nhận dang,… Hai thành phần ảnh hưởng lớn đến kết tốn cần thiết kế cẩn thận, tốn nhiều công sức, thời gian, yêu cầu người thiết kế phải nắm vững chuyên môn hiểu rõ đặc trưng cần xử lý Trong thực tế, liệu ta nhận liệu thô, liệu phải qua q trình chọn lọc, xử lý Để có liệu chuẩn đưa huấn luyện phải có q trình biến đổi thành dạng liệu cho máy hiểu Mỗi loại liệu có đặc trưng riêng trường hợp cụ thể Do cần tuỳ biến cách thích hợp để đảm bảo tính xác toán I.2.2 Phương pháp học sâu – deep learning: Là lĩnh vực chuyên sâu học máy xuất từ năm 1980 phổ biến Ta tận dụng kho liệu số khổng lồ internet khả tính tốn nhanh cho mơ hình mạng Mạng Neural ứng dụng phổ biến phương pháp Cụ thể ta đưa liệu qua nhiều lớp mạng Neural lấy kết đầu để sánh với liệu huấn luyện Mỗi lớp mạng phân tích đầu vào theo khía cạnh khác mức trừu tượng tăng dần I.3 Phương hướng nghiên cứu tốn: Nhận dạng ln toán tảng để phát triển toán tổng quát, chi tiết với độ xác cao Do đó, toán phụ thuộc chủ yếu vào liệu Bộ liệu lớn tính xác cải thiện Kết toán áp dụng cho mức độ phức tạp chuyên sâu như: phân loại hoa quả, nhận dạng bệnh 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 liệu đưa vào đầy đủ, xác với sản phẩm hoa phù hợp nước ta, độ xác kết đầu dự đốn xác  II.3 Kiến trúc mạng Couvolutional Neural Netwok: Nguyên tắc chung hầu hết mạng CNN thiết kế sau:  Sử dụng nhiều Convolution Layer chồng lên  Giảm dần kích thước ouput tầng  Tăng dần số lượng Feature map Mơ hình mạng CNN dùng để huấn luyện kiểm tra, hình ảnh đầu vào qua loạt lớp tích chập với lọc (Kernals), tổng hợp lại lớp kết nối đầy đủ (Full Connected) áp dụng hàm Softmax để phân loại đối tượng có xác suất 13 Hình Mơ hình CNN xửHình lý đầu2.4 vào phân loại đối tượng II.3.1 Lớp tích chập – Convolution Layer Lớp tích chập (Convolution Layer) lớp quan trọng lớp mơ hình CNN Lớp có chức phát đặc trưng có tính khơng gian hiệu Trong tầng có bốn đối tượng là: ma trận đầu vào, lọc (filters), trường tiếp nhận (receptive field) Feature map Lớp tích chập đầu vào ma trận ba chiều lọc cần phải học Bộ lọc trượt qua ảnh để tích chập (Convolution) lọc phần tương ứng ảnh Phần tương ứng gọi trường tiếp nhận (receptive field), tức vùng mà neural nhìn thầy để đưa định, ma trận cho trình gọi Feature map Ví dụ, liệu đầu vào ma trận có kích thước 8x8x1, lọc có kích thước 2x2x1, feature map có kích thước 7x7x1 Mỗi giá trị feature map tính tổng phần tử tương ứng lọc 2x2x1 với trường tiếp nhận ảnh Và để tính tất giá trị cho feature map, ta trượt lọc từ trái qua phải, xuống Do đó, phép convolution bảo tồn thứ tự khơng gian điểm ảnh Hình 6.Mơ tả hoạtHình động2.5 lớp Convolution Layer 14 Chức lớp Convolution Layer phát đặc trưng ảnh (feature detector) Những đặc trưng bao gồm đặc trưng như: góc, cạnh, màu sắc, đặc trưng phức tạp texture ảnh Vì lọc quét qua tồn ảnh nên đặc trưng nằm đâu ảnh, cho dù xoay trái hay phải nhận đặc trưng Hình 7.Ma trận filter ảnh Hình 8.Vị trí ma trận điểm ảnh xác định cạnh 15 Trong ví dụ trên, dùng lọc trượt qua ảnh nhân vật Olaf phim Frozen Ta thấy, vị trí ảnh có dạng góc đặc trưng filter có giá trị lớn feature map, vị trí cịn lại có giá trị thấp Ngồi ra, tham số như: kích thước lọc, bước nhảy padding quan trọng Kích thước lọc nhỏ thường ưu tiên mơ hình huấn luyện, mặt khác, kích cỡ lọc thường số lẻ Bước nhảy thể số pixel dịch chuyển di chuyển lọc Tham số padding khắc phục tình trạng ma trận bị nhỏ qua layer đảm bảo kích thước ban đầu đầu vào để thực huấn luyện II.3.2 Lớp phi tuyến (Nonlinear Layer) Lớp chứa hàm phi tuyến để biến đổi ảnh ReLU (Rectified Linear Unit) hàm kích hoạt mạng CNN Hàm ưu chuộng tính tốn đơn giản, giúp hạn chế tình trạng vanishing gradient cho kết tốt ReLU hàm kích hoạt khác đặt sau tầng convolution, ReLU gán giá trị âm 0, giữ nguyên giá trị đầu vào lớn ReLU có vấn đề tiềm ẩn khơng tồn đạo hàm 0, giá trị hàm ReLU lớn đến vơ không khởi tạo trọng số cẩn thận, khởi tạo tốc độ học (learning rate) lớn neural tầng 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 sử dụng tầng pooling Một số loại pooling phổ biến max-pooling, average pooling, với chức giảm chiều tầng trước Với pooling kích thước 2x2, ta cần trượt lọc 2x2 vùng ảnh kích thước tính max, average vùng 16 Hình 9.Mơ tả hoạt động gộp đầu vào 17 Ý tưởng đằng sau tầng pooling vị trí tuyệt đối đặc trưng khơng gian ảnh khơng cịn cần thiết, thay vào vị trí tương đối giữ đặc trưng đủ phân loại đối tượng II.3.4 Lớp kết nối đầy đủ - Fully Connected Layer Tầng cuối mơ hình tầng fully connected layer Tầng có chức chuyển ma trận đặc trưng tầng trước thành vector chứa xác suất đối tượng cần dự đốn Ngồi ra, cuối q trình huấn luyện cần hàm tính độ lỗi sai số dự đốn nhãn xác, sử dụng thuật toán backpropagation cho trình cập nhập trọng số 18 Chương III: ỨNG DỤNG COUVOLUTIONAL NEURAL NETWORK CHO BÀI TOÁN NHẬN DẠNG HOA QUẢ III.1 Cơ sở liệu huấn luyện: Độ phân giải ảnh 32x32 pixel, hệ màu RGB Dữ liệu huấn luyện gồm 360 ảnh hoa gồm có:     90 ảnh táo 89 ảnh chuối 91 ảnh cam 90 ảnh nho Các liệu gán nhãn thực xử lý độ sáng chuẩn hoá sang dạng xml Dữ liệu test gồm 60 ảnh gồm có:        20 ảnh táo 15 ảnh chuối 10 ảnh cam 10 ảnh nho ảnh có táo chuối ảnh có cam táo ảnh loại Dữ liệu test gán nhãn, thực xử lý độ sáng chuẩn hố sang dạng xml 19 Hình 10.Dữ liệu tiến hành huấn luyện Hình 11 Dữ liệu tiến hành thử nghiệm (testing) III.2 Xây dựng mơ hình huấn luyện CNN III.2.1 Tạo project colab google: Đầu tiên, phải cài đặt môi trường google driver để thiết lập vị vị trí project đường dẫn cho Hình 12.dataset Setting mơitheo trường đườngdẫn dẫn cho tập tin dataset Sau upload đường dir_path = "gdrive/My Drive/Dataset/Fruit Images/" Giờ đây, sẵn sàng để xây dựng tranning mơ hình phục vụ nhu cầu toán 20 III.2.2 Khai báo thư viện, kiểm tra lại dataset Hình 13 kiểm tra đường dẫn dataset khai báo thư viện Tiếp theo mã hoá tệp tin theo nhãn tiền xử lý dataset Cụ thể, có nhãn apple, banana, mixed, orange; chúng lưu mảng array chiều từ thư viện numpy Tiếp theo từ tập dataset ta khởi tạo mảng liệu gán nhãn tương ứng mã hoá theo giá trị xuất tương ứng mảng Hình 14 Mã hố tập dataset để đưa mạng CNN Sau mã hoá, ta gọi ảnh tập dataset thư viện matplotlib, thư viện hỗ trợ hiển thị ảnh hàm số xác định Tuy nhiên, hệ màu RGB không hỗ trợ thư viện 21 Hình 15 Ảnh hiển thị matplotlib III.2.3 Xây dựng, huấn luyện mơ hình: Mạng CNN xây dựng gồm 11 layer chồng lên Ba lớp Convolution lọc theo trọng số 32,64,128 Cứ lần qua lớp gộp theo phương pháp maxpooling Hình 16.Mạng CNN 22 Sau xây dựng mạng, ta tiến hành khai báo dường dẫn data train, test Thiết lập đường lưu trạng thái sau train để thực việc test Hình 17 Thiết lập liên kết trước huấn luyên mạng Thiết lập xong tất ta tiến hàng train mạng chờ đợi kết 23 Hình 18.Training CNN III.3 Kết huấn luyện Phải khẳng định mơ hình CNN mơ hình có độ xác cao Độ xác train 79,166% Kiểm tra lại test nhận định 87.5% 24 Hình 19.Test Kiểm tra lại trường hợp cụ thể mẫu dataset Bộ test nhận định ảnh apple Đúng với nhãn ghi test III.4 Bàn luận Với kết đạt được, tốn cịn phát triển để tăng độ xác Độ xác 80% cần cải thiện thêm cách bổ sung thêm nguồn dataset Thời gian nhận dạng tương đối nhanh tập liệu tương đối nhỏ Do vậy, mong muốn cải thiện phát triển môi trường dataset lớn KẾT LUẬN VÀO HƯỚNG NGHIÊN CỨU TIẾP THEO 1.Kết thực Phát biểu khái quát toán nhận dạng, phương pháp tiếp cận Khái quát mạng CNN, mô hình gồm lớp chi tiết mơ hình Mơ tả phép tích chập q trình gộp, lọc mạng Xây dựng thành cơng mơ hình CNN colab triển khai GPU thành công tập dataset giới hạn Hướng nghiên cứu tiếp theo: Với nhiều ứng dụng thực tế mạng neural nhân tạo, đề tài ứng dụng cho nhiều mơ hình nghiên cứu sâu sắc Tuy nhiên, đề tài 25 chưa thể mơ hình CNN nên hướng nghiên cứu tập trung vào việc cải thiện mơ hình, phát triển hệ thống data lớn đáp ứng nhu cầu tương lai TÀI LIỆU THAM KHẢO Hough-CNN: Deep learning for segmentation of deep brain regions in MRI and ultrasound - ScienceDirect Machine Learning for Computer Vision (ed.ac.uk) Modulation Format Recognition and OSNR Estimation Using CNN-Based Deep Learning | IEEE Journals & Magazine | IEEE Xplore 26 27 ...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... gọi ngắn gọn mạng neural (tiếng anh Artifical Neural Network) vấn đề cách mạng công nghệ 4.0 Các nhà nghiên cứu, nhà khoa học, tổ chức ứng dụng nhiều công nghệ liên quan đến mạng neural vào đời... Couvolutional Neural Network ứng dụng việc nhân dạng hoa quả? ?? Bài báo cáo gồm nội dung sau: Chương I: Giới thiệu tổng quan Chương II: Tìm hiểu mạng Couvolutional Neural Netwok mơ hình mạng Chương III: Ứng

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

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

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

  • Danh mục đồ thị

  • 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ả

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

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

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

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

      • 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ì?

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

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

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

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

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

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

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

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

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

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

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

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

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

              • III.3. Kết quả huấn luyện

              • III.4. Bàn luận

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

Tài liệu liên quan