KNM XVII
11-14 Juni 2014
ITS, Surabaya
KLASIFIKASI KAYU DENGAN MENGGUNAKAN NAÏVE BAYES-CLASSIFIER ACHMAD FAHRUROZI1 1
Universitas Gunadarma,
[email protected]
Abstrak Masalah yang akan diangkat dalam makalah ini adalah bagaimana mengklasifikasikan empat tipe kayu tertentu, hanya berdasarkan penampilan luarnya saja, dalam hal ini citra/citra dari masing-masing tipe tersebut diambil dengan kamera digital. Kemudian dilakukan ekstraksi citra dengan menggunakan Local Binary Pattern (LBP) agar diperoleh citra gray-level yang kemudian dapat diolah lebih lanjut dalam image prossesing. Berdasarkan citra hasil LBP akan dapat diperoleh statistik-statistik yang dapat
digunakan sebagai parameter untuk mengkarakterisasi suatu citra. Pada akhirnya, dengan menggunakan suatu classifier, akan dilakukan proses klasifikasi. Dalam penelitian ini akan digunakan Naïve Bayes classifier yang diimplementasikan pada perangkat lunak Matlab.
Kata Kunci: Citra, Local Binary Pattern, Kasifikasi, Parameter, Naïve Bayes-classifier
1. Pendahuluan Kami memiliki empat tipe kayu yang dibedakan berdasarkan fungsinya dalam produksi sebuah perusahaan, sebut saja kayu jenis A, B, C, dan D, yang telah dipotong sedemikian sehingga menampakkan bagian dalam kayu dalam dua sisi. Potongan dari semua tipe kayu terlihat memiliki penampilan luar yang hampir sama. Dalam makalah ini citra diperoleh adalah citra potongan kayu dari masing-masing tipe tersebut, yang diambil dengan kamera digital dengan resolusi 1200x1000 piksel, dalam format PNG. Tiap sisi menghasilkan satu citra kayu. Dalam penelitian ini, pertama-tama akan digunakan 76 citra kayu, yang terdiri atas 17 citra kayu tipe A, 20 citra kayu tipe B, 19 citra kayu tipe C, dan 20 citra kayu tipe D. Klasifikasi tipe kayu dengan memperhatikan penampilan luarnya saja sangat bermanfaat untuk mengoptimalkan waktu dan biaya, dibanding proses klasifikasi secara manual atau proses klasifikasi dengan menggunakan zat kimia, peralatan ilmu biologi, dan sebagainya.
2. Pengumpulan Data Citra yang diambil adalah bagian atas dan bawah dari potongan kayu yang dimiliki untuk setiap tipe kayu. Kemudian dilakukan image prossesing untuk mengambil citra kayu saja dari citra keseluruhan, yang selanjutnya disebut Point of Interest (PoI). Berikut adalah contoh yang memberikan perbedaan antara citra output kamera digital dan citra PoI:
KNM XVII
11-14 Juni 2014
ITS, Surabaya
(a) (b) Gambar 2.1 (a) Citra output kamera digital dengan resolusi 1200x1000 (b) Citra PoI dari gambar (a) tersebut
Langkah berikutnya yang dilakukan adalah dengan mengekstrak citra PoI dengan menggunakan Local Binary Pattern agar diperoleh citra baru yang kemudian dapat diolah lebih lanjut dalam image prossesing. Local Binary Pattern (atau lebih dikenal dengan istilah LBP) adalah salah satu metode yang sering digunakan dalam image prossesing untuk analisis tekstur, karena memiliki banyak kelebihan, terutama efisien secara komputasi [2]. Pertama-tama, tentukan piksel mana disekitar suatu piksel pusat yang memiliki tingkat kecerahan lebih rendah dan lebih tinggi atau sama dengan tingkat kecerahan piksel pusat, sebagaimana diilustrasikan sebagai berikut:
Gambar 2.2 Ilustrasi pemilihan tetangga dalam proses pembentukan LBP suatu citra. Warna hijau menandakan piksel yang memiliki tingkat kecerahan/intensitas kurang dari tingkat kecerahan piksel pusat, dan warna merah untuk lainnya.
Namun karena dalam matriks representasi suatu citra, piksel-piksel membentuk segiempat, maka pendekatan (naif) yang biasanya digunakan adalah nearest neighbor, yaitu hanya mengambil 8 buah piksel disekitar piksel pusat sesuai arah mata angin. Cara lainnya adalah dengan melakukan interpolasi terhadap piksel yang tidak termuat dalam lingkaran. Dalam makalah ini digunakan cara interpolasi. Langkah berikutnya adalah “mengubah” nilai intensitas piksel-piksel disekitar piksel pusat. Misal intensitas piksel pusat adalah c, maka piksel dengan intensitas kurang dari p akan memuat angka 0, dan 1 untuk lainnya. Kemudian uraikan lingkaran piksel-piksel tetangga mulai dari suatu titik, berlawanan arah jarum jam, sehingga diperoleh 8 bit bilangan biner, dan kemudian konversi menjadi sebuah bilangan desimal (Gambar 2.3) yang akan merepresentasikan intensitas piksel pusat dalam citra LBP.
Gambar 2.3 Uraikan lingkaran label biner milik tetangga-tetangga dari piksel pusat. Bilangan biner yang dihasilkan adalah 10001011, konversi desimalnya adalah 139.
KNM XVII
11-14 Juni 2014
ITS, Surabaya
Lakukan hal tersebut untuk setiap piksel dalam matriks representasi PoI, maka akan diperoleh citra baru yang selanjutnya disebut citra LBP. Berdasarkan citra hasil LBP dapat diperoleh statistik-statistik yang dapat digunakan sebagai parameter untuk mengkarakterisasi citra tersebut, diantaranya adalah Contrast, Correlation, Energy, dan Homogeneity, yang diperoleh dari fungsi graycoprops pada perangkat lunak Matlab. Fungsi graycoprops memerlukan masukan berupa suatu matriks yang merupakan output dari fungsi graycomatrix, yaitu fungsi dimana citra LBP yang kita miliki diimplementasikan. Sehingga keempat statistik yang digunakan tersebut akan bergantung pada parameter-parameter pembentuk fungsi graycomatrix, yaitu GrayLimits (G), NumLevels (N), Offset (O) dan Symmetric (S). Dalam penelitian ini pertama-tama akan dilakukan modifikasi terhadap parameter Offset (O). Berikut adalah sebagian contoh data statistik-statistik yang diperoleh: Tabel 2.1 Statistik dari tipe kayu A (dengan jarak 1; Sudut 0, 45 dan 90)
Modifikasi terhadap parameter Offset dimungkinkan dengan melakukan perubahan terhadap dua peubah, yaitu Jarak (dari pixel of interest) dan Sudut. Jika Jarak dan Sudut yang ditentukan berturut-turut adalah p dan , maka fungsi graycomatrix akan membentuk suatu matriks I dengan sistem konversi yang bergantung pada parameter GrayLimits, kemudian “menghitung” berapa jumlah pasangan terurut (i,j) yang terjadi pada matriks I tersebut, dimana jarak antara pixel i dengan pixel j dalam I adalah p, dan sudut antara vektor [i,j] dan sumbu x positif sebesar 𝛼. Sehingga, pada akhirnya akan diperoleh matriks GLCM dimana elemen (i,j) menyatakan jumlah kemunculan pasangan berurut (i,j) dalam matriks I. Dengan mengubah nilai Jarak dan Sudut, maka akan diperoleh banyak sekali data statistik, yang dapat digunakan selanjutnya dalam proses klasifikasi. Grafik berikut menggambarkan perbandingan antara statistikstatistik yang diperoleh untuk setiap tipe kayu. 14 13 12 11 10 9
Tipe A Tipe B Tipe C Tipe D 0
45
135 (a)
0.25 0.2 0.15 0.1 0.05 0
Tipe A Tipe B Tipe C Tipe D 0
45
135
(b)
Gambar 2.4. (a) Grafik rata-rata Contrast dari semua tipe kayu (b) Grafik rata-rata Correlation dari semua tipe kayu
KNM XVII
11-14 Juni 2014
ITS, Surabaya
Semua data yang diperoleh akan disimpan dan digunakan kemudian untuk pertimbangan menentukan statistik-statistik mana saja yang akan diambil sebagai fitur dalam proses klasifikasi dan tentunya sebagian akan digunakan sebagai fitur klasifikasi itu sendiri. 3. Metode Klasifikasi Langkah berikutnya adalah menentukan classifier yang akan digunakan. Dalam penelitian ini digunakan fungsi “NaiveBayes” dalam perangkat lunak Matlab, yang didasarkan pada metode statistika yang menggunakan prinsip probabilitas bersyarat. Fungsi ini memerlukan dua himpunan penting, yaitu himpunan Training dan himpunan Test. Dalam percobaan yang dilakukan, himpunan Training berisi 40 citra, yang terdiri atas 10 citra LBP untuk setiap tipe kayu yang dimiliki (tipe kayu A, B, C, dan D). Himpunan Test berisi 36 citra, yang berisi 7 citra LBP kayu tipe A, 10 citra LBP kayu tipe B, 9 citra LBP kayu tipe C, dan 10 citra LBP kayu tipe D. Semua citra diurutkan sedemikian sehingga tiap tipe kayu yang sama terurut dalam suatu file. Dalam penggunaan fungsi NaïveBayes, kita harus menentukan beberapa fitur yang akan digunakan dalam proses klasifikasi keempat tipe kayu yang ada. Secara umum, metode ini dapat dikatakan sebagai metode try-and-error, karena kita dapat memilih secara “bebas” statistik-statistik yang dimiliki sebagai fitur. Namun, dengan mengumpulkan banyak data, dengan cara memodifikasi parameter (parameter) dari fungsi graycomatrix, kita dapat memperhatikan statistik-statistik mana saja yang “bermanfaat” dan efisien jika digunakan sebagai fitur pada fungsi NaïveBayes. Pertama, kita gunakan 4 kelas dan 13 fitur untuk implementasi fungsi NaiveBayes dalam perangkat lunak Matlab, yang akan menghasilkan output prediksi tipe kayu, yang dapat diringkas dalam tabel berikut: Tabel 3.1 Ringkasan output NaiveBayes Classifier dengan 4 kelas dan 13 buah fitur yang diambil dari nilai Jarak = 1 dan Sudut = 0, 45, 90, 135 pada parameter Offset
Fitur = 13 Correlation dari Offset [0 1] Homogeneity dari Offset [0 1] Semua statistik dari Offset [-1 1] Semua statistik dari Offset [-1 0] Contrast dari Offset [-1 -1] Correlation dari Offset [-1 -1] Energy dari Offset [-1 -1] A B Kelas = 4 Prediksi 6 10 Tepat Jumlah 7 10 Sebenarnya Persentase 85.7% 100%
C 4
D 8
Semua Tipe 28
9
10
36
44.44%
80%
77.77%
Dapat dilihat pada hasil prediksi di atas, bahwa terdapat kesalahan prediksi untuk tipe kayu A, C dan D. Rincian kesalahan yang terjadi adalah satu potongan kayu tipe A diklasifikasikan sebagai tipe kayu B, empat tipe kayu C diklasifikasikan sebagai tipe kayu A (2), B (1) dan D (1), sedangkan dua tipe kayu D diklasifikasikan sebagai tipe kayu B dan C. Jadi, sekarang kita akan fokus untuk memperbaiki metode klasifikasi yang telah dilakukanm dengan memperhatikan statistik-statistik yang menbgkarakterisasi tipe kayu A, D dan khususnya tipe kayu C (karna paling banyak terjadi salah prediksi).
KNM XVII
11-14 Juni 2014
ITS, Surabaya
Karena tipe kayu C dan D memiliki prediksi salah terbanyak, maka kita akan mencoba untuk mengubah jumlah kelas pada fungsi NaiveBayes, dengan cara menggabungkan tipe kayu C dan D (dengan menganggap bahwa mereka adalah satu tipe, sebut saja tipe CD), dengan fitur-fitur yang sama seperti sebelumnya, maka akan diperoleh hasil sebagai berikut: Tabel 3.2 Ringkasan output NaiveBayes Classifier dengan 3 kelas dan 13 buah fitur yang diambil dari nilai Jarak = 1 dan Sudut = 0, 45, 90, 135 pada parameter Offset
Fitur = 13 Kelas = 3 Prediksi Tepat Jumlah Sebenarnya Persentase
A 6
B 10
CD 14
Semua Tipe 30
7
10
19
36
85.7%
100%
74%
83.33%
Hasilnya lebih baik, namun tetap terdapat kesalahan untuk klasifikasi tipe kayu A dan CD. Maka, selanjutnya dilakukan percobaan dengan mengubah (jumlah) fitur-fitur yang digunakan, dengan mengganti dan atau menambah beberapa fitur baru dengan memperhatikan tabel dan grafik dari data statistik yang kita miliki. Contoh output terhadap perubahan yang dilakukan terhadap fitur pilihan adalah sebagai berikut: Tabel 3.3 Ringkasan output NaiveBayes Classifier dengan 4 kelas dan 16 buah fitur yang diambil dari nilai Jarak = 2 dan Sudut = 0, 45, 90, 135 pada parameter Offset
Fitur = 16 All statistics of Offset [0 2] All statistics of Offset [-2 2] All statistics of Offset [-2 0] All statistics of Offset [-2 -2] Kelas = 4 Prediksi Tepat Jumlah Sebenarnya Persentase
A 7
B 10
C 2
D 9
Semua Tipe 28
7
10
9
10
36
100%
100%
22.22%
90%
77.77%
Kemudian, dengan mengkombinasikan fitur-fitur pada Tabel 3.1 dan 3.3, diperoleh: Tabel 3.4 Ringkasan output NaiveBayes Classifier dengan 4 kelas dan 29 buah fitur yang diambil dari nilai Jarak = 1 dan 2 dan Sudut = 0, 45, 90, 135 pada parameter Offset
Fitur = 29 Kelas = 4 Prediksi Tepat Jumlah Sebenarnya Persentase
A 7
B 10
C 7
D 8
Semua Tipe 32
7
10
9
10
36
100%
100%
77.77%
80%
88.88%
Jika kita gabungkan tipe kayu C dan D sebagaimana kita lakukan sebelumnya, maka akan diperoleh hasil
KNM XVII
11-14 Juni 2014
ITS, Surabaya
sebagai berikut: Tabel 3.5 Ringkasan output NaiveBayes Classifier dengan 3 kelas dan 16 buah fitur yang diambil dari nilai Jarak = 2 dan Sudut = 0, 45, 90, 135 pada parameter Offset
Fitur = 29 Kelas = 3 Prediksi Tepat Jumlah Sebenarnya Persentase
A 7
B 10
CD 17
Semua Tipe 34
7
10
19
36
100%
100%
89.47%
94.44%
Diperoleh hasil yang lebih baik lagi dibanding tidak menggabungkan tipe kayu C dan D dengan fitur-fitur yang sama. Namun, perlu diperhatikan bahwa dua buah citra potongan kayu “tipe” CD diklasifikasikan sebagai tipe kayu A. Sehingga, dapat disimpulkan bahwa hasil prediksi untuk tipe kayu A “tidak dapat dipercaya”, karena memiliki kemungkinan, merupakan tipe kayu A sebenarnya, atau “tipe” kayu CD. Selain itu, terdapat kekurangan lainnya, yaitu jika kita memiliki prediksi “tipe” kayu CD, maka perlu dilakukan reklasifikasi, untuk menentukan yang mana tipe kayu C dan yang mana tipe kayu D. Untuk itu, perlu dilakukan penelitian lanjutan dengan tidak menggabungkan tipe kayu C dan D seperti dilakukan di atas. Dalam percobaan berikutnya, kita dapat mencoba untuk menambahkan beberapa fitur lagi, dengan harapan dapat meningkatkan tingkat akurasi prediksi. Hal ini dilakukan dengan mengubah cara memperoleh data, yaitu dengan mengubah parameter lain dari fungsi graycomatrix yang disebut NumLevels. Kemudian simpan data statistik yang diperoleh, analisa perbedaan antar tipe-tipe kayu berdasarkan statistik-statistik yang baru tersebut, kemudian ambil beberapa statistik “terbaik” sebagai fitur tambahan. Berikut adalah contoh dari pengembangan dalam pengambilan data yang dimasukkan ke dalam algoritma klasifikasi yang telah dibuat sebelumnya. Tabel 3.6 Ringkasan output NaiveBayes Classifier dengan 4 kelas dan 16 buah fitur
Fitur = 39 Correlation & Homogeneity dari Offset [0 1] Semua statistik dari Offset [-1 1] dan Offset [-1 0] Contrast, Correlation dan Energy dari Offset [-1 -1] Semua statistik dari Offset [0 2], [-2 2], [-2 0] dan [-2 -2] Contrast, Correlation dan Homogeneity dari NumLevels 32 dan Offset [0 1], [-1 0] Semua statistik dari NumLevels 32 dan Offset [-1 1] A B C D Semua Tipe Kelas = 4 Prediksi 7 10 7 8 32 Tepat Jumlah 7 10 9 10 36 Sebenarnya Persentase 100% 100% 77.77% 80% 88.88% Berdasarkan Tabel 3.4 dan Tabel 3.6 diatas, dapat dilihat bahwa tipe C and tipe D telah “terpisah dengan sendirinya” dari tipe lainnya. Dengan demikian maka, walaupun hasil penggabungan tipe C dan D memiliki persentase prediksi yang lebih baik seperti terlihat pada Tabel 3.5, namun cara tersebut tidaklah efisien, karena perlu dilakukan lagi pemisahan tipe C dan tipe D yang berasal dari “tipe” CD, dan masih terdapat ketidakakuratan dalam output prediksi untuk tipe A. Sehingga, fokus pekerjaan berikutnya adalah
KNM XVII
11-14 Juni 2014
ITS, Surabaya
meningkatkan akurasi prediksi tanpa proses penggabungan dua tipe kayu menjadi tipe CD. Lebih lanjut, Tabel 3.4 dan Tabel 3.6 mengarahkan kita untuk mengklasifikasikan dua tipe kayu saja untuk saat ini, yaitu tipe C dan tipe D. Dengan metode try-and-error dalam pemilihan dan penambahan fitur untuk fungsi Naïve Bayes, diperoleh hasil yang lebih baik dan paling efisien sejauh ini adalah sebagai berikut. Tabel 3.7 Ringkasan output NaiveBayes Classifier dengan 4 kelas dan 42 buah fitur
Fitur = 42 Correlation & Homogeneity dari Offset [0 1] Semua statistik dari Offset [-1 1] dan Offset [-1 0] Contrast, Correlation dan Energy dari Offset [-1 -1] Semua statistik dari Offset [0 2], [-2 2], [-2 0] dan [-2 -2] Semua statistik dari Offset [0 3], [-3 3] dan [-3 0] Homogeneity dari Offset [-3 -3] A B C D Kelas = 4 Prediksi 7 10 7 10 Tepat Jumlah 7 10 9 10 Sebenarnya Persentase 100% 100% 77.77% 100%
Semua Tipe 34 36 94.44%
Hasil diatas memberikan perbaikan dibandingkan hasil-hasil sebelumnya. Berdasarkan tabel diatas, dapat dilihat bahwa hanya tipe C yang belum dapat diprediksi dengan baik, dimana, menariknya, 2 citra dari tipe C yang gagal diprediksi tersebut diklasifikasikan sebagai tipe D. Oleh karena itu, hanya output “tipe D” dari Naïve Bayes classifier yang perlu dicurigai, karena memiliki kemungkinan bertipe GG. Sedangkan output prediksi selain “tipe D” cukup dapat dipercaya. Dengan demikian, maka akan dilakukan proses reklasifikasi “hanya” terhadap tipe kayu C dan D. Dengan memperhatikan matriks Posterior dari fungsi Naïve Bayes dan menggunakan beberapa fitur dalam proses reklasifikasi, maka akan diperoleh: Tabel 3.9 Ringkasan dari proses reklasifikasi menggunakan fungsi Naïve Byes antara tipe C dan D dengan penambahan kendala pada matriks Posterior
Fitur = 6 Kelas = 2 Prediksi Tepat Jumlah Sebenarnya Persentase
C 8
D 10
Semua Tipe 35
9
10
36
88.88%
100%
97.22%
KNM XVII
11-14 Juni 2014
ITS, Surabaya
4. Kesimpulan Secara umum, kita dapat mengatakan bahwa data yang diperoleh bergantung pada beberapa hal, sebagai berikut: (1) kamera; merupakan perangkat yang menentukan kualitas citra kayu yang diperoleh dan juga ukuran matriks representasi dari citra kayu tersebut, (2) Konstruksi citra FoI dan LBP, dan (3) parameter-parameter pembentuk fungsi graycomatrix dalam perangkat lunak Matlab. Berdasarkan hasilhasil yang didapat, diketahui bahwa proses klasifikasi untuk empat buah tipe kayu (yaitu A, B, C dan D) menggunakan fungsi NaiveBayes classifier dalam perangkat lunak matlab memberikan hasil yang baik, terutama dalam klasifikasi tipe kayu A dan B. Adapun, tipe kayu C dan D memiliki kesamaan dalam hal penampilan luar dan statistik-statistiknya, sehingga sulit diklasifikasikan dengan baik diantara keduanya. Namun demikian, diperoleh bukti-bukti bahwa tipe kayu A dan B memiliki perbedaan terkstur yang cukup besar dibandingkan dengan tipe kayu C dan D, begitu juga antar mereka sendiri.
Daftar Pustaka [1] Ghosh, A., De, R. K., and Pal, S. K., Pattern Recognition and Machine Intelligence, Springer, 2007. [2] Huang, D., etc., Local Binary Patterns and Its Application to Facial Image Analysis: A Survey, IEEE: APPLICATIONS AND REVIEWS, Vol. 41, No. 6, 2011. [3] Kusumadewi, Sri, Klasifikasi Status Gizi Menggunakan Naïve Bayesian Classification. CommIT, Vol. 3, No. 1, hlm. 6 – 11, 2009. [4] Norvig, Marc, Introduction to Local Binary Patterns, Boston Image Processing Computer Vision Group, 2013. [5] Prasetiyo, Khalid, M., Yusof, R., and Meriaudeau, A Comparative Study of Feature Extraction Methods for Wood Texture Classification. In: Proceedings of the 6th International Conference on Signal Image Technology and Internet Based Systems (SITIS), 23-29, 2010.