Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,39 MB
Nội dung
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 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ị 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 hoà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 toá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 tố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 qt, 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 • Chương II: TÌM HIỂU MẠNG COUVOLUTIONAL NEURAL NETWOK VÀ MƠ HÌNH MẠNG II.1 Couvolutional neural netwok gì? Mạng neural tích chập (Couvolutional neural netwok) thuật tốn deep learning lấy hình ảnh đầu vào, gán độ quan trọng (trọng số độ lệch) cho đặc trưng đối tượng khác hình ảnh; phân biệt đặc trưng đối tượng với Công việc tiền xử lý yêu cầu cho mạng neural tích chập nhiều so với mơ hình khác Trong phương thức sơ khai, lọc thiết kế tay, với trình huấn luyện để chọn lọc lọc đặc trưng phù hợp mạng neural tích chập lại có khả tự học để chọn lọc, đặc trưng tối ưu Kiến trúc neural tích chập tương tự mơ hình kết nối neural não người lấy cảm hứng từ võ thị giác não Các neural phản ứng với kích thích khu vực hạn chế trường thị giác gọi trường tiếp nhận Một tập hợp trường tiếp nhận chồng lên để bao phủ tồn trường thị giác Hình 2.Mô tả thị giác người, cảm hứng cho mạng CNN 10 II.3 Phép tích chập (Convulution Operation) Ta hiểu phép tích chập giống hoạt động trộn thơng tin lại với Phép tốn sử dụng tương đối rộng rãi nhiều ngành khoa học kỹ thuật khác Trong toán học, phép tích chập hai hàm f g tạo hàm thứ ba biểu thị biến đổi hàm hàm lại Xét hai hàm f g, phép tích chập hai hàm định nghĩa sau: 12 13 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 (N2)x(N-2) kết từ phép tính Chúng ta xem xét khơng gian chiều, phép tích chập hai hàm f g mơ tả phương trình sau: Đối với đầu vào chiều hình ảnh, có đầu vào cho phép tích chập Đầu vào thứ hình ảnh 2D, đầu vào lại gọi kernel mask hoạt động giống lọc (filter) cho hình ảnh 2D đầu vào tạo hình ảnh khác cho đầu Chúng ta xem xét cụ thể 2D – convolution: Hình Hình2.3.Minh 4.Minh hoạ hoạ2D 2D––Convolution Convolution 14 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 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 15 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 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 16 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 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ự đoá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 tốn backpropagation cho q 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 Setting mơi trường đường dẫn cho tập tin dataset Sau upload dataset theo đường dẫn 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 Sau mã hố, 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 Hình 14 Mã hố tập dataset để đưa mạng CNN 21 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 15 Ảnh hiển thị matplotlib Hình 16.Mạng CNN 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 22 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 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% 23 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 Hình 19.Test 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 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) 24 Modulation Format Recognition and OSNR Estimation Using CNN-Based Deep Learning | IEEE Journals & Magazine | IEEE Xplore 25 26 ... 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 Mạng neural nhâ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