You are on page 1of 21

Perbaikan Citra Sidik Jari dengan Metode STFT (Short Time Fourier Transform) Analysis

Di susun oleh : Ary Noviyanto (06/194267/PA/10923)

PROGRAM STUDI ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA 2009

1. Pendahuluan
Hasil dari ekstraksi ciri sidik jadi sangat bergantung pada kualitas dari citra siduk jari. Kualitas citra sidik jari berhubungan dengan kejelasan ridge structure pada citra sidik jari. Citra yang baik akan memiliki kontras yang baik dan akan dengan baik menggambarkan ridges dan valleys, jika citra sidik jari memiliki kualitas yang kurang baik maka akan memiliki kontras yang kurang sehingga akan kurang jelas menggambarkan batasan-batasa ridges (bukit) [1,2]. Berikut merupakan beberapa alasan yang menyebabkan citra sidik jari tidak cukup baik [1,2]: Adanya lipatan atau luka membuat ridges tidak kontinu (putus). Seringkali jari yang kering membuat fragmented dan kontras yang buruk pada ridges. Jari yang lembab membuat bekas corengan dan bergabungnya ridges yang harusnya paralel (atau terpisah).

Gambar 1: Perbedaan Kualitas, dari yang Baik Sampai yang Paling Buruk [2]

1.1. Pendekatan-Pendekatan yang Telah Ada


Penggunaan contextual filters untuk perbaikan citra sidik jari pertama kali diusulkan oleh O'Gorman et al. Mereka menggunakan anisotropic smoothening kernel yang mana poros utama diorientasikan paralel pada ridges. Greenberg et al, mengusulkan penggunaan anisotropic lter yang didasarkan pada struktur adaptive lterin. Pendekatan lain yang didasarkan directional ltering kernel diusulkan oleh Hong et al. Algoritmanya menggunakan properly oriented Gabor kernel untuk melakukan perbaikan [1,2]. 1

Sherlock dan Monro melakukan contextual ltering secara penuh pada Fourier Domain. Disini setiap gambar digulung dengan precomputed lters yang ukurannya sama dengan gambar [1,2].

1.2. Intrinsic Image


Intrinsic image menggambarkan propoerti yang penting pada gambar sidik jari sebagai pixel map. Ini termasuk di dalamnya ridge orientation image, the ridge frequency image dan the region mask. Komputasi pada bentuk intrinsic image merupakan langkah yang kritis (critical step) pada feature extraction dan dalam matching proces. Aplikasi yang membutuhkan orientation image yang reliable antara lain [1,2]: Enhancement Singular point detection dan segmentation Fngerprint classication

Orientation Image Orientation Image O merepresentasikan ridge orientation pada setiap titik dalam gambar sidik jari. Frequency Image Properti ini meng indikasikan rata-rata jarak antar ridge (inter-ridge distance) dalam sebuah blok dan dihitung berdasarkan proyeksi jumlah yang didapat sepanjang line oriented orthogonal pada ridge, atau berdasarkan variasi gray levels dalam window oriented orthogonal pada ridge ow. Region Mask Region Mask mengindikasikan bagian dari gambar dimana ridge structure ada. Juga dikenal sebagai foreground mask dan digunakan mengeliminasi feature palsu yang mungkin muncul diluar area sidik jari.

1.3. DFT
Fourier Analysis adalah family dari teknik matematika, yang kesemuanya berdasarkan dekomposisi signal menjadi sinusoids. Discrete Fourier Transform (DFT) merupakan salah satu family-nya yang digunakan bersama digitized signals [4]. DFT merubah N titik input signal menjadi dua buah N/2 +1 output signal. 2

Input signal dikatakan berada dalam Time Domain, sedangkan untuk mendiskripsikan amplitudo gelombang sinus dan cosinus hasil transformasi digunakan istilah Frequency Domain, Time Domain dan Frequency Domain sebenarnya memuat informasi yang sama tetapi dalam dua bentuk yang berbeda. Proses untuk menghitung Frequency Domain disebut dekomposisi, analysis, forward DFT atau hanya DFT, sedangkan jika diketahu Frequency Domain, proses untuk menghitung Time Domain disebut sysnthesis atau inverse DFT [4]. Untuk memperjelas, dapat digambarkan sebagai berikut :

Gambar 2: Time Domain dan Frequency Domain[3]

DFT Basic Function adalah kumpulan dari gelombang sinus dan cosinus dengan unity amplitude, DFT Basic Function didapatkan sesuai dengan persamaan berikut :

