(Luận văn thạc sĩ hcmute) ứng dụng mạng học sâu cho nhận biết bệnh cây bằng việc phân loại ảnh lá

118 3 0
(Luận văn thạc sĩ hcmute) ứng dụng mạng học sâu cho nhận biết bệnh cây bằng việc phân loại ảnh lá

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN MINH TUẤN ỨNG DỤNG MẠNG HỌC SÂU CHO NHẬN BIẾT BỆNH CÂY BẰNG VIỆC PHÂN LOẠI ẢNH LÁ NGÀNH: KỸ THUẬT ĐIỆN TỬ - 8520203 SKC007243 Tp Hồ Chí Minh, tháng 03/2021 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN MINH TUẤN ỨNG DỤNG MẠNG HỌC SÂU CHO NHẬN BIẾT BỆNH CÂY BẰNG VIỆC PHÂN LOẠI ẢNH LÁ NGÀNH: KỸ THUẬT ĐIỆN TỬ - 8520203 Tp Hồ Chí Minh, tháng 03 năm 2021 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN MINH TUẤN ỨNG DỤNG MẠNG HỌC SÂU CHO NHẬN BIẾT BỆNH CÂY BẰNG VIỆC PHÂN LOẠI ẢNH LÁ NGÀNH: KỸ THUẬT ĐIỆN TỬ - 8520203 Hướng dẫn khoa học: PGS.TS NGUYỄN THANH HẢI Tp Hồ Chí Minh, tháng 03 năm 2021 Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” i Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” ii Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” iii Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” iv Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” v Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” vi Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” vii Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” Journal for Control, Measurement, Electronics, Computing and Communications, vol 61, pp 260-272, 2020 [15] Siddharth Das, “CNN Architectures: LeNet, AlexNet, VGG, GooLeNet, ResNet”, Analytics Vidhya, Analytics and Data Science professionals, 2017 [16] Yosuke Toda, Fumlo Okura, “How Convolution Neural Network Diagnose Plant Disease’, AAAS Plant Phenomics, Volume 2019, Article ID 9237136, 14 pages, 2019 [17] Karen Simonyan, Andrew Zisserman, “Very Deep Convolutional Networks Fos Large-scale Image Recognition”, Computer Vision and Pattern Recognition, arXiv: 1409 1556v6, 2015 [18] Basmah Hyder, Muhammad Adeel Asghar, Fawad Khan, “Classification And Identification Of Tomato Leaf Disease Using Deep Neural Network”, ResearchGate, Conference Paper, IEEE Xplore, 2020 [19] Aravind Krishnaswamy Rangarajan, Raja Purushothanman, Aniirudh Ramesh, “Tomato Crop Disease Classification Using Pre-trained Deep Learning Algorithm”, Internatinal Conference on Robotics and Smart Manufacturing, Procedia Computer Science 133(2018), pp 1040-1047, 2018 [20] Valeria Maeda Gutierrez, Carlos E.Galvan Tejada, Laura A.Zanella Calzada, “Comparision Of Convolutional Neural Network Architectures for Classification ot Tomato Plant Diseases”, MDPI Journal Applied Sciences, 2020 [21] Tijmen Tieleman and Geoffrey Hinton, “Lecture 6.5-RMSProp: Divide The Gradient by A Running Average of Its Recent Magnitude”, COURSERA: Neural Networks for Machine Learning,2012 [22] Kingma, D.P., & Ba, J L, “Adam: A Method for Stochastic Optimization”, International Conference on Learning Representations, 2015 81 Luan van Luận văn Thạc sĩ: “Ứng dụng mạng học sâu cho nhận biết bệnh việc phân loại ảnh lá” Thông tin liên hệ tác giả (người chịu trách nhiệm viết): Họ tên: Nguyễn Minh Tuấn Đơn vị: Trường Trung cấp Bách Nghệ Tp.HCM Điện thoại: 0909914482 Email: tuanthien19022015@gmail.com Xác nhận Giảng viên hướng dẫn PGS.TS Nguyễn Thanh Hải 82 Luan van MẠNG HỌC SÂU CHO PHÂN LOẠI ẢNH LÁ CÂY A DEEP LEARNING NETWORK FOR CLASSIFICATION OF TREE DISEASE Nguyen Minh Tuan1, Nguyen Thanh Hai2 Học viên Cao học Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM TÓM TẮT Trong năm gần đây, việc ứng dụng mạng học sâu nông nghiệp để nhận biết bệnh việc phân loại ảnh phát triển mạnh mạng nơ-ron tích chập (CNN) mơ hình phổ biến Trong báo sử dụng mạng CNN VGG-16 để huấn luyện phân loại loại bệnh khỏe cà chua thu thập từ tập liệu Plantvillage Mỗi loại bệnh gồm 1000 ảnh chia thành tập tập huấn luyện tập kiểm tra với tỷ lệ 80% 20% Ảnh đầu vào chuẩn hóa để phù hợp với cấu trúc mạng CNN VGG-16 Bài báo trình bày việc sử dụng mạng CNN để huấn luyện phân loại nhóm bệnh khác nhau: bệnh, bệnh, bệnh dùng ma trận nhầm lẫn đánh giá hiệu suất phân loại mạng học sâu nhóm Cuối cùng, báo thực việc so sánh độ xác với số mơ hình khác để có hướng cải tiến nâng cao hiệu suất nhận biết bệnh việc phân loại ảnh thời gian tới Từ khóa: Phân loại bênh cây, mạng học sâu CNN VGG-16, ma trận nhầm lẫn, tập liệu bệnh ABSTRACT In recent years, the application of deep learning networks in agriculture for the identification of plant diseases is developing very strongly and the Convolutional Neural Network (CNN) is one of the most popular models In this paper, a CNN VGG-16 network for training and classifying types of leaf diseases on tomato plants collected from Plantvillage datasets is applied Each type of diseased leaves includes 1000 images divided into sets of training and testing with the rates of 80% and 20%, respectively The input image is standardized to fit the topology of the CNN VGG-16 model The paper presents the use of the CNN model for training and classifying each group of leaves: diseases, diseases, diseases and a confusion matrix for evaluating the classification efficiency of the deep learning network for each group is employed Finally, the paper shows the accuracy of the proposed model and some other models and the efficiency of plant disease classification can be developed for improving in the future Keywords: Tree disease classification, Deep learning CNN VGG-16 model, Confusion matrix, leaf disease datasets GIỚI THIỆU Nhận biết bệnh bằng việc phân loại ảnh lá là lĩnh vực được quan tâm nghiên cứu của rất nhiều học giả Hiện nay, thế giới có rất nhiều mô hình cũng thuật toán được đề xuất để giải quyết bài toán này Dr Neha Mangla và cộng sự [1] đã xây dựng hệ thống dùng phương pháp máy Vectơ hỗ trợ (SVM) để phát bệnh và chẩn đoán bệnh lá lúa Hình ảnh được tiền xử lý để nâng cao chất lượng hình ảnh, sau đó là bước phân đoạn hình ảnh, tiếp tục là bước trích đặc trưng, và cuối cùng là sử dụng phương pháp máy Vectơ hỗ trợ để phát và phân loại Hiện có rất nhiều công trình nghiên cứu sử dụng mạng CNN để nhận biết bệnh bằng việc phân loại ảnh lá Theo Melike Sardogan và cộng sự [2] đã sử dụng mô hình mạng Nơron tích chập CNN và phương pháp lượng tử hóa vector LVQ để phát và phân loại bệnh lá cà chua Tập liệu chứa 500 ảnh với bốn triệu chứng Tác giả áp dụng các bộ lọc áp dụng cho ba kênh RGB Phương pháp LVQ đã được cung cấp với các vector đặc trưng đầu của phần chập để huấn luyện mạng Theo Serawork Wallelign và cộng sự [3] đã xây dựng mô hình CNN dựa kiến trúc LeNet để thực phân loại bệnh đậu Luan van tương Tập ảnh gồm 12.673 mẫu gồm bốn loại lá bệnh Kết quả phân loại 99,32% Mợt sớ cơng trình khác [4-17] sử dụng các cấu trúc khác của mạng CNN để huấn luyện và phân loại các tập dự liệu hình ảnh bệnh là trồng khác Ngoài ra, cịn có mợt sớ cơng trình [18-20] sử dụng mợt số mô hình AlexNet, GoogleNet, Inception V3, ResNet 50 để thực huấn luyện và phân loại lá bệnh cà chua Đó là một số nghiên cứu tiêu biểu liên quan đến việc nhận biết bệnh bằng việc phân loại ảnh lá, mỗi nghiên cứu đều có ưu điểm và nhược điểm riêng PHƯƠNG PHÁP LUẬN Bệnh đốm vi khuẩn 1000 Bệnh bạc lá sớm 1000 Lá khỏe 1000 Bệnh bạc lá muộn 1000 Bệnh đốm lá nâu 1000 Bệnh nhện ve hai đốm Bệnh điểm mục tiêu 1000 Bệnh vàng xoắn lá 1000 Tổng cộng: 8000 2.1 Mô tả tập liệu Tập liệu PlantVillage được tải từ địa http://github.com/spMohanty/PlanVillage-Dat aset Tập liệu gồm 54.306 hình ảnh về các loại lá được chia thành 38 lớp nhãn, mỗi lớp nhãn là một loại bệnh một trồng Trong đó gồm 10 loại lá bệnh cà chua, loại lá bệnh táo, loại lá bệnh bắp, loại lá bệnh nho, loại lá bệnh khoai tây, loại lá bệnh anh đào, loại lá bệnh đào, loại lá bệnh tiêu, loại lá bệnh dâu tây, loại lá bệnh việt quất, loại lá bệnh cam, loại lá bệnh dâu rừng, loại lá bệnh đậu tương, loại lá bệnh bí đao Trong báotập ảnh đầu vào là loại lá bệnh và lá khỏe cà chua được lựa chọn từ tập liệu PlantVillage Mỗi loại lá bệnh gồm 1000 ảnh được chụp các dạng khác của loại lá bệnh Tất cả các ảnh đầu vào đều có kích thước là [256 x 256 x3] độ sắc nét, chi tiết và độ phân giải cao Tuy nhiên nếu ảnh có dung lượng quá lớn làm ảnh hưởng đến tốc độ quá trình xử lý và không phù hợp với đầu vào của một số mô hình mạng Để tốc độ xử lý hình ảnh được tốt chúng ta có thể định lại kích thước hình ảnh mà không làm ảnh hưởng đến kết quả xử lý Trong luận văn, tác giả sử dụng mô hình mạng VGG16 với yêu cầu ảnh đầu vào phải có kích thước [224 x 224 x3], nên tất cả các ảnh tập liệu được định lại kích thước để làm ảnh đầu vào của mô hình mạng 2.2 Tiền xử lý liệu ảnh Hình Ảnh được định lại kích cỡ  Định lại kích cỡ ảnh (resizing images): Trong kỹ thuật xử lý ảnh, hình ảnh thu vào được giữ đúng kích thước vật lý thì ảnh có Bảng 1: Tập liệu lá bệnh cà chua đầu vào Loại bệnh lá cà Số ảnh chua loại bệnh STT 1000  Tăng cường liệu Tăng cường liệu (data augmentation) là một kỹ thuật mạnh mẽ thị giác máy tính để tạo nhiều liệu huấn luyện từ liệu có sẵn Điều này có thể giúp mô hình tổng quát hóa tốt Việc tăng cường liệu được thực liệu huấn luyện (train- Luan van ing) Tăng cường liệu bao gồm một số phương pháp chính sau đây: Xoay ảnh: Xoay ảnh là một phương pháp áp dụng thuật toán gần giống phép lật ảnh Từ ảnh gốc ta thực phép xoay ảnh, để tính toán hình ảnh mới ta lặp lại tất cả các điểm ảnh (pixel) và in các điểm ảnh tương ứng từ hình ảnh nguồn Giả sử, ta muốn xoay ảnh một góc  thì điểm nằm tọa độ ( x p , y p ) hình thớng là bảo toàn cạnh tốt và ít mất “khối” đối với các cạnh Các pixel được nội suy sau: xi00,j  , j (3) xi11,j  MEDIAN  aij , aij  1, 1, j 1   xi01, j  MEDIAN  aij , , j 1 , 0.5xi111, j , 0.5x11 x 1 , j  xi10, j  MEDIAN  , j , 1, j 0.5xi11, j 1 , 0.5xi11, j 1  ảnh mới tương ứng với điểm (x, y) hình ảnh đầu vào được tính theo công thức: Trong đó “  ” là toán tử nhân rộng x p  x  cos( )  y  sin( ) 2.3 Cấu trúc mạng nơ-ron tích chập Gồm lớp bản: y p  x  sin( )  y  cos( ) (1) Nếu điểm ( x p , y p ) nằm ngoài hình ảnh đầu vào, nó bị bỏ qua (điểm ảnh đen) Điều này có thể được sử dụng để thực một phép quay, nhiên, tâm của phép quay tọa độ (0, 0) Để thay đổi tọa độ của tâm quay, chúng ta cần dịch chuyển tọa độ trước quay và sau quay theo công thức; x p  ( x  xc )*cos( )  ( y  yc )*sin( )  xc y p  ( x  xc )*sin( )  ( y  yc )*cos( )  yc (2) Lật ảnh (hiệu ứng gương) được thực bằng cách đảo ngược các điểm ảnh theo chiều ngang hoặc chiều dọc Khi ta thực phép lật ngang, điểm ảnh nằm tọa độ (x,y) hình ảnh gốc nằm tọa độ ( xw  1, y ) hình ảnh mới Phóng to hình ảnh: là mợt tác vụ quan trọng được sử dụng nhiều ứng dụng, bao gồm World Wide Web, video kỹ thuật số, DVD và hình ảnh khoa học Khi phóng to, các pixel được chèn vào hình ảnh để mở rộng kích thước của hình ảnh và nhiệm vụ chính là nội suy các pixel mới xung quanh các pixel ban đầu các trọng số trung bình đã được áp dụng cho các vấn đề tương tự yêu cầu nội suy Ưu điểm của việc sử dụng trung vị có trọng số nội suy so với các phương pháp tuyến tính truyền Lớp tích chập: Lớp sử dụng bộ lọc kích thước nhỏ lần lượt qt qua tồn bợ ảnh Mỡi lần dịch chủn theo một giá trị bước trượt Tại mỗi bước, bộ lọc tiến hành tích chập với các điểm ảnh vùng ảnh đó Ta cũng có thể dùng nhiều bợ lọc khác lên ảnh đầu vào để tìm nhiều đặc trưng của ảnh Giả sử bộ lọc w có kích thước m x n tích chập với ảnh đầu vào f(x,y) cho ngõ g(x,y) với công thức sau: m 1 g ( x, y )   s 0 n 1  w(s, t ) f ( x  s, y  t ) (4) t 0 Lớp hiệu chỉnh tuyến tính (ReLU): ReLU mợt hàm phi tuyến tính, chức của lớp chủn tồn bợ giá trị âm từ kết quả của lớp tích chập thành giá trị 0, nghĩa là Output = max(0,Input) Đầu của lớp ReLU có kích thước giống với đầu vào, tất cả giá trị âm nó được loại bỏ Lớp Pooling: Sau qua lớp Pooling, ảnh được giảm kích thước giữ được đặc trưng quan trọng của ảnh Khác với lớp tích chập, lớp tiến hành lấy mẫu (subsampling) thay tích chập Lớp Pooling lấy mảng nhỏ (filter kích thước 2x2 hoặc 3x3) từ lớp chập tạo mẫu đặc trưng cho nó Trong lớp Pooling thì phương pháp Max Pooling được áp dụng cho liệu ngõ vào này, chọn giá trị lớn nhất từ mỗi cửa sổ Luan van Lớp kết nối đầy đủ: một mạng nơ-ron nhiều tầng sử dụng chức kích hoạt softmax lớp đầu Kết nới đầy đủ có nghĩa nơ-ron lớp trước được kết nối với nơ-ron lớp kế tiếp Theo đó hệ thống mạng có lớp sau:   Hàm Softmax: hàm lấy mợt vectơ của sớ thực ch̉n hóa thành phân phới xác śt bao gồm xác śt theo tỷ lệ số mũ của số đầu vào  i  S ( f )i  e fi C e (5) fj j 1 Với f ngõ vào có kích thước k x l, 1≤ i ≤C, đó C số lớp đào tạo  Lớp ngõ ra: một vector biểu diễn lớp được định nghĩa hình ảnh ngõ vào Trong nghiên cứu này, mợt vector bao gồm liệu đại diện cho tập bệnh cà chua cần phân loại 2.4 Mơ hình mạng CNN VGG-16 Mơ hình mạng nơ-ron tích chập VGG-16 [17] là mô hình đã được đào tạo nhóm VGG Oxford Input 3x3 Conv, 256 3x3 Conv, 512 3x3 Conv, 64 3x3 Conv, 256 3x3 Conv, 512 3x3 Conv, 64 3x3 Conv, 256 3x3 Conv, 512 Max Pooling Max Pooling Max Pooling 3x3 Conv, 128 3x3 Conv, 512 FC 4096 3x3 Conv, 128 3x3 Conv, 512 FC 4096 Max Pooling 3x3 Conv, 512 FC Max Pooling Softmax    Conv: Convolutions FC: Fully Connected Output  Hình Mơ hình mạng VGG-16 Trong nghiên cứu này, nó được sử dụng để tìm hiểu cấu trúc chi tiết của mạng nơ-ron tích chập và ứng dụng nó cho phân loại lá bệnh cà chua  input: ngõ vào của ảnh cần phân loại với kích cỡ được chọn 224x224x3, cũng là ngõ vào của mạng conv1_1: lớp tích chập, sử dụng 64 bợ lọc với mỡi bợ lọc có kích thước 3x3 pixels, stride padding (tạo một đường viền bằng được áp lên ngõ vào), liệu ngõ lớp có kích cỡ 224 x 224 x 64 Theo đó, ta có (3 x x 3) x 64 = 1728 trọng số 64 bias, tổng cộng số lượng tham số (trọng số bias) 1792 Lớp relu1_1 hàm kích hoạt ReLU conv1_2: lớp tích chập, sử dụng 64 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 224 x 224 x 64 Theo đó, ta có (3 x x 64) x 64 = 36864 trọng số 64 bias, tổng cộng số lượng tham số 36928 Lớp relu1_2 hàm kích hoạt ReLU pool1: lớp max pooling với kích thước cửa sổ 2×2 stride 2, liệu ngõ lớp có kích cỡ 112 x 112 x 64 conv2_1: lớp tích chập, sử dụng 128 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 112 x 112 x 128 Theo đó, ta có (3 x x 64) x 128 = 73728 trọng số 128 bias, tổng cộng số lượng tham số 73856 Lớp relu2_1 hàm kích hoạt ReLU conv2_2: lớp tích chập, sử dụng 128 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 112 x 112 x 128 Theo đó, ta có (3 x x 128) x 128 = 147456 trọng số 128 bias, tổng cộng số lượng tham số 147584 Lớp relu2_2 hàm kích hoạt ReLU pool2: lớp max pooling với kích thước cửa sổ 2×2 stride 2, liệu ngõ lớp có kích cỡ 56 x 56 x 128 conv3_1: lớp tích chập, sử dụng 256 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 56 x 56 x 256 Theo đó, ta có (3 x Luan van       x 128) x 256 = 294912 trọng số 256 bias, tổng cộng số lượng tham số 295168 Lớp relu3_1 hàm kích hoạt ReLU conv3_2: lớp tích chập, sử dụng 256 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 56 x 56 x 256 Theo đó, ta có (3 x x 256) x 256 = 589824 trọng số 256 bias, tổng cộng số lượng tham số 590080 Lớp relu3_2 hàm kích hoạt ReLU conv3_3: lớp tích chập, sử dụng 256 bợ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 56 x 56 x 256 Theo đó, ta có (3 x x 256) x 256 = 589824 trọng số 256 bias, tổng cộng số lượng tham số 590080 Lớp relu3_3 hàm kích hoạt ReLU pool3: lớp max pooling với kích thước cửa sổ 2×2 stride 2, liệu ngõ lớp có kích cỡ 28 x 28 x 256 conv4_1: lớp tích chập, sử dụng 512 bợ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 28 x 28 x 512 Theo đó, ta có (3 x x 256) x 512 = 1179648 trọng số 512 bias, tổng cộng số lượng tham số 1180160 Lớp relu4_1 hàm kích hoạt ReLU conv4_2: lớp tích chập, sử dụng 512 bợ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 28 x 28 x 512 Theo đó, ta có (3 x x 512) x 512 = 2359296 trọng số 512 bias, tổng cộng số lượng tham số 2359808 Lớp relu4_2 hàm kích hoạt ReLU conv4_3: lớp tích chập, sử dụng 512 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 28 x 28 x 512 Theo đó, ta có (3 x x 512) x 512 = 2359296 trọng số 512 bias, tổng cộng số lượng tham số 2359808 Lớp relu4_3 hàm kích hoạt ReLU         pool4: lớp max pooling với kích thước cửa sổ 2×2 stride 2, liệu ngõ lớp có kích cỡ 14 x 14 x 512 conv5_1: lớp tích chập, sử dụng 512 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 14 x 14 x 512 Theo đó, ta có (3 x x 512) x 512 = 2359296 trọng số 512 bias, tổng cộng số lượng tham số 2359808 Lớp relu5_1 hàm kích hoạt ReLU conv5_2: lớp tích chập, sử dụng 512 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 14 x 14 x 512 Theo đó, ta có (3 x x 512) x 512 = 2359296 trọng số 512 bias, tổng cộng số lượng tham số 2359808 Lớp relu5_2 hàm kích hoạt ReLU conv5_3: lớp tích chập, sử dụng 512 bộ lọc với kích thước 3x3 pixels, stride padding 1, liệu ngõ lớp có kích cỡ 14 x 14 x 512 Theo đó, ta có (3 x x 512) x 512 = 2359296 trọng số 512 bias, tổng cộng số lượng tham số 2359808 Lớp relu5_3 hàm kích hoạt ReLU pool5: lớp max pooling với kích thước cửa sổ 2×2 stride 2, liệu ngõ lớp có kích cỡ x x 512 fc6: lớp kết nới đầy đủ có 4096 nơ-ron Theo đó, ta có 4096 x 25088 = 102760448 trọng số 4096 bias, tổng cộng số lượng tham số 102764544 Lớp relu6 hàm kích hoạt ReLU drop6: drop out được áp dụng với tỉ lệ 0.5, tức là có 50% nơ-ron của lớp fc6 bị tắt trình huấn luyện, nhằm hạn chế tượng khớp (overfitting) vốn một nhược điểm lớn mạng nơ-ron nhân tạo fc7: lớp kết nới đầy đủ thứ hai có 4096 nơ-ron Theo đó, ta có 4096 x 4096 = 16777216 trọng số 4096 bias, tổng cộng số lượng tham số 16781312 Lớp relu7 hàm kích hoạt ReLU Luan van    drop7: drop out 50% số node mạng liên kết của lớp fc7 fc8: lớp kết nới đầy đủ ći có sớ nơ-ron tương ứng với sớ danh tính cần phân loại Đi cùng với hàm kích hoạt softmax Ví dụ nếu ta có đới tượng cần phân loại ngõ sớ nơ-ron lớp này là Theo đó, ta có x 4096 = 32768 trọng số bias, tổng cộng lại số lượng tham số 32776 classoutput : mợt lớp phân loại tính tốn tổn thất cross entropy cho vấn đề phân loại đa lớp với lớp loại trừ lẫn 2.5 Thuật toán tối ưu dùng huấn luyện  Thuật tốn lan truyền bình phương trung bình bậc hai Thuật toán lan truyền bình phương trung bình bậc hai (RMSProp) [21] một phương pháp tỷ lệ học tập thích ứng được đề xuất Geoffrey Hinton Thuật tốn giữ mợt trung bình di đợng của các bình phương phần tử của tham số độ dốc E[ g ]t  E[ g ]t 1  (1   ) g t (6) E[g] trung bình di chủn của bình phương đợ dớc, gt là độ dốc của hàm chi phí đối với trọng số, η là tỷ lệ học tập β là tham sớ trung bình di chủn (giá trị mặc định thường 0,9) Thuật tốn sử dụng trung bình di đợng này để chuẩn hóa cập nhật của tham số riêng lẻ  t 1   t   E[ g ]t   một phương pháp khác để tính tốn tỷ lệ học tập thích ứng cho tham sớ Ngồi việc giữ trung bình phân rã theo cấp số nhân của các bình phương độ dốc khứ vt , nó cũng giữ mức trung bình phân rã theo cấp sớ nhân của các đợ dốc khứ mt : mt  1mt 1  (1  1 ) g t (8) vt   vt 1  (1   ) g t mt vt là ước lượng của mô men (giá trị trung bình) mơ men thứ hai (phương sai khơng được kiểm sốt) của độ dốc tương ứng Những bias thêm vào để điều chỉnh sai lệch ước lượng mô men thứ nhất thứ hai mˆ t  mt  1t (9) vˆt  vt   2t Và cuối ta có quy tắc cập nhật cho thuật tốn: t 1  t   mˆ t vˆt   (10) Thông thường cho β1 = 0,9, β2 = 0,999, ε = 10-8 KẾT QUẢ VÀ THẢO LUẬN 3.1 Kết huấn luyện mạng gt (7) Sử dụng thuật tốn có hiệu quả làm giảm tớc đợ học tập của tham số với độ dốc lớn và tăng tốc độ học tập của tham số với độ dốc nhỏ, ɛ một hằng số nhỏ bổ sung vào để mẫu tránh bằng  Ước lượng mơ men thích ứng Ước lượng mơ men thích ứng (Adam) [22] Việc huấn luyện mạng được thực 10 epoch tập liệu lá bệnh cà chua Kết quả được thể qua biểu đồ chính xác và lỗi tương ứng  Kết huấn luyện loại bệnh cà chua Kết quả độ chính xác của mô hình là 98.00% Thời gian hoàn thành quá trình huấn luyện là 1075 phút được thể hình Trong biểu đồ Accuracy_đường màu xanh dương là Luan van độ chính xác của quá trình huấn luyện, nó phân loại chính xác phần nhỏ, đường nét đứt màu đen thể độ chính xác của tập kiểm tra Và biểu đồ Loss, đường màu đỏ cam là lỗi phần nhỏ, đường nét đứt màu đen là lỗi tập kiểm tra  Kết huấn luyện loại bệnh cà chua: Kết quả độ chính xác của mô hình là 85.45% Thời gian hoàn thành quá trình huấn luyện là 2804 phút 56 giây được thể hình Trong biểu đồ Accuracy_đường màu xanh dương là độ chính xác của quá trình huấn luyện, nó phân loại chính xác phần nhỏ, đường nét đứt màu đen thể độ chính xác của tập kiểm tra Và biểu đồ Loss, đường màu đỏ cam là lỗi phần nhỏ, đường nét đứt màu đen là lỡi tập kiểm tra Hình Biểu đồ huấn luyện 10 epoch loại bệnh cà chua  Kết huấn luyện loại bệnh cà chua: Kết quả đợ chính xác của mơ hình 92.20% Thời gian hoàn thành quá trình huấn luyện là 1832 phút 52 giây được thể hình Trong biểu đồ Accuracy_đường màu xanh dương là độ chính xác của quá trình huấn luyện, nó phân loại chính xác phần nhỏ, đường nét đứt màu đen thể độ chính xác của tập kiểm tra Và biểu đồ Loss, đường màu đỏ cam là lỗi phần nhỏ, đường nét đứt màu đen là lỡi tập kiểm tra Hình Biểu đồ huấn luyện 10 epoch loại bệnh cà chua Hình Biểu đồ huấn luyện 10 epoch loại bệnh cà chua  Kết huấn luyện loại bệnh cà chua (tập ảnh phân đoạn tách khỏi nền): Kết quả độ chính xác của mô hình là 80.94% Thời gian hoàn thành quá trình huấn luyện là 3144 phút 37 giây được thể hình Trong biểu đồ Accuracy_đường màu xanh dương là độ chính xác của quá trình huấn luyện, nó phân loại chính xác phần nhỏ, Hình Biểu đồ huấn luyện 10 epoch loại bệnh cà chua (ảnh được tách khỏi nền) Luan van đường nét đứt màu đen thể độ chính xác của tập kiểm tra Và biểu đồ Loss, đường màu đỏ cam là lỗi phần nhỏ, đường nét đứt màu đen là lỗi tập kiểm tra Như qua các biểu đồ huấn luyện cho thấy hiệu suất phân loại bị ảnh hưởng đối với trường hợp có số loại tập lá bệnh khác nhau, huấn luyện số loại tập lá bệnh càng nhiều thì hiệu suất phân loại càng giảm Trong hình 7, trục ngang thể trường hợp huấn luyện với tập lá bệnh, tập lá bệnh, tập lá bệnh và tập lá bệnh được tách khỏi nền, trục đứng thể độ chính xác (%) Cụ thể kết quả sau: với loại tập lá bệnh hiệu suất là cao nhất 98,00%, loại tập lá bệnh hiệu suất là 92,20%, loại tập lá bệnh hiệu suất là 85,45%, thấp nhất là tập lá bệnh được tách nền hiệu suất đạt 80,94% Hình Biểu đồ so sánh đợ chính xác phân loại các tập liệu Hình :Biểu đồ so sánh thời gian huấn luyện các tập liệu Đối với thời gian huấn luyện cũng có sự thay đổi tương ứng, trường họp số tập lá bệnh càng nhiều thì thời gian huấn luyện càng lâu Trong hình thì trục ngang thể trường hợp huấn luyện với tập lá bệnh, tập lá bệnh, tập lá bệnh và tập lá bệnh được tách khỏi nền, trục đứng thể thời gian huấn luyện (phút) Kết quả cụ thể sau: với loại tập lá bệnh thời gian nhanh nhất là 1075 phút, loại tập lá bệnh thời gian là 1832 phút, loại tập lá bệnh thời gian là 2804 phút, lâu nhất là tập lá bệnh được tách nền thời gian là 3144 phút 3.2 Kết phân loại Để đánh giá độ chính xác kết quả phân loại chúng ta có thể sử dụng ma trận nhầm lẫn ( confusion matrix) để thể Trong hình 9, các hàng tương ứng với lớp dự đoán (Output Class) và các cột tương ứng với lớp mục tiêu (Target Class) Các ô chéo màu xanh tương ứng với các phân loại chính xác, ngoài đường chéo tương ứng với các phân loại không chính xác Cột phía bên phải của ma trận là Precision-tỷ lệ phần trăm của tất cả các mẫu được dự đoán của mỗi lớp được phân loại chính xác (chữ xanh) và không chính xác (chữ đỏ) Hàng dưới cùng của ma trận là Recal-tỷ lệ phần trăm của tất cả các mẫu của mỗi lớp được phân loại chính xác và khơng chính xác Ơ dưới cùng bên phải của ma trận là độ chính xác tổng thể (Accuracy) và nó được dùng đề đánh giá báonày Trong hình 9(a) đánh giá đợ chính xác phân loại của tập lá bệnh với 3000 mẫu liệu cho các lớp và 600 mẫu liệu được xem xét để kiểm tra hiệu suất của hệ thống Trong số 600 mẫu này, 12 phân loại sai gồm mẫu liệu lớp bị phân loại sai, mẫu liệu lớp bị phân loại sai, và tất cả các mẫu lớp được phân loại đúng Do đó, độ chính xác phân loại cho lớp là 98,5%, lớp là 95,5%, lớp là 100%, trung bình phân loại là 98% Trong hình 9(b) đánh giá đợ chính xác phân loại của tập lá bệnh với 5000 mẫu liệu cho các lớp và 1000 mẫu liệu được xem xét để kiểm tra hiệu suất của hệ thống Trong số 1000 mẫu này, 78 phân loại sai gồm mẫu liệu lớp bị phân loại sai, 36 mẫu liệu lớp bị phân loại sai, mẫu liệu lớp bị phân loại sai, 15 mẫu liệu lớp bị phân loại sai,và 11 mẫu liệu lớp bị phân loại sai Do đó, độ chính xác phân loại cho lớp là 95,5%, lớp Luan van là 82,0%, lớp là 96,5%, lớp là 92,5%, lớp là 94,5%, trung bình phân loại là 92,2% 78,0%, lớp là 86,5%, lớp là 93,5%, lớp là 75,0%, lớp là 94,5%, trung bình phân loại 80,9% 3.3 Đánh giá mơ hình CNN VGG16 Hình Đánh giá đợ chính xác ma trận nhầm lẫn Trong hình 9(c) đánh giá đợ chính xác phân loại của tập lá bệnh với 8000 mẫu liệu cho các lớp và 1600 mẫu liệu được xem xét để kiểm tra hiệu suất của hệ thống Trong số 1600 mẫu này, 227 phân loại sai gồm 27 mẫu liệu lớp bị phân loại sai, 58 mẫu liệu lớp bị phân loại sai, 16 mẫu liệu lớp bị phân loại sai, 36 mẫu liệu lớp bị phân loại sai, 28 mẫu liệu lớp bị phân loại sai, 28 mẫu liệu lớp bị phân loại sai, 20 mẫu liệu lớp bị phân loại sai, và 14 mẫu liệu lớp bị phân loại sai Do đó, độ chính xác phân loại cho lớp là 86,5%, lớp là 63,7%, lớp là 92,0%, lớp là 82,0%, lớp là 86,0%, lớp là 86,0%, lớp là 90,0%, lớp là 93,0%, trung bình phân loại là 85,4% Trong hình 9(d) đánh giá độ chính xác phân loại của tập lá bệnh được tách nền với 8000 mẫu liệu cho các lớp và 1600 mẫu liệu được xem xét để kiểm tra hiệu suất của hệ thống Trong số 1600 mẫu này, 305 phân loại sai gồm 28 mẫu liệu lớp bị phân loại sai, 114 mẫu liệu lớp bị phân loại sai, 18 mẫu liệu lớp bị phân loại sai, 44 mẫu liệu lớp bị phân loại sai, 27 mẫu liệu lớp bị phân loại sai, 13 mẫu liệu lớp bị phân loại sai, 50 mẫu liệu lớp bị phân loại sai, và 11 mẫu liệu lớp bị phân loại sai Do đó, độ chính xác phân loại cho lớp là 86,0%, lớp là 43,0%, lớp là 91,0%, lớp là Ngoài việc thử nghiệm và đánh giá kết quả huấn luyện phân loại của mạng VGG16 các trường hợp với loại bệnh, loại bệnh, loại bệnh Trong luận văn trình bày kết quả của mợt sớ cơng trình nghiên cứu khác với mơ hình mạng khác tập liệu bệnh cà chua, được thể bảng 4.2 Trong bảng cho ta thấy được kết quả h́n luyện phân loại của mơ hình: AlexNet, GoogleNet, Inception V3, ResNet 50 mơ hình VGG16 của luận văn Cụ thể, mơ hình AlexNet h́n luyện phân loại loại bệnh cà chua đạt hiệu śt 98,93% Tương tự, mơ hình GoogleNet, Inception V3, ResNet 50 có hiệu suất huấn luyện phân loại đạt lần lượt 99,39%; 98,65%; và 99,15% Đối với mơ hình VGG16 của luận văn đạt hiệu śt h́n luyện phân loại đạt: 84,45%, 92,20%, 98,00% cho trường hợp loại bệnh, loại bệnh loại bệnh Qua phân tích cho ta thấy rõ ràng với mơ hình mạng khác tập liệu khác cho hiệu śt khác Trong mơ hình kiến nghị của luận văn, các trường hợp có tập liệu với sớ loại bệnh khác cũng có hiệu suất khác nhau, đó tập liệu với loại bệnh cho hiệu suất cao nhất 98% Bảng 2: Hiệu suất phân loại của mô hình mạng với các mô hình khác [20] mô hình của luận văn Mơ hình mạng AlexNet GoogleNet Inception V3 ResNet 50 Luan van Tập bệnh cà chua loại bệnh cà chua loại bệnh cà chua loại bệnh cà chua loại bệnh cà chua Độ xác 98,93% 99,39% 98,65% 99,15% VGG16 (Mô hình của luận văn) VGG16 (Mô hình của luận văn) VGG16 (Mô hình của luận văn) loại bệnh cà chua 98,00% loại bệnh cà chua 92,20% loại bệnh cà chua 85,45% KẾT LUẬN Bài báo đã xây dựng được hệ thống phân loại bệnh bằng việc phân loại ảnh lá sử dụng mạng nơron tích chập - VGG16 Dữ liệu sử dụng báovới 8000 ảnh lá bệnh và lá khỏe của cà chua được thu thập từ tập liệu Plantvillage Tất cả các ảnh tập liệu có kích thước [256x256x3] đã được định lại kích cỡ [224x224x3] cho phù hợp với yêu cầu đầu vào của mô hình VGG16 Mỗi tập lá bệnh được làm tập liệu là tập huấn luyện và tập kiểm tra với tỷ lệ lần lượt là 80% 20% Trong báo đã tiến hành huấn luyện và phân loại bệnh cà chua với bốn trường hợp lần lượt là loại tập lá bệnh, loại tập lá bệnh, loại tập lá bệnh, và loại tập lá bệnh được tách nền Kết quả huấn luyện và phân loại đạt hiệu suất cao nhất là 98% đối với loại tập lá bệnh, 92% đối với loại tập lá bệnh, 85,45% đối với loại tập lá bệnh và thấp nhất 80,94% đối với loại tập lá bệnh được tách nền Thời gian huấn luyện cũng có sự thay đổi tương ứng là nhanh nhất là 1075 phút đối với loại tập lá bệnh, 1832 phút đối với loại tập lá bệnh, 2804 phút đối với loại tập lá bệnh và lâu nhất là 3144 phút đối với loại tập lá bệnh được tách khỏi nền Qua kết quả cho thấy mô hình đạt hiệu suất tương đối cao LỜI CẢM ƠN Các tác giả muốn gửi lời cảm ơn đến trường Đại học Sư Phạm Kỹ Thuật Tp HCM đã tạo điều kiện thuận lợi để hoàn thành nghiên cứu này TÀI LIỆU THAM KHẢO [1] Dr.Neha Mangla, Priyanka B Raj, Soumya G Hegde, Pooja R, “Paddy Leaf Disease Detection Using Image Processing and Machine Learning”, IJIREEICE International Journal of Innovative Research in Electrical, Electronics, Instrumentation and Control Engineering, vol 7, Issue 2, 2019 [2] Melike Sardogan, Adem Tuncer, Yunus Ozen, “Plant Leaf Disease Detection and Classification Based on CNN with LVQ Algorithm”, 3rd International Conference on Computer Science and Engineering, 2018 [3] Serawork Wallelign, Mihai Polceanu, Cedric Buche, “Soybean Plant Disease Indentification Using Convolutional Neural Network”, The Thirty-First International Florida Artificial Intelligence Research Society Conference, FLAIRS-31, 2012 [4] Samer Hijazi, Rishi Kumar, Chris Rowen, IP Group, Cadence, Using Convolutional Neural Networks for Image Recognition, 2018 [5] S.Santhana Hari, Mr.Sivakumar, Dr.P.Renuga, S.Karthikeyan, S.Suriya, “Detection Of Plant Disease By Leaf Image Using Convolutional Neural Network”, ViTECoN International Conference on Vision Towards Emerging Trends in Communication and Networking, 2019 Luan van [6] Jiahuan Zhou, Di Xiao, Mengyi Zhang, “Feature Correlation Loss in Convolution Neural Networks for Image Classification”, IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference, 2019 [7] Adnan Mushtaq Ali Karol, Drushti Gulhane, Tejal Chandiwade, “Plant Disease Detection Using CNN & Remedy”, IJAREEIE International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, vol 8, issue 3, 2019 [8] Aravind Krishnaswamy Rangarajan, Raja Purushothaman, “Disease Classification in Eggplant Using Pre-trained VGG16 and MSVM”, Scientific Reports Nature Research, 2020 [9] Srdjan Sladojevic, Marko Arsenovic, Andras Anderla, Dubravko Culibrk, Darko Stefanovic, “Deep Neural Networks Based Recognition of Plant Disease by Leaf Image Classification”, Hindawi Publishing Corporation Computational Intelligence and Neuroscience Volume 2016, Article ID 3289801, 11 pages, 2016 [10] Sachin B.Jadhav, Vishwanath R.Udupi, Sanjay B.Patil, “Convolutional Neural Networks For Leaf Image-based Plant Disease Classification”, IAES International Journal of Artificial Intelligence, vol 8, No 4, pp 328~341, 2019 [11] Muhammad Hammad Saleem, Johan Potgieter, Khalid Mahmood Arif, “Plant Disease Detection And Classification By Deep Learing”, Plants MDPI, vol 8, pp 468, 2019 [12] Qian Yan, Baohua Yang, Wenyan Wang, Bing Wang, Peng Chen, Jun Zhang, “Apple Leaf Disease Recognition Based on An Improved Convolutional Neural Network”, MDPI Journal Sensors, 2020 [17] Sharada Prasanna Mohanty, David Hughes, Marcel Salathe, “Using Deep Learning For Image-Based Plant Disease Detection”, Digital Epidemiology Lab, EPFL, Switzerland, 2016 [13] Sijiang Huang, Weijie Liu, Fei Qi, Kepeng Yang, “Development And Validation Of A Deep Learning Algorithm For The Recognition Of Plant Disease”, IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Coference on Data Science and Systems, 2019 [14] Krishnaswamy Rangarajan Aravind, Purushothaman Raja, “Automated Disease Classification In Agricultural Crops Using Transfer Learning”, Automatika Journal for Control, Measurement, Electronics, Computing and Communications, vol 61, pp 260-272, 2020 [15] Siddharth Das, “CNN Architectures: LeNet, AlexNet, VGG, GooLeNet, ResNet”, Analytics Vidhya, Analytics and Data Science professionals, 2017 [16] Yosuke Toda, Fumlo Okura, “How Convolution Neural Network Diagnose Plant Disease’, AAAS Plant Phenomics, Volume 2019, Article ID 9237136, 14 pages, 2019 Luan van [17] Karen Simonyan, Andrew Zisserman, “Very Deep Convolutional Networks Fos Large-scale Image Recognition”, Computer Vision and Pattern Recognition, arXiv: 1409 1556v6, 2015 [18] Basmah Hyder, Muhammad Adeel Asghar, Fawad Khan, “Classification And Identification Of Tomato Leaf Disease Using Deep Neural Network”, ResearchGate, Conference Paper, IEEE Xplore, 2020 [19] Aravind Krishnaswamy Rangarajan, Raja Purushothanman, Aniirudh Ramesh, “Tomato Crop Disease Classification Using Pre-trained Deep Learning Algorithm”, Internatinal Conference on Robotics and Smart Manufacturing, Procedia Computer Science 133(2018), pp 1040-1047, 2018 [20] Valeria Maeda Gutierrez, Carlos E.Galvan Tejada, Laura A.Zanella Calzada, “Comparision Of Convolutional Neural Network Architectures for Classification ot Tomato Plant Diseases”, MDPI Journal Applied Sciences, 2020 [21] Tijmen Tieleman and Geoffrey Hinton, “Lecture 6.5-RMSProp: Divide The Gradient by A Running Average of Its Recent Magnitude”, COURSERA: Neural Networks for Machine Learning,2012 [22] Kingma, D.P., & Ba, J L, “Adam: A Method for Stochastic Optimization”, International Conference on Learning Representations, 2015 Thông tin liên hệ tác giả (người chịu trách nhiệm viết): Họ tên: Nguyễn Minh Tuấn Đơn vị: Trường Trung cấp Bách Nghệ Tp.HCM Điện thoại: 0909914482 Email: tuanthien19022015@gmail.com Xác nhận Giảng viên hướng dẫn PGS.TS Nguyễn Thanh Hải Luan van Luan van

Ngày đăng: 27/12/2023, 04:36

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

Tài liệu liên quan