1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng mô hình mạng học sâu cnn trong phân loại bệnh lá trên cây cà chua thông qua ứng dụng android

80 40 1

Đ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

Thông tin cơ bản

Tiêu đề Ứng Dụng Mô Hình Mạng Học Sâu CNN Trong Phân Loại Bệnh Lá Trên Cây Cà Chua Thông Qua Ứng Dụng Android
Tác giả Đặng Thanh Hưng, Trần Thái Hà Nam
Người hướng dẫn PGS. TS. Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Viễn Thông
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 80
Dung lượng 9,71 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (16)
    • 1.1. Giới thiệu (16)
    • 1.2. Mục tiêu đề tài (17)
    • 1.3. Giới hạn đề tài (17)
    • 1.4. Nội dung nghiên cứu (17)
    • 1.5. Bố cục (18)
  • Chương 2. CƠ SỞ LÝ THUYẾT (18)
    • 2.1. Các nghiên cứu về phát hiện bệnh lá trên cây cà chua (19)
    • 2.2. Bệnh hại trên lá cây cây cà chua (21)
      • 2.2.1. Khái quát về các bệnh thường gặp (21)
      • 2.2.2. Các tác nhân chính gây ra bệnh hại trên lá cây cà chua (23)
    • 2.3. Các phương pháp xử lí ảnh (23)
      • 2.3.1. Thuật toán phân cụm K-means (23)
      • 2.3.2. Thuật toán trích đặc trưng bằng bộ lọc Gabor (25)
      • 2.3.3. Thuật toán phân đoạn ảnh sử dụng không gian màu HSV (26)
    • 2.4. Mạng neural tích chập (CNN) (27)
    • 2.5. Phương pháp đánh giá chất lượng mô hình bằng ma trận nhầm lẫn (30)
    • 2.6. Các Framework hỗ trợ xây dựng hệ thống (32)
      • 2.6.1. Flutter (32)
      • 2.6.2. Tensorflow (33)
  • Chương 3. THIẾT KẾ HỆ THỐNG (35)
    • 3.1. Giới thiệu (35)
    • 3.2. Đề xuất mô hình phân loại bệnh cho lá cà chua (35)
    • 3.3. Thu thập dữ liệu (36)
    • 3.4. Tiền xử lí dữ liệu (38)
      • 3.4.1. Định lại kích cỡ và lọc ảnh (38)
      • 3.4.2. Tăng cường ảnh (41)
    • 3.5. Tách nền ảnh (42)
    • 3.6. Trích đặc trưng (44)
    • 3.7. Kiến trúc mô hình mạng VGG19 (48)
    • 3.8. Thiết kế ứng dụng di động (53)
      • 3.8.1. Thiết kế giao diện (53)
      • 3.8.2. Chức năng ứng dụng (53)
      • 3.8.3. Lưu đồ giải thuật hoạt động của ứng dụng (58)
  • Chương 4. KẾT QUẢ VÀ ĐÁNH GIÁ (63)
    • 4.1. Kết quả huấn luyện mô hình (63)
    • 4.2 Kết quả dự đoán trên ứng dụng điện thoại (67)
    • 4.3 Đánh giá chất lượng hệ thống (74)
  • Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (77)
    • 5.1. Kết luận (77)
    • 5.2. Hướng phát triển (77)

Nội dung

Vì thế, nhóm quyết định thực hiện đề tài “Ứng dụng mô hình mạng học sâu CNN trong phân loại bệnh lá trên cây cà chua thông qua ứng dụng Android” nhằm giúp người nông dân rút ngắn thời g

TỔNG QUAN

Giới thiệu

Nông nghiệp tại Việt Nam là ngành có nguồn lao động phong phú, đáp ứng nhu cầu tiêu dùng nội địa ngày càng cao Ngoài ra, Việt Nam còn nổi bật với vai trò là một trong những quốc gia xuất khẩu nông sản lớn trên thế giới hàng năm Tuy nhiên, ngành nông nghiệp vẫn đang đối mặt với nhiều thách thức cần được giải quyết.

"Được giá mất mùa" là mối lo ngại lớn của nông dân Việt Nam, xuất phát từ việc không phát hiện kịp thời sâu bệnh trong vườn rau Sâu bệnh đã từ lâu trở thành mối đe dọa nghiêm trọng đối với sự phát triển của cây trồng và ảnh hưởng đến sản lượng nông sản.

Sự phát triển của khoa học kỹ thuật, đặc biệt là ứng dụng công nghệ xử lý hình ảnh trong nông nghiệp, đã giúp phân loại bệnh lá cây hiệu quả hơn Nghiên cứu về bệnh sâu trên cây nông nghiệp đóng vai trò quan trọng trong việc hỗ trợ nông dân phát hiện và xử lý kịp thời, từ đó nâng cao sản lượng nông sản Các triệu chứng bệnh thường xuất hiện trên lá, thân và quả, với dấu hiệu như thay đổi màu sắc và đốm trên lá Tuy nhiên, việc xác định bệnh bằng mắt thường có thể tốn nhiều thời gian và công sức, đặc biệt ở những khu vực thiếu cơ sở hạ tầng Sự kết hợp giữa sự gia tăng số lượng điện thoại thông minh và tiến bộ trong thị giác máy tính đã mở ra cơ hội mới cho chẩn đoán bệnh lá cây qua điện thoại thông minh.

Nhóm nghiên cứu đã xác định và phân loại bệnh lá từ hình ảnh lá, sử dụng tập ảnh "Plant Village" và ảnh thực tế tự thu thập Các phương pháp tiền xử lý ảnh được áp dụng để huấn luyện bộ nhận phần loại cho các bệnh như Đốm Vi Khuẩn, Đốm lá Septoria, Úa muộn, Úa sớm, Khảm lá, Đốm Đích, Mốc lá, Nhện ve 2 đốm, và Xoăn vàng lá, cùng với hình ảnh lá không bị bệnh ở cây cà chua Sự phát triển của điện thoại di động, đặc biệt là smartphone, cùng với sự đổi mới liên tục của các hệ điều hành, đã khiến Android trở thành hệ điều hành di động phổ biến nhất hiện nay.

Ứng dụng mô hình mạng học sâu CNN trong phân loại bệnh lá trên cây cà chua thông qua ứng dụng Android là một giải pháp thông minh giúp người nông dân phân loại bệnh lá cây cà chua một cách dễ dàng và chính xác Hệ thống cho phép người dùng chụp ảnh lá cây cà chua bằng điện thoại hoặc chọn trực tiếp từ bộ sưu tập thông qua ứng dụng Android, sau đó nhận kết quả là tên bệnh và các đề xuất về phương pháp phòng ngừa, chữa trị bệnh hiệu quả.

Mục tiêu đề tài

Hệ thống nhận biết bệnh lá cây được thiết kế dựa trên phương pháp phân tích cấu trúc ảnh, sử dụng thuật toán mạng học sâu với mô hình CNN VGG-19 Tập dữ liệu được sử dụng trong nghiên cứu này đóng vai trò quan trọng trong việc nâng cao độ chính xác của hệ thống.

Ứng dụng Android được thiết kế trên nền tảng Flutter, bao gồm 16011 ảnh bệnh lá với 9 tập ảnh bệnh và 1 tập ảnh lá khỏe Ứng dụng cho phép người dùng chọn ảnh từ bộ sưu tập hoặc chụp ảnh trực tiếp từ camera, sau đó gửi ảnh lên server chứa mô hình đã được huấn luyện Kết quả sẽ được hiển thị trên giao diện ứng dụng, kèm theo các đề xuất phòng ngừa và chữa trị cho bệnh.

Giới hạn đề tài

- Chỉ sử dụng bộ dữ liệu trên PlantVillage, chưa áp dụng thêm những ảnh lá từ thực tế để huấn luyện mô hình

- Thiết kế ứng dụng trên điện thoại chỉ chạy trên máy có hệ điều hành Android

- Thời gian phản hồi kết quả còn chưa được nhanh với lần đầu phân loại ảnh.

Nội dung nghiên cứu

Đề tài được thực hiện gồm có những nội dung chính sau:

- Nội dung 1: Tìm đọc các tài liệu tham khảo, tóm tắt các tài liệu đưa ra các hướng đề tài

- Nội dung 2: Thu thập tập ảnh lá cây cà chua từ tập dữ liệu trên Plant Village

Sử dụng các phương pháp xử lý ảnh, như tiền xử lý, để loại bỏ những phần không cần thiết trên ảnh lá là rất quan trọng Qua đó, ta có thể phân tích cấu trúc ảnh của từng loại bệnh lá dựa vào hình ảnh của lá cây.

- Nội dung 4: Nhận dạng ảnh dùng mô hình mạng CNN VGG-19

- Nội dung 5: Đánh giá sự hiệu quả của bộ nhận dạng

- Nội dung 6: Thiết kế ứng dụng trên điện thoại Android

- Nội dụng 7: Chạy thực nghiệm, kiểm định và hiệu chỉnh để hoàn chỉnh mô hình

- Nội dung 8: Viết báo cáo thực hiện

- Nội dung 9: Bảo vệ khóa luận tốt nghiệp.

Bố cục

Chương này giới thiệu tình hình nghiên cứu hiện tại, nêu rõ vấn đề và lý do chọn đề tài Nó cũng xác định mục tiêu, nội dung nghiên cứu, các giới hạn của đề tài và bố cục của đồ án.

CƠ SỞ LÝ THUYẾT

Các nghiên cứu về phát hiện bệnh lá trên cây cà chua

Nghiên cứu của Ahmad và đồng nghiệp về ứng dụng học sâu trong chẩn đoán bệnh cây đã đề xuất các mô hình CNN để chẩn đoán bệnh cây cà chua, sử dụng kiến trúc phát hiện đối tượng như VGG16, ResNet50, MobileNet, ResNet101 cùng với thuật toán Fast R-CNN và Mask R-CNN Fast R-CNN được áp dụng để phát hiện bệnh, trong khi Mask R-CNN được dùng để phân vùng các khu vực bị ảnh hưởng Kết quả cho thấy ResNet101 có tỷ lệ phát hiện tốt nhất nhưng yêu cầu thời gian huấn luyện và kiểm thử lâu nhất, trong khi MobileNet có thời gian xử lý nhanh nhất nhưng độ chính xác kém hơn so với ResNet101.

E K Nithish với đề tài “Phát hiện bệnh lá cà chua áp dụng CNN với dữ liệu tăng cường” [5] đã thảo luận về việc áp dụng ResNet50, để phân loại bệnh cây cà chua bằng cách sử dụng tăng cường và chuyển đổi dữ liệu tạo ra một tập dữ liệu lớn từ tập dữ liệu gốc đã cho, tăng hiệu suất của hệ thống phân loại và tránh hiện tượng quá khớp Để phân loại, mô hình chia thành hai giai đoạn: ở giai đoạn đầu, phân loại lá khỏe mạnh hoặc không khỏe mạnh, và nếu không khỏe mạnh, lá được phân loại là bệnh ở giai đoạn thứ hai

S Verma đã thực hiện nghiên cứu “Ứng dụng CNN để đánh giá mức độ nghiêm trọng của bệnh trạng trên cây cà chua” bằng cách sử dụng ba mô hình CNN: AlexNet, SqueezeNet và Inception V3 Nghiên cứu tập trung vào việc xác định mức độ gây bệnh early blight trên cây cà chua ở các giai đoạn khác nhau, sử dụng tập dữ liệu từ PlantVillage Để cải thiện hiệu suất, các mô hình được triển khai qua hai phương pháp - trích xuất đặc trưng và học chuyển giao, trong đó SVM đa lớp được huấn luyện với các đặc trưng đã trích xuất Cuối cùng, nghiên cứu đánh giá hiệu suất của ba mô hình dựa trên độ chính xác, F1-score và recall.

P Wspanialy và M Moussa trong nghiên cứu “Hệ thống phát hiện và ước lượng bệnh trạng cây cà chua trồng trong nhà xanh” đã đề xuất một phương pháp phát hiện bệnh dựa trên kiến trúc ResNet50, kết hợp với việc đo mức độ nghiêm trọng của bệnh dựa trên tỷ lệ diện tích bị hại so với diện tích toàn bộ lá Nghiên cứu so sánh các biến thể khác nhau của mô hình, bao gồm một hệ thống phân loại nhị phân cho lá bị bệnh và khỏe mạnh, cùng với một hệ thống mười lớp cho các loại bệnh khác nhau Kết quả cho thấy mô hình nhị phân có khả năng tổng quát hóa tốt hơn so với mô hình mười lớp, và lá bị bệnh có thể được xác định chủ yếu qua hình dạng Phương pháp đo tỷ lệ diện tích bị bệnh chỉ phù hợp với triệu chứng cục bộ do nấm và đốm vi khuẩn, không hiệu quả cho các triệu chứng vi rút như bệnh úa lá, xoăn lá và còi cọc.

