Daftar Isi:

Cara Mendeteksi Penyakit Tanaman Menggunakan Machine Learning: 6 Langkah
Cara Mendeteksi Penyakit Tanaman Menggunakan Machine Learning: 6 Langkah

Video: Cara Mendeteksi Penyakit Tanaman Menggunakan Machine Learning: 6 Langkah

Video: Cara Mendeteksi Penyakit Tanaman Menggunakan Machine Learning: 6 Langkah
Video: Model Klasifikasi SVM | Data Science | Klasifikasi Penyakit Jantung | Machine Learning | ML 2024, Juli
Anonim
Cara Mendeteksi Penyakit Tanaman Menggunakan Pembelajaran Mesin
Cara Mendeteksi Penyakit Tanaman Menggunakan Pembelajaran Mesin

Proses mendeteksi dan mengenali tanaman yang sakit selalu merupakan proses manual dan membosankan yang mengharuskan manusia untuk memeriksa secara visual tubuh tanaman yang sering kali dapat menyebabkan diagnosis yang salah. Juga telah diprediksi bahwa ketika pola cuaca global mulai bervariasi karena perubahan iklim, penyakit tanaman cenderung menjadi lebih parah dan meluas. Oleh karena itu, penting untuk mengembangkan sistem yang dengan cepat dan mudah menganalisis tanaman dan mengidentifikasi penyakit tertentu untuk membatasi kerusakan tanaman lebih lanjut.

Dalam Instructable ini, kita akan mengeksplorasi konsep pembelajaran mesin yang dikenal sebagai "Transfer Learning" untuk mengklasifikasikan gambar tanaman padi yang sakit. Metode yang sama dapat digunakan kembali untuk masalah klasifikasi gambar lainnya.

Langkah 1: Jenis Penyakit Padi

Jenis Penyakit Padi
Jenis Penyakit Padi

Padi adalah salah satu tanaman pangan pokok yang paling populer ditanam terutama di Asia, Afrika dan Amerika Selatan tetapi rentan terhadap berbagai hama dan penyakit. Karakteristik fisik seperti dekolorisasi daun dapat digunakan untuk mengidentifikasi beberapa penyakit yang dapat mempengaruhi tanaman padi. Sebagai contoh, dalam kasus Brown-Spot, penyakit jamur yang mempengaruhi selubung pelindung daun, daun ditutupi dengan beberapa bintik-bintik coklat oval kecil dengan pusat abu-abu sedangkan, dalam kasus Leaf-Blast, daun ditutupi dengan lesi coklat yang lebih besar. Demikian pula, daun yang terkena hama Padi Hispa dapat diidentifikasi dengan tanda jejak panjang yang berkembang di permukaan daun.

Langkah 2: Bagaimana Metode Sebelumnya Mendeteksi Penyakit?

Bagaimana Metode Sebelumnya Mendeteksi Penyakit?
Bagaimana Metode Sebelumnya Mendeteksi Penyakit?

Metode sebelumnya untuk mengklasifikasikan gambar tanaman yang sakit secara otomatis seperti pengklasifikasi berbasis aturan seperti yang digunakan dalam [1], bergantung pada seperangkat aturan tetap untuk mengelompokkan daun ke dalam wilayah yang terkena dan tidak terpengaruh. Beberapa aturan untuk mengekstrak fitur melibatkan pengamatan perubahan mean dan standar deviasi antara warna daerah yang terpengaruh dan tidak terpengaruh. Aturan untuk mengekstrak fitur bentuk melibatkan secara individual menempatkan beberapa bentuk primitif di atas wilayah yang terpengaruh dan mengidentifikasi bentuk yang mencakup area maksimum dari wilayah yang terpengaruh. Setelah fitur diekstraksi dari gambar, seperangkat aturan tetap digunakan untuk mengklasifikasikan gambar tergantung pada penyakit yang mungkin mempengaruhi tanaman. Kelemahan utama dari pengklasifikasi seperti itu adalah akan memerlukan beberapa aturan tetap untuk setiap penyakit yang pada gilirannya dapat membuatnya rentan terhadap data yang bising. Gambar di atas menunjukkan bagaimana pohon keputusan berbasis aturan dapat digunakan untuk mengelompokkan gambar menjadi dua wilayah.

1. Santanu Phadikar et al., “Klasifikasi penyakit padi menggunakan seleksi fitur dan teknik pembuatan aturan,” Computers and Electronics in Agriculture, vol. 90, Januari 2013.

Langkah 3: Mentransfer Pembelajaran

Pindah Belajar
Pindah Belajar

Teknik klasifikasi citra yang dijelaskan dalam Instructables ini menggunakan struktur dasar CNN yang terdiri dari beberapa convolutional layer, pooling layer, dan final fully connected layer. Lapisan convolutional bertindak sebagai satu set filter yang mengekstrak fitur tingkat tinggi dari gambar. Max-pooling adalah salah satu metode umum yang digunakan dalam pooling layer untuk mengurangi ukuran spasial dari fitur yang diekstraksi sehingga mengurangi daya komputasi yang diperlukan untuk menghitung bobot untuk setiap layer. Akhirnya, data yang diekstraksi dilewatkan melalui lapisan yang terhubung penuh bersama dengan fungsi aktivasi softmax yang menentukan kelas gambar.

