Sabtu, 07 Desember 2013

Thinning Processing





Pengertian Thinning
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 representationimage 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 (ij) = i – hit -dan-miss (ij)

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:

1. Layer Processing
Dalam hal ini kita anggap bahwa gray-scale image sebagai suatu set of layer dan proses dari setiap layer adalah binary image. Jika seluruh layer diproses secara sequential dari atas ke bawah maka hasil dari pemrosesan layer terakhir akan berkorespondensi terhadap pemrosesan seluruh gray-scale image.

2. Image Iteration
Image thinning terdiri dari 4 standard iterasi yaitu:
    1. Utara
    2. Selatan
    3. Timur
    4. Barat

3. Pixel Processing
Selama pixel processing, kita melakukan dua operasi utama yaitu: pixel analysis (bagaimana menganalisa pixel dan tetangganya) dan pixel value changing (bagaimana mengubah central pixel value).
A. Pixel Analysis
Thinning algorithm terdiri dari:
a. utara
b. selatan
c. timur
d. barat.

Kita gunakan kondisi berikut untuk iterasi. Pixel diubah jika terjadi kondisi berikut:

 
 pi adalah 8 tetangga


Tergantung dari sejumlah tetangganya, pixel yang menghasilkan gray skeleton masing-masing dikelompokkan sebagai end pointsnormal points dan branch pointsEnd points dan branch points disebut feature point. Himpunan bagian dari skeleton yang dibatasi oleh feature points disebut dengan skeleton branch. Jika skeleton branch termasuk dalam end point maka itu disebut open branch, sedangkan yang lain disebut dengan closed branch. Ketika pixel analysis telah dilakukan, nilainya sebaiknya diubah, ini dapat dilakukan secara sequential maupun pararel.

B. Pixel Changing
pixel changing in sequential layer processing
Dalam bentuk ini, citra diproses dari layer dengan nilai maksimal ke yang lebih minimal.  Pixel untuk masing-masing layer memiliki lebih dari sebuah ambang yang ditentukan sebagi skeleton pixel, selain itu pixel ini termasuk dari background. Algorithma ini menghasilkan kualitas skeleton/kerangka yang bagus. Hasilnya bisa dilhat sebagai berikut:


Pixel changing in parallel layer processing


Pendekatan ini didasarkan pada proses yang secara serempak pada seluruh image latyer. Dalam kasus ini, pixel yang memenuhi kondisi diatas menurun 1. Hal ini menyebabkan penghilangan edge pixel dari setiap iterasi. Pengulangan dari iterasi ini, menghasilkan penurunan lapisan-lapisan ketika ini bukan skeleton element. Efek ini datang dari perbedaan kecepatan thinning layer. Hasilnya bisa dilihat sebagai berikut:



4.Skeleton binarisation
Pengubahan kerangka dalam bentuk binary dilakukan dalam satu image scan. Jika pixel yang dianalisa minimal memiliki satu dari empat neighbours-nya (p0,  p2, p4, p6) dengan nilai kurang dari nilai gray masing-masing atau seluruh 8 tetangganya adalah kurang dari nilai gray nya, maka nilai binernya berubah menjadi 1 atau berubah menjadi 0.



Tidak ada komentar:

Posting Komentar