Nghiên cứu thuật toán học sâu phân loại bệnh khoai tây dựa vào hình ảnh

Tìm hiểu mô hình học sâu và mạng CNN trong việc xây dựng hệ thống phân loại bệnh cây khoai tây tự động qua ảnh lá, giúp phát hiện bệnh sớm.

Trường đại học

Đại học Công nghiệp Hà Nội

Chuyên ngành

Khoa học Máy tính

Người đăng

Ẩn danh

Thể loại

Đồ án chuyên ngành

2023

75
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về ứng dụng học sâu trong phân loại bệnh cây khoai tây

Học sâu (Deep Learning) đã trở thành công nghệ tiên tiến trong lĩnh vực nông nghiệp hiện đại, đặc biệt là trong phân loại bệnh cây khoai tây qua ảnh. Cây khoai tây là một cây trồng quan trọng, nhưng dễ bị nhiều loại bệnh ảnh hưởng đến năng suất. Việc sử dụng mạng nơron tích chập (CNN) giúp phát hiện sớm các bệnh, từ đó hỗ trợ nông dân trong việc quản lý cây trồng hiệu quả. Ứng dụng học sâu có khả năng phân tích hình ảnh lá khoai tây với độ chính xác cao, giúp phân biệt giữa các loại bệnh khác nhau như bệnh nấm, bệnh vi khuẩn hay các vấn đề về dinh dưỡng. Công nghệ này không chỉ tiết kiệm thời gian mà còn giảm chi phí trong việc chẩn đoán bệnh cây trồng.

1.1. Vai trò của học sâu trong nông nghiệp

Học sâu đã cách mạng hóa cách tiếp cận trong chẩn đoán bệnh cây trồng. Bằng cách sử dụng mạng nơron phức tạp, hệ thống có thể học từ hàng nghìn hình ảnh mẫu và nhận diện các mẫu bệnh với độ chính xác vượt trội. Điều này giúp nông dân phát hiện sớm các vấn đề trước khi bệnh lây lan rộng, từ đó bảo vệ năng suất mùa vụ.

1.2. Lợi ích của phân loại bệnh tự động

Phân loại bệnh cây khoai tây tự động qua ảnh mang lại nhiều lợi ích: tiết kiệm thời gian, giảm sai số nhân tập, nâng cao hiệu quả quản lý cây trồng và hỗ trợ quyết định canh tác. Nông dân có thể sử dụng ứng dụng học sâu trên smartphone để chụp ảnh lá và nhận kết quả phân loại bệnh ngay lập tức, mà không cần chuyên gia.

II. Mạng nơron tích chập CNN nền tảng kỹ thuật

Mạng nơron tích chập (Convolutional Neural Network - CNN) là kiến trúc học sâu được thiết kế đặc biệt để xử lý dữ liệu hình ảnh. CNN hoạt động thông qua các lớp tích chập, giúp trích xuất các đặc trưng từ ảnh đầu vào. Trong bài toán phân loại bệnh cây khoai tây, CNN học cách nhận diện các biểu hiện bệnh tật như đốm vàng, những vết thâm hoặc biến dạng lá. Mô hình CNN gồm các lớp chính: lớp tích chập (Convolutional Layer), lớp gộp (Pooling Layer) và lớp kết nối đầy đủ (Fully Connected Layer). Mỗi lớp đóng vai trò quan trọng trong việc xử lý và trích xuất đặc trưng từ ảnh, giúp mô hình đạt độ chính xác cao trong phân loại bệnh.

2.1. Cấu trúc và các lớp trong CNN

CNN bao gồm ba lớp chính: (1) Lớp Convolutional - thực hiện phép tích chập để trích xuất đặc trưng; (2) Lớp Pooling - giảm kích thước dữ liệu và giữ lại thông tin quan trọng; (3) Lớp Fully Connected - thực hiện phân loại cuối cùng. Trong phân loại bệnh khoai tây, các lớp này hoạt động liên tiếp để chuyển ảnh thô thành các vector đặc trưng mà mô hình có thể phân loại.

2.2. Hàm kích hoạt trong mô hình CNN

Hàm kích hoạt như ReLU (Rectified Linear Unit), Sigmoid và Tanh đóng vai trò quan trọng trong mạng nơron. ReLU được sử dụng phổ biến trong các lớp ẩn vì tính đơn giản và hiệu suất cao. Sigmoid thường được dùng cho lớp output trong bài toán phân loại nhị phân, trong khi Softmax được dùng cho phân loại đa lớp bệnh cây trồng.

