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.

Arsitektur Algoritma Adaptive Neuro-Fuzzy Inference System (ANFIS)

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.

Dataset Citra Daun

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.

Halaman Sistem Klasifikasi Jenis Daun Menggunakan Algoritma ANFIS (kelas: Daun Jenis A)

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.

Halaman Sistem Klasifikasi Jenis Daun Menggunakan Algoritma ANFIS (kelas: Daun Jenis B)

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.

Halaman Sistem Klasifikasi Jenis Daun Menggunakan Algoritma ANFIS (kelas: Daun Jenis C)

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.

Halaman Sistem Klasifikasi Jenis Daun Menggunakan Algoritma ANFIS (kelas: Daun Jenis D)

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 , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment