Xem mẫu

  1. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Mô hình CNN nhẹ cho bài toán phân loại sâu bệnh trên lúa Nguyễn Thanh Thiện Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP.HCM Email: thiennt@uit.edu.vn Abstract— Việc phát hiện sâu bệnh đóng vai trò quan (Convolution Neural Network – CNN), để giải quyết trọng trong hoạt động nông nghiệp nói chung cũng như bài toán này có thể phân chia thành một số hướng tiếp sản xuất lúa gạo nói riêng. Trong xu thế ứng dụng các cận chính. Hướng tiếp cận đầu tiên dựa trên phương thành tựu khoa học kỹ thuật vào sản xuất nông nghiệp, pháp transfer learning: sử dụng lại trọng số (toàn bộ hướng tới một nền nông nghiệp công nghệ cao, tiên tiến, hoặc một phần) của các mô hình đã được huấn luyện hiện đại, làm thế nào để có thể phát hiện chính xác một (pre-trained) trên một tập dữ liệu tổng quát với kích cách tự động sâu bệnh trở thành một bài toán có nhiều ý thước lớn (thường là ImageNet), sau đó tiến hành tinh nghĩa thực tế. Trong bài báo này, chúng tôi đề xuất một chỉnh cấu trúc mạng và cuối cùng là huấn luyện lại cấu mô hình CNN nhẹ (lightweight) có khả năng phân loại trúc mạng mới (nếu cần). Các thao tác tinh chỉnh cấu sâu bệnh trên cây lúa. Mô hình sử dụng thiết kế Skip- Layer Excitation (SLE) với số lượng tham số ít, độ phức trúc mạng thường được sử dụng gồm có thêm hoặc bớt tập tính toán thấp, rất phù hợp để triển khai trong thực một số lớp CNN, thay đổi bộ phân lớp – thường là các tế trên các thiết bị nhúng với khả năng xử lý hạn chế. Kết lớp kết nối đầy đủ (Fully Connected – FC). Hướng tiếp quả thực nghiệm cho thấy mô hình có hiệu quả tương cận sử dụng transfer learning được sử dụng phổ biến đương các mô hình tương tự trên nhiều tập dữ liệu khác trong nhiều nghiên cứu về bài toán này. Nhóm tác giả nhau. Shrivastava [1] sử dụng mô hình AlexNet để trích xuất đặc trưng và dùng Support Vector Machine (SVM) để Keywords- Phân loại ảnh, mô hình CNN nhẹ, sâu bệnh phân lớp dựa trên các đặc trưng này. Nghiên cứu của trên lúa, Skip-Layer Excitation. Chen [2] kết hợp mô hình DenseNet với khối Inception để tạo thành mô hình DENS-INCEP. Kathiresan và các I. GIỚI THIỆU đồng nghiệp [3] đề xuất mô hình RiceDenseNet dựa trên kiến trúc mạng Densenet-169 bằng cách thêm lớp Lúa là một trong những cây lương thực quan trọng Max pooling vào mô hình gốc và thêm các lớp Average trên thế giới. Sự phát triển của cây lúa chịu tác động pooling, FC, Dropout, Batch Normalization vào bộ của nhiều yếu tố trong đó sâu bệnh là một trong những phân lớp hiện có. Nhìn chung, hướng tiếp cận transfer yếu tố tiêu cực gây ra nhiều ảnh hưởng nghiêm trọng. learning dễ thực hiện và có hiệu suất cao (phần lớn đều Nếu không được phát hiện và diệt trừ sớm, sâu bệnh sẽ đạt được độ chính xác hơn 90%) vì được xây dựng dựa làm chậm quá trình sinh trưởng của cây lúa cũng như trên các mô hình đã chứng tỏ được hiệu quả trong bài làm giảm năng suất và chất lượng lúa thu hoạch. toán phân lớp ảnh tổng quát. Tuy nhiên, hầu hết các mô Nếu như trước đây sâu bệnh chỉ được phát hiện một hình trên đều có kích thước lớn, nhiều tham số do sử cách thủ công thông qua quan sát bằng mắt thường thì dụng nhiều lớp CNN nên khó triển khai hoặc nếu triển khai được cũng hoạt động kém hiệu quả trong môi hiện nay bằng việc áp dụng một số công nghệ và kỹ trường ứng dụng thực tế (thường chỉ có các thiết bị có thuật mới, việc phát hiện sâu bệnh đã có thể được thực khả năng xử lý hạn chế, hiệu năng thấp như điện thoại hiện một cách tự động với độ chính xác cao, góp phần di động, Raspberry Pi, …). làm giảm chi phí, tăng cường hiệu quả sản xuất nông nghiệp. Một trong những kỹ thuật thu hút được nhiều Một hướng tiếp cận khác cũng sử dụng CNN cho sự chú ý và đầu tư nghiên cứu trong thời gian gần đây bài toán này là xây dựng các kiến trúc mạng mới nhẹ hơn bằng cách sử dụng ít lớp CNN đồng thời kết hợp là các kỹ thuật xử lý ảnh trên nền tảng trí tuệ nhân tạo, thêm một số kỹ thuật xử lý khác nhưng vẫn cho hiệu mà cụ thể là các mô hình học sâu (deep learning). Các quả tương đương hoặc tốt hơn các mô hình mạng nhiều mô hình này đã cho thấy hiệu quả vượt trội so với các lớp như trên. Đây là hướng tiếp cận có nhiều khả năng kỹ thuật máy học truyền thống trước đây, đặc biệt là phát triển và ứng dụng trong thực tế, do các mô hình trong các bài toán về phân loại ảnh, nên ngày càng được tạo ra theo hướng này thường có chi phí tính toán được sử dụng rộng rãi. thấp, cấu trúc đơn giản nên rất thuận lợi để triển khai Các nghiên cứu áp dụng mô hình học sâu, mà phổ trên nhiều môi trường và thiết bị phần cứng khác nhau. biến là sử dụng các mạng mang nơ-ron tích chập Nghiên cứu của Yang [4] đã cho thấy hiệu quả của hướng tiếp cận này trong một số bài toán tương tự. ISBN 978-604-80-5958-3 288
  2. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Rahman [5] đề xuất một mô hình CNN đơn giản, gọi là - Mô hình đề xuất có hiệu suất tương đương các Simple CNN để phân loại sâu bệnh trên cây lúa. Mô mô hình cùng loại khi thực nghiệm trên các bộ hình này sử dụng 5 lớp tích chập và 3 lớp FC để phân dữ liệu khác nhau trong khi kích thước và số lớp 9 loại sâu bệnh khác nhau với độ chính xác trung lượng tham số lại ít hơn, đồng nghĩa với việc bình là 94.33%. Tuy nhiên, để đạt được độ chính xác có thể đưa mô hình vào ứng dụng trong thực tế trên, việc huấn luyện mô hình này cần phải trải qua hai một cách hiệu quả và phổ biến hơn. giai đoạn, trong đó giai đoạn đầu tiến hành trên bộ dữ Phần còn lại của bài báo được tổ chức như sau: liệu với số lớp lớn hơn (chia 9 lớp ban đầu thành nhiều trong phần II, chúng tôi mô tả mô hình đề xuất. Trong lớp con với tổng số lớp được sử dụng là 17 lớp), giai phần III, chúng tôi đánh giá hiệu năng của mô hình. đoạn sau giữ nguyên các trọng số của hầu hết các lớp, Cuối cùng, chúng tôi kết luận bài báo trong phần IV. chỉ huấn luyện lại bộ phân lớp (lớp FC cuối cùng) để chuyển việc phân loại về đúng số lớp ban đầu. Đây II. MÔ HÌNH ĐỀ XUẤT cũng là hạn chế của mô hình, do phải tốn thêm chi phí cho việc huấn luyện đồng thời cũng giảm khả năng ứng A. Kiến trúc mô hình dụng trong thực tế, bởi không phải lúc nào cũng có thể thu thập được bộ dữ liệu phân lớp theo nhiều cấp độ Mô hình CNN mà chúng tôi đề xuất được xây dựng khác nhau. Hossain và các cộng sự [6] giới thiệu một dựa trên các khối SLE [7] và các khối DS [7]. Kiến trúc mô hình CNN nhẹ khác gồm có 3 lớp tích chập và 2 của mô hình được trình bày trên hình 1. lớp FC (trong phần còn lại của bài báo, chúng tôi gọi mô hình này là Custom CNN). Mô hình này có khả năng xác định 5 loại bệnh khác nhau trên cây lúa với độ chính xác 97.82%. Mặc dù có kiến trúc mạng khá đơn giản nhưng kích thước của mô hình này (với khoảng 3.7 triệu tham số) vẫn khá lớn so với các mô hình khác như MobileNetv2 (2.3 triệu tham số), SqueezeNet (0.7 triệu tham số), … Điều đó cũng phần nào làm giảm khả năng ứng dụng trong thực tế của mô hình nếu được triển khai trên các thiết bị nhúng hiệu năng thấp. Nhận thấy tiềm năng ứng dụng của các mô hình CNN nhẹ cũng như các hạn chế của các mô hình đang có, chúng tôi đề xuất và xây dựng một mô hình CNN mới với số lượng tham số ít hơn bằng việc áp dụng các thiết kế và cấu trúc mạng mới nhẹ hơn. Mục tiêu của mô hình mới là giảm chi phí tính toán nhưng vẫn đảm bảo được hiệu suất tương tự hoặc tốt hơn các mô hình hiện có. Ngoài ra, mô hình cần phải được thiết kế sao cho có thể huấn luyện và thực thi mà không cần phải yêu cầu những điều kiện đặc biệt nào về dữ liệu hoặc tài nguyên máy tính. Các thiết kế CNN mà chúng tôi sử dụng trong bài báo này, khối SLE và khối Down Sampling (DS), đã được sử dụng trong việc xây dựng một mô hình sinh đối kháng (Generative Adversarial Network – GAN) nhẹ [7] có thể tạo ra các ảnh có độ phân giải cao với rất ít ảnh huấn luyện. Khác với phần lớn các mô hình GAN đòi hỏi nhiều tài nguyên, do tính chất nhỏ gọn của mình, mô hình này (FastGAN) có thể huấn luyện và thực thi trên máy tính có tài nguyên hạn chế. Từ thực tế này, chúng tôi đã nghiên cứu và ứng dụng các khối trên vào mô hình CNN mới, để mô hình mới đáp ứng các mục tiêu thiết kế đã đề ra. Tóm lại, trong bài báo này, chúng tôi có những đóng góp chính như sau: - Chúng tôi đề xuất một mô hình CNN nhẹ cho bài toán phân loại ảnh sâu bệnh hại lúa dựa Hình 1. Kiến trúc mạng của mô hình đề xuất trên các thiết kế mạng nhỏ gọn với chi phí tính (Các giá trị 64 x 14 x 14, 128 x 7 x 7, … thể hiện kích thước toán thấp. đầu ra của các khối. Conv: Convolution, s: stride, p: padding) ISBN 978-604-80-5958-3 289
  3. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Ảnh đầu vào là ảnh RGB có kích thước 224 x 224. Sau khi đi qua tất cả các khối SLE và DS, ảnh đầu vào sẽ trở thành feature-map với kích thước 128 x 7 x 7. Qua lớp FC cuối cùng, feature-map này sẽ được phân loại vào một trong các lớp cho trước. B. Khối SLE Khối SLE được các tác giả [7] xây dựng dựa trên ý tưởng skip-connection đã được sử dụng trong kiến trúc ResNet. Thay vì sử dụng phép cộng giữa đầu ra của các lớp tích chập khác nhau như các khối residual trong ResNet, SLE sử dụng phép nhân nhưng phép nhân này chỉ tốn rất ít chi phí tính toán, do một trong hai feature-map chỉ có kích thước 1 x 1. Nhờ thiết kế này, SLE không những kế thừa được các ưu điểm của các khối residual trong ResNet mà còn góp phần làm giảm chi phí tính toán khi thực thi – phù hợp với mục tiêu thiết kế mà chúng tôi đã đặt ra. Đó cũng là lý do chính mà chúng tôi sử dụng SLE cho mô hình đề xuất. Cấu trúc của các khối SLE được biểu diễn trên hình 2. C. Khối DS Khối DS được sử dụng với mục tiêu làm giảm kích thước của feature-map. Việc sử dụng DS đã cho thấy hiệu quả trong [7] nên chúng tôi sử dụng khối này thay cho việc sử dụng các lớp pooling thông thường. Cấu trúc của các khối DS được thể hiện trên hình 3. Hình 3. Cấu trúc của một khối DS III. THỰC NGHIỆM A. Xây dựng và huấn luyện mô hình Mô hình đề xuất được cài đặt bằng Python với các thư viện chính PyTorch, NumPy, Scikit-learn, fvcore. Chúng tôi huấn luyện mô hình với các thông số sau: learning rate = 0.0001, optimizer Adam, batch size = 64. Để tăng cường dữ liệu (data augmentation), trong quá trình huấn luyện, chúng tôi sử dụng các kỹ thuật sau một cách ngẫu nhiên với xác suất 0.5: lật (flip) ảnh theo chiều ngang hoặc chiều dọc, xoay ảnh (từ -15 o đến 15o) và biến đổi phối cảnh (perspective) với tỷ lệ biến đổi 0.5. Mô hình được huấn luyện và đánh giá trên máy tính sử dụng hệ điều hành Ubuntu 64-bit 18.04.2 LTS với cấu hình: Intel Core i7-4790 CPU@3.60 GHz, 8 GB RAM và GPU Nvidia GeForce GTX 1660 6 GB. B. Bộ dữ liệu Chúng tôi sử dụng hai bộ dữ liệu [5] và [6] để tiến hành đánh giá hiệu năng của mô hình. Bộ dữ liệu [5] gồm có 1426 ảnh được chia thành 9 loại bệnh và sâu hại, bao gồm: than vàng (false smut), rầy nâu (brown plant hopper), cháy bìa lá (bacterial leaf blight), đạo ôn trên cổ bông (neck blast), sâu đục thân Hình 2. Cấu trúc của một khối SLE. (stemborer), sâu gai (hispa), khô vằn và/hoặc thối bẹ (sheath blight and/or sheath rot), đốm nâu (brown spot) và khác (others – bao gồm 3 loại: thân và lá xanh bình thường, lá vàng bình thường, thân và lá khô). ISBN 978-604-80-5958-3 290
  4. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Mô hình Số lượng tham số FLOPs Simple CNN [5] 889309 98576440 Hình 4. Hình ảnh thực tế một số loại sâu bệnh trong các bộ Custom CNN [6] 3710373 350763824 dữ liệu thực nghiệm (từ trái qua phải: cháy bìa lá, đốm nâu, Mô hình đề xuất 448673 79004544 rầy nâu, sâu gai, than vàng). Bảng 1. Số lượng tham số và số lượng phép tính dấu chấm Bộ dữ liệu [6] gồm 4199 ảnh của 5 loại bệnh: Đạo động (FLOPs) của các mô hình ôn (blast), cháy bìa lá, đốm nâu, khô vằn và tungro. Bộ dữ liệu này được chia thành 3 tập: train (2102 ảnh), Mô hình Bộ dữ liệu [5] Bộ dữ liệu [6] validation (1257 ảnh) và test (840 ảnh). Simple CNN [5] 87.59% 99.88% Một số hình ảnh minh loại cho các loại sâu bệnh từ hai bộ dữ liệu được biểu diễn trên hình 4. Custom CNN [6] 66.20% 97.82% (*) C. Độ đo đánh giá Mô hình đề xuất 80.01% 99.88% Để đánh giá mức độ phức tạp của mô hình, chúng Bảng 2. Độ chính xác của các mô hình tôi sử dụng hai thông số của mô hình là số lượng tham (*: Kết quả được công bố trong [6]) số (number of parameters) và số lượng phép tính dấu chấm động (floating-point operations – FLOPs). Số E. Phân tích và đánh giá kết quả lượng tham số của một mô hình là tổng số lượng các tham số của tất cả các lớp trong mô hình. Số lượng Đầu tiên chúng tôi so sánh độ phức tạp của các mô phép tính dấu chấm động là tổng số phép tính dấu hình với hai thông số như đã trình bày ở trên. Kết quả được trình bày trên bảng 1. So với hai mô hình còn lại, chấm động được thực hiện trong tất cả các lớp của mô mô hình đề xuất có số lượng tham số và số lượng phép hình. Để đơn giản, chúng tôi xác định giá trị FLOPs tính dấu chấm động ít hơn, chứng tỏ mô hình này có của mỗi mô hình khi nhận dữ liệu đầu vào là 1 ảnh đơn (batch size = 1). thể huấn luyện và thực thi nhanh hơn cũng như cần ít Để đánh giá hiệu quả phân loại trên tập thử nghiệm, tài nguyên hơn để hoạt động. chúng tôi sử dụng độ chính xác (accuracy). Độ chính Tiếp theo chúng tôi so sánh độ chính xác của từng xác là tỷ lệ số mẫu được phân lớp chính xác trên tổng mô hình trên hai bộ dữ liệu. Các kết quả này được trình số mẫu thử nghiệm. bày trên bảng 2. Có thể nhận thấy, mô hình đề xuất hiệu quả hơn mô hình Custom CNN trên cả hai bộ dữ D. Quy trình thực nghiệm liệu. Mô hình đề xuất có hiệu năng tương đương mô Mô hình đề xuất được thực nghiệm đánh giá và so hình Simple CNN trên bộ dữ liệu [6] nhưng kém hơn sánh kết quả với hai mô hình Simple CNN [5] và trên bộ dữ liệu [5]. So với bộ dữ liệu [6], tất cả các mô Custom CNN [6]. hình đều có sự suy giảm về độ chính xác khi thực hiện Chúng tôi tiến hành thực nghiệm theo điều kiện các đánh giá trên bộ dữ liệu [5]. Có sự chênh lệch này một tác giả các bộ dữ liệu này đã thực hiện, cụ thể như sau: phần là do bộ dữ liệu [5] phức tạp hơn bộ dữ liệu [6] - Với bộ dữ liệu [5], chúng tôi tiến hành thực khi có cả sâu hại lẫn bệnh với số lượng lớp nhiều hơn nghiệm theo k-fold cross-validation với k = (9 lớp so với chỉ 5 lớp của bộ dữ liệu [6]), một số lớp 10. Độ chính xác của mô hình được xác định trong bộ dữ liệu [5] lại có cả sự kết hợp của một hoặc bằng trung bình cộng độ chính xác của tất cả nhiều loại sâu bệnh hoặc tình trạng lá khác nhau trong các fold. khi số lượng mẫu dùng để huấn luyện và đánh giá lại ít - Trên bộ dữ liệu [6] chúng tôi thực hiện huấn hơn rất nhiều (chỉ bằng 1/3 so với bộ dữ liệu [6]). Mặt luyện trên tập train và đánh giá mô hình trên khác, kết quả này cũng cho thấy hạn chế của mô hình tập test. Độ chính xác được xác định trên đề xuất, bởi với số lượng tham số ít hơn thì mô hình chính tập test này. khó có thể nắm giữ được nhiều thông tin cần thiết để có Với mỗi bộ dữ liệu, tất cả các mô hình đều được thể phân loại chính xác, nhất là trong trường hợp tập dữ đánh giá sau khi huấn luyện 50 epoch. liệu huấn luyện có số lượng hạn chế và có nhiều loại Chúng tôi cài đặt lại mô hình Simple CNN bằng biến thể khác nhau trong cùng một lớp như bộ dữ liệu PyTorch để thực nghiệm theo quy trình trên. Đối với [5] nêu trên. Do đó, làm thế nào để cân bằng giữa kích mô hình Custom CNN, chúng tôi sử dụng mã nguồn thước mô hình và độ chính xác do mô hình mang lại, mà các tác giả đã cung cấp và chỉ thực nghiệm trên bộ hay nói cách khác, thiết kế mô hình như thế nào để vừa dữ liệu [5]. nhỏ gọn vừa đạt được độ chính xác cao vẫn là câu hỏi mở cần được tiếp tục nghiên cứu giải quyết. ISBN 978-604-80-5958-3 291
  5. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) IV. KẾT LUẬN Deep Convolution Neural Network”, ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Trong bài báo này, chúng tôi đề xuất đề xuất một Information Sciences, vol. 423, pp. 631-635, 2019. mô hình CNN nhẹ cho bài toán phân loại sâu bệnh trên [2] J. Chen, D. Zhang, Y. A. Nanehkarana and D. Li, “Detection lá lúa sử dụng thiết kế SLE. Kết quả thực nghiệm bước of rice plant diseases based on deep transfer learning”, Journal of the Science of Food and Agriculture, vo1. 100, pp. 3246- đầu cho thấy mặc dù có số lượng tham số ít hơn nhưng 3256, 2020. mô hình vẫn đạt được hiệu quả tương đương các mô [3] G. Kathiresan, M. Anirudh, M. Nagharjun, R. Karthik, hình cùng loại, cho thấy tiềm năng ứng dụng và khả “Disease detection in rice leaves using transfer learning năng mở rộng của mô hình. Quá trình thực nghiệm techniques”, Journal of Physics: Conference Series, vol. 1911, cũng cho thấy mô hình vẫn có những hạn chế nhất định 2021. cần cải thiện. Vì vậy, chúng tôi sẽ tiếp tục hoàn thiện [4] Y. Li, J. Nie, X. Chao, “Do we really need deep CNN for plant diseases identification?”, Computers and Electronics in mô hình, tiếp tục đánh giá và cải tiến cả về hiệu năng Agriculture, vol. 178, 2020. lẫn kích thước, để mô hình có thể đưa vào áp dụng [5] C. R. Rahman, P. S. Arko, M. E. Ali, M. A. I. Khan, S. H. trong thực tiễn trên nhiều môi trường và thiết bị khác Apon, F. Nowrin, A. Wasif, “Identification and recognition of nhau. rice diseases and pests using convolutional neural networks”, Biosystems Engineering, vol. 194, pp. 112-120, 2020. [6] Hossain S.M.M. et al. (2020) Rice Leaf Diseases Recognition LỜI CẢM ƠN Using Convolutional Neural Networks. In: Yang X., Wang Nghiên cứu này được thực hiện tại Khoa Kỹ thuật CD., Islam M.S., Zhang Z. (eds) Advanced Data Mining and Máy tính, Trường Đại học Công nghệ Thông tin – Đại Applications. ADMA 2020. Lecture Notes in Computer học Quốc gia TP.HCM. Science, vol 12447. Springer, Cham. https://doi.org/10.1007/978-3-030-65390-3_23. [7] B. Liu, Y. Zhu, K. Song, A. Elgammal, “Towards Faster and Stabilized GAN Training for High-fidelity Few-shot Image TÀI LIỆU THAM KHẢO Synthesis,” ICLR, 2021. [1] V.K. Shrivastava1, M.K. Pradhan, S. Minz, M. P. Thakur, “Rice Plant Disease Classification Using Transfer Learning of ISBN 978-604-80-5958-3 292
nguon tai.lieu . vn