Source Code MATLAB: Klasifikasi Jenis Daun Menggunakan Algoritma Adaptive Neuro-Fuzzy Inference System (ANFIS)
Pengolahan citra telah berkembang pesat dalam berbagai bidang, termasuk dalam identifikasi dan klasifikasi jenis daun. Artikel ini membahas penerapan teknik pengolahan citra untuk mengklasifikasikan jenis daun dengan menggunakan algoritma Adaptive Neuro-Fuzzy Inference System (ANFIS). Proses pengolahan citra melibatkan segmentasi citra menggunakan metode Otsu Thresholding dan ekstraksi ciri bentuk dan tekstur. Kombinasi metode ini memberikan hasil yang akurat dalam mengidentifikasi jenis daun dengan akurasi yang tinggi.
Pengenalan jenis daun memiliki berbagai aplikasi penting dalam ilmu pertanian, ekologi, dan konservasi alam. Teknologi pengolahan citra telah menjadi alat yang sangat berguna dalam mengotomatisasi proses ini. Berikut ini merupakan langkah-langkah pengolahan citra yang digunakan untuk mengklasifikasikan jenis daun menggunakan algoritma ANFIS.
Dataset Citra Daun
Dataset citra daun terdiri dari 4 buah kelas (A, B, C, dan D). Pada artikel ini digunakan 40 citra daun yang terdiri dari 10 citra pada masing-masing kelas. Citra tersebut dibagi menjadi dua bagian yaitu sebanyak 28 citra untuk data pelatihan dan 12 citra untuk data pengujian.
Metode Segmentasi Citra Menggunakan Otsu Thresholding
Segmentasi citra adalah langkah awal dalam pengolahan citra untuk pemisahan objek dari latar belakang. Metode Otsu Thresholding bekerja dengan memilih nilai ambang batas yang optimal secara otomatis berdasarkan analisis histogram citra, sehingga memungkinkan hasil segmentasi yang akurat.
Ekstraksi Ciri Bentuk
Ekstraksi ciri bentuk adalah langkah penting dalam menggambarkan karakteristik geometris dari daun. Dalam penelitian ini, parameter metric dan eccentricity digunakan untuk mendapatkan ciri-ciri bentuk yang relevan. Metric mengukur dimensi daun, sementara eccentricity mengukur sejauh mana daun mendekati elips.
Ekstraksi Ciri Tekstur
Gray Level Co-occurence Matrix (GLCM) merupakan salah satu metode yang dapat menggambarkan pola tekstur pada daun. Parameter contrast, correlation, energy, dan homogeneity dihasilkan dari matriks kookurensi, untuk mengukur tekstur daun. Ini memberikan informasi tambahan yang berguna dalam tahap klasifikasi.
Algoritma ANFIS untuk Klasifikasi
Setelah ekstraksi ciri selesai, ciri bentuk (metric dan eccentricity) dan ciri tekstur (contrast, correlation, energy, dan homogeneity) digunakan sebagai input untuk algoritma ANFIS. ANFIS adalah metode machine learning yang menggabungkan keunggulan jaringan saraf tiruan (neural network) dan logika fuzzy. Ini memungkinkan sistem untuk belajar dan mengklasifikasikan jenis daun berdasarkan ciri-ciri yang diekstraksi.
Berikut ini merupakan source code sistem klasifikasi jenis daun menggunakan algoritma Adaptive Neuro-Fuzzy Inference System (ANFIS):
% Adi Pamungkas, S.Si, M.Si % Website: https://pemrogramanmatlab.com/ % Langkah 1: Segmentasi Citra Menggunakan Otsu Thresholding citra_input = imread('nama_citra.jpg'); % Membaca citra input ambang_otsu = graythresh(citra_input); % Menghitung ambang Otsu citra_hasil_segmentasi = im2bw(citra_input, ambang_otsu); % Melakukan segmentasi % Langkah 2: Ekstraksi Ciri Bentuk citra_segmentasi = citra_hasil_segmentasi; % Citra hasil segmentasi ciri_bentuk = ekstraksi_ciri_bentuk(citra_segmentasi); % Ekstraksi ciri bentuk % Langkah 3: Ekstraksi Ciri Tekstur ciri_tekstur = ekstraksi_ciri_tekstur(citra_segmentasi); % Ekstraksi ciri tekstur % Langkah 4: Klasifikasi Menggunakan ANFIS input_anfis = [ciri_bentuk, ciri_tekstur]; % Menggabungkan ciri bentuk dan tekstur hasil_klasifikasi = anfis_klasifikasi(input_anfis); % Melakukan klasifikasi dengan ANFIS % Langkah 5: Hasil dan Output fprintf('Jenis daun yang teridentifikasi: %s\n', hasil_klasifikasi); % Menampilkan jenis daun yang teridentifikasi
Langkah-langkah pelatihan
1. Bersihkan layar, workspace, dan tutup semua jendela. 2. Tentukan folder gambar sebagai 'data latih' dan ambil daftar nama file gambar TIFF di dalamnya. 3. Hitung jumlah total gambar dalam folder. 4. Buat matriks kosong untuk menyimpan fitur dari setiap gambar. 5. Loop melalui setiap gambar dalam folder. a. Baca gambar. b. Binerisasi gambar. c. Lakukan inversi citra biner. d. Isi lubang di dalam objek biner. e. Hapus objek dengan luas di bawah 1000 piksel. f. Ekstraksi fitur morfologi (luas, perimeter, metric, eksentrisitas). g. Ekstraksi fitur tekstur (kontras, korelasi, energi, homogenitas). h. Simpan fitur ke dalam matriks fitur. 6. Tentukan target kelas untuk setiap gambar (misalnya, 1, 2, 3, 4). 7. Gabungkan fitur dan target kelas ke dalam satu matriks data pelatihan. 8. Tentukan jumlah fungsi keanggotaan, tipe fungsi keanggotaan, tujuan kesalahan, dan jumlah epoch untuk pembelajaran ANFIS. 9. Buat model FIS awal menggunakan genfis1. 10. Latih model ANFIS menggunakan anfis dan data pelatihan. 11. Plot fungsi keanggotaan hasil pembelajaran ANFIS untuk setiap input. 12. Simpan model ANFIS yang telah dilatih. 13. Hitung output dari model ANFIS menggunakan data pelatihan. 14. Hitung jumlah kesalahan antara output dan target kelas. 15. Hitung akurasi pelatihan berdasarkan jumlah kesalahan.
Langkah-langkah pengujian
1. Baca model ANFIS yang telah dilatih. 2. Tentukan folder gambar uji sebagai 'data uji' dan ambil daftar nama file gambar TIFF di dalamnya. 3. Hitung jumlah total gambar dalam folder. 4. Buat matriks kosong untuk menyimpan fitur dari setiap gambar uji. 5. Loop melalui setiap gambar dalam folder uji. a. Baca gambar. b. Binerisasi gambar menggunakan metode Otsu. c. Lakukan inversi citra biner. d. Isi lubang di dalam objek biner. e. Hapus objek dengan luas di bawah 1000 piksel. f. Ekstraksi fitur morfologi (luas, perimeter, metric, eksentrisitas). g. Ekstraksi fitur tekstur (kontras, korelasi, energi, homogenitas). h. Simpan fitur ke dalam matriks fitur. 6. Tentukan target kelas untuk setiap gambar uji (misalnya, 1, 2, 3, 4). 7. Lakukan pengujian menggunakan model ANFIS terlatih. 8. Hitung jumlah kesalahan antara output dan target kelas. 9. Hitung akurasi pengujian berdasarkan jumlah kesalahan.
Penelitian ini memberikan hasil yang sangat baik dalam mengklasifikasikan jenis daun menggunakan algoritma ANFIS. Akurasi pelatihan yang dihasilkan dalam mengklasifikasikan empat jenis daun adalah 100%, sedangkan akurasi pengujian yang dihasilkan adalah 75%. Hasil yang diperoleh menunjukkan tingkat akurasi yang tinggi dalam pengenalan jenis daun. Ini membuktikan bahwa teknologi pengolahan citra dapat digunakan secara efektif dalam pengidentifikasian jenis daun, yang dapat mendukung penelitian di berbagai bidang seperti pertanian, konservasi alam, dan biologi.
Source code lengkap beserta data pada pemrograman MATLAB di atas dapat diperoleh melalui halaman berikut ini: Source Code
Posted on February 13, 2024, in Pengenalan Pola, Pengolahan Citra and tagged Algoritma Fuzzy., analisis citra, ANFIS, jaringan saraf tiruan, Jenis Daun, klasifikasi citra, Metode Fuzzy, Pengenalan Pola, pengolahan citra, Sistem Cerdas. Bookmark the permalink. Leave a comment.
Leave a comment
Comments 0