Senin, 15 Juni 2009

Thinning dan Skeletoning

Pada dasarnya, proses skeletonizing dapat disamakan dengan proses thinning. Ada beberapa sumber yang menyamakan kedua istilah tersebut. Sementara beberapa sumber yang lainnya menyatakan bahwa thinning adalah salah satu metode yang dipakai dalam melakukan skeletonizing (thinning adalah bagian dari skeletonizing). Akan tetapi—untuk mempermudah pembahasan—maka pada makalah ini, kami menggunakan persepsi bahwa arti istilah “skeletonizing” adalah sama dengan istilah “thinning” untuk melakukan pembahasan mengenai topik “thinning” ini.

Skeletonizing—untuk selanjutnya akan digunakan istilah “thinning”—merupakan salah satu pemrosesan citra (image processing) yang digunakan untuk hal berikut.
a. Mengurangi suatu daerah (region) menjadi suatu grafik/ kurva dengan memperoleh kerangka (skeleton) dari daerah tersebut. Dengan demikian, image tersebut ditransformasikan menjadi bentuk struktural.
b. Mengurangi suatu daerah yang tebal atau bergumpal menjadi unit-unit dengan pixel-pixel tunggal. Dengan demikian, image tersebut ditransformasikan menjadi garis-garis pixel.
Kedua butir di atas (a dan b) sebenarnya memiliki inti yang sama, yang secara umum dapat disimpulkan sebagai berikut:
Thinning merupakan salah satu image processing yang digunakan untuk mengurangi ukuran dari suatu image (image size) dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka (skeletal representation) image tersebut.

Thinning merupakan tahapan yang penting dalam proses image processing. Hal ini dikarenakan prosedur thinning memainkan peranan yang penting dalam suatu ruang lingkup yang luas dari masalah yang timbul dalam image processing. Ruang lingkup tersebut dapat bermula dari pengawasan otomatis dari sirkuit yang dicetak sampai pada penghitungan serat-serat asbes dalam penyaring udara.
Representasi kerangka dari suatu image—hasil dari proses thinning—memiliki sejumlah sifat dan ciri-ciri yang bermanfaat, diantaranya ukurannya yang kecil (karena pengurangan jumlah data dalam jumlah yang besar) dan pertahanan komponen struktur utama dari pola tersebut (komponen-komponen tersebut dapat digunakan pada saat penganalisaan bentuk).

Metodologi Image-Thinning

Metodologi dari thinning diartikan sebagai algoritma-algoritma atau prosedur-prosedur yang dapat digunakan untuk melakukan proses thinning tersebut. Suatu metode (algoritma/ prosedur) thinning yang baik seharusnya melindungi dan mempertahankan topologi, panjang, dan orientasi dari image yang di-thinning. Sementara itu, hasil proses thinning (skeletal representation) seharusnya mampu merepresentasikan fitur-fitur utama seperti penggabungan, pojok (sudut), dan titik akhir.
Secara umum, image-thinning berguna untuk mengurangi tresholded citra output yang dihasilkan dari edge detector, menjadi garis dengan ukuran ketebalan satu pixel saja. Untuk mewujudkan kegunaan ini, terdapat algoritma sederhana yang dapat diaplikasikan, yakni sebagai berikut:
Umpamakan semua piksel pada batas-batas daerah foreground (contohnya titik-titik pada foreground hanya memiliki satu background neighbour. Hapus semua titik yang memiliki foreground neighbour lebih dari satu. Lakukan berulang-ulang sampai konvergen.
Atau dengan rumus sederhana: thin (i, j) = i – hit -dan-miss (i, j)
Algoritma ini tidak bisa memberikan efek pada pixel-pixel di akhir garis. Cara ini dapat disempurnakan dengan cara melakukan hit-dan-miss dengan struktur elemen yang dirotasikan 900.
Namun, selain dari algoritma sederhana di atas, masih terdapat beberapa jenis metodologi dari image-thinning yang diklasifikasikan sebagai berikut:
a. berdasarkan tipe image yang akan dilakukan proses thinning.
1. Binary Image Algorithm
2. Gray-scale Image Algorithm

b. berdasarkan unsur-unsur image yang dipertimbangkan untuk melakukan proses thinning.
1. Local Algorithm
2. Non-local Algorithm

c. berdasarkan algortima matematika yang diterapkan dan hasil proses thinning yang dihasilkan.
1. Stentiford thinning Algorithm
2. Zhang Suen thinning Algorithm
3. Simple Edge Detection thinning Algorithm
4. Canny Edge Detection thinning Algorithm
5. Combination

Dari tiga klassifikasi di atas, kami lebih menekankan proses thinning dengan metodologi berdasarkan tipe image (yakni Binary Image Algorithm dan Gray-scale Image Algorithm). Oleh karena itu, dalam makalah ini, kami akan membahas lebih mendetil mengenai kedua algoritma tersebut. Selain itu, kami juga akan memperlihatkan hasil proses thinning suatu image dengan mengimplementasikan kedua algoritma tersebut.

Adapun penjelasan dari tiap klasifikasi metodologi di atas adalah sebagai berikut:
A. Berdasarkan tipe image yang akan dilakukan proses thinning.

Binary Image Algorithm
Seperti halnya operator morfologi lainnya, operasi thinning dipengaruhi oleh suatu struktur elemen. Struktur elemen biner yang digunakan dalam thinning adalah transformasi hit-dan-miss. (Mengenai struktur elemen dan transformasi hit-dan-miss akan dibahas pada bagian berikutnya).
Proses thinning dari suatu image i, dengan struktur elemen j, adalah:
thin (i, j) = i – hit -dan-miss (i, j)
dimana subtraksi (pengurangan) yang dilakukan disini adalah substraksi logik yang didefinisikan sebagai X-Y = X NOT Y
Gray-scale Image Algorithm
Gray-scale Thinning Algorithm diimplementasikan berdasarkan analisa binary image. Hal ini menyatakan bahwa untuk melakukan proses thinning pada gray-scale image, hal pertama yang harus dilakukan adalah meng-convert gray-scale image tersebut menjadi binary image terlebih dahulu. Proses ini dikenal dengan proses theresholding. Setelah itu, baru dapat dilakukan proses thinning sama seperti proses thinning pada binary image yang telah dijelaskan pada bagian sebelumnya. Dengan demikian:

gray-scale image algorithm
= (gray-scale image convert to binary image--theresholding) +
binary image algorithm
Dengan pendekatan ini (theresholding), algoritma penerapan thinning pada sebuah citra gray-scale menjadi tidak jauh berbeda dengan penerapannya pada citra biner. Yang membedakan keduanya hanyalah adanya proses thresholding pada tahap awal thinning untuk terlebih dahulu mengubah citra gray-scale tersebut menjadi sebuah citra biner.

Pada proses thresholding, ditetapkan suatu nilai batas / ambang, dimana elemen-elemen (piksel) pada citra yang nilainya lebih kecil daripada nilai batas tersebut ‘dimatikan’, dan elemen-elemen lainnya dianggap ‘menyala’, dan keduanya diubah nilainya sesuai statusnya (seperti dijelaskan pada bagian sebelumnya, kedua status ini hanya memiliki dua kemungkinan nilai, yaitu 0 atau 1).

Proses ini juga diterapkan dalam proses thinning citra berwarna, dengan terlebih dahulu mengubah citra berwarna (RGB) tersebut menjadi citra gray-scale. Hal ini dapat dilakukan dengan cara mengganti nilai setiap elemen dari citra berwarna dengan nilai rata-rata komponen merah, hijau, dan biru dari elemen tersebut.

Prinsip algoritma gray-scale thinning:
Kebanyakan gray-scale thinning algorithm dibangun untuk meng-extract objek dan menipiskannya untuk memisahkan dari image background. Berikut adalah algoritma thinning untuk gray-scale image:


Pustaka:

[1] Tugas Kelompok 6
[2] Andreas Nataniel dkk: Algoritma Thinning dan Penjelasannya
[3] A Thinning Algorithm
[4] A Skeletonization Algorithm

Tidak ada komentar:

Posting Komentar