Persamaan 1: DFT Basic Function, ck[i] dan sk[i] merupakan gelombang sinus dan cosinus, masing-masing panjangnya N (i = 0 sampai N-1). K merupakan frekuensi dari gelombang, dengan nilai antara 0 dan N/2 [3].

Untuk Synthesis atau Inverse DFT, sesuai dengan persamaan berikut :

Persamaan 2: Synthesis Equation, x[i] adalah signal yang akan disintesis dengan index i (i = 0 smapai N -1). ReX[k] dan ImX[k] merupakan amplitudo dari gelombang cosinus dan sinus, dengan k dari 0 sampai N/2 [3].

ReX dengan ReX begitu juga ImX dan ImX, berbeda, perlu adanya normalisasi seperti pada persamaan berikut :

Persamaan 3: Normalisasi [3].

Persamaan 4: Normalisasi, perkecualian.

Dalam normalisasi ada perkecualian yaitu pada index k = 0 dan k = N/2 [4]. Pada proses Analysis atau menghitung DFT, terdapat 3 cara [4], yaitu : Masalah dapat didekati sebagai sekumpulan simultaneous equations, metode ini sangat efektif untuk memahami DFT, tetapi terlalu tidak efisien untuk diterapkan. Dengan menggunakan correlation, konsep dari correlation adalah mendeteksi waveform yang diketahui yang terdapat dalam signal yang lain, mengalikan dua signal dan menambahkan semua titik dalam signal yang dihasilkan. Pendakatan ini merupakan pendekatan standar yang dipakai untuk menghuting DFT, untuk memperjelas akan ditampilkan gambar 3. Persamaan yang diasa digunakan untuk analysis sebagai berikut :

Persamaan 5: Persamaan Analysis, untuk menghitung DFT. x[i] adalah time domain yang akan di-analysis, ReX[k] dan ImX[k] adalah frequency domain yang akan dihitung. i berjalan dari 0 sampai N-1 sedangkan k berjalan dari 0 sampai N/2 [3].

Pendekatan ke tiga adalah FFT, FFT merupakan algoritma yang sangat baik untuk melakuakn dekomposisi DFT, FFT ratusan kali lebih cepat dari pendekatan yang lain.

Gambar 3: Pendekatan Corelation, (a) dan (b) merupakan contoh signal yang mempunyai basic function pada (c) dan (d). (e) dan (f) menunjukkan hasil dari perkalian contoh signal dengan basic function [3].

1.4. FFT
FFT atau Fast Fourier Transform merupakan pendekatan lain untuk menghitung DFT, cara ini sangat efektif dibandingkan dengan cara yang lain dan ratusan kali dapat mengurangi waktu komputasi. FFT merupakan salah satu algoritma paling rumit dalam Digital Signal Processing [4]. Tahapan dalam FFT antara lain, tahap pertama adalah dekomposisi N point time domain signal menjadi N time domain signal yang tiap-tiapnya terdiri dari satu point, pada tahapan ini dapat diselesaikan dengan menggunakan bit reversal sorting algorithm.

Gambar 4: Tahap pertama FFT [3].

Tahap kedua adalah menghitung N frequency spectra sesuai dengan N time domain pada tahap pertama, frequency spectra dari satu point signal sama dengan nilai satu point signal itu sendiri, karena pada tahap pertama dibentuk satu point signal pada tiap-tiap time domain signal, maka tidak ada yang perlu dilakukan pada tahap ini [4]. Tahap terakhir N spectra disintesis menjadi frequency spectrum tunggal, dalam sintesis ini membutuhkan 3 buah loop. Loop paling luar berjalan sejumlah Log2N stage, dengan N merupakan panjang signal. Loop tengah berjalan sejumlah individual frequency spectra sesuai dengan stage-nya. Loop yang paling dalam melakukan operasi butterfly untuk melakukan perhitungan pada point dalam tiap frequency spectra. Operasi butterflyi merupakan operasi yang digunakan untuk 6

mengkombinasikan 2 buah n point spectra menjadi 2n point spectrum, operasinya akan gimbarkan pada gambar 5 [4]. Misalkan data ReX[ ] dan ImX[ ] akan dilewatkan pada FFT maka kemudiam hasil dari FFT akan di-overwrite ke ReX[ ] dan ImX[ ], inilah alasan lain kenapa FFT merupakan algoritma yang sangat optimal untuk DFT, array yang sama digunakan untuk input juga sabagai penyimpanan dan output [4].

Gambar 5: FFT Butterfly

Gambar 6: Diagram Alir FFT [3]

FFT 2D FFT 2D, atau Fast Fourier Trasform 2 Dimention merupakan perluasan FFT yang digunakan untuk melakuakn FFT pada array 2 dimensi, FFT yang telah dijelaskan di atas merupakan FFT yang menerima input berupa array satu dimensi (FFT 1D), sedangkan jika kita ingin melakukan FFT pada image (image direpresentasikan sebagai array 2 dimensi), maka harus menggunakan FFT2D. FFT2D tidak jauh beda dengan FFT 1D, pada FFT2D yang dilakuakan adalah melakukan FFT 1D pada tiap baris input array 2 dimensi, kemudian akan dilakuakan FFT 1D lagi pada tiap kolom dari array 2 dimensi hasil FFT 1D pada baris [3], proses dari FFT 2D dapat dilihat pada gambar berikut.

Gambar 7: 2D FFT [3]

2. STFT Analysis
Pada tulisan ini akan diperkenalkan metode pandekatan untuk memperbaiki citra sidik jari dengan menggunakan STFT (Short Time Fourier Transform) Analysis.

Gambar 8: Overview dari STFT Analysis

Pada gambar 8, dijelaskan gamabran umum tentang STFT Analysis. Selama STFT Analysis, image akan dipecah -pecah kedalam overlapping windows, yaitu blok-blok dalam image yang diberi overlap. Fourier spectrumdari window-window 8

tersebut dianalisa dan dihitung probabilistic dari ridge frequency dan ridge orientation. Hasil STFT Analysis yang berupa energy map dapat digunakan sebagai region mask untuk menentukan gambar sidik jari dan background-nya [1,2]. Jadi ridge orientation image, ridge frequency image dan region mask, akan secara simultan dihitung dalam STFT Analysis. Orientation image kemudian akan digunakan untuk menyesuaikan angular bandwidth, yang kemudian akan digunakan untuk memfilter overlapping windows, dalam frequency domain atau fourier Domain. Dan kemudian blok-blok hasil filter tersebut akan disusun kembali menjadi gambar yang utuh dan telah diperbaiki [1,2]. 1D STFT dari x(t) direpresentasikan oleh time frequency atoms X(,) sesuai persamaan

Persamaan 6: STFT 1D [1,2]

Untuk image yang berupa 2 Dimensi dari STFT 1 Dimensi dapat diperluas menjadi STFT 2 Dimensi, seperti persamaan berikut :

Persamaan 7: STFT 2D [1,2]

1,2 merepresentasikan spatial position pada 2 dimentional window W(x,y). 1,2 merepresentasikan spatial frequency parameter.

Gambar 9: (a) Ukuran Window, (b) Bagaimana Window digeser selama analysis, (c) Spectral Window [1,2]

Pada gamabr di atas ditunjukkan bagaimana window itu di definisikan. Untuk setiap posisi window, window di-overlap sebesar OVRLP Pixels pada posisi sebelumnya, hal ini dilakuakan untuk menjaga ridge continuity dan menghilangkan efek dari operasi block yang lain [1,2]. Hasil dari STFT bergantung pada window w(t), agar supaya hasil dari reconstruction sesuai maka nilai window yang digunakan adalah raised cosine window, yang meruncing halus mendekati border dan berkumpul pada tengah window. raised cosine window, didapat sesuai persamaan :

Persamaan 8: raised cosine window [1,2]

dengan perkecualian kasus khusus seperti core dan delta, setiap lokal region memiliki orientasi dan frequency yang konsisten. Oleh karena itu local region dapat dimodelkan sebagai muka gelombang yang karakteristiknya sesuai dengan orientasi dan frekuensi f, sesuai dengan persamaan berikut [1,2]:

Persamaan 9: muka gelombang [1,2]

Parameret dari muka gelombang (f, ) didapat dari Fourier spectrum yang terdiri dari 2 impuls, dimana jarak dari origin mengidikasikan frequency dan angular location mengidikasikan orientasi dari gelombang. Pemodelan muka gelombang hanyalah perkiraan dan Fourier spectrum dari gambar sidik jari sesungguhnya karakteristiknya sesuai dengan distribusi energi yang melalui semua frequendy dan orientasi [1,2]. Fourier spectrumdirepresentasikan dalam bentuk polar sebagai F(r,). Probability density function p(r, ) dan marginal density functions p(), p(r) dapat didefinisikan sebagai :

