2. Machine Vision
LEARNING OUTCOMES
1. Peserta diharapkan memahami proses deteksi fitur, terutama fitur tekstur yang diperoleh
menggunakan pendekatan struktural maupun statistika.
OUTLINE MATERI (Sub-Topic):
1. Texture Analysis
2. Structural Approaches
3. Statistical Approaches
4. Texture Segmentation
3. Machine Vision
ISI MATERI
Texture Analysis
Tekstur merupakan suatu konsep yang tidak mudah untuk dijelaskan, setiap orang dapat
memiliki interpretasi berbeda terhadap sebuah tekstur; hingga saat ini tidak ada definisi
matematika dari tekstur. Tekstur cenderung memiliki sifat berulang, sebuah bagian kecil dari
citra yang menyusun suatu tekstur. Tektur merupakan sebuah karakteristik yang penting dari
citra karena memperlihatkan karakteristik yang kuat dari sebuah obyek. Seringkali tekstur
dapat menjadi petunjuk yang menjelaskan material pembentuk suatu obyek, seperti tekstur
kulit kayu (secara umum kasar) yang sangat berbeda dengan tekstur logam (umumnya halus
dan memantulkan cahaya). Dengan demikian tekstur dapat digunakan untuk membedakan
obyek pada citra, jika diasumsikan material pembentuk setiap obyek adalah berbeda.
Terdapat dua jenis pendekatan untuk melakukan analisis tekstur, yaitu:
1. Pendekatan struktural: tekstur didefinisikan sebagai kumpulan dari texture element atau
texels yang muncul sebagai pola berulang dengan susunan tertentu pada citra.
2. Pendekatan statistik: mendefinisikan tekstur berdasarkan pengukuran statistik yang
diperoleh dari intensitas grayscale-nya.
Pendekatan struktural dapat bekerja baik untuk tekstur dari material buatan manusia yang
pada umumnya memiliki pola berulang yang jelas. Pendekatan statistik dapat digunakan
untuk berbagai jenis tekstur, baik material buatan manusia maupun material yang ada di
alam. Pendekatan statistik lebih mudah dilakukan serta lebih banyak diterapkan untuk analisis
tekstur.
4. Machine Vision
ISI MATERI
Structural Approaches
Tekstur merupakan suatu konsep yang tidak mudah untuk dijelaskan, setiap orang dapat
memiliki interpretasi berbeda terhadap sebuah tekstur; hingga saat ini tidak ada definisi
matematika dari tekstur. Tekstur cenderung memiliki sifat berulang, sebuah bagian kecil dari
citra yang menyusun suatu tekstur. Tektur merupakan sebuah karakteristik yang penting dari
citra karena memperlihatkan karakteristik yang kuat dari sebuah obyek. Seringkali tekstur
dapat menjadi petunjuk yang menjelaskan material pembentuk suatu obyek, seperti tekstur
kulit kayu (secara umum kasar) yang sangat berbeda dengan tekstur logam (umumnya halus
dan memantulkan cahaya). Dengan demikian tekstur dapat digunakan untuk membedakan
obyek pada citra, jika diasumsikan material pembentuk setiap obyek adalah berbeda.
Berdasarkan pendekatan struktural, terdapat empat karakteristik utama dari tekstur yaitu
regularity yang menjelaskan tingkat keteraturan dari tekstur, randomness yang memberikan
gambaran tingkat keacakan dari tekstur, directionality yang menunjukkan orientasi atau arah
dari tekstur, serta regularity yang menggambarkan tingkat regularitas atau keberulangan pola
tekstur. Gambar berikut memperlihatkan keempat karakteristik tersebut dari empat jenis
tekstur berbeda.
Beberapa penelitian penelitian terkait denan analisis tekstur mengusulkan pendekatan
struktural diantaranya:
1. Y. Liu et al. “A Computational Model for Periodic Pattern Perception Based on Frieze
and Wallpaper Groups”, IEEE Trans. On Pattern Analysis and Machine Intelligence,
2004. Liu mengusulkan model untuk mendeteksi kecenderungan arah dari tekstur.
Dalam penelitian tersebut, pola periodik yang memiliki dua arah yang bebas linier
5. Machine Vision
dideteksi dari sebuah citra tekstur. Pola tersebut dikenal juga sebagai pola
“walpaper”. Berikut contoh-contoh citra tekstur dan hasil deteksi pola periodiknya.
2. T. Leung, J. Malik, “Detecting, Localizing and Grouping Repeated Scene Elements
from an Image”, ECCV 2004. Pendekatan struktural yang diusulkan oleh Leung
adalah mendeteksi elemen unik pada citra dengan cara membandingkan elemen
tersebut dengan area di sekelilingnya. Elemen-elemen yang memiliki kemiripan pola
akan dikelompokkan. Gambar berikut memperlihatkan citra input dan hasil deteksi
tekstur menggunakan algortima yang diusulkannya.
6. Machine Vision
3. N. Ahuja, S. Todorovic, “Extracting Texels in 2.1D Natural Textures”, ICCV 2007.
Pada penelitiannya, Ahuja menyatakan tekstur sebagai representasi hirarkis dari texel
(texture element). Gambar berikut menunjukkan citra input dan hasil deteksi texel-
nya.
7. Machine Vision
ISI MATERI
Statistical Approaches
Pada tekstur alami seperti pasir, rumput, atau benda lainnya, mendapatkan texel
merupakan hal yang sulit bahkan seringkali tidak mungkin untuk dilakukan. Analisis tekstur
menggunakan pendekatan statistik bekerja berdasarkan prinsip sebuah tekstur dapat
direpresentasikan sebagai nilai numerik atau statistik dari nilai graylevel dari piksel citra
tekstur. Pendekatan statistik kurang intuitif dibandingkan pendekatan struktural, namun
secara umum lebih efisien dalam hal komputasinya. Beberapa teknik analisis tekstur
menggunakan pendekatan statistik seperti Local Binary Pattern (LBP), Law’s texture masks,
Fourier power spectrum, dan Wavelet texture descriptor akan dibahas pada bab ini.
Local Binary Pattern (LBP)
LBP merupakan salah satu fitur yang sangat baik untuk merepresentasikan tekstur. LBP
bekerja dengan cara membagi citra tekstur menjadi sub-citra, kemudian untuk setiap piksel
pada subcitra dilakukan evaluasi sebagai berikut:
1. Untuk setiap piksel p, buat sebuah bilangan biner 8 bit, b1 b2 b3 b4 b5 b6 b7 b8, dimana
bi = 1 jika piksel tetangga i bernilai lebih besar dari nilai p, sebaliknya bi = 0.
2. Representasikan tekstur sebagai histogram dari bilangan tersebut.
Gambar berikut memperlihatkan ilustrasi cara kerja LBP.
Ukuran area piksel tetangga dapat diperluas sehingga sebuah tekstur direpresentasikan
himpunan multi-scale circularly simetric neighbor seperti diilustrasikan pada gambar berikut.
8. Machine Vision
Informasi yang diperoleh dari fitur LBP juga dapat dimanfaatkan untuk mendeteksi
sebuah titik (spot), ujung garis (line end), sisi obyek (edge), maupun titik sudut obyek
(corner), seperti diilustrasikan oleh gambar berikut. Pada gambar tersebut piksel berwarna
hitam bernilai nol, sedangkan piksel berwarna putih bernilai 1.
Gray-Level Co-occurrence Matrix (GLCM)
GLCM adalah salah satu pendekatan statistik yang melakukan evaluasi terhadap relasi
spasial dari tiap piksel pada citra tekstur. GLCM merepresentasikan tekstur dengan cara
menghitung seberapa sering pasangan piksel dengan nilai tertentu dengan relasi spasial
tertentu muncul pada sebuah citra tekstur. Hasil perhitungan tersebut disajikan dalam bentuk
matriks yang disebut sebagai Gray-Level Co-occurrence Matrix atau GLCM. Selanjutnya
karakteristik dari tekstur dihitung berdasarkan ukuran statistik dari matriks tersebut. Berikut
prosedur ekstraksi fitur berdasarkan GLCM.
1. Tentukan vektor displacement d = (dx,dy), biasanya nilai dx = dy. Misal dx = dy = D,
gambar berikut memperlihatkan beberapa kemungkinan nilai d dengan vektor
displacement d = (0,4), d = (-4,4), d = (-4,0), atau d = (-4,-4)
9. Machine Vision
2. Hitunglah semua pasangan piksel dengan nilai gray-level i dan j yang terpisah oleh
jarak D. Simpan hasil perhitungan dalam matriks GLCM
3. Hitung fitur constrast, dissimilarity, inverse different moment, angular second
moment, energy, dan entropy berdasarkan formula berikut.
Constrast :
Dissimilarity :
Inverse different
moment :
Angular second
moment :
Energy :
Entropy :
dimana Pij menyatakan nilai matriks GLCM pada baris ke-i dan kolom ke-j.
Berikut contoh perhitungan matriks GLCM untuk sebuah citra tekstur dengan jumlah gray-
level 3 (0,1,2) dengan vektor displacement d = (1,1).
Citra input Matriks GLCM
Untuk mendapatkan fitur tekstur berdasarkan GLCM, biasanya digunakan 4 orientasi
berbeda dari vektor displacement, yaitu 0, 45, 90, dan 135 derajat. Untuk setiap orientasi
Pij
å *(i- j)2
Pij
å *|i- j |
Pij
å / 1+(i- j)2
{ }
Pij
2
å
Pij
2
å
Pij
2
*(-lnPij )
å
10. Machine Vision
dapat digunakan beberapa jarak berbeda, misalnya D = 1, 2, 3, …. Untuk efisiensi kalkulasi,
maka citra input dapat dikuantisasi agar jumlah gray-level nya lebih sedikit, misalnya 16, 32,
atau 64 sehingga dimensi matriks GLCM hanya 16x16, 32x32, atau 64x64 elemen.
Apabila tektur bersifat kasar, sedangkan nilai D pada vektor displacement yang
digunakan untuk menghitung GLCM relatif lebih kecil dibanding elemen tekstur, maka
pasangan piksel dengan jarak D akan memiliki nilai gray-level yang serupa. Akibatnya
matriks GLCM akan didominasi oleh nilai yang besar pada/dekat diagonal utama-nya.
Sebaliknya, jika tekstur bersifat halus dan nilai D pada vektor displacement relatif sama
dengan elemen teksturnya, maka pasangan piksel dengan jarak D akan memiliki nilai gray-
level yang berbeda. Akibatnya matriks GLCM akan memiliki nilai yang tersebar. Apabila
sebuah tekstur memiliki kecenderungan memiliki orientasi terhadap sudut θ, maka matriks
GLCM akan memiliki nilai yang bervariasi pada diagonal utama-nya. Artinya, orientasi dari
tekstur dapat dianalisis dengan cara membandingkan sebaran nilai matriks GLCM untuk
beberapa sudut θ.
Laws Texture Energy
Ekstraksi fitur berdasarkan Laws texture energy memanfaatkan filter tekstur atau mask
untuk mendapatkan karakteristik tekstur. Beberapa literatur menjelaskan bahwa teknik ini
lebih efektif dalam merepresentasikan karakteristik tekstur dibandingkan GLCM. 15 jenis
filter berukuran 5x5 (L5E5, E5L5, L5S5, S5L5, L5R5, R5L5, E5E5, E5S5, S5E5, E5R5,
R5E5, S5S5, S5R5, R5S5, R5R5) digunakan untuk memperoleh energi dari tekstur. Filter-
filter tersebut dibentuk dari vektor berikut.
L5 = [ +1 +4 6 +4 +1 ] (Level)
E5 = [ -1 -2 0 +2 +1 ] (Edge)
S5 = [ -1 0 2 0 -1 ] (Spot)
W5 = [ -1 +2 0 -2 +1 ] (Wave)
R5 = [ +1 -4 6 -4 +1 ] (Ripple)
Ilustrasi berikut memperlihatkan bagaimana membentuk filter E5L5 yang merupakan
perkalian dari vektor E5 dengan L5.
11. Machine Vision
Berikut prosedur untuk melakukan ekstraksi fitur menggunakan Laws texture energy.
1. Reduksi efek dari iluminasi dengan cara melakukan scanning pada citra menggunakan
window berukuran kecil citra lalu mengurangkan nilai gray-level dari setiap piksel
dengan nilai rata-rata piksel tetangganya. Ukuran window dapat bervariasi,
berdasarkan literatur ukuran yang optimal untuk tekstur natural adalah 15x15 piksel.
2. Lakukan operasi filter terhadap citra input menggunakan semua mask (L5E5, E5L5,
L5S5, S5L5, L5R5, R5L5, E5E5, E5S5, S5E5, E5R5, R5E5, S5S5, S5R5, R5S5,
R5R5). Operasi ini akan menghasilkan 15 buah citra baru.
3. Misalkan Fk[i,j] adalah hasil proses filtering menggunakan mask ke-k pada posisi
piksel (i,j). Maka texture energy map Ek untuk mask ke-k didefinisikan sebagai:
masing-masing texture energy map adalah citra yang berukuran sama dengan citra
input.
4. Hitung 9 buah resultant energy map menggunakan formula berikut:
L5E5/E5L5, L5S5/S5L5, L5R5/R5L5, E5E5, E5S5/S5E5, E5R5/R5E5, S5S5,
S5R5/R5S5, R5R5
5. Kombinasikan hasil kalkulasi pada langkah 4 menjadi sebuah citra yang setiap
pikselnya merupakan vektor dari resultant energy map. Penggabungan ini akan
menghasilkan fitur yang bersifat invarian terhadap rotasi.
12. Machine Vision
Contoh penggunaan Laws texture energy terhadap tiga jenis tekstur berbeda disajikan pada
gambar dan tabel berikut.
Daun Rumput Bata
Citra E5E5 S5S5 R5R5 E5L5 S5L5 R5L5 S5E5 R5E5 R5S5
Daun 257.7 121.4 988.7 820.6 510.1 1186.4 172.9 439.6 328.0
Rumput 197.8 107.2 1076 586.9 410.5 1208.5 144.0 444.8 338.1
Bata 128.1 60.2 512.7 442.1 273.8 724.8 86.6 248.1 176.3
Fourier Power Spectrum
Transformasi Fourier dapat menyediakan informasi yang lengkap mengenai relasi antar
piksel baik dari posisi maupun amplitudonya. Fourier power spectrum merepresentasikan
orientasi dari tekstur sebagai nilai-nilai yang dominan pada sudut fasa tertentu. Variasi
spasial dari tekstur dapat dideteksi berdasarkan lokasi dari nilai-nilai yang dominan pada
Fourier power spectrum. Gambar berikut memperlihatkan sebuah (a) citra tekstur, (b) Fourier
power spectrum dan (c) plot sudut fasa terhadap energi.
(a) (b) (c)
13. Machine Vision
Dapat dilihat dari plot sudut fasa terhadap energi, bahwa tekstur tersebut memiliki orientasi 0,
45, 90, 135, dan 180 derajat.
Ekstraksi fitur menggunakan Fourier power spectrum dilakukan dengan cara menghitung
nilai statistik (misal nilai rata-rata dan standar deviasi) dari setiap ring dan sektor dari Fourier
power spectrum seperti diilustrasikan oleh gambar berikut.
Wavelet Texture Descriptor
Transformasi wavelet adalah sebuah fungsi matematika yang dapat mendekomposisi citra
menjadi beberapa sub-band yang masing-masing merepresentasikan frekuensi berbeda pada
citra. Hasil transformasi wavelet juga berisi informasi distribusi spasial dari piksel-piksel dari
citra, oleh karena itu dapat digunakan untuk merepresentasikan sebuah tekstur. Setiap proses
dekomposisi wavelet akan menghasilkan empat sub-band yang biasa dinyatakan sebagai HH,
HL, dan LH yang merepresentasikan frekuensi tinggi pada citra, serta LL yang
merepresentasikan frekuensi rendahnya. Sub-band HL berisi informasi frekuensi tinggi yang
menggambarkan edge dengan arah horizontal, sedangkan sub-band LH menggambarkan edge
dengan arah vertikal. Frekuensi rendah dari citra direpresentasikan oleh sub-band LL, dimana
informasi yang dimuat di sub-band ini sama dengan citra input tetapi dengan resolusi lebih
rendah (separuh resolusi citra input). Proses dekomposisi wavelet dapat dilakukan untuk level
berikutnya dengan cara melakukan dekomposisi sub-band LL. Gambar berikut
memperlihatkan proses dekomposisi wavelet hingga 3 level.
14. Machine Vision
(a) (b) (c)
Proses ekstraksi fitur tekstur menggunakan transformasi wavelet dapat dilakukan dengan
cara menghitung energy, variance, dan residual energy berdasarkan rumus berikut:
Energy :
Variance :
Residual energy :
dimana Cij menyatakan nilai koefisien hasil dekomposisi dari masing-masing subband.
Apabila dilakukan dekomposisi wavelet hingga level 3, maka jumlah sub-band yang
dihasilkan adalah 10, sehingga keseluruhannya akan dihasilkan vektor fitur dengan 30 buah
elemen.
1
MN
|Cij |
j=1
N
å
i=1
M
å
1
MN
Cij -C
2
j=1
N
å
i=1
M
å
1
MN
Cij -C
j=1
N
å
i=1
M
å
15. Machine Vision
ISI MATERI
Texture Segmentation
Semua fitur tekstur yang telah dibahas pada bagian terdahulu, menyediakan sebuah nilai
skalar atau vektor untuk setiap piksel yang merepresentasikan karakteristik tekstur pada area
di sekelilingnya (piksel-piksel tetangga). Informasi tersebut dapat dimanfaatkan untuk
membagi citra menjadi segmen-segmen yang memiliki tekstur yang serupa. Proses
segmentasi berdasarkan tekstur secara umum dapat dibagi menjadi dua pendekatan, yaitu:
a. Region based: mengelompokkan piksel berdasarkan kesamaan karakteristik
teksturnya.
b. Boundary based: menemukan batas pemisah antara tekstur yang berbeda, yaitu pada
piksel-piksel yang terletak di antara area dengan yang memiliki tekstur berbeda.
Gambar berikut memperlihatkan contoh hasil segmentasi tekstur dari sebuah citra (a) menjadi
4 kelompok atau cluster (b).
(a) (b)
16. Machine Vision
SIMPULAN
1. Tekstur adalah sebuah fenomena yang dapat dengan mudah diidentifikasi oleh
manusia, namun tidak mudah untuk merepresentasikannya dengan model matematika
atau statistika.
2. Terdapat dua pendekatan dalam menganalisis tekstur, yaitu: (1) struktural yang
mencoba mengidentifikasi elemen terkecil pembentuk tekstur atau texel (texture
element) kemudian menentukan distribusi spasial dari texel pada citra, dan (2)
statistika yang merepresentasikan tekstur menggunakan nilai statistik dari gray-level
dari citra.
3. Pendekatan struktural tidak cocok untuk digunakan pada obyek natural karena sangat
sulit/hampir tidak mungkin untuk mendapatkan texel dari obyek di alam.
4. Sebuah citra tekstur dapat disegmentasi menjadi beberapa bagian yang memiliki
karakteristik tekstur sama. Proses segmentasi dapat dilakukan dengan cara
mengelompokkan piksel-piksel yang memiliki karakteristik tekstur yang serupa, atau
mengidentifikasi batas pemisah antara dua tekstur yang berbeda.
17. Machine Vision
DAFTAR PUSTAKA
1. Forsyth. (2011). Computer Vision a Modern Approach (2nd
Edition). Prentice Hall.
New Jersey. ISBN-10: 013608592X. ISBN-13: 978-0136085928.
2. Gonzales. (2011). Digital Image Processing (3rd Edition). Prentice Hall. New Jersey.
ISBN-10: 013168728X. ISBN-13: 978-0131687288
3. Nixon, M. (2008). Feature extraction & image processing (2nd
Edition). Academic
Press. ISBN: 9780080556727
4. Y. Liu, et al., “A Computational Model for Periodic Pattern Perception Based on
Frieze and Wallpaper Groups”, IEEE Trans. On Pattern Analysis and Machine
Intelligence, 2004
5. T. Leung, J. Malik, “Detecting, Localizing and Grouping Repeated Scene Elements
from an Image”, ECCV 2004
6. N. Ahuja, S. Todorovic, “Extracting Texels in 2.1D Natural Textures”, ICCV 2007
7. Face Description Using LBP, http://what-when-how.com/face-recognition/local-
representation-of-facial-features-face-image-modeling-and-representation-face-
recognition-part-2/