Thuật toán lan truyền bình phương trung bình căn bậc hai

Một phần của tài liệu Ứ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á (Trang 47)

Thuật toán lan truyền bình phương trung bình căn bậc hai (RMSProp) [28] là một phương pháp tỷ lệ học tập thích ứng được đề xuất bởi Geoffrey Hinton. Thuật toán này giữ một trung bình di động của các bình phương phần tử của các tham số độ dốc.

2 2 2 1 (1 ) t t t E gE gg             (3.7)  

E g là trung bình di chuyể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 chuyển (giá trị mặc định thường là 0,9). Thuật toán sử dụng trung bình di động này để chuẩn hóa các cập nhật của từng tham số riêng lẻ. 1 2 t t t t g E g             (3.8)

40

Sử dụng thuật toán này có hiệu quả làm giảm tốc độ học tập của các tham số với độ dốc lớn và tăng tốc độ học tập của các tham số với độ dốc nhỏ,  là một hằng số nhỏ bổ sung vào để mẫu tránh bằng 0.

3.4.2. Ước lượng mô men thích ứng

Ước lượng mô men thích ứng (Adam) [29] là một phương pháp khác để tính toán tỷ lệ học tập thích ứng cho từng tham số. Ngoài việc giữ trung bình phân rã theo các cấp số nhân của các độ dốc quá khứ mt:

1 1 (1 1) t t t m m   g (3.9) 2 2 1 (1 2) t t t v  v   g (3.10) t

mvt là ước lượng của mô men đầu tiên (giá trị trung bình) và mô men thứ hai (phương sai không được kiểm soát) của các độ 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 và thứ hai.

1 1 t t t m m     (3.11) 2 1 t t t v v    

Và cuối cùng ta có quy tắc cập nhật cho thuật toán:

1 t t t t m m           (3.12)

Thông thường cho 8

1 0,9, 2 0,999, 10

41

CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ 4.1.Tập dữ liệu dùng để trainning và testing

Trong chương này, tập ảnh Tomato8 bao gồm 8 loại lá bệnh và lá khỏe trên cây cà chua bao gồm: bệnh đốm vi khuẩn, bệnh bạc lá sớm, lá khỏe, bệnh bạc lá muộn, bệnh đốm lá nâu, bệnh nhện ve hai đốm, bệnh điểm mục tiêu, bệnh vàng xoắn lá. Mỗi loại lá bệnh được chia làm 2 tập dữ liệu là tập huấn luyện (training samples) và tập kiểm tra (testing samples), với tỷ lệ lần lượt là 80% và 20% được mô tả trong bảng 4.1

Bảng 4.1: Tập dữ liệu dùng để huấn luyện và kiểm tra

STT Loại bệnh lá cà chua Số mẫu huấn luyện Số mẫu kiểm tra

1 Bệnh đốm vi khuẩn 800 200 2 Bệnh bạc lá sớm 800 200 3 Lá khỏe 800 200 4 Bệnh bạc lá muộn 800 200 5 Bệnh đốm lá nâu 800 200 6 Bệnh nhện ve hai đốm 800 200 7 Bệnh điểm mục tiêu 800 200 8 Bệnh vàng xoắn lá 800 200

42

(a) Bệnh đốm vi khuẩn (b) Bệnh bạc lá sớm

(c) Lá khỏe (d) Bệnh bạc lá muộn

43

(g) Bệnh điểm mục tiêu (h) Bệnh vàng xoắn lá

(i) Lá bệnh được tách nền (j) Lá khỏe được tách nền

Hình 4.1. Mẫu lá bệnh và lá khỏe lấy từ tập dữ liệu Tomato8

4.2.Kết quả huấn luyện

Kết quả huấn luyện trên 3 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ể hiện trong hình 4.2. 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 trên từng phần nhỏ, đường nét đứt màu đen thể hiện độ chính xác của tập kiểm tra. Và trong biểu đồ Loss, đường màu đỏ cam là lỗi trên từng phần nhỏ, đường nét đứt màu đen là lỗi trên tập kiểm tra.

44

Hình 4.2. Biểu đồ huấn luyện trong 10 epoch trên 3 loại bệnh cà chua

Kết quả huấn luyện trên 5 loại bệnh cà chua: Kết quả độ chính xác của mô hình là 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ể hiện trong hình 4.3. 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 trên từng phần nhỏ, đường nét đứt màu đen thể hiện độ chính xác của tập kiểm tra. Và trong biểu đồ Loss, đường màu đỏ cam là lỗi trên từng phần nhỏ, đường nét đứt màu đen là lỗi trên tập kiểm tra.

45

Hình 4.3. Biểu đồ huấn luyện trong 10 epoch trên 5 loại bệnh cà chua

Kết quả huấn luyện trên 8 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ể hiện trong hình 4.4. 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 trên từng phần nhỏ, đường nét đứt màu đen thể hiện độ chính xác của tập kiểm tra. Và trong biểu đồ Loss, đường màu đỏ cam là lỗi trên từng phần nhỏ, đường nét đứt màu đen là lỗi trên tập kiểm tra.

46

Hình 4.4. Biểu đồ huấn luyện trong 10 epoch trên 8 loại bệnh cà chua

Kết quả huấn luyện trên 8 loại bệnh cà chua (tập ảnh lá được 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ể hiện trong hình 4.5. 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 trên từng phần nhỏ, đường nét đứt màu đen thể hiện độ chính xác của tập kiểm tra. Và trong biểu đồ Loss, đường màu đỏ cam là lỗi trên từng phần nhỏ, đường nét đứt màu đen là lỗi trên tập kiểm tra.

47

Hình 4.5. Biểu đồ huấn luyện trong 10 epoch trên 8 loại bệnh cà chua ( ảnh được tách khỏi nền)

Như vậy 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 từng trường hợp có số loại tập lá bệnh khác nhau, khi 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 đi. Trong hình 4.6, trục ngang thể hiện 4 trường hợp huấn luyện với 3 tập lá bệnh, 5 tập lá bệnh, 8 tập lá bệnh và 8 tập lá bệnh được tách khỏi nền, trục đứng thể hiện độ chính xác (%). Cụ thể kết quả như sau: với 3 loại tập lá bệnh hiệu suất là cao nhất 98,00%, 5 loại tập lá bệnh hiệu suất là 92,20%, 8 loại tập lá bệnh hiệu suất là 85,45%, thấp nhất là 8 tập lá bệnh được tách nền hiệu suất chỉ đạt 80,94%.

Đố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 4.7 thì trục ngang thể hiện 4 trường hợp huấn luyện với 3 tập lá bệnh, 5 tập lá bệnh, 8 tập lá bệnh và 8 tập lá bệnh

48

Hình 4.6. Biểu đồ so sánh độ chính xác phân loại trên các tập dữ liệu

Hình 4.7 :Biểu đồ so sánh thời gian huấn luyện trên các tập dữ liệu

được tách khỏi nền, trục đứng thể hiện thời gian huấn luyện (phút). Kết quả cụ thể như sau: với 3 loại tập lá bệnh thời gian nhanh nhất là 1075 phút, 5 loại tập lá bệnh thời gian

49

là 1832 phút, 8 loại tập lá bệnh thời gian là 2804 phút, lâu nhất là 8 tập lá bệnh được tách nền thời gian là 3144 phút.

4.3.Kết quả 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ể hiện. Trong hình 4.8, 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á trong luận văn này.

Trong hình 4.8a đánh giá độ chính xác phân loại của 3 tập lá bệnh với 3000 mẫu dữ liệu cho các lớp và 600 mẫu dữ 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 3 mẫu dữ liệu ở lớp 1 bị phân loại sai, 9 mẫu dữ liệu ở lớp 2 bị phân loại sai, và tất cả các mẫu ở lớp 3 được phân loại đúng. Do đó, độ chính xác phân loại cho lớp 1 là 98,5%, lớp 2 là 95,5%, lớp 3 là 100%, trung bình phân loại là 98%.

Trong hình 4.8b đánh giá độ chính xác phân loại của 5 tập lá bệnh với 5000 mẫu dữ liệu cho các lớp và 1000 mẫu dữ 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 9 mẫu dữ liệu ở lớp 1 bị phân loại sai, 36 mẫu dữ liệu ở lớp 2 bị phân loại sai, 7 mẫu dữ liệu ở lớp 3 bị phân loại sai, 15 mẫu dữ liệu ở lớp 4 bị phân loại sai,và 11 mẫu dữ liệu ở lớp 5 bị phân loại sai. Do đó, độ chính xác phân loại cho lớp 1 là 95,5%, lớp 2 là 82,0%, lớp 3 là 96,5%, lớp 4 là 92,5%, lớp 5 là 94,5%, trung bình phân loại là 92,2%.

50

(a)3 tập lá bệnh (b)5 tập lá bệnh

(c)8 tập lá bệnh (d)8 tập lá bệnh tách nền

Hình 4.8. Đánh giá độ chính xác trên ma trận nhầm lẫn

Trong hình 4.8c đánh giá độ chính xác phân loại của 8 tập lá bệnh với 8000 mẫu dữ liệu cho các lớp và 1600 mẫu dữ 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 dữ liệu ở lớp 1 bị phân loại sai, 58 mẫu

51

dữ liệu ở lớp 2 bị phân loại sai, 16 mẫu dữ liệu ở lớp 3 bị phân loại sai, 36 mẫu dữ liệu ở lớp 4 bị phân loại sai, 28 mẫu dữ liệu ở lớp 5 bị phân loại sai, 28 mẫu dữ liệu ở lớp 6 bị phân loại sai, 20 mẫu dữ liệu ở lớp 7 bị phân loại sai, và 14 mẫu dữ liệu ở lớp 8 bị phân loại sai. Do đó, độ chính xác phân loại cho lớp 1 là 86,5%, lớp 2 là 63,7%, lớp 3 là 92,0%, lớp 4 là 82,0%, lớp 5 là 86,0%, lớp 6 là 86,0%, lớp 7 là 90,0%, lớp 8 là 93,0%, trung bình phân loại là 85,4%.

Trong hình 4.8d đánh giá độ chính xác phân loại của 8 tập lá bệnh được tách nền với 8000 mẫu dữ liệu cho các lớp và 1600 mẫu dữ 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 dữ liệu ở lớp 1 bị phân loại sai, 114 mẫu dữ liệu ở lớp 2 bị phân loại sai, 18 mẫu dữ liệu ở lớp 3 bị phân loại sai, 44 mẫu dữ liệu ở lớp 4 bị phân loại sai, 27 mẫu dữ liệu ở lớp 5 bị phân loại sai, 13 mẫu dữ liệu ở lớp 6 bị phân loại sai, 50 mẫu dữ liệu ở lớp 7 bị phân loại sai, và 11 mẫu dữ liệu ở lớp 8 bị phân loại sai. Do đó, độ chính xác phân loại cho lớp 1 là 86,0%, lớp 2 là 43,0%, lớp 3 là 91,0%, lớp 4 là 78,0%, lớp 5 là 86,5%, lớp 6 là 93,5%, lớp 7 là 75,0%, lớp 8 là 94,5%, trung bình phân loại là 80,9%.

4.4.Đánh giá mô hình CNN VGG16

Ngoài việc thử nghiệm và đánh giá kết quả huấn luyện và phân loại của mạng VGG16 trong các trường hợp với 3 loại lá bệnh, 5 loại lá bệnh, 8 loại lá 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 các mô hình mạng khác trên tập dữ liệu lá bệnh trên cây cà chua, được thể hiện trong bảng 4.2. Trong bảng này cho ta thấy được kết quả huấn luyện và phân loại của các mô hình: AlexNet, GoogleNet, Inception V3, ResNet 50 và mô hình VGG16 của luận văn. Cụ thể, mô hình AlexNet huấn luyện và phân loại 9 loại lá bệnh cà chua đạt hiệu suất 98,93%. Tương tự, mô hình GoogleNet, Inception V3, ResNet 50 có hiệu suất huấn luyện và phân loại đạt lần lượt là 99,39%; 98,65%; và 99,15%. Đối với mô hình VGG16 của luận văn đạt hiệu suất huấn luyện và phân loại đạt: 84,45%, 92,20%, 98,00% cho các trường hợp 8 loại lá bệnh, 5 loại lá bệnh và 3 loại lá bệnh. Qua phân tích trên cho ta thấy rõ ràng là với các mô hình

52

mạng khác nhau và tập dữ liệu khác nhau thì sẽ cho hiệu suất khác nhau. Trong mô hình kiến nghị của luận văn, các trường hợp có tập dữ liệu với số loại lá bệnh khác nhau cũng sẽ có hiệu suất khác nhau, trong đó tập dữ liệu với 3 loại lá bệnh cho hiệu suất cao nhất là 98%.

Bảng 4.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 trong [25] và mô hình trong luận văn.

Mô hình mạng Tập lá bệnh

trên cây cà chua Độ chính xác

AlexNet 9 loại bệnh cà chua 98,93% GoogleNet 9 loại bệnh cà chua 99,39% Inception V3 9 loại bệnh cà chua 98,65% ResNet 50 9 loại bệnh cà chua 99,15% VGG16

(Mô hình của luận văn)

3 loại

bệnh cà chua 98,00%

VGG16

(Mô hình của luận văn)

5 loại

bệnh cà chua 92,20%

VGG16

(Mô hình của luận văn)

8 loại

53

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1. Kết luận

Luận văn đã xây dựng được hệ thống nhận biết bệnh cây 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 trong luận văn với hơn 8000 ảnh lá bệnh và lá khỏe của cây cà chua được thu thập từ tập dữ liệu Plantvillage. Tất cả các ảnh trong tập dữ 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 2 tập dữ 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% và 20%. Trong luận văn đã tiến hành huấn luyện và phân loại bệnh trên cây cà chua với bốn trường hợp lần lượt là 3 loại tập lá bệnh, 5 loại tập lá bệnh, 8 loại tập lá bệnh, và 8 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 3 loại tập lá bệnh, 92% đối với 5 loại tập lá bệnh, 85,45% đối với 8 loại tập lá bệnh và thấp nhất 80,94% đối với 8 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 3 loại tập lá bệnh, 1832 phút đối với 5 loại tập lá bệnh, 2804 phút đối với 8 loại tập lá bệnh và lâu nhất là 3144 phút đối với 8 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.

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

Trong tương lai, luận văn cần thu thập thêm hình ảnh từ môi trường thực tế và thực hiện tập dữ liệu đa dạng, phong phú hơn với nhiều loại lá bệnh trên các loại cây khác nhau. Ngoài ra, cần thử nghiệm thay đổi các lớp, các thông số trong mô hình mạng để so sánh, đánh giá và cải hiện hiệu suất cao hơn nữa.

54

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] Trimi Neha Tete, Sushma Kamlu, “Plant Disease Detection Using Different Algorithms”, ACSIS Proceedings of the Second International Conference on Research

Một phần của tài liệu Ứ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á (Trang 47)

Tải bản đầy đủ (PDF)

(102 trang)