Bảng 2.1 Tóm tắt thông số của các nghiên cứu gần đây Đối tượng nghiên cứu

Tập dữ liệu Tỉ lệ theo tiêu chí đánh giá (%)

Mask R-CNN cho VGG16, RestNet50, ResNet101 và MobileNet Độ chính xác Ảnh mạng 99,64

AlexNet SqueezeNet Inception V3 Độ chính xác, F1- score, Recall

ResNet, U-Net Độ chính xác

Sau khi nghiên cứu và tổng hợp thông tin, nhóm đã xác định các yếu tố quan trọng cho việc phát triển đề tài Bảng 2.1 tóm tắt việc kiểm tra các thông số nghiên cứu dựa trên mô hình mạng học sâu Từ dữ liệu này, nhóm đã thu thập thêm thông tin về cây cà chua, các bộ phân loại và độ chính xác của chúng Phần lớn các phương pháp học sâu sử dụng mạng neural tích chập (CNN) hoặc biến thể của CNN để phát hiện và phân loại bệnh thực vật với dữ liệu từ PlantVillage Các nghiên cứu trong Bảng 2.1 chủ yếu áp dụng các mô hình học sâu đã được đào tạo trước trên hình ảnh lá cà chua.

Vì vậy, với các mô hình học sâu, có hai điểm cần lưu ý:

- Bộ dữ liệu đủ lớn về các hình ảnh thực vật có liên quan để đào tạo hiệu quả và tổng quát hóa trên các hình ảnh thực tế

Để phát hiện và phân đoạn hiệu quả vùng tổn thương từ hình ảnh lá cây đầu vào, cần thực hiện các bước xử lý trước và tối ưu hóa hình ảnh nhằm trích xuất và chọn lọc đặc trưng phù hợp.

Bệnh hại trên lá cây cây cà chua

2.2.1 Khái quát về các bệnh thường gặp

Việt Nam, với nền tảng phát triển nông nghiệp, đặt sức khỏe cây trồng lên hàng đầu trong ưu tiên của các nhà nông Hình ảnh lá cây đóng vai trò quan trọng trong Khoa học Y Sinh, phản ánh trực tiếp tình trạng sức khỏe của cây trồng Các bệnh lý trên lá cây không chỉ ảnh hưởng đến năng suất mà còn tác động lớn đến chất lượng nông sản Cụ thể, cây cà chua, một trong những loại rau quả phổ biến nhất thế giới, phải đối mặt với hơn 200 loại bệnh khác nhau trong quá trình canh tác, cho thấy mức độ dễ tổn thương và nguy cơ mắc bệnh cao của loại cây này.

Bài viết này sẽ giới thiệu 4 loại bệnh thường gặp trên lá cây cà chua, đồng thời Hình 2.1 sẽ tổng hợp hình ảnh minh họa cho các bệnh này.

Bệnh đốm lá Septoria, do nấm Septoria gây ra, xuất hiện dưới dạng các mảng tròn nhỏ với tâm màu trắng xám và viền tối Khi cây cà chua bị nhiễm bệnh này, lá sẽ chuyển sang màu vàng, khô héo và cuối cùng rụng.

- Úa sớm: Một loại nấm gây bệnh cà chua khác, Alternaria, gây ra bệnh bác lá sớm

Dấu hiệu đầu tiền cho thấy cây bị nhiễm bệnh là sự xuất hiện của các đốm nâu sẫm trên các lá tầm thấp

Bệnh úa muộn, do nấm Phytophthora infestans gây ra, lây lan nhanh chóng trên cây cà chua, đặc biệt trong điều kiện thời tiết mát mẻ và mưa nhiều Ngoài cà chua, bệnh này cũng ảnh hưởng đến cây khoai tây và có khả năng lây lan giữa hai loại cây này.

Bệnh xoăn vàng lá, do virus TYCLV gây ra, thường gặp ở nhiều loại thực vật, đặc biệt là cây cà chua Cây bị nhiễm bệnh sẽ có lá chuyển màu vàng nhạt, trong khi các gân lá vẫn giữ màu xanh, tạo nên những vết loang lổ xanh vàng, sau đó dẫn đến hiện tượng teo lại.

Hình 2.1 Một số bệnh lá trên cây cà chua:(a) Đốm lá Septoria, (b) Úa sớm, (c) Úa muộn, (d) Xoăn vàng lá

2.2.2 Các tác nhân chính gây ra bệnh hại trên lá cây cà chua

Trong nông nghiệp, nhiều bệnh hại có thể xuất hiện trên cây trồng, đặc biệt là cây cà chua, dẫn đến ảnh hưởng tiêu cực đến sản lượng Nghiên cứu cho thấy có nhiều yếu tố gây bệnh ở các giai đoạn phát triển của cà chua Để dễ tiếp cận, các tác nhân gây hại được phân loại thành hai nhóm chính: tác nhân sinh học (virus, nấm, vi khuẩn, ve, ruồi) gây hại trực tiếp và nhanh chóng, và tác nhân phi sinh học (nước, nhiệt độ, ánh sáng, thiếu dinh dưỡng) gây cản trở sự phát triển Hình 2.2 sẽ minh họa rõ hơn về vấn đề này.

Hình 2.2 Các tác nhân gây bệnh trên cây cà chua.

Các phương pháp xử lí ảnh

2.3.1 Thuật toán phân cụm K-means

Trong thời đại thông tin hiện nay, dịch vụ và sử dụng dữ liệu đang trở thành xu hướng chủ đạo Với khối lượng dữ liệu khổng lồ và sự phức tạp trong các tính toán lặp lại, các mô hình điện toán truyền thống gặp khó khăn trong việc xử lý Thuật toán phân cụm, đặc biệt là K-means, đã trở thành giải pháp cấp bách cho các nền tảng phân tán K-means là một trong những thuật toán cơ bản và hiệu suất cao, thường được sử dụng trong phân tích dữ liệu Thuật toán này yêu cầu một tham số K đầu vào, chọn ngẫu nhiên K điểm làm trọng tâm ban đầu, sau đó phân chia các điểm khác thành các cụm gần nhất và cập nhật trọng tâm dựa trên giá trị trung bình Quá trình này lặp lại cho đến khi hàm mục tiêu hội tụ, với việc điều chỉnh phân bổ điểm mẫu về trọng tâm tương ứng nếu cần thiết.

Hình 2.3 Quá trình phân cụm của thuật toán K-means

Từ Hình 2.3 có thể thấy hoạt động của thuật toán K-means thông qua quy trình đơn giản sau:

- Bước 1: Lấy ngẫu nhiên hai điểm dữ liệu ban đầu trong hình, là các điểm màu xám trong hình

- Bước 2: Tính các điểm còn lại và khoảng cách của chúng Trong hình, sáu điểm có thể được chia thành hai loại khác nhau

- Bước 3: Tính toán lại các điểm trung bình, từ từ tìm trọng tâm của “họ cụm”, sau đó tính toán xem hàm mục tiêu có hội tụ hay không

Để thực hiện thuật toán K-mean, bước 4 yêu cầu lặp lại bước 2 và 3 cho đến khi điểm gốc không còn di chuyển Đầu vào của thuật toán bao gồm tập dữ liệu và số lượng điểm trong tập dữ liệu Nếu giá trị K không được xác định, các điểm trọng tâm ban đầu sẽ được chọn ngẫu nhiên Tuy nhiên, nếu các điểm được chọn thuộc cùng một loại hoặc bị cô lập, sẽ dẫn đến các kết quả phân cụm khác nhau.

Thuật toán K-means bắt đầu bằng việc chọn ngẫu nhiên K đối tượng từ N đối tượng dữ liệu làm trung tâm cụm ban đầu Sau đó, các đối tượng còn lại được gán cho trung tâm cụm gần nhất dựa trên độ tương tự Tiếp theo, giá trị trung bình của mỗi cụm được tính toán để xác định điểm trọng tâm mới, và quá trình này được lặp lại cho đến khi hàm số liệu tiêu chuẩn hội tụ.

Trong không gian Euclide, tập dữ liệu D bao gồm n đối tượng dữ liệu {𝑥 1 , 𝑥 2, 𝑥 3, ⋯ 𝑥 𝑛 } với mỗi đối tượng chứa m thuộc tính {𝑥 𝑖1 , 𝑥 𝑖2, 𝑥 𝑖3, ⋯ 𝑥 𝑖𝑚 } Thuật toán phân cụm chia tập dữ liệu thành K cụm độc lập {𝐶 1 , 𝐶 2, 𝐶 3, ⋯ 𝐶 𝑘 } với trọng tâm mỗi cụm là {𝑣 1 , 𝑣 2, 𝑣 3, ⋯ 𝑣 𝑘 } và trọng tâm toàn cục là v Số đối tượng trong cụm lớp 𝐶 𝑖 được ký hiệu là |𝐶 𝑖 | Khoảng cách Euclide giữa các đối tượng dữ liệu được tính bằng công thức.

2.3.2 Thuật toán trích đặc trưng bằng bộ lọc Gabor

Trong xử lý ảnh, trích đặc trưng là quá trình giảm kích thước dữ liệu thô, giúp chia thành các nhóm dễ xử lý hơn Đối với máy học, dữ liệu đã được trích đặc trưng tiêu tốn ít tài nguyên tính toán hơn trong huấn luyện mô hình Dựa trên yêu cầu của đề tài, nhóm đã chọn phương pháp trích đặc trưng bằng cách sử dụng bộ lọc Gabor để làm nổi bật vùng bị ảnh hưởng bởi bệnh hại trên lá.

Bộ lọc Gabor là một công cụ quan trọng trong xử lý ảnh, thường được áp dụng để phát hiện cạnh, phân loại cấu trúc, trích xuất đặc trưng và ước tính độ chênh lệch Đây là loại bộ lọc thông dải, cho phép các tần số mong muốn đi qua trong khi suy hao hoặc loại bỏ các tần số không nằm trong dải đã chọn Công thức toán học thể hiện bộ lọc Gabor được trình bày dưới đây.

- 𝜓: pha ban đầu của sóng

- 𝜎: độ lệch chuẩn của thành phần Gaussian

- 𝜃: góc nghiêng của bộ lọc

- 𝛾: tỉ lệ khung hình định dạng thành phần Gaussian

Áp dụng công thức đã nêu, nhóm thực hiện chập ảnh ban đầu f(x,y) với bộ lọc g(m,n) để tạo ra một ảnh mới, được gọi là ảnh trích cạnh F(u,v), như mô tả trong công thức (2.5).

Hàm Gabor được biểu diễn bằng công thức 𝐹(𝑢, 𝑣) = ∑ ∑ 𝑓(𝑥 − 𝑚, 𝑦 − 𝑛)𝑔(𝑚, 𝑛) 𝑚 𝑛 (2.5) Việc điều chỉnh các tham số 𝜆, 𝜎, 𝜃, 𝛾, 𝜓 sẽ tạo ra nhiều hình dạng khác nhau của bộ lọc Gabor Một dải bộ lọc Gabor (Gabor filter bank) bao gồm nhiều bộ lọc Gabor với các tham số đã được tinh chỉnh để tối ưu hóa hiệu suất.

2.3.3 Thuật toán phân đoạn ảnh sử dụng không gian màu HSV

Không như cách phân loại màu sắc thông thường RGB được xác định dựa trên

Nhóm nghiên cứu sử dụng không gian màu HSV, phù hợp với cách mắt người cảm nhận màu sắc, để phân tích màu sắc của ảnh Không gian màu này cho phép tách biệt thông tin liên quan đến màu sắc, độ tương phản và cường độ sáng Một ngưỡng có thể được tạo ra từ histogram dựa trên chỉ số màu sắc (H), độ bão hòa (S) và độ sáng (V) Chỉ với chỉ số H, HSV có thể thể hiện sắc thái màu cơ bản tốt hơn so với RGB Do đó, không gian màu HSV cung cấp ngưỡng màu chính xác, giúp tính toán và chọn lọc hiệu quả Để phân đoạn ảnh, nhóm đồng nhất không gian màu HSV của tất cả ảnh lá cà chua, đảm bảo các thành phần ảnh được lượng tử hóa với độ chính xác tương tự HSV là hệ trục tọa độ Descartes ba chiều, với H từ 0 đến 360 độ, S và V từ 0 đến 1.

1 Theo đó, một ảnh màu RGB có thể được chuyển đổi sang không gian màu HSV theo công thức dưới đây [9]:

Trong đó, ba chỉ số R, G, B được cân chỉnh về khoảng từ 0 đến 1, cùng với giá trị giá trị lớn nhất, nhỏ nhất của R, G, B và cách biệt của chúng

Ta có công thức tình H, S, V từ R, G, B:

𝑉, 𝑉 ≠ 0 (2.12) Áp dụng vào mục tiêu tách nền ảnh để làm nổi bật vùng ảnh lá, các bước được tiến hành như sau:

- Bước 1: Ảnh đầu vào ở dạng ảnh màu RGB được chuyển đổi sang ảnh không gian màu HSV Các thành phần HSV được tách thành 3 ảnh phụ

- Bước 2: Tạo lược đồ hiển thị mức giá trị màu của 3 ảnh phụ trên để lựa chọn các giá trị ngưỡng trên và ngưỡng dưới

Bước 3: Tạo mặt nạ nhị phân từ ảnh HSV dựa vào lược đồ hiển thị giá trị màu sắc Tiếp theo, sử dụng các phép toán hình thái học (co ảnh) để làm đầy các lỗ hổng trong mặt nạ nhị phân.

- Bước 4: Ánh xạ mặt nạ nhị phân tới ảnh RGB ban đầu để thu được vùng lá chứa thông tin bệnh và nền ảnh màu đen.

Mạng neural tích chập (CNN)

CNN, hay mạng nơ-ron tích chập, là một loại mạng nơ-ron nhân tạo bao gồm một hoặc nhiều lớp tích chập cùng với các loại lớp khác như ReLU, lớp Pooling và lớp kết nối đầy đủ, nhằm tạo ra một mạng nơ-ron sâu phức tạp Trong CNN, các bộ lọc tích chập được huấn luyện thông qua phương pháp lan truyền ngược, và kích thước của các bộ lọc này phụ thuộc vào nhiệm vụ cụ thể Bài viết này sẽ tóm tắt những điểm chính về CNN.

Lớp tích chập 2 chiều cho phép bộ lọc trượt theo hai chiều, giúp CNN xử lý ảnh đầu vào mà không cần biết tọa độ cụ thể của các điểm ảnh Bộ lọc có kích thước nhỏ, thường là 3×3 hoặc 5×5, sẽ được đưa vào một vùng ảnh và thực hiện tích chập với các giá trị điểm ảnh trong vùng đó Bộ lọc này sẽ trượt theo một giá trị bước trượt (stride) trên toàn bộ ảnh, giúp tăng cường khả năng nhận diện đặc trưng của ảnh.

2.4 bên dưới là một ví dụ về quá trình tích chập giữa bộ lọc và ảnh Một bộ lọc có kích thước 3x3 sẽ được áp vào ảnh Điểm trọng tâm của bộ lọc được đặt chồng lên điểm ảnh cần xét, nó sẽ thay thế điểm ảnh đó với tổng trọng số liên kết của chính nó và các điểm ảnh gần kề, kết quả cho ra được một điểm ảnh mới có giá trị là 99 Bên cạnh đó, xét một trường hợp khi một hình ảnh có kích thước 224x224 chập với một bộ lọc 3x3, ta sẽ có kết quả là một hình ảnh mới có kích thước 224x224, kèm theo đó là số lượng ảnh cho ra được sẽ tương ứng với số lượng bộ lọc, ở đây là 1 và được chuyển sang lớp tiếp theo Nói cách khác, đây là một bản đồ thể hiện nơi tìm thấy đặc trưng trong hình ảnh hay bản đồ đặc trưng Các giá trị gần 1 cho thấy sự khớp mạnh, các giá trị gần -1 cho thấy sự khớp mạnh với âm bản của đặc điểm và các giá trị gần bằng 0 cho thấy không khớp với bất kỳ loại nào

Hình 2.4 Ví dụ về nhân chập với bộ lọc kích thước 3x3

Thông thường, lớp hiệu chỉnh ReLU sẽ được cài đặt ngay sau lớp tích chập, dùng hàm kích hoạt ReLU có công thức f(x) = max (0, x) (2.13)

Hàm ReLU được sử dụng để chuyển đổi toàn bộ giá trị âm trong kết quả của lớp tích chập thành giá trị 0, giúp mô hình trở nên phi tuyến Mặc dù có nhiều hàm kích hoạt như sigmoid và tanh, nhưng ReLU lại nổi bật nhờ tính dễ cài đặt, tốc độ tính toán nhanh và hiệu quả cao Hình 2.5 minh họa rõ ràng cách mà hàm ReLU biến đổi các giá trị âm của ma trận ban đầu thành 0.

Hình 2.5 Ví dụ đơn giản về hàm ReLU

Lớp pooling giúp thu nhỏ kích thước hình ảnh lớn mà vẫn bảo tồn các thông tin quan trọng Lớp này sử dụng mặt nạ hình vuông để quét qua dữ liệu hình ảnh, giữ lại một giá trị đại diện cho mỗi vùng quét Các phương pháp lấy mẫu phổ biến trong lớp pooling bao gồm MaxPooling (lấy giá trị lớn nhất), MinPooling (lấy giá trị nhỏ nhất) và AveragePooling (lấy giá trị trung bình) Ví dụ, với hình ảnh kích thước 224×224 và bộ lọc 2×2 cùng stride = 2, phương pháp MaxPooling được áp dụng để giảm kích thước ảnh hiệu quả.

Bộ lọc sẽ lần lượt trượt qua toàn bộ ảnh, với mỗi lần trượt chỉ có giá trị lớn nhất trong

Sau khi áp dụng lớp gộp, kích thước ảnh sẽ giảm xuống còn 112x112, với mỗi chiều giảm 2 lần Trong quá trình này, 4 giá trị nằm trong vùng cửa sổ 2×2 của bộ lọc được giữ lại và đưa ra đầu ra.

• Lớp kết nối đầy đủ (Fully connected layer)

Trong lớp kết nối đầy đủ, các giá trị ảnh được liên kết chặt chẽ với node của lớp tiếp theo Sau khi xử lý và trích xuất đặc trưng từ các lớp trước, kích thước dữ liệu ảnh sẽ giảm đáng kể so với mô hình truyền thẳng, cho phép chúng ta sử dụng mô hình này để thực hiện nhận dạng Tóm lại, lớp kết nối đầy đủ hoạt động như một mô hình phân lớp, dựa vào dữ liệu đã được xử lý trước đó.

Phương pháp đánh giá chất lượng mô hình bằng ma trận nhầm lẫn

Ma trận nhầm lẫn là một phương pháp biểu thị hiệu suất của một thuật toán trong lĩnh vực máy học và phân loại thống kê Nó là một bảng mô tả hiệu suất của một mô hình phân loại trên bộ dữ liệu thử nghiệm, nơi các dữ liệu thực đã được biết đến Ma trận nhầm lẫn hiển thị mối quan hệ giữa các lớp thực tế và lớp dự đoán, với mỗi hàng đại diện cho lớp quan sát, mỗi cột đại diện cho lớp dự đoán và mỗi ô là số các mẫu giao nhau giữa hai lớp.

Giả sử bộ phân loại được áp dụng để phân loại hai bệnh X và Y trên một loại cây trồng với 500 cá thể được dự đoán, kết quả cho thấy có 350 cây bị bệnh X và 150 cây bị bệnh Y Trong thực tế, có 370 cây mắc bệnh X và 130 cây mắc bệnh Y Kết quả này dẫn đến bốn trường hợp xảy ra, đại diện cho bốn loại thuật ngữ cơ bản trong ma trận nhầm lẫn, được thể hiện trong bảng.

- True Positve (TP): kết quả phân loại cho thấy cây đó mắc bệnh X và thực tế cũng giống như vậy

- True Negative (TN): kết quả phân loại cho thấy cây đó mắc bệnh Y và thực tế cũng giống như vậy

- False Positive (FP): kết quả phân loại cho thấy cây đó mắc bệnh X nhưng thực tế lại mắc bệnh Y (đây còn gọi là lỗi loại 1)

- False Negative (FN): kết quả phân loại cho thấy cây đó mắc bệnh Y nhưng thực tế lại mắc bệnh X (đây còn gọi là lỗi loại 2)

Bảng 2.2 Bảng ma trận nhầm lẫn từ ví dụ

N = 500 Thực tế mắc bệnh X Thực tế mắc bệnh Y

Dự đoán mắc bệnh X 350 (TP) 0 (FP)

Dự đoán mắc bệnh Y 20 (FN) 130 (TN)

Từ bảng ma trận trên, ta có thể tính được các thông số tỉ lệ khác của bộ phân loại như sau:

- Accuracy (Acc): độ chính xác của bộ phân loại

- Misclassification Rate (MR): tỷ lệ phân loại sai

Tỷ lệ dương tính thực sự (TPR) là tỷ lệ giữa số lượng trường hợp mà bộ phân loại dự đoán mắc bệnh X thực tế (TP) so với tổng số trường hợp mắc bệnh X thực tế.

Tỷ lệ dương tính giả (FPR) là tỷ lệ mà một bộ phân loại dự đoán sai rằng một cá nhân mắc bệnh X, trong khi thực tế họ lại mắc bệnh Y FPR được tính bằng số lần dự đoán sai (FP) so với tổng số ca thực tế mắc bệnh Y.

- Specificity (Spec): là tỷ lệ bộ phân loại dự đoán là mắc bệnh Y và thực tế cũng giống vậy (TN) so với tổng số lượng Y thực tế (Y)

- Precision (Pre): là tỷ lệ bộ phân loại dự đoán mắc bệnh X và thực tế cũng giống vậy (TP) số với tổng số dự đoán mắc bệnh X (TP+TN)

- Prevalence (Prev): là tỷ lệ thực tế mắc bệnh X trong tất cả trường hợp

Ma trận nhầm lẫn là một công cụ quan trọng để tóm tắt hiệu suất của thuật toán phân loại Độ chính xác của bộ phân loại có thể bị ảnh hưởng bởi sự không đồng đều trong các lớp hoặc khi có nhiều hơn hai lớp trong dữ liệu Việc tính toán ma trận nhầm lẫn giúp đánh giá chính xác hơn độ chính xác của bộ phân loại, đồng thời xác định xem mô hình đang sử dụng có phù hợp hay không và loại lỗi nào đang xảy ra Ưu điểm của ma trận nhầm lẫn là khả năng xác định các tình huống quan trọng, từ đó cung cấp cái nhìn sâu sắc về hiệu suất của các lớp phân loại khác nhau Tuy nhiên, khuyết điểm là cần thực hiện nhiều thí nghiệm để hiểu rõ ma trận nhầm lẫn, và đây không phải là phương pháp đồ họa Để so sánh các mô hình, cần thu thập và so sánh tất cả các giá trị số từ bảng ma trận nhầm lẫn một cách riêng biệt.

Các Framework hỗ trợ xây dựng hệ thống

Flutter là một framework mã nguồn mở giúp lập trình viên thiết kế và phát triển ứng dụng di động hiệu quả trên cả Android và iOS Sử dụng ngôn ngữ Dart của Google, Flutter mang lại khả năng tiếp cận dễ dàng và tốc độ phát triển nhanh chóng cho các ứng dụng di động.

Phát triển ứng dụng di động là một công việc phức tạp với nhiều thách thức, đặc biệt khi phải làm việc với các framework khác nhau như Android (Java) và iOS (Objective-C/Swift) Hầu hết các ứng dụng hiện tại đều cần hỗ trợ cả hai nền tảng, khiến việc phát triển song song hai ứng dụng với hai framework khác nhau trở nên khó khăn và tốn kém Để khắc phục vấn đề này, các chuyên gia đã tạo ra các framework lập trình đa nền tảng, trong đó React Native, phát triển bởi Facebook, đang được ưa chuộng Tuy nhiên, React Native vẫn phụ thuộc vào các API của framework gốc, dẫn đến một số hạn chế và tốc độ xử lý không tối ưu.

Flutter, nền tảng được phát triển bởi Google, đã ra đời như một đối trọng trực tiếp với React Native, mang đến khả năng tạo giao diện trực tiếp từ API của hệ điều hành thay vì gọi các API của framework gốc Điều này giúp ứng dụng chạy nhanh hơn, mượt mà hơn và đẹp hơn Flutter cung cấp nhiều widgets (UI) được thiết kế riêng, tối ưu cho môi trường di động và dễ dàng trong việc thiết kế như HTML Ứng dụng Flutter sử dụng các widget riêng với các hiệu ứng và thao tác độc đáo, phát triển dựa trên logic reactive, cho phép mỗi widget có nhiều trạng thái Bằng cách thay đổi trạng thái của widget, Flutter tự động so sánh trạng thái cũ và mới để tạo ra những thay đổi cần thiết mà không cần khởi tạo lại toàn bộ đối tượng.

