2. Machine Vision
LEARNING OUTCOMES
1. Peserta diharapkan memahami proses deteksi fitur, terutama fitur boundary dan region
serta proses segmentasi citra.
OUTLINE MATERI (Sub-Topic):
1. Thresholding
2. Identifying Boundary
3. Identifying Region
3. Machine Vision
ISI MATERI
Thresholding
Image segmentation atau segmentasi citra adalah sebuah proses membagi citra menjadi
sub-citra yang memiliki karakteristik serupa. Tujuan dari segmentasi adalah untuk
mendekomposisi citra menjadi bagian-bagian yang memiliki makna untuk aplikasi tertentu.
Contoh, pada inspeksi PCB (printed circuit board) secara otomatis, perlu dilakukan
segmentasi yang dapat membedakan bagian dari PCB yang merupakan hasil proses solder
dengan bagian lainnya. Proses inspeksi secara otomatis dapat dilakukan dengan cara
membandingkan citra hasil segmentasi yang menunjukkan hasil proses solder pada PCB
dengan template yang ada. Gambar berikut memperlihatkan proses segmentasi tersebut:
Citra PCB input
Citra hasil segmentasi
Segmentasi merupakan salah satu proses yang paling sulit dilakukan pada pengolahan
citra. Proses segmentasi juga merupakan salah satu proses yang memegang peranan penting
karena menentukan keberhasilan dari prosedur analisis citra secara otomatis. Dibutuhkan
pertimbangan dalam pemilihan metode agar proses segmentasi dapat menghasilkan output
4. Machine Vision
yang optimal. Secara umum segmetasi citra bekerja berdasarkan nilai intensitas
warna/graylevel piksel dengan cara mendeteksi 1) diskontinuitas: mempartisi citra
berdasarkan perubahan intenitas yang signifikan, biasanya ditemui pada bagian sisi/edge dari
sebuah obyek pada citra, atau 2) kesamaan: mempartisi citra menjadi bagian-bagian yang
memiliki kesamaan berdasarkan kriteria yang sudah didefinisikan sebelumnya.
Thresholding adalah pendekatan yang paling mendasar dalam proses segmentasi. Teknik
single value thresholding dapat dirumuskan secara matematis sebagai berikut:
dimana T menyatakan nilai threshold/ambang. Contoh berikut memperlihatkan penerapan
single value thresholding pada robot pemain poker. Untuk dapat bermain poker, robot harus
dapat menginterpretasikan setiap kartu. Proses segmentasi dapat diterapkan untuk
memisahkan latar depan (lambang dan nilai setiap kartu) dari latar belakangnya. Langkah
berikutnya tentu saja mengenali lambang dan nilai dari kartu tersebut. Gambar berikut
memperlihatkan citra input dan hasil proses thresholding.
Pemilihan nilai threshold merupakan hal yang sangat penting karena nilai threshold yang
tidak tepat akan menghasilkan proses segmentasi yang tidak sesuai dengan harapan. Gambar
berikut memperlihatkan hasil proses threholding menggunakan dua nilai threshold berbeda.
Gambar pertama memperlihatkan akibat dari pemilihan nilai threshold yang terlalu tinggi,
sebaliknya gambar kedua memperlihatkan akibat dari pemilihan nilai threshold yang terlalu
rendah.
T
y
x
f
if
T
y
x
f
if
y
x
g
)
,
(
0
)
,
(
1
)
,
(
5. Machine Vision
Berikut algoritma untuk melakukan thresholding menggunakan nilai threshold tunggal
untuk keseluruhan citra (single global threshold).
1. Inisialisasi nilai threshold T, biasanya dipilih nilai rata-rata graylevel dari citra.
2. Segmentasi citra menggunakan nilai threshold T pada langkah 1 menjadi dua
kelompok piksel: G1 mewakili piksel-piksel dengan nilai graylevel > T dan G2
mewakili piksel-piksel dengan nilai greylevel ≤ T.
3. Hitung nilai rata-rata graylevel semua piksel pada kelompok G1 dan G2, sehingga
diperoleh m1
dan m2
.
4. Hitung nilai threshold baru:
5. Ulangi langkah 2 sampai 4 hingga selisih nilai threshold baru dengan nilai threshold
pada iterasi sebelumnya dibawah nilai ambang T¥
yang didefinisikan sebelumnya.
Algoritma ini bekerja baik untuk mendapatkan nilai threshold yang optimal pada citra yang
memiliki histogram dengan karakteristik bimodal atau memiliki dua puncak seperti
diperlihatkan pada gambar berikut.
Citra input Histogram citra input Hasil segmentasi
2
2
1
T
6. Machine Vision
Citra input Hasil segmentasi
Histogram citra input
Seperti ditunjukkan pada contoh sebelumnya, teknik single value thresholding dapat
bekerja baik untuk citra dengan histogram bimodal. Namun terdapat banyak kasus dimana
proses segmentasi membutuhkan lebih dari sebuah nilai threshold. Gambar berikut
memperlihatkan kasus dimana penggunaan single value thresholding tidak dapat
menghasilkan hasil segmentasi sesuai dengan yang diharapkan. Misalkan akan dilakukan
inspeksi secara otomatis untuk melihat apakah isi dari setiap minuman pada botol sudah
sesuai dengan standar yang ditentukan. Proses segmentasi harus dapat memisahkan isi botol
dari botol dan latar belakangnya. Gambar di sebelah kiri merepresentasikan citra input,
sedangkan gambar di tengah menunjukkan hasil segmentasi menggunakan teknik single value
thresholding, dan gambar terakhir memperlihatkan hasil segmentasi menggunakan dua nilai
threshold berbeda. Penggunaan nilai threshold tunggal tidak berhasil memisahkan isi botol,
botol dan latar belakangnya. Sedangkan penggunaan dua nilai threshold dapat memisahkan
ketiga obyek tersebut dengan baik.
7. Machine Vision
ISI MATERI
Identifying Boundary
Sebuah obyek direpresentasikan sebagai sekumpulan piksel pada citra. Untuk mendukung
proses pengenalan obyek maka sifat dari kumpulan piksel perlu dideskripsikan, salah satunya
menggunakan object descriptor. Object descriptor dapat dikelompokkan menjadi:
1. Boundary descriptor: merepresentasikan susunan piksel pada perimeter atau sisi dari
obyek pada citra.
2. Region descriptor: merepresentasikan susunan piksel pada area di dalam obyek pada
citra.
Berikut sifat-sifat penting yang perlu dimiliki oleh object descriptor:
a. Complete set: dua obyek harus memiliki descriptor yang sama, jika dan hanya jika
kedua obyek tersebut memiliki bentuk yang sama.
b. Congruent: dapat mengenali dua obyek yang serupa apabila kedua obyek tersebut
memiliki descriptor yang mirip.
c. Convenient: tidak dipengaruhi oleh proses transformasi (translasi, rotasi, skala,
maupun perubahan perspektif).
d. Compact set: merepresentasikan esensi dari obyek secara efisien.
Boundary adalah bagian dari obyek yang menyatakan sisi atau perimeter dari obyek, atau
dapat dikatakan juga sebagai kontur obyek. Boundary dapat ditemukan dengan cara memilih
salah satu piksel pada kontur kemudian menelusuri piksel-piksel berikutnya sepanjang kontur
searah atau berlawanan dengan arah jarum jam. Penelusuran dilakukan hingga ditemukan
kembali titik awal. Hasil penelusuran kontur dapat direpresentasikan sebagai daftar koordinat
dari piksel-piksel pada kontur, atau dapat juga disimpan sebagai posisi relatif dari piksel-
piksel tersebut. Hal tersebut yang dijadikan ide dasar dari chain code yang merepresentasikan
piksel-piksel pada kontur sebagai himpunan koneksi. Koneksi antar piksel dapat dinyatakan
sebagai 4-way connectivity atau 8-way connectivity, seperti diilustrasikan pada gambar
berikut:
8. Machine Vision
Dua gambar berikut memperlihatkan penerapan chain code untuk merepresentasikan kontur
dari obyek yang sama. Proses penelusuran dimulai dari piksel dengan label ‘Start’ searah
dengan jarum jam.
Hal yang perlu diperhatikan adalah pemilihan titik awal dalam proses penelusuran.
Pemilihan titik awal yang berbeda dari dua obyek yang sama akan menghasilkan kode yang
berbeda. Untuk mengatasi permasalahan ini, dapat digunakan pergeseran digit dengan cara
mengganti least significant digit dengan most significant digit dan menggeser digit lainnya.
Ilustrasi berikut memperlihatkan proses pergeseran digit untuk memperoleh chain code yang
bersifat start point invariant dari kode 8-way connectivity di gambar sebelumnya. Untuk
mendapatkan start point invariant dari kode awal dibutuhkan 6 kali pergeseran digit. Hasil
akhir dari pergeseran digit akan menunjukkan deretan angka yang terurut naik.
9. Machine Vision
Salah satu teknik yang dapat juga digunakan untuk merepresentasikan boundary adalah
Fourier descriptor. Fourier descriptor diperoleh dengan cara melakukan transformasi Fourier
terhadap boundary dari obyek, dimana setiap titik (x,y) pada boundary dipetakan menjadi
sebuah bilangan kompleks x + iy. Fourier descriptor Z(k) dapat dinyatakan oleh persamaan
berikut.
Bentuk asli obyek dapat direkonstruksi dengan melakukan transformasi Fourier invers,
namun apabila hanya digunakan sedikit koefisien hasil transformasi, maka bentuk boundary
hasil rekonstruksi menjadi lebih sederhana. Pendekatan Fourier descriptor dapat
dimanfaatkan untuk meminimalkan variasi kecil pada obyek yang berbeda. Fourier descriptor
bersifat invariant terhadap translasi, rotasi, skala, dan titik awal, artinya Fourier descriptor
akan bernilai sama meskipun obyek telah mengalami perpindahan lokasi, perputaran, maupun
perbesaran/pengecilan. Gambar berikut mengilustrasikan hasil rekonstruksi penggunaan 9,
19, dan 29 koefisien Fourier descriptor dari sebuah obyek berbentuk payung.
Z[k]= DFT[z[m]]=
1
N
z[m]e- j2pmk/N
m=0
N-1
å
Original shape Reconstructed
Using 9 FD
Reconstructed
Using 19 FD
Reconstructed
Using 29 FD
10. Machine Vision
ISI MATERI
Identifying Region
Region descriptor berfungsi untuk merepresentasikan susunan piksel pada area di dalam
obyek pada citra. Terdapat dua jenis region descriptor, yaitu basic region descriptor dan
statistical description yang bekerja berdasarkan prinsip momen. Pada basic region
descriptor, sebuah area dapat direpresentasikan berdasarkan karakteristik geometrinya, yaitu
area (A), perimeter (P), compactness (C) dan dispersion (IR). Berikut rumus dari basic region
descriptor dari obyek S.
Area menyatakan luas dari obyek, dimana DAmenyatakan ukuran luas dari sebuah piksel.
Sehingga jika DA=1 maka luas obyek dinyatakan dalam piksel. Area bersifat invariant
terhadap rotasi, namun tidak terhadap skala. Perimeter direpresentasikan oleh koordinat
parametrik x(t) dan y(t) yang membentuk kurva yang melingkupi obyek S. Compactness
mengukur tingkat efisiensi boundary menutupi area. Sebuah lingkaran sempurna akan
memiliki nilai C = 1, artinya lingkaran merupakan bentuk yang paling kompak. Dispersion
dapat digunakan untuk mengukur tingkat irregularity, yaitu rasio dari radius maksium
terhadap radius minimumnya. Dispersion mendefinisikan rasio antara radius maksimum dari
lingkaran yang dapat melingkupi obyek S terhadap radius lingkaran yang dapat dimuat pada
S. Lingkaran sempurna akan memiliki nilai IR = 1. Semakin tidak beraturan sebuah obyek
(irregular) maka nilai irregularity akan semakin besar.
A(S) = I(x, y)DA
y
x
P(S) = (xi - xi-1)2
+(yi - yi-1)2
i
å
C(S) =
A(s)
P2
(s) / 4p
IR(S) =
max (xi - x)2
+(yi - y)2
( )
min (xi - x)2
+(yi - y)2
( )
11. Machine Vision
Berikut contoh perhitungan basic region descriptor dari tiga obyek berbeda.
A(S) = 4917
P(S) = 259.27
C(S) = 0.91
PS(S) = 1.03
A(S) = 4917
P(S) = 259.27
C(S) = 0.91
PS(S) = 1.03
A(S) = 4917
P(S) = 259.27
C(S) = 0.91
PS(S) = 1.03
Moment berguna untuk menyatakan susunan/layout dari obyek yang digambarkan oleh
susunan piksel-piksel yang membentuk obyek. Moment dapat dikatakan merupakan
kombinasi antara fitur area, compactness, irregularity, dan statistika orde tinggi. Moment
kartesian dua dimensi I(x,y) didefinisikan oleh:
dimana DA menyatakan area dari sebuah piksel. Moment orde 0 dapat dituliskan sebagai:
sedangkan moment order 1 dapat dinyatakan oleh:
Salah satu variasi dari moment adalah centralized moment yang bersifat invariant terhadap
translasi. Centralized moment dapat dinyatakan oleh:
mpq = xp
yq
y
x
I(x, y)DA
m00 = I(x, y)DA
y
x
m10 = xI(x, y)DA
y
x
m01 = yI(x, y)DA
y
x
mpq = (x - x)p
(y - y)q
y
x
I(x, y)DA
12. Machine Vision
contoh:
Berikut contoh perhitungan centralized moment:
Berdasarkan contoh tersebut, dapat dilihat bahwa centralized moment tidak dipengaruhi
oleh operasi translasi atau pergeseran namun hal tersebut tidak berlaku terhadap operasi
rotasi. Dapat dikatakan bahwa centralized moment bersifat translation invariant tetapi tidak
bersifat rotation invariant. Untuk mengatasi kekurangan ini, Hu pada tahun 1962
mengusulkan invariant moment yang bersifat invariant terhadap translasi, rotasi, dan skala.
Untuk mendapatkan karateristik tersebut, perlu didefinisikan normalized central moment:
Tujuh invariant moment berikut dapat diturunkan dari persamaan diatas:
m01 = m01 -
m01
m00
m00
m10 = m01
m20 = m20 -
m10
2
m00
hpq =
mpq
m00
g
where g=
p + q
2
"p+ q ³ 2
13. Machine Vision
Berikut contoh perhitungan tiga invariant moment pertama dari sebuah obyek berbentuk
pesawat tempur F-14:
Seperti dapat dilihat pada contoh tersebut, operasi rotasi dan skala tidak mempengaruhi nilai
invariant moment M1, M2, dan M3 secara signifikan.
14. Machine Vision
SIMPULAN
1. Operasi thresholding dapat bekerja secara optimal pada citra dengan histogram yang
memenuhi kondisi bimodal, trimodal, dst.
2. Sebuah obyek pada citra dapat direpresentasikan oleh susunan piksel pada
sisi/perimeternya (boundary) atau susunan piksel dalam obyek tersebut (region).
3. Beberapa sifat penting yang perlu dimiliki oleh sebuah object descriptor adalah
complete set, congruent, convenient, dan compact set.
4. Representasi sebuah obyek dapat dinyatakan berdasarkan sifat geometris maupun
karakteristik statistiknya.
15. Machine Vision
DAFTAR PUSTAKA
1. Gonzales. (2011). Digital Image Processing (3rd Edition). Prentice Hall. New Jersey.
ISBN-10: 013168728X. ISBN-13: 978-0131687288
2. Nixon, M. (2008). Feature extraction & image processing (2nd
Edition). Academic
Press. ISBN: 9780080556727
3. Y.K. Liu, B.Zalik, An efficient chain code with Huffman coding, Pattern Recognition
38 (4) (2005) 553-557.
4. Tutorial on Fourier Theory,
http://www.cs.otago.ac.nz/cosc453/student_tutorials/fourier_analysis.pdf
5. OpenCV: Discrete Fourier Transform,
http://docs.opencv.org/2.4/doc/tutorials/core/discrete_fourier_transform/discrete_fouri
er_transform.html?highlight=fourier
6. L.Keyes, A.Winstanley, Using moment invariants for classifying shapes on large-
scale maps, Computers, Environment and Urban Systems 25 (1) (2001) 119-130.