Tetapi melatih CNN kustom dari awal mungkin tidak memberikan hasil yang diinginkan dan mungkin membutuhkan waktu pelatihan yang sangat lama.

Untuk mempelajari fitur gambar pelatihan, kami menggunakan metode yang disebut Pembelajaran Transfer di mana lapisan 'atas' dari model yang telah dilatih sebelumnya dihapus dan diganti dengan lapisan yang dapat mempelajari fitur yang khusus untuk kumpulan data pelatihan. Pembelajaran transfer mengurangi waktu pelatihan jika dibandingkan dengan model yang menggunakan bobot yang diinisialisasi secara acak. Metode kami menggunakan enam model pra-latihan yang berbeda yaitu, AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet dan MobileNet-v2.

Gambar menunjukkan arsitektur GoogLeNet di mana biru digunakan untuk lapisan konvolusi, merah untuk lapisan penyatuan, kuning untuk lapisan softmax dan hijau untuk lapisan concat. Anda dapat mempelajari lebih lanjut tentang cara kerja CNN di sini.

Dataset penyakit padi terdiri dari gambar daun tanaman padi sehat dan sakit. Gambar dapat dikategorikan ke dalam empat kelas yang berbeda yaitu Bintik Coklat, Beras Hispa, Ledakan Daun dan Sehat. Dataset terdiri dari 2.092 gambar yang berbeda dengan masing-masing kelas berisi 523 gambar. Setiap gambar terdiri dari satu daun sehat atau sakit yang ditempatkan dengan latar belakang putih.

Kami membagi kumpulan data gambar menjadi kumpulan gambar pelatihan, validasi, dan pengujian. Untuk mencegah overfitting, kami menambah gambar pelatihan dengan menskalakan dan membalik gambar pelatihan untuk meningkatkan jumlah total sampel pelatihan.

Kode dan dependensinya bersifat open-source dan dapat ditemukan di sini: GitHub Code

Untuk aplikasi klasifikasi gambar yang berbeda, kita cukup mengubah dataset gambar pelatihan.

Langkah 4: Melatih Model

Melatih Model
Melatih Model
Melatih Model
Melatih Model
Melatih Model
Melatih Model

Tergantung pada ukuran memori yang dibutuhkan oleh masing-masing model, model pra-terlatih dikategorikan ke dalam model yang lebih besar dan lebih kecil. Model yang lebih kecil mengkonsumsi kurang dari 15MB dan karenanya lebih cocok untuk aplikasi seluler.

Di antara model yang lebih besar, Inception-v3 memiliki waktu pelatihan terlama sekitar 140 menit sedangkan AlexNet memiliki waktu pelatihan terpendek sekitar 18 menit. Di antara model berorientasi seluler yang lebih kecil, MobileNet-v2 memiliki waktu pelatihan terlama sekitar 73 menit sedangkan ShuffleNet memiliki waktu pelatihan terpendek sekitar 38 menit.

Langkah 5: Menguji Model

Menguji Model
Menguji Model
Menguji Model
Menguji Model
Menguji Model
Menguji Model

Di antara model yang lebih besar, Inception-v3 memiliki akurasi pengujian tertinggi sekitar 72,1% sedangkan AlexNet memiliki akurasi pengujian terendah sekitar 48,5%. Di antara model berorientasi seluler yang lebih kecil, MobileNet-v2 memiliki akurasi pengujian tertinggi 62,5% sedangkan ShuffleNet memiliki akurasi pengujian terendah 58,1%.

MobileNet-v2 berkinerja baik secara signifikan ketika mengklasifikasikan gambar Bintik Coklat, Ledakan Daun dan Daun Sehat sementara membuat beberapa kesalahan klasifikasi untuk Hispa Beras dengan akurasi hanya 46,15%.

Inception-v3 menunjukkan hasil klasifikasi yang mirip dengan MobileNet-v2.

Langkah 6: Tes Tambahan

Tes Tambahan
Tes Tambahan
Tes Tambahan
Tes Tambahan

Gambar di atas menunjukkan bagaimana model MobileNet-v2 salah mengklasifikasikan gambar daun rumput dengan latar belakang putih sebagai Rice Hispa.

Kami juga menguji keakuratan MobileNet-v2 pada gambar yang dipotong dari Rice Hispa di mana latar belakang putih diminimalkan sehingga daun menempati area maksimum di dalam gambar. Untuk gambar yang dipotong dari Hispa Padi, kami mengamati akurasi sekitar 80,81% yaitu Untuk gambar yang dipotong dari Hispa Padi, kami mengamati peningkatan yang signifikan dalam akurasi klasifikasi atas sampel uji yang tidak dipotong. Oleh karena itu, kami mengusulkan bahwa implementasi dunia nyata dari deteksi penyakit padi menggunakan jaringan saraf convolutional harus memotong gambar uji untuk menghilangkan kebisingan latar belakang untuk meningkatkan akurasi.

Direkomendasikan: