Isi kandungan:

Cara Mengesan Penyakit Tumbuhan Menggunakan Pembelajaran Mesin: 6 Langkah
Cara Mengesan Penyakit Tumbuhan Menggunakan Pembelajaran Mesin: 6 Langkah

Video: Cara Mengesan Penyakit Tumbuhan Menggunakan Pembelajaran Mesin: 6 Langkah

Video: Cara Mengesan Penyakit Tumbuhan Menggunakan Pembelajaran Mesin: 6 Langkah
Video: Jus yang Dapat Menyembuhkan Segala Penyakit 2024, November
Anonim
Cara Mengesan Penyakit Tumbuhan Menggunakan Pembelajaran Mesin
Cara Mengesan Penyakit Tumbuhan Menggunakan Pembelajaran Mesin

Proses mengesan dan mengenali tanaman yang berpenyakit selalu merupakan proses manual dan membosankan yang memerlukan manusia untuk memeriksa secara visual badan tanaman yang sering menyebabkan diagnosis yang salah. Telah juga diramalkan bahwa ketika pola cuaca global mulai bervariasi karena perubahan iklim, penyakit tanaman cenderung menjadi lebih parah dan meluas. Oleh itu, penting untuk mengembangkan sistem yang cepat dan mudah menganalisis tanaman dan mengenal pasti penyakit tertentu untuk membatasi kerosakan tanaman yang lebih jauh.

Dalam Instructable ini, kita akan meneroka konsep pembelajaran mesin yang dikenali sebagai "Transfer Learning" untuk mengklasifikasikan gambar tanaman padi yang berpenyakit. Kaedah yang sama dapat digunakan semula untuk masalah pengelasan gambar yang lain.

Langkah 1: Jenis Penyakit Beras

Jenis Penyakit Beras
Jenis Penyakit Beras

Padi adalah salah satu tanaman makanan pokok yang paling popular yang ditanam terutamanya di Asia, Afrika dan Amerika Selatan tetapi mudah dijangkiti pelbagai jenis perosak dan penyakit. Ciri-ciri fizikal seperti penyahwarnaan daun dapat digunakan untuk mengenal pasti beberapa penyakit yang boleh mempengaruhi tanaman padi. Sebagai contoh, dalam kasus Brown-Spot, penyakit kulat yang mempengaruhi sarung pelindung daun, daun ditutup dengan beberapa bintik coklat bujur kecil dengan pusat kelabu sedangkan, dalam kes Leaf-Blast, daun ditutupi dengan luka coklat yang lebih besar. Begitu juga, daun yang terkena hama Padi Hispa dapat dikenal pasti oleh tanda jejak panjang yang tumbuh di permukaan daun.

Langkah 2: Bagaimana Kaedah Terdahulu Mengesan Penyakit?

Bagaimana Kaedah Terdahulu Mengesan Penyakit?
Bagaimana Kaedah Terdahulu Mengesan Penyakit?

Kaedah sebelumnya untuk secara automatik mengklasifikasikan gambar tanaman yang berpenyakit seperti pengelasan berdasarkan peraturan seperti yang digunakan dalam [1], bergantung pada sekumpulan peraturan yang tetap untuk membagi daun ke daerah yang terkena dan tidak terjejas. Beberapa peraturan untuk mengekstrak ciri melibatkan memerhatikan perubahan min dan sisihan piawai antara warna kawasan yang terjejas dan tidak terjejas. Peraturan untuk mengekstrak ciri bentuk melibatkan meletakkan secara individu beberapa bentuk primitif di atas kawasan yang terjejas dan mengenal pasti bentuk yang merangkumi kawasan maksimum kawasan yang terjejas. Setelah ciri diekstrak dari gambar, sekumpulan peraturan tetap digunakan untuk mengklasifikasikan gambar bergantung pada penyakit yang mungkin mempengaruhi tanaman. Kelemahan utama pengklasifikasi tersebut adalah bahawa ia memerlukan beberapa peraturan tetap untuk setiap penyakit yang pada gilirannya dapat membuatnya rentan terhadap data yang bising. Gambar di atas menunjukkan bagaimana pohon keputusan berdasarkan peraturan dapat digunakan untuk membagi gambar menjadi dua wilayah.

1. Santanu Phadikar et al., "Klasifikasi penyakit padi menggunakan teknik pemilihan fitur dan penjanaan peraturan," Komputer dan Elektronik dalam Pertanian, vol. 90, Januari 2013.

Langkah 3: Transfer Pembelajaran

Transfer Pembelajaran
Transfer Pembelajaran