III. Phương pháp triển khai và tăng cường dữ liệu

Trong ứng dụng học sâu phân loại bệnh cây khoai tây, tăng cường dữ liệu (Data Augmentation) đóng vai trò cực kỳ quan trọng. Kỹ thuật này bao gồm các phép biến đổi như phản chiếu ảnh, xoay, phóng to/thu nhỏ, và thêm nhiễu Gaussian. Những biến đổi này tạo ra các mẫu dữ liệu mới từ những ảnh gốc, giúp mô hình học tổng quát hơn và tránh tình trạng overfitting. Bộ dữ liệu được chia thành ba tập: huấn luyện (training), xác thực (validation) và kiểm tra (test). Việc sử dụng thuật toán tối ưu Adam và hàm mất mát Cross-Entropy giúp cải thiện hiệu suất huấn luyện của mô hình, đạt độ chính xác cao trong phân loại bệnh.

3.1. Kỹ thuật tăng cường dữ liệu

Tăng cường dữ liệu bao gồm: phản chiếu ảnh theo trục X, Y hoặc XY; phóng to/thu nhỏ từ các vị trí khác nhau; thêm nhiễu Gaussian để mô phỏng điều kiện chụp thực tế. Các kỹ thuật này giúp mô hình CNN quen với các biến thể của ảnh lá khoai tây, từ đó cải thiện khả năng phân loại bệnh trong thực tế.

3.2. Thuật toán tối ưu và hàm mất mát

Thuật toán Adam là phương pháp tối ưu hóa hiện đại, kết hợp ưu điểm của Momentum và RMSprop. Hàm Cross-Entropy Loss được sử dụng để đo lường sai lệch giữa dự đoán và nhãn thực tế. Sự kết hợp này giúp mô hình học sâu hội tụ nhanh hơn và đạt hiệu suất tốt hơn trong phân loại bệnh cây khoai tây.

IV. Kết quả thí nghiệm và ứng dụng thực tiễn

Kết quả thí nghiệm cho thấy mô hình học sâu CNN đạt độ chính xác cao khi sử dụng bộ dữ liệu tăng cường so với bộ dữ liệu gốc. Ma trận nhầm lẫn (Confusion Matrix) được sử dụng để đánh giá hiệu suất phân loại, giúp xác định những lớp bệnh nào được phân loại chính xác và những lớp nào dễ bị nhầm lẫn. Giao diện hệ thống hoàn thiện cho phép người dùng tải lên ảnh lá khoai tây và nhận được kết quả phân loại bệnh ngay lập tức, kèm theo độ tin cậy của dự đoán. Ứng dụng này có thể được triển khai trên web hoặc mobile, hỗ trợ nông dân trong chẩn đoán bệnh cây trồng mà không cần kiến thức chuyên sâu về bệnh học thực vật.

4.1. Độ chính xác và ma trận hiệu suất

Ma trận nhầm lẫn cung cấp cái nhìn chi tiết về hiệu suất phân loại bệnh từng lớp. Các chỉ số như Precision, Recall, F1-Score giúp đánh giá toàn diện mô hình. Kết quả cho thấy mô hình đạt độ chính xác tổng thể cao, với khả năng phát hiện các loại bệnh khác nhau của cây khoai tây một cách đáng tin cậy.

4.2. Triển khai ứng dụng thực tiễn

Hệ thống phân loại bệnh cây khoai tây có thể được triển khai thành ứng dụng web hoặc mobile, cho phép nông dân chụp ảnh lá và nhận kết quả phân loại bệnh tức thời. Giao diện thân thiện, dự đoán nhanh chóng, và độ chính xác cao làm cho ứng dụng trở thành công cụ hữu ích trong quản lý cây trồng bền vững.

18/12/2025

Trích đoạn nội dung tài liệu

chương 1 Trong chương này em đã trình bày những hướng cơ bản trong nghiên cứu để tìm hiểu về đề tài. Em tìm hiểu các nội dung về lý do chọn đề tài, mục tiêu của đề tài, đối tượng và phạm vi nghiên cứu từ đó tìm ra hướng để tìm hiểu và hoàn thành đề tài. BÀI TOÁN PHÂN LOẠI BỆNH TRÊN CÂY KHOAI TÂY VÀ MÔ HÌNH MẠNG NO-RON CƠ BẢN 2. Bài toán phân loại bệnh trên cây khoai tây Phân loại bệnh trên cây khoai tây là một bài toán điển hình của phân lớp trong trí tuệ nhân tạo.