TensorFlow là một framework mã nguồn mở của Google, chuyên dùng để xây dựng các mô hình máy học Dù được viết bằng ngôn ngữ C++, TensorFlow không hoàn toàn phụ thuộc vào nó, cho phép người dùng sử dụng nhiều ngôn ngữ lập trình khác nhau, trong đó Python là lựa chọn phổ biến Hiện nay, TensorFlow được coi là thư viện chuẩn trong lĩnh vực máy học, giúp xây dựng các mô hình mạng một cách dễ dàng và đơn giản Hơn nữa, ngay cả những mô hình tiên tiến nhất trong máy học cũng có thể được phát triển bằng TensorFlow.

Tensorflow Keras cho phép bổ sung các mạng neural một cách dễ dàng mà không cần lập trình thủ công, giúp tăng tính linh hoạt cho nhiều ứng dụng khác nhau Ngoài ra, Tensorflow cung cấp nhiều khóa học miễn phí và ví dụ trên trang chủ, hỗ trợ người dùng trong việc học tập và nghiên cứu với framework này.

Hình 2.6 Biểu tượng của framework TensorFlow

TensorFlow hoạt động dựa trên hai thành phần chính là "tensor" và "graph" Tensor là phần cốt lõi, liên quan đến mọi tính toán trong TensorFlow Về mặt toán học, tensor đóng vai trò quan trọng trong việc xử lý và phân tích dữ liệu.

"Tensor" là một ma trận hoặc mảng n-chiều, đại diện cho các kiểu dữ liệu khác nhau trong mô hình Tensorflow, có thể là kết quả của tính toán hoặc được khởi tạo từ dữ liệu đầu vào "Graph" là biểu đồ mà Tensorflow cho phép lập trình viên tạo ra để mô tả toàn bộ quá trình vận hành trong huấn luyện mô hình Nguyên lý hoạt động của Tensorflow có thể được tổng quát là các "tensor" kết nối các "node" tính toán, đại diện cho các phép toán trong mạng, trong khi "graph" tổng hợp và mô tả hoạt động của chuỗi xử lý "node", sau đó đưa vào các nền tảng thiết bị như CPU, GPU, TPU để thực hiện tính toán.

Trong nghiên cứu này, nhóm đã sử dụng Keras, một API bậc cao của TensorFlow, để xây dựng mô hình phân loại bệnh lá trên cây cà chua Chúng tôi đã lựa chọn mô hình tuần tự Keras do tính đơn giản và trực quan của nó, trong đó các lớp mạng được xác định trước và sắp xếp chồng lên nhau.

Để xây dựng mô hình tuần tự trong thư viện Tensorflow Keras, trước tiên cần định dạng ngõ vào cho mô hình Tiếp theo, thêm các lớp mạng theo kiến trúc VGG19 bằng lệnh “layer (tên lớp mong muốn)” Sau khi hoàn tất, cần biên dịch mô hình để thiết bị tính toán có thể hiểu Cuối cùng, tiến hành huấn luyện mô hình với các tham số như số bước huấn luyện (Epochs) và số mẫu dữ liệu (Batch size) cho mỗi Epochs, các tham số này có thể điều chỉnh để phù hợp với khả năng của thiết bị tính toán.

THIẾT KẾ HỆ THỐNG

Giới thiệu

Trong chương này, nhóm sẽ trình bày thiết kế mô hình mạng học sâu VGG19, bao gồm các bước thu thập dữ liệu từ nguồn PlantVillage, tiền xử lý dữ liệu và xây dựng mô hình Bên cạnh đó, nhóm cũng thiết kế ứng dụng Android cho phép người dùng chọn hình ảnh có sẵn hoặc chụp hình trực tiếp từ camera để đưa vào mô hình phân loại, từ đó hiển thị các thông tin theo mục tiêu nghiên cứu đề ra.

Đề xuất mô hình phân loại bệnh cho lá cà chua

Mô hình đề xuất trong nghiên cứu bao gồm bộ dữ liệu lá cà chua, quy trình tiền xử lý và phân đoạn ảnh, cùng với việc huấn luyện mạng VGG-19 và đánh giá chất lượng bộ phân loại Các hình ảnh được điều chỉnh kích thước để trích xuất đặc trưng từ các vùng lá bệnh, đồng thời thực hiện tách nền ảnh thành màu đen từ không gian màu HSV Mô hình VGG-19 được huấn luyện và đánh giá hiệu suất phân loại thông qua ma trận nhầm lẫn Cuối cùng, sau khi đạt được độ chính xác mong muốn, mô hình phân loại sẽ được triển khai trên ứng dụng điện thoại thông qua dịch vụ Google Cloud Platform, đóng vai trò là máy chủ cho hệ thống.

Hình 3.1 Sơ đồ khối mô hình phân loại bệnh lá cà chua

Khối thu thập dữ liệu đóng vai trò quan trọng trong việc cung cấp các tập ảnh đầu vào cho quá trình huấn luyện và đánh giá chất lượng của bộ phân loại Việc lựa chọn bộ cơ sở dữ liệu đáng tin cậy là rất cần thiết, vì dữ liệu không chính xác có thể dẫn đến phân loại sai Trong nghiên cứu này, nhóm đã sử dụng bộ dữ liệu ảnh PlantVilage, bao gồm 9 loại lá bệnh trên cây cà chua, cùng với một tập dữ liệu lá bệnh tự thu thập từ thực tế Tất cả các ảnh trong thư viện PlantVilage đã được các chuyên gia xác nhận đúng với bệnh thực tế Đối với tập ảnh tự thu thập, các ảnh này được lấy từ trang trại chuyên trồng cà chua và đã được xác nhận bởi các kỹ thuật viên chăm sóc vườn, đảm bảo tính chính xác và độ tin cậy cao của bộ dữ liệu đầu vào.

Khối tiền xử lý dữ liệu ảnh có nhiệm vụ định dạng dữ liệu từ nhiều nguồn khác nhau về kích thước đồng nhất, phù hợp với kiến trúc mạng VGG19 Trong quá trình thu thập ảnh, nhiều hình ảnh có thể bị ảnh hưởng bởi nhiễu do chất lượng thiết bị và ánh sáng môi trường, vì vậy cần thực hiện lọc nhiễu để dễ dàng tách nền, trích đặc trưng ảnh và huấn luyện mạng hiệu quả.

Khôi phục phân đoạn và tách nền ảnh là quy trình quan trọng giúp tách phần chứa thông tin và nền ảnh thành những bức ảnh có nền đen đồng nhất Bằng cách làm mờ các vùng ảnh không chứa đối tượng bệnh, quy trình này giúp tăng tốc độ tính toán cho mô hình mạng.

Khối huấn luyện mô hình mạng: sử dụng kiến trúc mạng học sâu VGG19 để huấn luyện cho bộ phân loại

Khối triển khai mô hình mạng trên ứng dụng di động thực hiện chức năng giao tiếp với người dùng, dự đoán và cung cấp kết quả dự đoán, đồng thời đề xuất hướng điều trị bệnh trên màn hình điện thoại.

Thu thập dữ liệu

Nhóm nghiên cứu đã thu thập dữ liệu hình ảnh từ cơ sở dữ liệu cây trồng công khai PlantVillage, nguồn dữ liệu uy tín được sử dụng phổ biến trong nghiên cứu nông nghiệp Tất cả hình ảnh cây trồng trong PlantVillage được trồng trong môi trường kiểm soát, đảm bảo tính chân thực cao Bộ dữ liệu này bao gồm hơn 50,000 hình ảnh của 14 loại nông sản khác nhau như cà chua, táo, bắp, đậu nành Dựa trên đó, nhóm đã chọn hình ảnh về cây cà chua làm tập dữ liệu cho mô hình nghiên cứu trong đề tài này.

Bộ dữ liệu này chứa nhiều lớp khác nhau, thể hiện các loại bệnh phổ biến ở cây cà chua cùng với hình ảnh của lá cà chua khỏe mạnh Hình 3.2 sẽ minh họa rõ hơn về nội dung này Tổng cộng, bộ dữ liệu ảnh lá cà chua bao gồm 16,011 hình ảnh với 10 loại khác nhau từ Plant Village.

Bảng 3.1 trình bày số lượng ảnh của 10 loại lá gồm 9 bệnh khác nhau và 1 tập lá khỏe

Số lượng ảnh trên từng tập ảnh lá không được cân đối ví dụ như ở Xoăn vàng lá có

Số lượng ảnh trong bệnh Khảm lá chỉ là 373, trong khi tổng số ảnh là 3208 Sự chênh lệch này có thể là một trong những nguyên nhân làm giảm độ chính xác của mô hình phân loại trong quá trình huấn luyện mạng.

Nhóm nghiên cứu đã tự thu thập một tập ảnh bệnh thực tế gồm 400 ảnh để đánh giá chất lượng dự đoán cho bộ phân loại Trong quá trình lưu trữ và truyền gửi hình ảnh, có thể xảy ra tình trạng trùng lặp trong tập dữ liệu Do đó, tất cả các hình ảnh trùng lặp từ các nguồn khác nhau đã được loại bỏ bằng một tập lệnh Python, áp dụng quy trình so sánh ảnh khi chuyển đổi số Sau khi loại bỏ tự động, các hình ảnh đã được kiểm tra kỹ lưỡng trước khi đưa vào quá trình huấn luyện và đánh giá.

Bảng 3.1 Số lượng ảnh từ tập dữ liệu PlantVillage

(a) Đốm Đích (b)Khảm lá (c)Đốm Vi

(f) Úa muộn (g) Mốc lá (h) Đốm lá

Hình 3.2 Hình ảnh lá cà chua của 10 lớp trong tập dữ liệu

Tiền xử lí dữ liệu

3.4.1 Định lại kích cỡ và lọc ảnh

Trong thị giác máy tính, định lại kích cỡ ảnh là một bước vô cùng quan trọng

Mô hình mạng học sâu thường huấn luyện nhanh hơn với ảnh có kích thước nhỏ, vì ảnh lớn yêu cầu mạng neural xử lý nhiều pixel hơn, ảnh hưởng đến thời gian huấn luyện Trong nghiên cứu này, nhóm đã chọn mô hình VGG19 với kích thước đầu vào là [224x224x3], trong khi kích thước dữ liệu thu thập là [256x256x3] Do đó, bước đầu tiên trong quá trình xây dựng mô hình là điều chỉnh kích cỡ ảnh theo yêu cầu của kiến trúc mạng.

Nhóm đã tiến hành định lại kích cỡ ảnh sử dụng thư viện Keras của TensorFlow, với phương pháp nội suy mặc định là nội suy song tuyến tính Quá trình này thực hiện nội suy tuyến tính cho cả chiều dài và chiều rộng của ảnh Để hiểu rõ nguyên lý định lại kích cỡ ảnh theo yêu cầu của kiến trúc mô hình, cần nắm vững phương pháp nội suy tuyến tính cho mảng một chiều.

Giả sử có mảng 1 chiều A với kích thước N = 5 phần tử, yêu cầu giảm kích thước của mảng A xuống còn M = 4 Mảng mới này sẽ được gọi là B.

Giá trị trong mảng B được tính toán từ mảng A theo phương pháp tuyến tính, với B[0] = A[0] và B[3] = B[4] do có tọa độ chung Tuy nhiên, B[1] và B[2] không có giá trị tương ứng trong mảng A, vì vậy cần sử dụng phương pháp ánh xạ để xác định chúng tại tọa độ 4/3 và 8/3 B[4/3] và B[8/3] được tính bằng cách nội suy tuyến tính từ các giá trị lân cận A[1], A[2] và A[2], A[3] Điều này cho thấy các ánh xạ phụ thuộc vào tỷ lệ độ dài của khoảng nguyên.

Trong bài viết này, N và M đại diện cho kích thước của mảng ban đầu A và mảng sau khi giảm kích thước B Các phần tử trong mảng B có chỉ số i sẽ được ánh xạ lên mảng A với tọa độ R*i Cuối cùng, giá trị của điểm nội suy được tính bằng phương pháp tuyến tính dựa trên hai điểm lân cận theo công thức toán học số (3.2).

Giá trị 𝐴 1 và 𝐴 2 đại diện cho hai tọa độ gần nhất trên mảng A với điểm ánh xạ từ mạng B ở hai phía Quá trình nội suy tuyến tính trong mảng một chiều được minh họa ngắn gọn trong Hình 3.3.

Hình 3.3 Nội suy tuyến tính mảng 1 chiều

Hình 3.4 Ảnh sau khi định lại kích cỡ của lá cà chua bệnh Đốm vi khuẩn

Phương pháp nội suy tuyến tính một chiều có thể áp dụng tương tự cho các mảng hai chiều trong việc tiền xử lý dữ liệu, đặc biệt là trong lọc ảnh Lọc ảnh có nhiều ứng dụng thực tiễn như loại bỏ nhiễu và tìm biên đối tượng Trong nghiên cứu này, chúng tôi tập trung vào việc loại bỏ nhiễu muối tiêu, một loại nhiễu làm cho hình ảnh lá khỏe mạnh trông giống như lá cà chua bị bệnh bạc lá Nguyên tắc chung của các phương pháp lọc là thực hiện phép chập giữa ma trận điểm ảnh và ma trận lọc (Kernel).

Sau khi điều chỉnh kích thước ảnh cho phù hợp với kiến trúc VGG19, bước tiếp theo là nhân ảnh với kernel Hình 3.5 minh họa quá trình trượt ma trận lọc trên từng hàng của ảnh và nhân các kết quả để tạo ra giá trị cho điểm ảnh trung tâm.

Hình 3.5 Minh họa cho việc nhân ma trận ảnh [14]

Trong nghiên cứu này, nhóm tác giả đã sử dụng bộ lọc trung bình để loại bỏ nhiễu, một phương pháp đơn giản dựa trên việc tính giá trị của một điểm ảnh bằng trung bình cộng các điểm ảnh xung quanh Bộ lọc này giúp làm trơn ảnh mà vẫn giữ được độ sắc nét của các đường biên, và kết quả thực hiện trên một ảnh mẫu được minh họa trong Hình 3.6.

Hình 3.6 Kết quả lọc ảnh nhiễu cho ảnh ảnh ở lá cà chua khỏe mạnh

Các mô hình mạng học sâu neural tích chập đã đạt được nhiều thành công trong lĩnh vực Thị giác máy tính, nhưng chúng phụ thuộc vào lượng dữ liệu huấn luyện lớn để tránh hiện tượng quá khớp (overfitting) Điều này trở thành một thách thức lớn trong nghiên cứu máy học Trong phần này, nhóm sẽ trình bày một phương pháp để giảm thiểu tình trạng overfitting thông qua việc tăng cường dữ liệu huấn luyện.

Trong quá trình huấn luyện, việc tăng dữ liệu được thực hiện động để tạo ra nhiều dữ liệu huấn luyện hơn từ nguồn dữ liệu có sẵn Các kỹ thuật tăng cường hình ảnh, như xoay, lật và phóng to hoặc thu nhỏ, được áp dụng thông qua thư viện Keras để biến đổi điểm ảnh Nhờ vào các phương pháp biến đổi ảnh dựa trên ma trận điểm ảnh, nhóm đã tăng kích thước tập dữ liệu huấn luyện và tạo ra sự biến dạng nhẹ cho hình ảnh, nhằm giảm thiểu hiện tượng overfitting Cụ thể, phương pháp xoay ảnh sử dụng nội suy song tuyến tính, trong khi phương pháp lật ảnh được thực hiện theo hai chiều: ngang và dọc Kết quả từ việc áp dụng các kỹ thuật này đã tạo ra một tập dữ liệu huấn luyện được tăng cường, với một số kết quả điển hình được thể hiện trong Hình 3.7.

Hình 3.7 Kết quả xoay và lật ảnh: (a) Ảnh gốc; (b) Ảnh lật theo phương dọc; (c) Ảnh lật theo phương ngang; (d) Ảnh lật theo phương ngang sau đó là phương dọc

Tách nền ảnh

Tách nền hay xóa phông là bước quan trọng trong tiền xử lý dữ liệu hình ảnh, giúp giảm độ phức tạp và tăng tốc độ phân tích Trong nghiên cứu này, chúng tôi tập trung vào xử lý ảnh lá, sử dụng không gian màu HSV và phương pháp phân ngưỡng ảnh Histogram để tạo ảnh nhị phân, phân chia thành hai vùng: vùng hiển thị lá cà chua và vùng nền.

Hình 3.8 minh họa sự chuyển đổi giữa hình ảnh màu RGB và hình ảnh màu HSV Từ hình ảnh HSV, ba hình ảnh phụ được tạo ra để thể hiện các thành phần H, S và V Các thành phần HSV này sau đó được chuyển đổi thành biểu đồ histogram tương ứng, được gọi là hình ảnh con.

Các giá trị ngưỡng cho H, S và V được xác định dựa trên các mức xám của biểu đồ histogram Cụ thể, giá trị ngưỡng dưới và trên cho H là 0.0 và 0.3, trong khi đó giá trị ngưỡng cho S là 0.05 và 0.1, và cho V là từ 0.0 đến 0.9.

V Quá trình tái tạo hình ảnh được thực hiện bằng cách chập một mặt nạ với hình ảnh gốc RGB ban đầu như Hình 3.10a để tạo ra ảnh nhị phân Hình 3.10b sau đó chập ảnh nhị phần này với ảnh ban đầu, thu được ảnh mới đã được tách nền

Hình 3.8 Kết quả tách nền từ: (a) Ảnh đầu vào RGB; (b) Ảnh sau khi đuọc chuyển sang HSV

Hình 3.9 trình bày ba thành phần H, S, V cùng với biểu đồ histogram tương ứng Cụ thể, (a) là hình ảnh thành phần H, (b) là hình ảnh thành phần S, và (c) là hình ảnh thành phần V Ngoài ra, (d) thể hiện biểu đồ histogram của thành phần H, (e) là biểu đồ histogram của thành phần S, và (f) là biểu đồ histogram của thành phần V.

Hình 3.10 Kết quả tách nền ảnh: (a) Ảnh gốc dạng RGB; (b) Ảnh nhị phân sau khi dùng mặt nạ; (c) Ảnh được tách nền.

Trích đặc trưng

Bộ lọc Gabor, được đặt theo tên của Dennis Gabor, là bộ lọc tuyến tính quan trọng trong xử lý hình ảnh, chuyên dùng để phát hiện cạnh và phân tích kết cấu Chúng có khả năng định vị tối ưu trong cả miền không gian và tần số, thích hợp cho các bài toán phân đoạn kết cấu Bộ lọc này cho phép một dải tần số nhất định và loại bỏ các tần số không mong muốn, do đó, nhóm nghiên cứu đã chọn sử dụng bộ lọc Gabor để trích đặc trưng vùng lá bệnh trên hình ảnh lá cây cà chua Bộ lọc Gabor có thể được hình dung như tín hiệu hình sin với tần số và hướng cụ thể, được điều chế bởi sóng Gaussian.

Hình 3.11 Bộ lọc Gabor thu được bằng cách chỉnh sóng Sin với góc theta là 45°

Trong nghiên cứu về trích rút đặc trưng cho ảnh lá, nhóm nghiên cứu đã áp dụng bộ lọc Gabor để giữ lại một dải tần gồm 6 bộ lọc theo các hướng khác nhau, cụ thể là 0, 45, 90 độ và các góc tiếp theo Hình 3.12 minh họa các góc của 6 bộ lọc Gabor này, cho thấy sự đa dạng trong việc trích xuất đặc trưng từ ảnh lá.

Hình 3.12 Hình hiển thị một dãy gồm 6 bộ lọc Gabor ở góc định hướng là : 0°, 45°,

Khi tích hợp hình ảnh đầu vào với các bộ lọc Gabor, các đặc trưng của ảnh sẽ được làm nổi bật, trong khi các vùng nền và lá màu xanh sẽ bị làm mờ, như minh họa trong Hình 3.16 Bộ lọc Gabor phản hồi mạnh nhất tại các cạnh và điểm thay đổi kết cấu, do đó, việc điều chỉnh các thông số là cần thiết để bộ lọc làm nổi bật tính năng cụ thể.

Nhóm nghiên cứu đã áp dụng các phương pháp từ Chương 2 để sử dụng bộ lọc Gabor với các tham số θ (góc nghiêng của bộ lọc) ở 4 góc: 0°, 45°, 90° và 135° Kết quả thu được là 4 hình ảnh lá sau khi xử lý qua bộ lọc Gabor, như thể hiện trong Hình 3.13 Trung bình của 4 hình ảnh này tạo ra một ảnh lá được trích xuất cạnh, hiển thị trong Hình 3.14.

Hình 3.13 Ảnh lá ban đầu và sau khi đi bộ lọc Gabor theo 4 hướng 0°, 45°, 90°,

Hình 3.14 minh họa kết quả trích xuất đặc trưng từ lá khỏe mạnh, bao gồm (a) ảnh lá ban đầu và (b) ảnh lá sau khi thực hiện trích xuất cạnh bằng cách trung bình 4 ảnh theo 4 hướng khác nhau.

Kết quả trong Hình 3.14 cho thấy phần ảnh lá bình thường và phần nền không có đặc trưng cấu trúc bị làm mờ Bộ lọc thiết kế từ sự kết hợp của 4 bộ lọc Gabor theo 4 hướng đã loại bỏ hầu hết thông tin trên ảnh Do đó, nhóm nghiên cứu đã điều chỉnh thông số độ lệch chuẩn và hình dạng của Gaussian trên bộ lọc Gabor để giữ lại các đặc trưng mong muốn, đồng thời chỉ loại bỏ các phần nội dung không chứa thông tin về cấu trúc của ảnh.

Hình 3.15 Bộ lọc được điều chỉnh hai thông số Gamma và Sigma giữ nguyên các thông số khác: (a) Thay đổi thông số Sigma (σ = 2) ; (b)Thay đổi Gamma(γ = 0.55)

(a) Ảnh gốc; (b) Ảnh đã được trích đặc trưng; Hình 3.16 Kết quả ảnh lá đã được trích đặc trưng của lá bệnh Úa sớm.

Kiến trúc mô hình mạng VGG19

Hai nhà khoa học Simonyan và Zisserman từ trường đại học Oxford đã phát triển mô hình mạng CNN VGG19, bao gồm 19 lớp, trong đó có 16 lớp tích chập và 3 lớp kết nối đầy đủ.

Trong cuộc thi ILSVRC 2014, VGG19 đã xuất sắc đạt hạng nhất trong định vị tọa độ vật thể và hạng nhì trong phân loại hình ảnh Thành công này là lý do chính để nhóm tác giả chọn VGG19 làm mô hình cốt lõi cho nghiên cứu của mình.

Về tổng thể, VGG19 được xây dựng từ các lớp sau :

Các lớp tích chập với bộ lọc kích thước 3x3 và độ trượt 1 pixel đóng vai trò quan trọng trong việc giúp mô hình hiểu và nắm bắt các đặc trưng quan trọng của ảnh đầu vào.

• ReLU layers : lớp hiệu chỉnh tuyến tính để chuyển đổi các giá trị âm của kết quả lớp tích chập nhưng vẫn giữ đươc độ tin cậy

Các lớp pooling trong VGG19 sử dụng max-pooling với kích thước 2x2 và bước trượt 2 pixel, giúp giảm kích thước hình ảnh sau khi qua các lớp tích chập mà vẫn giữ được các đặc trưng quan trọng.

• Fully connected layers: lớp kết nối đầy đủ

• Softmax function layers: hàm Softmax sẽ được sử dụng ở đầu ra của mô hình

Hình 3.17 Kiến trúc mô hình mạng VGG19

Mô hình VGG19 được xây dựng theo thiết kế từ Hình 3.17, bắt đầu với quá trình tiền xử lý ảnh, trong đó ảnh đầu vào có kích thước 224x224x3 Mô hình gồm 5 khối tích chập chính với 16 lớp tích chập, mỗi khối bao gồm các lớp tích chập và lớp hiệu chỉnh ReLU ở đầu ra, cùng với lớp max-pooling ở cuối mỗi khối Ở lớp kết nối đầy đủ cuối cùng, mô hình phân loại 9 trường hợp bệnh cây cà chua và 1 trường hợp cây khỏe mạnh, tạo ra 10 neural với lớp hàm Softmax.

Theo đó, thông số của các lớp trong mô hình mạng VGG19 mà nhóm tác giả đã thực hiện như sau :

Lớp Conv1_1 nhận ảnh đầu vào với kích thước đã nêu và sử dụng 64 bộ lọc kích thước 3x3, với bước trượt (stride) là 1 và thêm lề (padding) là 1 Kết quả đầu ra của lớp này sẽ có kích thước 224x224x64, tiếp theo là lớp hiệu chỉnh relu1_1 Tổng số tham số của lớp Conv1_1 được tính là (3*3*3)*64 + 64 = 1792.

Lớp tích chập Conv1_2 có thông số tương tự lớp đầu tiên vì nó thuộc cùng một khối, với dữ liệu đầu vào là đầu ra của lớp trước đó Kích thước đầu ra của lớp này là 224x224x64 và sẽ được xử lý qua lớp kích hoạt ReLU relu1_2 Tổng số tham số của lớp Conv1_2 là 36,928, được tính bằng công thức (3*3*64)*64 + 64.

Lớp max_pooling_1 có kích thước 2x2 và bước trượt 2, áp dụng phương pháp max-pooling để chọn giá trị pixel lớn nhất giữa hai pixel mỗi lần trượt trên ma trận đặc trưng của ảnh sau khối tích chập đầu tiên Kết quả đầu ra là ảnh có kích thước 2 chiều giảm còn 112x112x64, nhưng vẫn giữ được các đặc trưng quan trọng.

Lớp tích chập Conv2_1 trong khối thứ 2 sử dụng 128 bộ lọc, tạo ra dữ liệu đầu ra có kích thước 112x112x128 Dữ liệu này sau đó được đưa qua lớp hiệu chỉnh relu2_1 Tổng số tham số của lớp này được tính là (3*3*64)*128 + 128 = 73856.

Lớp Conv2_2 là lớp tích chập tiếp theo, có thông số tương tự như lớp trước do sử dụng cùng một khối thứ hai với dữ liệu đầu vào là đầu ra của lớp trước Kích thước đầu ra của lớp này là 112x112x128, và dữ liệu sẽ được xử lý qua lớp kích hoạt relu2_2 Tổng số tham số của lớp Conv2_2 được tính là (3*3*128)*128 + 128, tương đương với 147584 tham số.

Lớp max_pooling_2 được áp dụng sau khối tích chập thứ hai với kích thước 2x2 và bước trượt 2, sử dụng phương pháp max-pooling Kết quả đầu ra thu được là hình ảnh có kích thước 56x56x128.

Lớp tích chập Conv3_1 thuộc khối thứ 3 sử dụng 256 bộ lọc, tạo ra dữ liệu đầu ra với kích thước 56x56x256 Dữ liệu này sau đó sẽ được xử lý qua lớp hiệu chỉnh relu3_1 Tổng số tham số trong lớp này là 295168, được tính bằng công thức (3*3*128)*256 + 256.

Lớp tích chập Conv3_2 có thông số tương tự như lớp trước đó, vì nó hoạt động trên cùng một khối thứ 3 với dữ liệu đầu vào là đầu ra của lớp trước Kích thước đầu ra của lớp này là 56x56x256 và được xử lý qua lớp kích hoạt ReLU relu3_2 Tổng số tham số của lớp Conv3_2 là 590080, được tính bằng công thức (3*3*256)*256 + 256.

Trong khối thứ 3, hai lớp tích chập Conv3_3 và Conv3_4 có thông số tương tự như lớp Conv3_2, và dữ liệu đầu ra của chúng đều có kích thước 56x56x256 Sau mỗi lớp tích chập, dữ liệu sẽ được đi qua lớp hiệu chỉnh relu3_3 và relu3_4, với tổng số lượng tham số là 590080.

Max_pooling_3 là lớp pooling được áp dụng sau khối tích chập thứ 3, với kích thước 2x2 và bước trượt 2 Phương pháp max-pooling được sử dụng để xử lý, cho ra kết quả đầu ra là hình ảnh có kích thước 28x28x256.

Thiết kế ứng dụng di động

Giao diện người dùng (UI) là cầu nối giữa người nông dân và thiết bị di động, giúp họ tương tác một cách hiệu quả Để thiết kế giao diện thân thiện, cần chú trọng vào những yêu cầu cụ thể nhằm đảm bảo người nông dân dễ dàng tiếp cận và sử dụng ứng dụng mà không gặp khó khăn.

- Yêu cầu 1: Bố cục giao diện đơn giản nhưng không thiếu thông tin cần đưa ra, sắp xếp các trang hiển thị một cách logic, không bị xáo trộn

- Yêu cầu 2: Tên các chức năng phải ngắn gọn, trực tiếp đưa ra được thông tin mà người thiết kế mong muốn truyền đạt

Mục tiêu chính của ứng dụng điện thoại này là phân loại bệnh trên cây cà chua, với việc sử dụng ảnh đầu vào là điều không thể thiếu Ứng dụng cung cấp hai chức năng quan trọng: chụp ảnh trực tiếp từ camera và lấy ảnh từ bộ sưu tập trong điện thoại Để tăng cường tính tiện ích, ứng dụng cũng đưa ra các đề xuất về cách phòng ngừa và chữa trị bệnh đã phát hiện Tóm lại, các chức năng của ứng dụng được thiết kế nhằm hỗ trợ nông dân trong việc quản lý sức khỏe cây cà chua.

Ứng dụng phân loại bệnh dựa trên mô hình mạng đã được huấn luyện sẵn trên máy chủ Khi nhận ảnh lá cây, ứng dụng sẽ hiển thị kết quả phân loại bệnh một cách chính xác và nhanh chóng.

- Chụp ảnh trực tiếp từ camera: ứng dụng sẽ truy xuất quyền sử dụng camera trên điện thoại và lấy ảnh sau khi chụp đưa vào mô hình mạng

- Tải ảnh từ bộ sưu tập : thay vì chụp bằng camera, người dùng cũng có thể chọn ảnh trực tiếp có sẵn trong máy để tiến hành phân loại

Đề xuất các phương pháp phòng ngừa và chữa trị bệnh, bao gồm kết quả phân loại, sẽ cung cấp thêm thông tin chi tiết về các biện pháp phòng ngừa hiệu quả và giải pháp chữa trị thích hợp cho từng loại bệnh.

Nhóm nghiên cứu đã thu thập thông tin về các bệnh hại từ những nguồn tin cậy như cổng thông tin của Bộ Nông Nghiệp và các đề xuất từ các tỉnh nông nghiệp, đặc biệt là Lâm Đồng Các đề xuất này tập trung vào 9 loại bệnh của đề tài và khả năng phát hiện của mô hình mạng Hơn nữa, nhóm tác giả đã tiến hành nghiên cứu sâu để xác định nguyên nhân và đề xuất những giải pháp khả thi cho 9 loại bệnh cà chua trong tập dữ liệu.

Các đề xuất được trình bày lần lượt như sau:

- Do nhiều loài vi khuẩn thuộc chi Xanthomonas gây ta

- Mầm bệnh có thể xuất hiện trong hạt giống, có dại hay tàn dư của mùa vụ trước

➢ Phương pháp phòng ngừa và trị bệnh:

- Ngâm hạt giống khoảng một trong dung dịch natri hyoclorit 1,3% hoặc ngâm

25 phút trong nước nóng 50*C để làm sạch và giảm khả năng phát bệnh

- Sử dụng các loại thuốc diệt khuẩn có gốc kim loại đồng và Mancozeb

- Không sử dụng hệ thống tưới phun từ trên cao và tránh làm việc trong vườn khi tán lá còn ẩm ướt

- Vệ sinh sạch sẽ công cụ va trang thiết bị làm vườn

- Bào tử nấm có thể tồn tại trên hạt, trên tàn dư cây bệnh hoặc trên một số cây cùng họ cà chua

➢ Phương pháp phòng ngừa và trị bệnh:

- Vệ sinh đồng ruộng, thu gom, tiêu hủy tàn dư cây trồng

- Không luân canh với khoai tây

- Ngắt bỏ lá ở gốc và lá bị bệnh

- Kiểm tra cẩn thận từng cây con trước khi cấy ra ruộng và loại bỏ bất kỳ cây con nào có triệu chứng bạc lá sớm

- Chọn ruộng thoát nước tốt, cây xung quanh không cản trở luồng không khí để lá khô càng nhanh càng tốt sau mưa hoặc tưới trên cao

- Phun thuốc diệt nấm và một số hóa chất với liều lượng như sau: Aviso 350S - 30,40 ml/16 lít nước, Manozed 80WP - 80g/16 lít nước, Ridozed 72WP - 80g/16 lít nước

- Do nấm Phytopthora Infestants và cũng là bệnh nghiêm trọng nhất trên cây cà chua

➢ Phương pháp phòng ngừa và trị bệnh:

- Tránh canh tác trong mùa mưa nếu không có điều kiện kiểm soát ẩm độ tốt (trồng trong nhà màng)

- Phơi đất, vệ sinh đồng ruộng kỹ trước khi trồng Tạo điều kiện thông thoáng cho ruộng cà chua

- Sử dụng Phytocide 50WP kết hợp với Hợp Trí Kali-Phos phun khi bệnh chớm xuất hiện hoặc phun phòng khi thời tiết thích hợp cho bệnh phát triển

- Không trồng liên tục nhiều vụ hoặc nhiều năm trên cùng một ruộng Luân canh với cây trồng khác họ cà

- Do mầm bệnh Passalora fulva gây ra

- Trong môi trường có độ ẩm cao (lớn hơn 85%)

➢ Phương pháp phòng ngừa và trị bệnh

- Không trồng các vụ cà chua liên tiếp trên đất hoặc trong cùng một khu vườn, sử dụng luân canh cây trồng 3 năm

- Không trồng cây mới cạnh những cây có bệnh

- Dùng thuốc bảo vệ thực vật: Champ 30 WG và Zonix để phòng bệnh

- Sử dụng các loại thuốc diệt côn trùng chích hút từ vườn ươm và ngay khi trồng bằng các loại thuốc Oshin 20WWP, Sokupi 0.36AS, Actara 25WGt

- Do nấm Septoria Lycopersici gây ra

- Trong giai đoạn sinh trưởng khi tán lá cây có độ che phủ lớn, lam giảm chuyển độ không khí trong tán lá

➢ Phương pháp phòng ngừa và trị bệnh:

- Khi phát hiện cây bị bệnh thì nhanh chóng tiến hành thu gom và tiêu hủy

- Gieo trồng mật độ hợp lý

- Không nên tưới vào chiều mát vì tạo điều kiện ẩm ướt trên lá ban đêm

- Phun thuốc có hoạt chất Azoxystrobin; Metalaxyl hay các hỗn hợp (Mandipropamid Chlorothalonil)…

- Do ve nhện đỏ (Tetranychus urticae) gây ra

- Chúng có những bộ phận chuyên nghiệp để hút nhựa cây và làm các lá có vẻ ngoài xơ xác, sẫm màu nâu đen

➢ Phương pháp phòng ngừa và trị bệnh:

- Kiếm tra tán lá cây để loại bỏ nhện kịp thời, tránh phun thuốc trừ sâu quá sớm, không bón phân quá nhiều

Sử dụng các hóa chất và thuốc trừ sâu như bifenazate, abamectin, spirotetramat và spiromesifen, phun 2 lần cách nhau 5 đến 7 ngày để giảm thiểu trứng ve và tàn dư từ lần phun đầu Luân phiên các loại hóa chất giúp ngăn ngừa và làm chậm quá trình kháng thuốc.

- Do một số loài virus thuộc chi Begomovirus, họ Geminiviridae gây ra

- Lây lan nhờ loài bọ phấn Bemisia tabaci

➢ Phương pháp phòng ngừa và trị bệnh:

- Đặt bẫy diệt ruồi trắng

- Dọn dẹp cỏ dại và tàn dư của cây trồng trước để lại

- Che cây bằng lưới mịn để bảo vệ cây khỏi ruồi bọ

- Chọn giống cây có khả năng kháng virus TYLCV

- Do nấm Corynespora cassiicola gây ra

- Các bào tử nấm gây bệnh được phát tán qua gió thổi, tia nước bắn

- Môi trường trồng có độ ẩm cao

➢ Phương pháp phòng ngừa và trị bệnh:

- Không trồng cây mới gần cây cũ bị bệnh

- Tránh trồng xen canh dưới tán lá cây khác

- Kiểm tra tất cả các cây con trong vườn ươm và loại những cây có đốm trên lá

- Loại bỏ vài nhánh cây tầm thấp để thông khí tốt hơn

- Nên sử dụng các hóa chất nông nghiệp như sau Chlorothalonil, Copper 0xychloride hoặc Mancozeb.

- Do Tomato Mosaic Virus (ToMV) gây ra

- Nguồn bệnh có thể lây lan qua quá trình chích hút vào lá cà chua của một số loại côn trùng như: bọ trĩ, bọ phấn trắng, rầy mềm,

➢ Phương pháp phòng ngừa và trị bệnh:

- Chọn các giống cà chua có tính đề kháng với bệnh xoắn lá, chống chịu được sâu bệnh, thích nghi với điều kiện khí hậu địa phương

- Phủ nilon màu xám bạc để giữ ẩm, tránh thu hút côn trùng, hạn chế dinh dưỡng bị rửa trôi, hạn chế cỏ dại, sâu bệnh