Persamaan 12: Fourier Spectrum [1,2]

Persamaan 11: marginal density functions p() [1,2]

Persamaan 10: marginal density functions p(r),[1,2]

10

Algoritma perbaikan sidik jari dengan STFT Analysis sebagai berikut :

Algoritma 1: Image Enhancement [1,2]

Ridge Orientation Image Nilai dari orientasi didapat sesuai dengan persamaan :

Persamaan 13: Orientasi Image [1,2]

Hasil dari persamaan di atas masih bisa salah, untuk lebih baiknya maka akan dipertimbangkan orientasi dari tetangga. Hasil dari smoothened image O(x,y) didapat sesuai dengan persamaan :

Persamaan 14: smoothened image O(x,y) [1,2]

dimana W(x,y) merepresentasikan gaussian smoothening kernel. 11

Coherence Image Pendekatan pemrosesan blok dihubungkan dengan artifacts palsu disebabkan oleh discontinuities dalam ridge ow pada block boundaries. Hal ini memerlukan perhitungan singular point location. Dalam hal ini digunakan perhitungan oworientation/angular coherence yang lebih handal dari pada singular point detection. Coherence berhubungan dengan ukuran sebaran dari circular data.

Coherence akan tinggi ketika orientasi dari central block (x 0,y0) sama dengan setiap tetangga (xi,yi)

3. Implementasi
Dalam implementasi, pada STFT Analysis hanya akan digunakan Ridge Orientation Image untuk melakukan proses perbaikan sidik jadi. Berikut adalah screenshot program :

12

Keterangan Program : 1. 2. 3. 4. 5. 6. Digunkan untuk melakukan load file. Gambar file bmp yang berhasil di-load. Tombol untuk melakukan FFT. Tombol untuk melakukan enhancement Gambar hasil FFT. Gambar hasil Enhancement.

Berikut adalah function-function penting dalam program Enhancement Fingerprint Image: 1. doAnalysis() Dalam fungsi ini akan di lakukan pemrosesan tiap block untuk dilakuakan precomputations dan kemudian akan di lakuakan FFT 2D, dan menyimpan masing masing nilai dari FFT 2D per block dalam suatu variable global. Kemudian menghitung Ridge Orientation Image sebagai parameter utama untuk melakukan enhancement dalam STFT analysis, dalam program ini. 2. resultingMap() Fungsi ini digunakan untuk meperolah nilai Ridge Orientation Image yang lebih baik yang digunakan untuk perhitungan selanjutnya dan juga mengkalkulasi bwImg untuk perhitungan selanjutnya. 3. FFTRecontruction() Fungsi in digunakan untuk memfilter tiap hasil FFT 2D block dengan angular Filter, yang didapat dengan memasukkan parameter oImg (Ridge Orientation Image) dan bwImg, kemudian meng inverse kan nilai tiap block tadi dan mengembalikan kedalam susunan semua sehingga di dapat gamabr utuh yang ter-enhance (dalam variable enhImg). 4. threshold() merupakan fungsi untuk membatasi nilai minimum pixel yang boleh ada.

13

Algoritma 3: FFTRecontruction

Algoritma 2: doAnalysis()

14

Algoritma 3: resultingMap()

Algoritma 4: FFTRecontruction()

Algoritma 5: threshold

Berikut hasil dari enhancement :

15

Gambar 10: hasil enhancement untuk image s3.bmp

16

Gambar 11: hasil enhancement untuk gambar s4.bmp

17

Gambar 12: hasil enhancement dari file s5.bmp

18

Gambar 13: hasil enhancement image s7.bmp

4. Kesimpulan
Dari implementasi STFT Analysis, dengan menggunakan parameter utama Ridge Orientation Image, telah berhasil didapat hasil perbaikan citra sidik jari dengan baik. Perbaikan citra sidik jari ini akan sangat membantu untuk meningkatkan kualitas dari ekstraksi ciri sidik jari.

19

Referensi [1] Chikkerur, S., Govindaraju, V., dan N. Cartwright, N. Fingerprint Image Enhancement Using STFT Analysis. NY, USA: Center for Unied Biometrics and Sensors, University at Buffalo. [2] Chikkerur, S. 2005. ONLINE FINGERPRINT VERIFICATION SYSTEM. New York : State University of New York at Buffalo. [3] C. Gonzalez, R., E. Woods, R. 1992. Digital Image Processing. Addison-Wesley Publising Company. [4] Smith, Steven W. 2006. The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing

20

You might also like