Disusun oleh:
Kelompok 4
1. Dwi Kusrianto Putro
2. Khabib Mustofa
UNIVERSITAS DIPONEGORO
SEMARANG
2011
Thinning adalah sebuah langkah awal memproses untuk berbagai macam operasi
analisa image seperti optical character recognition, fingerprint recognition dan document
proscessing. Thinning melibatkan perpindahan titik atau lapisan dari suatu pola sampai semua
garis menjadi singel pixel.. hasil dari set garis disebut skeleton dari suatu objek. tidak ada
definisi matematika dari skleleton;menampilkan berbagai macam metode thinning dalam
suatu pola menuju ke berbagai macam hasil pula. cara yang umum untuk mengekstrak
skeleton mengandung memindahkan/menghapus, disetiap iterasi, semua edge pixels kecuali
pixel yang menjadi skeleton tersebut. edge pixels menunjukkan batas yang ada di sebuah
patern.
Thinning termasuk langkah penting dalam operasi analisis citra seperti pada
pengenalan karakter, pengenaan sidik jari, dan pemrosesan dokumen. Proses thinning
mengidentifikasi piksel-piksel dari suatu objek yang dianggap mewakili bentuk objek
tersebut, dan digunakan untuk mengekstrak fitur dari suatu objek pada sebuah citra. Pada
pengenalan pola, thinning digunakan untuk mereduksi pola biner ke representasi skeletal.
Operasi thinning digunakan untuk mengambil rangka setebal satu piksel dari citra, dengan
cara membuang titik-titik atau layer terluar dari citra sampai semua garis atau kurva hanya
setebal satu piksel.
Kerangka yang dihasilkan disebut sebagai skeleton, yang dianggap merepresentasikan
bentuk objek. Pada image berbentuk garis, skeleton menunjukkan semua informasi dari objek
aslinya. Komponen-komponen dari skeleton, yaitu posisi, orientasi, dan panjang segmen-
segmen garis skeleton mewakili garis-garis yang memberntuk image. Komponen-komponen
ini mempermudah karakterisasi komponen-komponen dari image tersebut. Misalnya panjang
dari suatu bentuk dapat diperkirakan dengan memperhitungkan ujung-ujung dan titik terjauh
pada skeleton.
Ada berbagai macam metode atau algoritma thinning, dan masing-masing memberikan
hasil yang berbeda. Kebanyakan algoritma thinning bersifat iteratif. Pada sebuah iterasi,
piksel-piksel edge dievaluasi berdasarkan kriteria-kriteria tertentu untuk menentukan apakah
harus dibuang atau tidak. Ada juga beberapa algoritma pada komputer-komputer yang bekerja
secara sekuensial dan paralel. Pada algoritma sekuensial, untuk memproses suatu piksel pada
suatu tahap digunakan hasil pemrosesan pada iterasi sebelumnya dan hasil iterasi pada tahap
2(a) dan tidak seperti gambar di 2(b). cacat yang lain adalah generasi dua pixels
skeleton;rangka lebar/luas untuk daerah [yang] dibengkokkan. Masalah inti timbul
diakibatkan pixel yang ditunjukan pada gambar 2(a) berhubungan seperti gambar 2(b). hal
tersebut bisa dilihat sebagai dua masalah yang saling kontradiksi dan oleh karena itu harus
ada kompromi diantara keduanya.
Gambar 3: 2-pixel wide skeleton and the desired skeleton for a 45o line
Problem konektivitas dan thick skelelon sering dialami oleh banyak algoritma ketika
hasil bagian luar lapisan pixel dari suatu obyek dipindahkan/dihilangkan dan mengakibatkan
struktur dari hasilnya tidak diketahui sejauh iterasi tersebut berjalan. Di kasus tersebut,
batasan dikenalkan untuk memastikan conectivity sehingga sedemikian rupa kejadian doubly
thick skleleton terjadi. Untuk kasus pararel algoritma, solusi telah dibagi menjadi beberapa
sub iterasi untuk mendapatkan informasi tentang tetangga pixel.
B. Karekteristik Skeleton
Kelompok 4 | Thinning Page 4
Pada bagian ini akan membahas tentang karakteristik yang umum dari skeleton dan
beberapa istilah yang berkaitan dengan skeleton. Suatu image biner yang menguraikan suatu
2D array pixels (gambar 4). Yang obyeknya membentuk foreground Q1 image ini diwakili
oleh satu set dark point sedang background Q’ sesuai dengan satu set white point .
Untuk pixel yang telah ditentukan yaitu p ada delapan neighbours n0,n1,..,n7, dengan
subcript yang menandakan arah tetangga dari p, berkenaan dengan x-axis(Gambar 5). Untuk
ni, arahnya adalah i*45°. Neighbours dengan subcript dikenal sebagai D-neigbours, yang
dapat diakses p dengan pindah ke suatu arah vertikal atau horisontal. Neighbours lainnya
disebut I-Neighbours, yang dapat diakses dari p dengan 45°. Jika p adalah dark point dan
salah satu dari 8 neighbours ni adalah dark juga, p dan ni disebut 8-connected.
Jika p adalah dark dan salah satu dari empat D-neighbours n2i adalah juga dark, p dan
n2i dikatakan 4-connected.
Jika p0 dan pm adalah dua poin dark pada obyek yang sama, ada suatu alur, yang dapat
menjelaskan suatu rantai tentang dark points p0, p1,.., pm, dengan masing-masing pasangan
pixel yang berurutan, pi dan pi+2 menjadi neghbours dari yang lain. Jika semua tetangga
Bentuk awal :
Hasil thinning:
Hasil skeletonizing:
langkah 1 : Tandai semua piksel foreground yang memenuhi kondisi 1 sampai dengan 4
langkah 3 : Tandai semua piksel foreground yang memenuhi kondisi 5 sampai dengan 8
Kondisi :
1. 2 ≤ N (P1) ≤ 6
2. S(P1) = 1
3. P2 * P4 * P6 = 0
4. P4 * P6 * P8 = 0
5. 2 ≤ N (P1) ≤ 6
6. S(P1) = 1
7. P2 * P4 * P8 = 0
8. P2 * P6 * P8 = 0
Keterangan :
• N(P1) adalah jumlah tetangga yang dimiliki oleh piksel P1 yang tidak bernilai 0 (nol).
• S(P1) adalah jumlah perpindahan nilai dari 0 (nol) ke 1 (satu) mulai dari P2, P3
sampai dengan P9 secara berurut.
• P2 * P4 * P6 = 0, memiliki arti P2 atau P4 atau P6 bernilai 0 (nol).
1 P1 0
1 0 1
P9 P2 P3
P8 P1 P4
P7 P6 P5
Contoh : 1
P1 P2 P3 P4
P5 P6 P7 P8
Gambar 1
Hasil Iterasi Pertama (Langkah A dan B)
1. 2 ≤ N (P1) ≤ 6
2. S(P1) = 1
3. P2 * P4 * P6 = 0
4. P4 * P6 * P8 = 0
Untuk Piksel P1 = (P1) pada Gambar 1:
N(P1) = 3; TRUE
S(P1) = 1; TRUE
P2 * P4 * P6 = 0; TRUE
P4 * P6 * P8 = 0; TRUE
Kondisi dapat terpenuhi semua dengan nilai TRUE sehingga dapat disimpulkan bahwa P1
ditandai dan dirubah menjadi background (nol).
N(P1) = 5; TRUE
S(P1) = 1; TRUE
P2 * P4 * P6 = 0; TRUE
P4 * P6 * P8 = 0; FALSE
0 Q1 Q2 0
Q3 Q4 Q5 0
0 0 0 0
Gambar 2
5. 2 ≤ N (P1) ≤ 6
6. S(P1) = 1
7. P2 * P4 * P8 = 0
8. P2 * P6 * P8 = 0
N(P1) = 4; TRUE
S(P1) = 1; TRUE
P2 * P4 * P8 = 0; TRUE
P2 * P6 * P8 = 0; TRUE
0 0’ 0’ 0
0’ 0
0 0 0 0
Gambar 3
Di bawah ini terdapat contoh yang lebihkompleks terhadap penggunaan thinning algorithm
Zhang – Suen.
Contoh 2 :
0 0
0 0 0 0
0 0 0 0 0
0 0
0 0
0 0
0 0 0 0 0
0 0 0 0 0
0 0
• Algoritma sederhana
• Dalam pemrosesan termasuk cepat (untuk memperoleh hasil)
Kekurangan:
Dalam beberapa kasus akan menghasilkan hasil yang sama, seperti thinning pada persegi dan
lingkaran akan menghasilkan satu pixel saja
Algoritma thinning telah dipelajari secara ekstensif di dalam pengenalan pola dan
pemrosesan citra. Macam-macam urutan dan paralel dari algoritma thinning sudah tersedia di
dalam literatur. Semuanya mempunyai kelebihan dan kelemahannya tersendiri.
Kelompok 4 | Thinning Page 12
Sequential thinning method terdiri dari iterasi penghapusan titik gelap sepanjang tepi
pola sampai pola itu menipis menjadi satu piksel garis tergambar. Titik tepi dari pola
diidentifikasikan dengan tes pada 8 tetangga. Titik tepi terhapus dengan cara
penghapusannya:
a. Jangan menghapus titik akhir
b. Jangan memutuskan sambungan pola
c. Jangan menyebabkan erosi yang merusak
Pada algoritma yang berbeda, test ini disajikan dengan cara yang berbeda.
Sequential algorithms memerlukan sedikit memori. Sequential algorithms menjelajah
ke setiap piksel pada bitmap untuk memisahkan foreground dari background. Dapat dikatakan
waktu kompleksitasnya tergantung pada ukuran bitmap. Kompleksitas juga tergantung pada
operasi yang diperlukan untuk perkiraan titik tepi. Operasi ini tampil di setiap iterasi sampai
pola benar-benar tipis. Waktu kompleksitas dapat berkurang jika objek memiliki titik-titik
luar.
Pada teknik penelusuran permukaan, permukaan mengggambarkan tepi sebuah objek
yang telah ditelusuri di setiap iterasi. Setelah permukaan selesai ditelusuri dan perkiraan
urutan piksel ditemukan berupa sketsa piksel atau bukan, permukaan dihapus. Pada iterasi
berikutnya, permukaan yang baru ditelusuri dan operasi dilakukan berulang-ulang sampai
semua titik yang tidak aman terhapus.
Sama persis seperti sequential algorithms, parallel algorithms juga memakai cara
mengunjungi semua titik piksel pada bitmap untuk menemukan titik gelap. Lalu titik-titik
gelap diklasifikasikan ke dalam titik-titik tepi dan titik-titik yang lainnya. Hanya titik-titik tepi
yang dibutuhkan. Tes bisa mempengaruhi beberapa titik tepi dari 8 tetangga untuk
memperkirakan apakah mereka titik pemisah, titik akhir, atau titik tidak aman. (titik pemisah
– penghapusan titik ini akan memisahkan hubungan, titik akhir – titik pada akhir permukaan,
titik tidak aman – penghapusan titik initidak akan mempengaruhi sketsa). Titik tidak aman
akan dihapus pada akhir proses. Titik-titik akhir dan titik-titik pemisah diambil sebagai titik
aman dan seharusnya tidak dihapus.
Seperti sequential algorithm, waktu kompleks dari parallel algorithm terdiri dari 3
komponen:
a. Setiap lewat dan setiap subiterasi, setiap piksel pada bitmap telah ditelusuri satu kali
untuk mengidentifikasikan titik-titik gelap. Jumlah operasi akan sesuai dengan luas area
bitmap.
Salah satu algoritma yang biasa digunakan untuk melakukan proses thinning adalah
algoritma Medial Axis. Algoritma ini merupakan algoritma yang paling awal digunakan untuk
melakukan proses thinning. Transformasi Medial Axis dari suatu himpunan S adalah
himpunan titik tengah dan radius dari lingkaran terbesar yang terdapat di S, atau dengan kata
lain himpunan titik pada S yang memiliki jarak terjauh dari S’. Dari hal tersebut terlihat
bahwa sebenarnya algoritma ini berusaha untuk mencari jalan tengah di antara batas-batas S
yang berlawanan dibentuk oleh sudut bisector dari batas-batas S. Akan tetapi, titik-titik yang
dibentuk dengan cara ini belum tentu merupakan titik-titik yang 8-connected. Sehingga
keterhubungan antar titik harus diperhatikan dengan melihat apakah piksel yang dipilih di
baris tertentu dengan baris sebelumnya apakah mereka 8-connected, jika tidak maka harus
dibuat lintasan 8-connected yang menghubungkan kedua titik tersebut.
Walaupun metode ini tidak memakan banyak waktu, secara umum hasil dari metode
ini tidaklah begitu baik dibandingkan dengan algoritma-algoritma thinning yang lain.
Algoritma ini dapat bekerja dengan baik apabila daerah yang diproses merupakan daerah yang
lurus dan tidak terdapat banyak noise, hal ini dikarenakan metode Medial Axis ini sangat
sensitif terhadap noise.
Algoritma ini adalah algoritma untuk citra biner, dimana piksel background citra
bernilai 0, dan piksel foreground (region) bernilai 1. Algoritma ini cocok digunakan untuk
bentuk yang diperpanjang (elongated) dan dalam aplikasi OCR (Optical Character
Recognition). Algoritma ini terdiri dari beberapa iterasi, dimana setiap iterasinya terdiri dari 2
langkah dasar yang diaplikasikan terhadap titik contour (titik batas) region. Titik contour ini
dapat didefinisikan sebagai sembarang titik yang pikselnya bernilai 1, dan memiliki paling
sedikit 1 piksel dari 8-tetangganya yang bernilai 0. Gambar berikut ini mengilustrasikan titik
contour p1 dan 8-tetangganya:
p9 p2 p3
p8 p1 p4
p7 p6 p5
d. p4 • p6 • p8 = 0
dimana N(p1) adalah jumlah dari tetangga titik contour p1, yang pikselnya bernilai 1, yaitu:
N(p1) =0-1
dan S (p1) adalah banyaknya transisi p2 +dari
p3 +nilai
... + piksel
p8 + p9 p2, p3, ... p8, p9 secara berurutan.
Misalnya, untuk nilai p2, p3, ... p8, p9 seperti di bawah ini:
0 0 1
1 p1 0
1 0 1
Kondisi (c) dan (d) akan dipenuhi minimal jika p4 = 0, atau p6 = 0, atau (p2 = 0 dan p8 = 0). Jika
p4 = 0 menunjukkan titik contour berada pada batas timur region. Jika p6 = 0 menunjukkan
titik contour berada pada batas batas selatan region. Sedangkan jika p2 = 0 dan p8 = 0
menunjukkan titik contour berada pada batas utara-barat region. Serupa dengan syarat (c) dan
(d) pada langkah I, syarat (c’) dan (d’) pada langkah II dipenuhi minimal jika p2 = 0, atau p8 =
0, atau (p4 = 0 dan p6 = 0).
Setelah langkah 1 selesai, langkah 2 diterapkan terhadap titik contour dari hasil langkah 1
sebelumnya, yaitu:
a. 2 < N(p1) < 6
b. S (p1) = 1
c. p2 • p4 • p8 = 0
Algoritma ini adalah teknik urutan yang lain. Pada metode ini, citra binary yang
diberikan representasikan oleh kode berantai. Kode berantai diolah untuk setiap pola tertutup
pada objek, dan kelangsungan dari rantai berlawanan arah jarum jam untuk pola luar dari
objek dan searah jarum jam untuk pola di dalam lubang. Pola juga diperhitungkan sebagai
urutan dari rantai dari titik tepi. Urutan piksel ditampilkan dalam bentuk Freeman code, yang
merupakan urutan, penempatan ke piksel berikutnya di dalam bagian. Untuk 8 arah pola,
dir(i) di dalam range 0 sampai 7 menampilkan 8 kelangsungan seperti terlihat pada Figure 5.
Sebagai algoritma iterasi, Setelah menggambar pola pertama, algoritma melewati beberapa
iterasi. Di setiap iterasi, pola yang merupakan tepi dari sebuah objek akan ditelusuri. Iterasi
berhenti pada pola kecil-kecil ketika tidak ada lagi titik tidak aman pada pola. Ketika operasi
selesai, yang tersisa hanyalah sketsa.
Ini adalah algoritma yang efisien sama seperti metode memeriksa citra hanya sekali
untuk menghasilkan sketsa dari objek. Setelah itu, semua iterasi pola baru dihasilkan dari pola
yang telah ada dan proses berulang sampai sketsa terakhir muncul. Tetapi masalah utamanya
adalah ketajaman dari sketsa berkurang pada sudut dan titik menyilang. Ini sesuai fakta bahwa
8 ketehubungan mengatur piksel objek. Bila citra sudah tipis, ini memberikan kepuasan pada
hasil, tetapi sama seperti ketebalan dari citra bertambah, ketebalan sketsa akan berkurang.
Hybrid Algorithm
Metode ini meminimalisasi masalah penyusunan kembali bentuk skeleton pada corner
points. Algoritma ini memiliki lima langkah:
1) Pada langkah pertama, seperti thinning algorithm lain, menghilangkan noise pada input
image. Ini membantu untuk menghindari tambahan ujung dan bermacam-macam distorsi.
Digunakan algoritma penghalusan yang terdiri dari window 3x3 melalui binary image
dan membandingkan posisi piksel tengah dengan 8 tetangganya untuk memutuskan
apakah apakah nilai piksel perlu dipertahankan atau dimodifikasi.
Metode thinning pada binary image tidak dapat diaplikasikan langsung ke image gray-
scale, maka image gray-scale sering di-treshold untuk menciptakan bagian binary-nya. Proses
ini menyebabkan hilangnya informasi berharga pada intensitas dimensi, ketidakseragaman
nilai gray-level pada image gray-scale menyebabkan kontur yang tidak seimbang dalam
binary image yang di-treshold, menyebabkan kesulitan pada proses thinning binary image.
Pendekatan pada image thinning berbasis scale-space ini dapat diaplikasikan baik pada
binary maupun gray-scale image, dan meringankan efek ketidakseragaman dalam nilai gray-
level dari image gray-scale dan kontur yang tidak seimbang pada binary image. Scale-space
terdiri atas image asli pada level skala nol (t = 0) bersama dengan image pada skala dimensi
kontinu t yang diturunkan filter Gaussian, dimana t > 0 adalah varian. Dalam scale-space
semua skala dapat diakses secara simultan, juga mempunyai unsur-unsur pembangun dimana
pada scale-space yang lebih besar (coarser structure) dapat dilacak ke struktur skala lebih
kecil (finer structure), implikasinya finer structure ditutup saat skala bertambah.
Dengan prinsip ini dikembangkan metode topografik untuk image thinning dalam
scale-space. Metode topografik memperlakukan image gray-scale sebagai permukaan dengan
intensitas yang diinterpretasikan sebagai dimensi spasial ketiga (height). Dalam representasi
topografik dari image 2-D, peak dijabarkan sebagai sebuah poin pada permukaan dimana
gradiennya sama dengan nol, dan turunan kedua pada semua arah adalah negatif. Poin sisi
didefenisikan sebagai poin pada permukaan dimana gradiennya nol, turunan kedua dalam satu
arah adalah nol dan negatif dalam arah ortogonal, atau jika gradien tidak sama dengan nol,
turunan kedua ortogonal terhadap gradien adalah negatif. Point saddle adalah poin pada
permukaan dimana gradiennya nol dan turunan kedua pada satu arah adalah negatif dan
positif dalam arah ortogonal. Maximum-intensity ridge line (MPRL) pada intensitas
permukaan adalah gabungan poin topografik yang signifikan (peaks, point sisi, dan points
saddle) dan diinterpretasikan sebagai representasi yang di-thin dari image asli. Dengan
meminimisasi turunan spasial kedua dari masing-masing poin topografik signifikan pada
skala dalam scale-space ditempatkan Most Prominent Ridge Line (MPRL). MPRL adalah
D. Contoh Aplikasi
Salah satu penggunaan thinning dalam aplikasi adalah untuk membantu analisis
terhadap pola tertentu. Dalam hal ini, thinning merupakan bagian dari computer vision. Salah
satu penerapannya adalah untuk menganalisis pola akar tanaman. Tujuannya adalah untuk
mengetahui kebutuhan tanaman akan nutrisi. Aplikasi analisis akar tanaman memiliki
prosedur dan metodologi seperti pada gambar berikut:
(a) (b)
Setelah thinning dilakukan, barulah dapat dilakukan analisis terhadap citra. Diantaranya
adalah mengukur panjang, sudut, ujung akar, dan celah lateral. Sedangkan mengukur
permukaan lateral dapat dilakukan setelah proses tresholding.
E. Daftar Pustaka