- Sử dụng các loại thuốc tăng sức đề kháng cây trồng như: Cytosinpeptidemycin (Sat 4SL), Ningnanmycin (Somec 2SL) với tần suất phun là 7 ngày/lần

3.8.3 Lưu đồ giải thuật hoạt động của ứng dụng a) Lưu đồ giải thuật tổng quát của ứng dụng dự đoán

Hình 3.18 Lưu đồ giải thuật mô tả hoạt động của ứng dụng dự đoán trên điện thoại

Khi bắt đầu, ứng dụng sẽ kết nối với cơ sở dữ liệu lưu mô hình phân loại qua Internet Giao diện chính có hai nút: chụp ảnh từ camera và chọn ảnh từ thư viện Khi người dùng nhấn một trong hai nút, ảnh sẽ được tải lên cơ sở dữ liệu để xử lý Sau khi nhận ảnh, hệ thống sẽ kiểm tra xem mô hình phân loại đã được tải vào bộ nhớ tạm hay chưa; nếu chưa, nó sẽ tải mô hình lên và tiến hành xử lý hình ảnh để phù hợp với kiến trúc của mô hình mạng.

Khi hoàn tất dự đoán, cơ sở dữ liệu sẽ gửi về ứng dụng hai thông số là ID và độ tin cậy của lớp dự đoán Hai thông số này sẽ được so sánh với các nhãn đã được gán sẵn trong SQL Database, nơi mỗi ID chứa tên bệnh và các phương pháp điều trị đề xuất Kết quả sẽ được hiển thị trên giao diện ứng dụng cùng với thông tin từ SQL Database Sau khi kết quả dự đoán hiển thị, nếu người dùng nhấn nút quay lại, giao diện sẽ đưa họ về bước chọn chế độ gửi ảnh lên cơ sở dữ liệu Nếu người dùng muốn kết thúc chương trình, họ chỉ cần nhấn nút thoát Nếu không có thao tác nào với hai nút này, ứng dụng sẽ vẫn hiển thị kết quả dự đoán vừa thực hiện.

Khi bắt đầu quá trình dự đoán, chương trình kiểm tra xem mô hình mạng đã được tải lên bộ nhớ tạm chưa; nếu chưa, nó sẽ tải mô hình dự đoán của bộ phân loại vào bộ nhớ Tiếp theo, chương trình đọc giá trị ảnh từ người dùng và kiểm tra định dạng ảnh Nếu ảnh không phải là định dạng RGB, chương trình sẽ chuyển đổi ảnh sang định dạng RGB và điều chỉnh kích thước ảnh cho phù hợp với kiến trúc mô hình mạng Cuối cùng, ảnh sẽ được lọc mịn để tăng tốc độ dự đoán trước khi được đưa vào bộ phân loại để thực hiện dự đoán và trả kết quả về cho yêu cầu.

Hình 3.19 Lưu đồ giải thuật chương trình dự đoán bệnh ở sever c) Lưu đồ giải thuật chương trình con hiển thị kết quả

Hình 3.20 minh họa lưu đồ giải thuật của chương trình con, thực hiện việc nhận kết quả dự đoán từ cơ sở dữ liệu và xử lý dữ liệu để hiển thị thông tin bệnh ra màn hình.

Khi bắt đầu chương trình, con hiển thị kết quả sẽ khai báo các biến và tham số cần thiết để chứa và phân tách thông tin về bệnh, sau đó chờ nhận dữ liệu từ cơ sở dữ liệu trên GCP Sau khi nhận và giải mã dữ liệu từ webserver, ứng dụng sẽ so sánh kết quả với bảng quy ước đã có để xác định lớp kết quả dự đoán Thông tin hiển thị sẽ bao gồm tên bệnh, độ tin cậy dự đoán theo phần trăm (%), nguyên nhân gây bệnh và đề xuất phương pháp điều trị từ các diễn đàn nông nghiệp.

Hình 3.21 Lưu đồ giải thuật chương trình so sánh và tách dữ liệu thông tin bệnh để phục vụ hiển thị ra màn hình

Sau khi nhận và giải mã kết quả dự đoán từ server, chương trình tiến hành tách và hiển thị thông tin bệnh trên màn hình ứng dụng Trong quá trình này, chương trình kiểm tra giá trị ID nhận được, xác định tên bệnh và các thông tin liên quan, sau đó lưu trữ vào các biến trung gian để xử lý Các thông tin về bệnh được sử dụng theo quy ước đã được thiết lập.

Bảng 3.3 Bảng quy ước thông tin các loại bệnh lá trên cây cà chua theo nhãn đánh sẵn

Trong hệ thống, việc tính toán và thiết kế giải thuật, phần mềm là rất quan trọng, vì chúng tạo nền tảng cho thi công hệ thống dễ dàng hơn Dựa vào sơ đồ giải thuật đã thiết kế, tiến hành thiết kế giao diện người dùng và lập trình chức năng Đồng thời, thực hiện kiểm thử và đánh giá hiệu suất hoạt động của hệ thống cũng là bước cần thiết để đảm bảo tính hiệu quả.

KẾT QUẢ VÀ ĐÁNH GIÁ

Kết quả huấn luyện mô hình

Kết quả trong phần này liên quan đến việc huấn luyện toàn bộ tập ảnh cơ sở dữ liệu, bao gồm cả ảnh gốc và ảnh tăng cường của 10 loại lá trên cây cà chua Các mô hình mạng neural tích chập có khả năng nhận diện các đặc điểm hình ảnh khi được huấn luyện trên các tập dữ liệu lớn hơn, do đó, kết quả đạt được khi chỉ huấn luyện với ảnh gốc sẽ không được trình bày.

Biểu đồ trong Hình 4.1 cho thấy mô hình mạng đạt độ chính xác tổng thể trên 98% Đường màu xanh dương bên trái biểu thị sự thành công của mô hình với tập dữ liệu huấn luyện, trong khi đường màu xanh dương bên phải thể hiện độ chính xác của tập kiểm tra Đường màu cam trong biểu đồ Loss bên trái chỉ ra lỗi trong từng phần nhỏ, và bên phải là lỗi trên tập kiểm tra Qua các lần huấn luyện lặp lại, hệ số mất mát đã giảm nhanh chóng.

Hình 4.1 Kết quả kiểm thử mô hình

Sau 50 lần lặp lại quá trình huấn luyện nhóm thực hiện kiểm thử kết quả dự đoán trên các ảnh ngẫu nhiên từ tập dữ liệu kiểm tra (test dataset) mà mô hình mạng chưa từng gặp trước đó tỷ lệ dự đoán chính xác đạt được khá cao với độ tin cậy dự đoán cao nhất lên đến 99.95% trên nhiều ảnh thử nghiệm, kết quả tương ứng được thể hiện trong Hình 4.2

Để đánh giá độ chính xác của bộ phận loại, nhóm đã sử dụng ma trận nhầm lẫn nhằm đánh giá chất lượng kết quả Quá trình kiểm tra được thực hiện trên toàn bộ ảnh từ tập dữ liệu đánh giá, và kết quả được trình bày để nhấn mạnh số lượng hình ảnh từ tập kiểm tra của mỗi lớp được dự đoán chính xác.

Hình 4.3 Ma trận nhầm lẫn thể hiện hiệu suất dự đoán của mô hình

Hình 4.3 trình bày ma trận thống kê kết quả dự đoán với 20% mẫu thử được tách ra từ tập dữ liệu gốc Các hàng trong bảng đại diện cho các lớp được dự đoán, trong khi các cột thể hiện các lớp mục tiêu Các ô chéo màu xanh cho thấy số lượng và tỷ lệ ảnh được phân loại chính xác, trong khi các ô màu đỏ ngoài đường chéo chỉ ra các phân loại không chính xác Cột bên phải của ma trận thể hiện Precision, tỷ lệ phần trăm dự đoán chính xác, và hàng dưới cùng thể hiện Recall, tỷ lệ phần trăm mẫu không bị bỏ sót Ô dưới cùng bên phải của ma trận thể hiện độ chính xác tổng thể (Accuracy), là tỷ lệ phân loại đúng so với tổng số mẫu trong mô hình phân loại đa lớp.

Ma trận nhầm lẫn cho thấy kết quả đánh giá độ chính xác của mô hình phân loại bệnh lá cây trên 10 tập dữ liệu với tổng cộng 16,011 ảnh, bao gồm ảnh gốc, ảnh tách nền và ảnh tăng cường Qua việc tăng cường dữ liệu hình ảnh và thực hiện các phép biến đổi trên ma trận điểm ảnh cho các lớp, hiệu suất phân loại được kiểm tra trên 3,207 mẫu dữ liệu từ tập ảnh thử nghiệm Trong số 3,207 ảnh thử nghiệm, có 62 phân loại sai, cụ thể là 8 mẫu ở lớp 1, 10 mẫu ở lớp 2, 16 mẫu ở lớp 3, 5 mẫu ở lớp 4, 8 mẫu ở lớp 5 và 7 mẫu ở lớp 6 bị phân loại sai.

Trong quá trình phân loại dữ liệu, có 5 mẫu dữ liệu ở lớp 7 và 3 mẫu dữ liệu ở lớp 8 bị phân loại sai Kết quả cho thấy độ chính xác phân loại đạt được là 98.12% cho lớp 1, 95% cho lớp 2 và 95.81% cho lớp 3.

4 là 97.38%, lớp 5 là 97.75%, lớp 6 là 97.92%, lớp 7 là 99.22%, lớp 8 là 98.93%, lớp

9 là 100%, lớp 10 là 100% Theo đó, độ chính xác phân loại tổng của mô hình ghi nhận được như trong Hình 4.3 là 98.01%

Biểu đồ Hình 4.4 minh họa số lượng ảnh trong cơ sở dữ liệu theo từng lớp với cột màu cam, sắp xếp theo thứ tự trong Bảng 3.1 Các thông số trên đầu mỗi cột thể hiện phần trăm dự đoán chính xác cho từng lớp, trong khi trục tung biểu thị số lượng ảnh dùng để huấn luyện cho từng loại lá Kết quả từ biểu đồ cho thấy độ chính xác của dự đoán phụ thuộc lớn vào số lượng ảnh của mỗi lớp; cụ thể, các lớp có hơn 1000 ảnh thường đạt tỷ lệ dự đoán chính xác cao, trong khi các lớp có số lượng ảnh huấn luyện thấp như lớp số 4 và lớp số 7 lại cho kết quả dự đoán chính xác thấp hơn.

Mặc dù một số lớp như lớp số 1 và số 2 chỉ có số lượng ảnh huấn luyện nhỏ, nhưng vẫn đạt hiệu suất dự đoán cao do biểu hiện bệnh rõ rệt trên ảnh lá Điều này cho thấy rằng kết quả dự đoán phụ thuộc lớn vào số lượng và chất lượng ảnh trong quá trình huấn luyện Cụ thể, các lá khỏe mạnh và các bệnh dễ nhận biết cho thấy hiệu suất huấn luyện và dự đoán rất cao, với một lớp đạt độ chính xác lên đến 99.92% trong cùng một phép thử với các loại lá khác.

Hình 4.4 Biểu đồ thể hiện độ chính xác của mô hình theo số lượng ảnh đầu vào

Kết quả dự đoán trên ứng dụng điện thoại

Nghiên cứu xây dựng mô hình phân loại đã đạt được kết quả tốt, nhưng điều quan trọng là ứng dụng kết quả nghiên cứu vào thực tế để giải quyết vấn đề Phần này sẽ trình bày việc triển khai mô hình phân loại lên ứng dụng di động trên hệ điều hành Android Có hai cách để triển khai mô hình AI trên điện thoại: một là chuyển đổi mô hình sang dạng TensorFlow Lite để xử lý trực tiếp trên thiết bị, hai là xây dựng một server lưu trữ mô hình phân loại và viết API để ứng dụng trên điện thoại gọi đến, truyền đầu vào hình ảnh từ camera Server sẽ xử lý và trả về kết quả.

Trong bài viết này, nhóm tác giả đã quyết định triển khai mô hình phân loại trên ứng dụng điện thoại để dễ dàng áp dụng và cải tiến thành mô hình phát hiện bệnh thông qua ảnh chụp từ camera trong vườn cây Ứng dụng sẽ bao gồm hai màn hình: màn hình đầu tiên có hai nút cho phép người dùng chọn ảnh từ thư viện hoặc chụp ảnh lá trực tiếp, trong khi màn hình thứ hai hiển thị kết quả dự đoán, tỷ lệ chính xác và các ghi chú điều trị bệnh lá cho người dùng Giao diện của ứng dụng phân loại được trình bày trong Hình 4.5.

Hình 4.5 Giao diện điều khiển và màn hình hiển thị kết quả của ứng dụng phân loại

Luồng xử lý dữ liệu bao gồm ba phần chính: hiển thị, xử lý hình ảnh đầu vào và giao tiếp với Web Server Để xử lý hình ảnh đầu vào, cần chuyển đổi ảnh từ định dạng 4 kênh màu sang 3 kênh màu RGB, vì Android sử dụng lớp bitmap, trong đó mỗi điểm ảnh đại diện cho màu từ 4 kênh Alpha, Red, Green, Blue Mô hình phân loại yêu cầu đầu vào là ảnh 3 kênh màu RGB Sau khi đọc ảnh đầu vào, hệ thống sẽ gửi ảnh lên cơ sở dữ liệu để thực hiện dự đoán và trả về kết quả.

ID của bệnh lá được gắn nhãn sẵn và khi gửi kết quả về ứng dụng trên điện thoại, màn hình sẽ sử dụng ID nhận được để so sánh với các nhãn đã được gắn và đề xuất điều trị tương ứng Sau khi xây dựng ứng dụng, nhóm tác giả triển khai mô hình lên Google Cloud Platform (GPC) và kiểm thử cho 10 loại lá, kết quả dự đoán hoàn toàn trùng khớp với kết quả từ tập lệnh Python Để kiểm thử tính ứng dụng thực tế, nhóm thực hiện dự đoán ảnh từ mạng với cả hai chức năng: dự đoán ảnh chụp và dự đoán ảnh từ thư viện điện thoại.

❖ Nhận dạng bệnh lá cây cà chua dùng ảnh lấy từ máy ảnh

Khi nhấn vào nút máy ảnh, hệ thống sẽ yêu cầu quyền truy cập vào máy ảnh Sau khi chấp nhận, giao diện máy chụp ảnh sẽ xuất hiện Người dùng thực hiện dự đoán bằng cách chụp ảnh, sau đó gửi ảnh lên server để xử lý Kết quả sẽ được gửi về và hiển thị thông tin về lá bệnh trên màn hình Các kết quả dự đoán từ những ảnh có kích thước khác nhau được tải về từ internet và hiển thị trong các ảnh bên dưới.

Hình 4.6 Kết quả dự đoán bằng camera điện thoại: (a) Đốm lá Septoria; (b) Úa muộn; (c) Úa muộn; (d) Mốc lá; (e) Mốc lá; (f) Úa sớm

❖ Nhận dạng bệnh dùng ảnh từ thư viện

Khi bạn nhấn nút mở thư viện, giao diện sẽ chuyển đến thư viện ảnh trên điện thoại Để thực hiện dự đoán, hãy bấm vào nút đánh dấu ảnh và sau đó chọn ảnh Hệ thống sẽ gửi ảnh lên server để xử lý và trả về kết quả.

Hình 4.7 Ảnh lá cà chua trong tập dữ liệu gốc dùng để dự đoán: (a)Đốm Vi Khuẩn; (b) Úa s; (c) Úa muộn; d)Khỏe mạnh; (e) Đốm lá Septoria;(f) Xoăn vàng lá; (g)

Khảm lá; (h)Khỏe mạnh; (p) Mốc lá;

Hình 4.8 Kết quả dự đoán từ thư viện ảnh: (a) Đốm vi khuẩn; (b) Úa sớm; (c) Đốm lá Septoria; (d) Nhện ve 2 đốm; (e) Đốm lá Septoria; (f) Xoăn vàng lá; (g) Nhện ve

Đánh giá chất lượng hệ thống

Kết quả từ các mục 4.1 và 4.2 xác nhận rằng phương pháp của nhóm tác giả đối với thuật toán kiến nghị là chính xác Hình 4.2 cho thấy độ chính xác của mô hình đào tạo thấp hơn đối với các lớp có số lượng hình ảnh hạn chế trong tập dữ liệu huấn luyện Mặc dù mô hình phân loại bệnh dựa trên mạng học sâu đạt tỷ lệ thành công cao trong việc dự đoán bệnh trên lá thực vật, nhưng vẫn tồn tại một số hạn chế ảnh hưởng đến sự phát triển của nghiên cứu trong tương lai Một số hình ảnh bị nhiễu do điều kiện chụp ảnh, dẫn đến phân loại sai cho mô hình Do đó, cần thiết phải đánh giá hiệu suất nhiễu trên ảnh và cải thiện trước khi đưa vào quá trình huấn luyện.

Bảng 4.1 Số liệu thực nghiệm quá trình kiểm thử chức năng dự đoán bệnh bằng ảnh chụp từ máy ảnh điện thoại

Để đánh giá tính phù hợp của mô hình nhận dạng bệnh trong thực tiễn, nhóm đã thống kê kết quả kiểm thử theo 4 tiêu chí chính, bao gồm tỷ lệ dự đoán chính xác của hai chức năng dự đoán bằng ảnh chụp và dự đoán bằng ảnh từ thư viện ảnh, cũng như dự đoán sử dụng ảnh có kích thước trùng với kích thước kiến trúc mạng và ảnh với các kích thước khác, với số liệu chi tiết được trình bày trong các bảng 4.1, 4.2, 4.3 và 4.4.

Sau khi tiến hành phân loại ảnh từ các nguồn trên internet bằng chức năng dự đoán từ ảnh chụp trên điện thoại, độ chính xác không cao bằng khi sử dụng ảnh từ thư viện Plantvilage.

Bảng 4.2 Số liệu thực nghiệm quá trình kiểm thử chức năng dự đoán bệnh bằng ảnh lấy từ thư viện ảnh trên điện thoại

Kết quả dự đoán ảnh từ internet cho thấy số lượng ảnh dự đoán chính xác tương đương với việc sử dụng ảnh chụp trực tiếp Tuy nhiên, thời gian thực hiện dự đoán từ nguồn internet có phần nhỉnh hơn do mô hình phải chuyển đổi định dạng ảnh từ 4 kênh màu về 3 kênh màu RGB, trong khi việc sử dụng ảnh từ thư viện không cần qua bước xử lý này.

Bảng 4.3 Số liệu thực nghiệm quá trình kiểm thử chức năng dự đoán với ảnh có kích thước 224x224

Bảng 4.4 Số liệu thực nghiệm quá trình kiểm thử chức năng dự đoán với ảnh có nhiều kích thước kích thước

Mô hình phân loại triển khai trên ứng dụng di động hoạt động tốt ở cả 4 trường hợp, tuy nhiên, chức năng dự đoán bằng ảnh chụp từ camera điện thoại có kết quả kém hơn so với các trường hợp khác Nguyên nhân có thể do ảnh đầu vào từ internet có độ tin cậy thấp và việc chụp ảnh qua màn hình laptop làm giảm chất lượng Thống kê cũng cho thấy tốc độ xử lý kết quả ở các định dạng không tương thích với kiến trúc mô hình chậm hơn so với định dạng chuẩn RGB kích thước 224x224.

Các nguyên tắc thực hành tốt yêu cầu so sánh kết quả đạt được với các kết quả khác Hiện tại, chỉ có giải pháp thương mại Leafsnap sử dụng mạng nhận dạng trực quan để xác định các loài cây từ ảnh lá, nhưng nghiên cứu này phát triển mô hình mạng học sâu để phân loại bệnh lá cây, do đó Leafsnap không được sử dụng để so sánh Cuối cùng, khi so sánh với một số phương pháp phát hiện bệnh từ ảnh lá khác, nhóm nghiên cứu cho thấy phương pháp của mình đạt kết quả tốt hơn.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết luận

Đề tài đã đạt được các mục tiêu ban đầu, với ứng dụng điện thoại hoạt động ổn định và hiệu suất phân loại cao cho hai chức năng Nhóm nghiên cứu đã phát triển ứng dụng phân loại bệnh lá trên cây cà chua sử dụng mô hình CNN-VGG19, dựa trên tập dữ liệu gồm 16,011 ảnh lá cà chua bệnh và lá khỏe từ Plantvillage Tập dữ liệu được chia thành hai phần: 80% cho huấn luyện và 20% cho kiểm thử Qua quá trình huấn luyện, nhóm đã điều chỉnh kích thước và tăng cường số lượng ảnh, đạt độ chính xác phân loại lên tới 98% chỉ sau 75 phút trên máy chủ cấu hình cao.

Nhóm đã thiết kế các lưu đồ giải thuật và lập trình điều hướng luồng dữ liệu để thực hiện các chức năng của ứng dụng phân loại Toàn bộ quá trình xử lý và lưu trữ được thực hiện trên Google Cloud Platform, bao gồm việc tải mô hình để dự đoán và tiền xử lý các ảnh gửi lên server với nhiều định dạng khác nhau Điều này đảm bảo tính tương thích với kiến trúc mô hình nhận dạng bệnh lá và quy ước kết quả trả về để giao tiếp với ứng dụng dự đoán trên điện thoại.

Mô hình phân loại hiện tại chỉ áp dụng cho lá đơn và yêu cầu nền ảnh đồng nhất, điều này hạn chế khả năng ứng dụng trong thực tế Dữ liệu huấn luyện hoàn toàn dựa vào bộ thư viện ảnh lá PlantVillage, do đó cần thu thập thêm hình ảnh lá cà chua bị bệnh từ thực tế để cải thiện độ chính xác của kết quả phân loại, phù hợp với tình hình canh tác nông nghiệp tại khu vực.

Hướng phát triển

Dựa trên các kết quả đạt được và định hướng ứng dụng thực tế, nhóm nhận thấy cần mở rộng đề tài theo các hướng phát triển sau đây.

Huấn luyện mô hình với tập dữ liệu phong phú về các loại cây trồng trong nông nghiệp và sự đa dạng của các bệnh mà cây trồng có thể mắc phải là rất quan trọng Điều này giúp nâng cao khả năng nhận diện và chẩn đoán bệnh, từ đó cải thiện năng suất và chất lượng cây trồng.

Để cải thiện hiệu suất mô hình, bạn có thể áp dụng các phương pháp như điều chỉnh thông số các lớp, thêm các lớp cần thiết và thực hiện các thử nghiệm đánh giá nhằm tối ưu hóa mô hình tốt nhất.

[1] Thete Vaishali V., Thakare Pradnya R., Kadlag Gaurav B., P.A Chaudhari, Leaf Disease Detection Using Image Processing, Vol 3, Issue 2, 2017

[2] Sushil R Kamlapurkar, International Journal of Scientific and Research Publications, Volume 6, Issue 2, February 2016

[3] Trần Minh Đức, Tìm hiểu và Android và phát triển ứng dụng trên Android, Đồ án tốt nghiệp, Trường ĐH SPKT, Tp.HCM, 2012

[4] Ahmad, A Saraswat, D., El Gamal, A.Smart Agricultural Technology, 3, p

In their study presented at the 5th International Conference on Communication and Electronics Systems, E K Nithish and colleagues explore the detection of tomato leaf diseases using a convolutional neural network The research emphasizes the effectiveness of data augmentation techniques to enhance the model's accuracy, showcasing significant advancements in agricultural technology for disease identification This work contributes valuable insights to the field of plant pathology and machine learning applications in agriculture.

[6] S Verma, A Chug, A P Singh, Application of convolutional neural networks for evaluation of disease severity in tomato plant, Journal of Discrete Mathematical Sciences and Cryptography, vol 23, no 1, pp 273–282, 2020

[7] P Wspanialy, M Moussa, A detection and severity estimation system for generic diseases of tomato greenhouse plants, Computers and Electronics in Agriculture, vol

[8] T R Reed, J M H Dubuf, A review of recent texture segmentation and feature extraction techniques, CVGIP: Image Understanding, vol 57, no 3, pp 359–372,

[9] Kumar, J.P., Domnic, S Image based leaf segmentation and counting in rosette plants Inf Process Agric 2019, 6, 233–246

[10] Keiron O’Shea, Ryan Nash, An Introduction to Convolutional Neural Networks, Aberystwyth University, Dec 2015

[11] Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton, ImageNet Classification with Deep Convolutional Neural Networks, University of Toronto, Aug 2010

[12] G.Golino, A.Graziano, A Farina, W Mellano, and F Ciaramaglia, "Comparison of identity fusion algorithms using estimations of confusion matrices," in 17th International Conference on Information Fusion (FUSION), 2014, pp 1-7

[13] Vu Ngọc Tuấn, “Giới thiệu về Flutter”, 20/03/2018 [Online] Available: https://viblo.asia/p/gioi-thieu-ve-flutter-bWrZnNxrZxw

[14] Việt Anh, “Lọc ảnh (Image Filtering), 29/9/2018 [Online] Available: https://vietanh.dev/blog/2018-09-29-loc-anh-image-filtering.

Ngày đăng: 28/12/2023, 18:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w