Teknik klasifikasi gambar yang dijelaskan dalam Instructables ini menggunakan struktur asas CNN yang terdiri daripada beberapa lapisan konvolusional, lapisan penyatuan, dan lapisan akhir yang terhubung sepenuhnya. Lapisan konvolusional bertindak sebagai sekumpulan penapis yang mengekstrak ciri-ciri tahap tinggi gambar. Max-pooling adalah salah satu kaedah biasa yang digunakan dalam penyatuan lapisan untuk mengurangkan ukuran ruang ciri yang diekstrak sehingga mengurangkan daya pengiraan yang diperlukan untuk mengira berat bagi setiap lapisan. Akhirnya, data yang diekstrak dihantar melalui lapisan yang disambungkan sepenuhnya bersama dengan fungsi pengaktifan softmax yang menentukan kelas gambar.

Tetapi melatih CNN khusus dari awal mungkin tidak memberikan hasil yang diinginkan dan mungkin mempunyai masa latihan yang sangat lama.

Untuk mengetahui ciri-ciri gambar latihan, kami menggunakan kaedah yang disebut Transfer Learning di mana lapisan 'teratas' dari model pra-latihan dikeluarkan dan diganti dengan lapisan yang dapat mempelajari ciri-ciri yang khusus untuk set data latihan. Memindahkan pembelajaran mengurangkan masa latihan jika dibandingkan dengan model yang menggunakan bob yang diinisialisasi secara rawak. Kaedah kami menggunakan enam model pra-latihan yang berbeza iaitu, AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet dan MobileNet-v2.

Gambar menunjukkan seni bina GoogLeNet di mana biru digunakan untuk lapisan konvolusional, merah untuk lapisan penyatuan, kuning untuk lapisan softmax dan hijau untuk lapisan concat. Anda boleh mengetahui lebih lanjut mengenai cara kerja CNN di sini.

Kumpulan data penyakit padi terdiri daripada gambar daun tanaman padi yang sihat dan berpenyakit. Gambar boleh dikategorikan kepada empat kelas berbeza iaitu Brown-Spot, Rice Hispa, Leaf-Blast dan Healthy. Set data terdiri daripada 2092 gambar yang berbeza dengan setiap kelas mengandungi 523 gambar. Setiap gambar terdiri daripada satu daun yang sihat atau berpenyakit yang diletakkan dengan latar belakang putih.

Kami membahagikan set data gambar menjadi latihan, pengesahan dan pengujian set gambar. Untuk mengelakkan overfitting, kami menambah gambar latihan dengan menskalakan dan membalikkan gambar latihan untuk meningkatkan jumlah sampel latihan.

Kod dan kebergantungannya adalah sumber terbuka dan boleh didapati di sini: GitHub Code

Untuk aplikasi klasifikasi gambar yang berbeza, kita hanya dapat mengubah set data gambar latihan.

Langkah 4: Melatih Model

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

Bergantung pada ukuran memori yang diperlukan oleh setiap model, model yang dilatih sebelumnya dikategorikan menjadi model yang lebih besar dan lebih kecil. Model yang lebih kecil menggunakan kurang dari 15MB dan oleh itu lebih sesuai untuk aplikasi mudah alih.

Di antara model yang lebih besar, Inception-v3 mempunyai masa latihan terpanjang sekitar 140 minit sedangkan AlexNet mempunyai masa latihan terpendek sekitar 18 minit. Di antara model berorientasikan mudah alih yang lebih kecil, MobileNet-v2 mempunyai masa latihan terpanjang sekitar 73 minit sedangkan ShuffleNet mempunyai masa latihan terpendek sekitar 38 minit.

Langkah 5: Menguji Model

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

Di antara model yang lebih besar, Inception-v3 mempunyai ketepatan pengujian tertinggi sekitar 72.1% sedangkan AlexNet mempunyai ketepatan pengujian terendah sekitar 48.5%. Di antara model berorientasikan mudah alih yang lebih kecil, MobileNet-v2 mempunyai ketepatan ujian tertinggi 62.5% manakala ShuffleNet mempunyai ketepatan ujian terendah 58.1%.

MobileNet-v2 menunjukkan prestasi yang sangat baik ketika mengklasifikasikan gambar daun Brown-Spot, Leaf-Blast dan Healthy sambil membuat beberapa kesalahan klasifikasi untuk Rice Hispa dengan ketepatan hanya 46.15%.

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

Langkah 6: Ujian Tambahan

Ujian Tambahan
Ujian Tambahan
Ujian Tambahan
Ujian Tambahan

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

Kami juga menguji ketepatan MobileNet-v2 pada gambar Rice Hispa yang dipotong di mana latar belakang putih dikurangkan sehingga daun menempati area maksimum dalam gambar. Untuk gambar Rice Hispa yang dipotong, kami memerhatikan ketepatan sekitar 80.81%. Untuk gambar Rice Hispa yang dipotong, kami melihat peningkatan yang ketara dalam ketepatan klasifikasi berbanding sampel ujian yang tidak dipotong. Oleh itu, kami mencadangkan agar pelaksanaan pengesanan penyakit padi di dunia nyata menggunakan rangkaian saraf konvolusional mesti memotong gambar ujian untuk menghilangkan bunyi latar untuk meningkatkan ketepatan.

Disyorkan: