GLCM Feature Extraction and Image Classification

fingki sri marsanti

Sosial Media


1 orang menyukai ini
Suka

Summary

Ekstraksi fitur merupakan proses mendapatkan ciri suatu objek yang akan digunakan sebagai pembeda dari objek lainnya, dimana perbedaan tersebut menjadi parameter yang akan digunakan sebagai masukan dalam proses klasifikasi. Salah satu metode ekstraksi fitur yaitu Gray Level Co-occurrence Matrix (GLCM). Setelah citra berhasil dilakukan ekstraksi fitur kemudian citra  dapat diklasifikasi dalam kelas yang telah ditentukan. Metode klasifikasi yang banyak digunakan salah satunya yaitu K-Nearest Neightbor (KNN). Pada portofolio ini dipaparkan proses ekstraksi fitur dengan GLCM dan klasifikasi citra dengan KNN pada data Batik yang memiliki dua kelas dengan hasil akurasi model diperoleh sebesar 81.25%.

Description

Ekastraksi Fitur

Ekstraksi Fitur merupakan bagian fundamental atau terpenting dalam analisis suatu citra yaitu sebuah  proses  pengambilan ciri  atau  karakteristik objek  yang dapat digunakan sebagai pembeda dengan objek lainnya. Karakteristik inilah yang dipakai   sebagai   parameter  untuk   menggambarkan   sebuah  objek. Nilai   dari parameter-parameter  tersebut  kemudian akan dijadikan  sebagai  data masukan  dalam proses  klasifikasi. Salah satu metode ekstraksi fitur adalah Gray Level Co-occurrence Matrix (GLCM). 

Gray Level Co-occurrence Matrix (GLCM) salah satu ektraksi ciri untuk memperoleh nilai fitur dengan menghitung kemunculan matriks yang sama dalam piksel gambar. GLCM terdiri dari elemen-elemen yang merupakan jumlah dari pasangan piksel yang memiliki tingkat kecerahan tertentu, dimana pasangan piksel tersebut terpisah dengan jarak (d) dan sudut (Ө). Metode ini digunakan untuk memperoleh suatu ciri dari sebuah citra yang mana hasil dari pencarian ciri citra tersebut dapat dijadikan sebuah masukan untuk mengklasifikasikan citra tersebut kedalam kelompok atau kelas-kelas tertentu yang sudah disepakati sebelumnya. Pada metode GLCM terdapat 4 sudut atau arah yang digunakan dalam ekstraksi fitur untuk menentukan hubungan salah satu ektraksi ciri untuk memperoleh nilai fitur dengan menghitung kemunculan matriks yang sama dalam piksel gambar. Berikut merupakan ilustrasi sudut dalam ekatraksi fitur GLCM :

900 
35 
90 。 
3 
45 。 
135

(Sumber : scribd.com)

Langkah-langkah fitur ekstrasi ciri dengan metode Gray Level Co-occurrence (Sukiman, 2020) 

  1. Normalisasi suatu citra dengan mengubah rentang nilai intensitas pixel 
  2. Membuat area kerja matriks. 
  3. Menentukan hubungan spasial antara piksel refrensi dengan piksel tetangga dengan memberikan nilai untuk sudut (Ө), dan jarak (d). 
  4. Menghitung jumlah kookurensi matriks dan mengisikannya pada area kerja matriks. 
  5. Menjumlahkan matriks kookurensi dangan matriks transposenya untuk menjadikan matriks yang simetris. 
  6. Normalisasi matriks untuk mengubahnya ke bentuk probabilitas. 
  7. Setelah mendapatkan matriks kookurensi tersebut, kemudian dihitung analisa tekstur  menggunakan orde-kedua dengan parameter seperti entropy, Kontras, Homogenitas, dan Energy. 

 

Klasifikasi KNN

Klasifikasi merupakan metode  untuk  megelompokkan sebuah  objek kedalam kelompok atau kelas tertentuberdasarkan ciri-ciri dari objek yang diberikan. Salah satu algoritma klasifikasi yang banyak digunakan adalah K-Nearest Neighbor (KNN). Klasifikasi dengan algoritma KNN hanya didasarkan pada gagasan bahwa suatu objek  yang dekat satu sama lain juga akan memiliki karakteristik  yang  mirip,yang berarti  jika  diketahui ciri-ciri dari salah satu objek, maka juga dapat memprediksi objek lain berdasarkan tetangga terdekatnya. Algoritma  klasifikasi KNN memprediksi kategori tes sampel sesuai dengan sampel pelatihan k yang merupakan tetangga  terdekat dengan  sampel  uji dan memasukkan  kedalam  kategori yang memiliki kategori probabilitas terbesar (Khamis, Cheruiyot dan Kimani, 2014). 

K-Nearest Neighbours (KNN) Classifier - The Click Reader

(Sumber : theclickreader.com)

 

Contoh Kasus

Mengimplementasikan metode ekstraksi fitur GLCM dan klasifikasi citra dengan algoritma KNN untuk klasifikasi citra batik yang terdiri dari dua kelas yaitu batik kawung dan batik parang. 

Ekstraksi fitur dengan Gray Level Co-occurrence Matrix (GLCM)

# Derajad e 
def derajat8 (img) 
max = np.max(img) 
imgTmp = np. zeros(Cmax+1, max+l]) 
for i in range (len(img)): 
for j in range 
imgCi,j+1]] 
np. transpose(imgTmp) 
transpos 
data 
imgTmp+transpos 
tmp = e 
for i in range (len(data)): 
for j in range (len(data)): 
for i in range(len(data)): 
for j in range (len(data)): 
data 
return data

# Derajad 45 
def derajat4S (img) : 
max = np.max(img) 
imgTmp = np. 
for i in range (len(img)): 
for j in range 
imgCi,j+1]] 
np. transpose(imgTmp) 
transpos 
data 
imgTmp+transpos 
tmp = e 
for i in range (len(data)): 
for j in range (len(data)): 
for i in range(len(data)): 
for j in range (len(data)): 
data 
return data

# Derajat 93 
def derajatge (img) : 
max = np.max(img) 
imgTmp = np. zeros(Cmax+1, max+l]) 
for i in range (len(img)): 
for j in range 
imgCi,j+1]] 
np. transpose(imgTmp) 
transpos 
data 
imgTmp+transpos 
tmp = e 
for i in range (len(data)): 
for j in range (len(data)): 
for i in range(len(data)): 
for j in range (len(data)): 
data 
return data

# Derajad 135 
def derajat13S (img): 
max = np.max(img) 
imgTmp = np. 
for i in range (len(img)): 
for j in range 
imgCi,j+1]] 
np. transpose(imgTmp) 
transpos 
data 
imgTmp+transpos 
tmp = e 
for i in range (len(data)): 
for j in range (len(data)): 
for i in range(len(data)): 
for j in range (len(data)): 
data 
return data

Analisa tekstur  menggunakan orde-kedua dengan parameter Entropy, Kontras, Homogenitas, dan Energy. 

def contras (data) • 
contras=e 
for i in range (len(data)): 
for j in range (len(data)): 
return contras 
def entropy (data) 
ent = e 
for i in range (len(data)): 
for j in range (len(data)): 
if 
ent+= 
return ent

def homogenitas (data) : 
homogen = a 
for i in range (len(data)): 
for j in range (len(data)): 
return homogen 
def energi (data) • 
eng 
for i in range (len(data)): 
for j in range (len(data)): 
return eng

Klasifikasi dengan algoritma KNN

[166): 
from sklearn.neighbors import KNeighborsC1assifier 
knn = 
KNeighborsC1assifier(n_neighbors=3) 
knn. fit(data, label) 
knn. score (data, label) 
8.675 
In [88): 
pred_clas 
knn . predict(X_test) 
print ( pred_clas) 
pred_clas. shape 
kawung' ' batik 
kawung' 'batik 
kawung' batik 
kawung' 'batik 
kawung' ' batik 
out[88) : 
[ 'batik 
' batik 
' batik 
' batik 
(16, ) 
' 'batik 
parang 
kawung ' 
' batik 
kawung ' 
' batik 
' 'batik 
parang 
parang 
parang 
parang 
' 'batik 
' 'batik 
' 'batik 
kawung ' 
parang ' 
kawung ' 
kawung' ]

Visualisasi data

Evaluasi model algoritma KNN

In [251): 
from sklearn.metrics import accuracy_score 
score = pred_clas) 
In [246): 
a. 83 
Accuracy KNN 
score*lee, "%" ) 
Model Accuracy KNN 
81.25 % 
from sklearn import metrics 
print (metrics. classification_report(y_test, pred_clas)) 
preclszon 
a. 88 
a. 82 
a. 81 
recall fl-score support 
batik kawung 
batik parang 
accuracy 
macm) avg 
weighted avg 
a. 71 
a. 88 
a. 81 
a. 77 
a. 81 
a. 81 
a. 81

Dari ekstraksi fitur dan klasifikasi dengan algoritma KNN diperoleh akurasi model sebesar 81.25%

 

Referensi :

Khamis, Hassan   Shee,KiprutoW.   Cheruiyotdan Stephen   Kimani.  (2014). Application  of  k-Nearest Neighbor  Classification  in Medical  Data  Mining. International   Journal  of   Information   and  Communication   Technology Research, Vol. 4 (4).

Sukiman, T.Sukma Achriadi. 2020. Ekstraksi Fitur GLCM (Gray Level Co-occurrence Matrix) Dan Metode LVQ (Learning Vector Quantization) Dalam Pengenalan Wajah Berbasis Citra Digital. (Tesis, Universitas Sumatera Utara, 2020) Diakses dari https://repositori.usu.ac.id/bitstream/handle/123456789/24672/147038066.pdf?sequence=1&isAllowed=y

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Image Processing