Phân loại bệnh cây khoai tây là bài toán thuộc nhóm học có giám sát (Supervised Learning) trong Học máy. Bài toán yêu cầu dữ liệu cần có nhãn (label). Mô hình sẽ học từ dữ liệu có nhãn đó, sau đó được dùng để dự đoán nhãn cho các dữ liệu mới mà mô hình chưa gặp. Bài toán đặt ra ở đây là với mỗi một mẫu dữ liệu dạng hình ảnh bệnh trên cây bất kỳ, ngẫu nhiên, sau đó qua máy học ta có thể phân loại được loại bệnh mà ảnh chụp được theo các loại cho trước.

Trong bài toán, chúng ta sẽ từ từ xây dựng mô hình mạng neuron cơ bản và kiến trúc mạng CNN để phát hiện bệnh trên cây. Các thể loại bệnh cho trước bao gồm: - Potato Early Blight: Bệnh cháy lá sớm ở cây khoai tây - Potato Late Blight: Bệnh mốc sương cây khoai tây - Potato Healthy: Cây khoai tây khỏe mạnh Với bài toán phân loại bệnh trên cây khoai tây chúng ta sử dụng các mô hình phổ biến như mô hình Mạng neuron Perceptron đơn, Mạng neuron tích chập CNN để giải quyết bài toán này. Tìm hiểu học có giám sát Hình 2. Hồi quy tuyến tính Hồi quy là một hình thức học trong Học máy với mục đích là tạo ra một mô hình dự đoán đầu ra là các giá trị liên tục, chẳng hạn giá cả, số lượng, khối lượng hoặc các giá trị vô hướng khác.

Hồi quy cho thấy được mối quan hệ giữa các biến trong dữ liệu (đặc trưng) mà chúng ta cần quan sát và biến mà chúng ta cần dự đoán (nhãn). Trong mô hình này, một tập dữ liệu cần phải được gắn nhãn. Tập dữ liệu sau đó được chia thành hai phần: ● Tập dữ liệu huấn luyện (training dataset): Dữ liệu sử dụng trong mô hình nhằm xác định một hàm số biểu thị mối quan hệ giữa các biến đặc trưng và các nhãn. ● Tập dữ liệu thẩm định (validation dataset)/ kiểm tra (test dataset): Dữ liệu dùng để đánh giá hàm số đã tìm được trong mô hình sau khi sử dụng tập dữ liệu huấn luyện ở bước trước đó bằng cách so sánh giá trị dự đoán và giá trị thực tế.

16 Ví dụ: Người ta thu thập các số liệu của hơn 20.000 căn nhà ở thành phố Portland, tiểu bang Oregon, Mỹ được các thông tin như sau: diện tích ngôi nhà (x1, m2), diện tích đất (x2, m2), số phòng ngủ (x3), số tầng (x4), số nhà vệ sinh/nhà tắm (x5), tuổi căn nhà (x6) và cuối cùng là giá bán (y, triệu đồng). Lưu ý là các số liệu đã được chuyển đổi feet2 sang m2, Đô-la Mỹ sang VNĐ. Liệu rằng chúng ta có thể đoán biết giá của một căn nhà nếu dựa vào các số liệu còn lại được hay không? Diện Diện Số Số Số nhà vệ Tuổi Giá bán tích căn tích đất phòng tầng sinh/nhà căn (triệu đồng) nhà (m2) ngủ tắm nhà (m2) 110 525 3 1 1 5 5103 239 673 3 2 3 5 12374 72 929 2 1 1 5 4140 183 465 4 1 3 5 13892 157 751 3 1 2 5 11730 … … … … … … … Bảng 2.1 Dữ liệu và thông số giá nhà Hình 2.2 Biểu đồ phân tán hồi quy tuyến tính Tập dữ liệu thu thập được ký hiệu là {(𝑥(i), 𝑦(i)), ∀𝑖 = 1,2, …, 𝑚} Trong đó, x(i) là véctơ tương ứng với dữ liệu đầu vào của căn nhà thứ i, 𝑥 ∈ 𝑅n (x là biến phụ thuộc), y(i) là giá bán của căn nhà thứ i (y là biến độc lập), m là số 17 lượng căn nhà thu thập được. Với mỗi đặc trưng j của x(i) ta ký hiệu là 𝑥𝑗 (𝑖), ∀𝑗 = 1,2, …, 𝑛.

Giá trị y là một số thực 𝑅, 𝑥(i) = {𝑥1(i), 𝑥2(i), …, 𝑥n(m)}. Nói cách khác, mục đích của mô hình này là tìm ra một hàm số f nào đó sao cho y = f(x). Trong hình trên, với mỗi dấu x đỏ trên biểu đồ tương ứng với một cặp giá trị (𝑥1(i), 𝑦 (i)) của 20 căn nhà đầu tiên và một đường thẳng đi ngang qua với các điểm giá trị bao quanh nó. Đường thẳng chính là mối quan hệ tuyến tính của 𝑥1(i) 𝑣à 𝑦 (i), chính là đồ thị của hàm số 𝑦 (i) = 𝑓 (𝑥1(i)), mô hình này gọi là hồi quy tuyến tính.

Tuy nhiên, không phải lúc nào mà đường tuyến tính cũng có thể vừa khớp với tất cả dữ liệu được, những điểm nằm ngoài đường thẳng sẽ tạo ra một sai số hoặc phương sai. Một thuật toán trong Hồi quy sẽ tìm hàm số sao cho đường tuyến tính có phương sai nhỏ nhất có thể. Lúc này, gọi giá trị dự đoán là 𝑦̂, giá trị thực tế 𝑦 ≈ 𝑓(𝑥) = 𝑦̂. Hồi quy đơn tuyến tính được biểu diễn dưới dạng: 𝑓 (𝑥1) = 𝜃0 + 𝜃0𝑥1.

Với nhiều hơn một đặc trưng, thì mối quan hệ giữa các biến đặc trưng và giá nhà là 𝑓(𝑥) = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2 + 𝜃3𝑥3 + 𝜃4𝑥4 + 𝜃5𝑥5 + 𝜃6𝑥6. Đây được gọi là hồi quy đa tuyến tính. Trong đó, 𝜃j, ∀𝑗 = 1,2, … ,6 là các hằng số, 𝜃0 là thiên kiến (bias). Mục tiêu của hồi quy tuyến tính sẽ tìm ra các hệ số 𝜃j tối ưu.3 Hyperplane ở đồ thị hai chiều (hình I) và ba chiều (hình II) 18 Đồ thị hàm số ở hình trên trong không gian hai chiều (hai trục toạ độ) là một đường thẳng (line).

Nếu trong không gian ba chiều, hàm số được gọi là tuyến tính nếu đồ thị của hàm số là một mặt phẳng (plane). Còn trong không gian nhiều hơn 3 chiều, đồ thị hàm số là một siêu phẳng (hyperplane). Hồi quy phi tuyến tính Trong hồi quy phi tuyến tính, hàm số f(x) không thể được xem như là tuyến tính nếu như các tham số không phải là tuyến tính [11]. Đồ thị của hàm số phi tuyến tính là một đường cong.

Hàm số phi tuyến tính được ký hiệu như sau: 𝑦̂ = 𝑓 (𝑥, 𝜃). Ví dụ: Một hàm số phi tuyến tính là 𝑦̂ = 𝜃0 + 𝜃1 𝑒𝑥𝑝(𝜃3 𝑥) Hình 2.4 Đồ thị hàm số phi tuyến tính (NonLinear Function) Trong hình trên, các điểm giá trị có xu hướng tạo thành một đường cong, nếu sử dụng hồi quy tuyến tính (đường thẳng màu xanh) thì hàm số tìm được sẽ có phương sai lớn. Để tìm được hàm số phi tuyến tính này, sử dụng thuật toán bình phương tối thiểu Levenberg–Marquardt. Hồi quy đa thức Như đã đề cập ở phần trên, đa hồi quy là một dạng của hồi quy, trong đó có nhiều hơn một biến độc lập.

Đa hồi quy bao gồm một kỹ thuật gọi là hồi quy 19 đa thức. Trong hồi quy đa thức, biến phụ thuộc hồi quy vào luỹ thừa của các biến độc lập. Ví dụ: Vào năm 1981, n = 78 con cá Thái Dương xanh (Bluegrill) được lấy mẫu ngẫu nhiên ở Lake Mary, tiểu bang Minnesota, Mỹ. Nhà nghiên cứu đã đo lường và ghi lại các dữ liệu sau: ● Chiều dài (y) của con cá, đơn vị mili-mét.

● Độ tuổi (x) của con cá đó, đơn vị năm Kết quả thu thập được được thể hiện qua biểu đồ sau: Hình 2.5 Biểu đồ hồi quy đa thức (tương quan của cá qua từng độ tuổi) Mặc dù chiều dài của con cá tăng lên qua từng độ tuổi, nhưng lại không hoàn toàn theo tuyến tính (Hình 8). Để mô hình hoá dữ liệu này, người ta xây dựng một mô hình đa thức bậc 2, hay còn gọi là hàm số bậc 2 như sau: 𝑦̂ (𝑖) = 𝜃0 + 𝜃1𝑥(i) 𝜃2(𝑥(i))2 Trong đó: 𝑦̂ (𝑖) là chiều dài của con cá Thái dương xanh thứ i (mm) 20 𝑥 (𝑖) là tuổi của con cá Thái dương xanh thứ i (năm) Bên cạnh đa thức bậc 2, hồi quy đa thức còn có các dạng khác từ bậc 3 đến n. Công thức tổng quát: 𝑦̂ = 𝜃0 + 𝜃1𝑥 + 𝜃2𝑥2 + ⋯ + 𝜃i 𝑥i, ∀𝑖 = 1,2, …, n Để tìm các tham số ta sử dụng phương pháp bình phương tối thiểu 2. Phân loại học có giám sát 2.

Phân loại Nhị phân và Đa lớp Phân loại là một hình thức học trong Học máy với mục đích là tạo ra một mô hình dự đoán đầu ra là các giá trị rời rạc: thể loại (category) hoặc lớp (class), chẳng hạn dựa vào thông tin xét nghiệm máu, chiều cao, cân nặng, huyết áp,. mà dự đoán có mắc bệnh tiểu đường hay không. Ví dụ: Một trạm y tế sử dụng thông tin đường huyết trong máu của các bệnh nhân, thu được bảng số liệu sau: Chỉ số đường huyết Bị Tiểu đường 82 0 92 0 112 0 107 1 109 1 … … Bảng 2.2 Dữ liệu về chỉ số đường huyết của các bệnh nhân 21 Hình 2.6 Biểu đồ thể hiện chỉ số đường huyết bệnh tiểu đường Trong ví dụ này, kết quả tiểu đường được chia thành hai trường hợp (hoặc hai lớp) là không bị tiểu tường (non-diabetic) và bị tiểu đường (diabetic). Đây được gọi là phân loại nhị phân.

Kết quả phân loại dựa vào xác suất để có giá trị 0 (không thể) và 1 (chắc chắn). Tổng xác suất cho mỗi lớp là 1 (hoặc bị tiểu đường hoặc không bị tiểu đường). Điều đó có nghĩa là nếu một bệnh nhân có xác suất dự đoán bị tiểu đường là 0,4 thì xác suất tương ứng cho không bị tiểu đường là 0,6. Có một giá trị ngưỡng, thường là 0,5 nhằm xác định kết quả lớp dự đoán.

Nếu xác suất dự đoán lớn hơn hoặc bằng ngưỡng, thì lớp dự đoán được gọi là positive class (trong trường hợp này là bị tiểu đường) và ngược lại, negative class (không bị tiểu đường). Người ta gọi ngưỡng đó là ranh giới quyết định. - Nếu f(x) ≥ 5, dự đoán y = 1 (bị tiểu đường) - Nếu f(x) < 5, dự đoán y = 0 (không bị tiểu đường) Hồi quy luận lý (Logistic regression): 0 ≤ 𝑓(𝑥) ≤ 1 Mô hình hồi quy luận lý: 𝑓(𝑥) = 𝑔(𝜃i’ 𝑥) 22 Trong đó: g(z)=1/(1+e^(-z) ) được gọi là hàm sigmoid hay hàm luận lý. Đồ thị của hàm sigmoid có dạng một đường cong bị chặn trên và chặn dưới, được minh hoạ trong hình dưới đây: Hình 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