ALGORITMA THRESHOLDING ADAPTIF BERDASARKAN DETEKSI BLOK TERHADAP CITRA DOKUMEN TERDEGRADASI
Agus Zainal Arifin, Arya Yudhi Wijaya, Laili Cahyani1 1
Fakultas Teknologi Informasi,
Institut Teknologi Sepuluh Nopember (ITS), Surabaya, 60111, Indonesia E-mail : [email protected]
ABSTRAK
Saat ini, keberadaan citra dokumen yang mengalami degradasi dapat menjadi masalah tersendiri untuk melakukan suatu penelitian. Banyak metode yang sudah dikembangkan. Namun, kebanyakan metode hanya memperhatikan perbaikan kualitas saja tanpa memperhatikan efisiensi waktu.
Tugas akhir ini melakukan implementasi sebuah algoritma thresholding secara adaptif terhadap citra dokumen terdegradasi. Dengan menggabungkan keuntungan metode global dan lokal, algoritma ini membagi citra dokumen menjadi beberapa blok. Kemudian proses thresholding dilakukan pada tiap blok citra untuk mendapatkan hasil berupa citra biner.
Kinerja dari aplikasi ini akan diukur menggunakan aplikasi Optical Character Recognition (OCR) dengan menghitung keakuratan pembacaan teks hasil thresholding. Akhirnya, metode ini menghasilkan suatu pemisahan yang baik antara teks dan background. Percobaan juga menunjukkan bahwa metode ini mampu menghasilkan kinerja yang lebih unggul dari metode sebelumnya. Rata-rata keakuratan thresholding dari semua percobaan mencapai 93%.
Kata kunci : Degradasi, deteksi ukuran blok, thresholding, binerisasi adaptif.
1 PENDAHULUAN
Saat ini beberapa aplikasi memerlukan pengenalan karakter, seperti aplikasi OCR (optical character recognition). Pada proses pemisahan karakter dan background, thresholding citra dokumen melibatkan proses konversi citra grayscale menjadi citra biner[1].
Proses thresholding telah diterima cukup intens selama tiga dekade terakhir. Meskipun banyak algoritma telah diusulkan untuk gambar berintensitas seragam, namun thresholding agak rumit ketika harus memproses gambar dokumen yang mengalami degradasi. Degradasi dapat disebabkan oleh beberapa hal, diantaranya background yang kompleks, intensitas yang tidak seragam, dan bayangan pada citra. Untuk mengatasi hal ini, beberapa
algoritma thresholding telah dikembangkan untuk citra dokumen terdegradasi[1].
Berdasarkan teknik yang ada saat ini, thresholding dapat diklasifikasikan menjadi dua, yaitu thresholding global dan thresholding lokal (adaptif). Metode thresholding global memperkirakan dan menerapkan threshold tunggal untuk seluruh piksel citra. Sahoo dkk.[2] telah melakukan perbandingan dengan menggunakan pengukuran bentuk atau uniformity terhadap efektifitas metode yang diusulkan oleh Otsu[3], Tsai, Johannsen, dan Kapur dalam mendapatkan hasil thresholding yang memadai. Namun demikian, metode-metode ini kurang efektif untuk mendapatkan hasil yang sesuai ketika citra memiliki beragam bentuk background. Maka banyak peneliti berusaha untuk mengatasi masalah ini dengan menggunakan metode lokal.
Dalam metode thresholding lokal, nilai threshold ditentukan untuk setiap piksel berdasarkan nilai grayscale sendiri dan nilai grayscale tetangga. Oleh karena itu, pendekatan ini disebut algoritma thresholding adaptif. Beberapa algoritma thresholding adaptif telah dikembangkan, diantaranya adalah metode Niblack [4] pada tahun 1986. Namun, metode Niblack tidak efektif ketika background berisi tekstur berupa cahaya. Pada tahun 2000, Sauvola [5] menyusun metode yang memodifikasi metode Niblack dengan melakukan hipotesis pada nilai keabuan piksel teks dan piksel background. Pada tahun 2004, Sezgin dan Sankur[6] melakukan perbandingan terhadap 40 metode. Hal itu menunjukkan bahwa metode thresholding lokal Sauvola dan metode dari Trier melakukan yang terbaik untuk proses thresholding dokumen. Kemudian Gatos dkk.[7] menemukan metode thresholding lokal lainnya untuk citra dokumen berkualitas rendah. Dengan menggunakan metode Sauvola, metode Gato melakukan deteksi foreground dan melanjutkannya dengan beberapa langkah post-processing untuk meningkatkan hasil akhir. Meskipun menawarkan hasil yang memuaskan untuk dokumen terdegradasi, pendekatan lokal tersebut memiliki biaya komputasi yang tinggi karena harus memperkirakan nilai threshold untuk setiap piksel.
Oleh karena adanya manfaat dan keterbatasan yang ada pada setiap metode dan kebanyakan hanya memperhatikan perbaikan kualitas tanpa memperhatikan efisiensi waktu, maka Tugas Akhir ini mengimplementasikan algoritma thresholding berdasarkan deteksi blok untuk mengatasi permasalahan tersebut. Deteksi blok dilakukan untuk melakukan thresholding secara adaptif dan thresholding menggunakan metode global digunakan untuk mendapatkan waktu yang efisien. Sehingga proses thresholding citra dokumen terdegradasi dapat menghasilkan keluaran yang baik dalam waktu efisien.
2 METODE
2.1 Proyeksi Horisontal
Proyeksi horisontal dilakukan untuk mengenali karakteristik citra masukan yang akan diproses. Sehingga, hal ini dapat memudahkan proses pemisahan antara piksel karakter dan piksel background. Persamaan 2.1 adalah persamaan yang menunjukkan perumusan proyeksi horisontal.
(
,
)
,
)
(
1∑
==
M xy
x
f
y
H
(2.1) dimana merupakan intensitas keabuan tiap piksel citra berukuran M×N dan (x,y) merupakan koordinat tiap piksel. Hasil kurva proyeksi horisontal dapat dilihat pada Gambar 3.1. Secara normal nilai piksel karakter harus lebih rendah daripada nilai dari piksel background. Lembah dan puncak dari hasil representasi kurva proyeksi horisontal merupakan akumulasi nilai-nilai dari piksel karakter dan background. Sehingga dapat terlihat bahwa daerah karakter dapat dipisahkandari daerah background. (3.3)
2.2 Smoothing Filter
Smoothing filter dilakukan untuk memperbaiki nilai kontras yang tidak merata sebab adanya noise yang muncul, sehingga dapat menghalangi proses pemisahan antara piksel karakter dan background. Smoothing filter juga dilakukan untuk menjaga informasi penting dari dokumen agar tidak banyak yang hilang selama proses thresholding. Perumusan smoothing filter yang digunakan dapat dilihat pada persamaan 2.2
( )
,
1
)
(
2 2∑
+ − ==
m y m y kk
H
m
y
Hs
(2.2)dimana m merupakan ukuran dari smoothing window. Ukuran window ditentukan dengan
melakukan perkiraan periode dari kurva yang dihasilkan oleh proyeksi horisontal H( y) berdasarkan langkah-langkah sebagai berikut :
1. R( y)merupakan kurva periodik dengan periode
τ
, yang dapat dirumuskan sebagai berikut] 1 )] 2 n( )].[sgn[si ( max[ ) ( = +
τ
π
τ y y H y R (2.3) 2. Varians dari Rτ( y) dan H( y) didapatkan dengan menghitung persamaan berikut:( )
( )
[
]
2 1 21
∑
=−
=
N yy
H
y
R
N
τ εσ
(2.4)dimana N merupakan jumlah kolom citra. Sedangkan,
ε
=
21τ
dan2 0<
ε
< N3. Ukuran smoothing window m dapat didefinisikan sebagai nilai
ε
yang dihasilkan pada varians minimal 2ε
σ
yang diperoleh.
Hasil keluaran proses smoothing filter sekaligus merupakan keluaran akhir pada preprocessing ini berupa matriks Hsy sebagai representasi dari kurva yang lebih halus (smooth) dibandingkan dengan kurva H( y). Matriks Hsy ini yang akan menjadi masukan untuk proses deteksi ukuran blok.
2.3 Deteksi Ukuran Blok
Beberapa tahapan untuk melakukan deteksi ukuran blok adalah mencari turunan pertama dari kurva Hs( y), mencari titik ekstrim dari turunan pertama, mencari nilai dari inflection point, dan mencari ukuran blok.
Langkah awal yang dilakukan adalah mencari turunan pertama dari kurvaHs( y). Pencarian turunan pertama dilakukan untuk mendapatkan gradient atau kemiringan kurva. Hal ini dapat menunjukkan karakteristik dari citra sehingga pada proses berikutnya dapat dilakukan pemisahan antara karakter dan background berdasarkan intensitas keabuan citra masukan, baik sebagai wilayah karakter atau background. Turunan pertama dari kurva
) ( y
Hs dirumuskan oleh persamaan 2.5, sedangkan kurva hasil turunan pertama dapat dilihat pada Gambar 1.
( )
(
1
)
(
)
)
1
(
)
(
)
1
(
)
(
'
H
y
H
y
y
y
y
H
y
H
dy
y
dH
y
H
s s s s=
s+
−
s−
+
−
+
=
=
(2.5)Gambar 1 Ilustrasi Proses Segmentasi Citra.
Langkah berikutnya adalah mencari titik ekstrim dari turunan pertama, yaitu titik dimana kurva asal berada pada nilai maksimum atau minimum. Pada Gambar 3.1, titik ekstrim
ditunjukkan sebagai deret
{
Y j n}
Y = j 0 < < yang dapat didefinisikan
sebagai titik dimana nilai turunan pertamanya adalah nol.
Setelah didapatkan deret Y sebagai titik ekstrim, maka langkah selanjutnya yaitu mencari inflection point. Inflection point
{
P j n}
P = j1< < didapatkan antara indeks
Yj dan Yj+1. Berikut ini adalah perumusan inflection point yang digunakan untuk proses deteksi ukuran blok
{ }
' ,max
1 s Y Y Y j H P j j< < + = (2.5)dimana
H
s' merupakan nilai turunan pertamayang telah didapatkan pada kurva sebelumnya. Nilai turunan yang maksimal pada kurva
turunan menunjukkan bahwa
gradient/kemiringan paling besar. Gradient ini didefinisikan sebagai adanya perubahan kontras yang terjadi pada tingkat keabuan dari piksel-piksel citra. Sehingga terdapat batas yang dijadikan pemisah antara region karakter dan region background.
Inflection point merupakan titik batas yang digunakan antara wilayah karakter dan background. Sehingga langkah berikutnya adalah menghitung jarak antara tiap inflection point yang didapatkan. Jarak tersebut akan menjadi ukuran blok untuk proses segmentasi citra di tahap berikutnya. Jarak ini juga didefinisikan sebagai tinggi tiap wilayah karakter dan background, serta dijadikan sebagai input paramater pada proses segmentasi. Perumusan jarak yang dilakukan berdasarkan persamaan 2.6. . 1 j j j P P D = + − (2.6) 2.4 Segmentasi Citra
Citra masukan yang berupa citra grayscale dibagi menjadi beberapa blok berdasarkan jarak yang telah didapatkan pada proses deteksi ukuran blok sebelumnya. Pertama daerah citra masukan dipisahkan ke dalam n – 1 bagian sub-region ( , , ..., ). Tiap bagian sub-region terdiri dari
piksel. Tiap bagian sub-region dibagi menjadi kumpulan blok. Tiap blok terdiri dari
piksel. Ukuran blok pada tiap bagian sub-region bervariasi sesuai jarak
Hasil dari segmentasi citra adalah citra yang terbagi menjadi sub-region citra. Ilustrasi pada Gambar 1 adalah hasil segmentasi citra.
Gambar 2 Ilustrasi Proses Segmentasi Citra.
2.5 Thresholding Citra
Proses berikutnya dalam
pengimplementasian algoritma thresholding adaptif berdasarkan deteksi blok ini adalah proses thresholding citra. Pada proses deteksi blok yang menjadi data masukan adalah hasil citra yang telah tersegmentasi. Proses ini membutuhkan inisialisasi nilai mean dan standar deviasi yang digunakan sebagai threshold. Pertama yang dilakukan terhadap citra yang telah terbagi menjadi beberapa blok tersebut yaitu menghitung nilai local mean dan local standar deviasi. Local mean dan local standar deviasi dihitung untuk tiap blok serta digunakan untuk menentukan apakah suatu blok perlu diproses dengan threshold adaptif
atau tidak. Kemudian nilai local mean dan local standar deviasi pada tiap blok dibandingkan dengan mean threshold dan standar deviasi threshold. Jika nilai local standar deviasi lebih rendah daripada standar deviasi threshold dan local mean lebih tinggi daripada mean threshold, maka setiap piksel dalam blok tersebut disubtitusikan dengan piksel background(1). Sebaliknya, jika tidak maka untuk tiap blok dilakukan proses binerisasi citra dengan metode global (metode otsu). Metode otsu digunakan karena kecepatannya dalam melakukan proses thresholding secara global.
3 UJI COBA DAN EVALUASI
Terdapat dua macam uji coba yang dilakukan, yaitu uji coba parameter dan uji coba perbandingan metode. Uji coba parameter dilakukan untuk mendapatkan parameter yang sesuai untuk algoritma thresholding adaptif berdasarkan deteksi blok ini, sedangkan uji coba perbandingan metode dilakukan untuk mengetahui seberapa unggul algoritma thresholding adaptif berdasarkan deteksi blok dibandingkan dengan metode yang dikembangkan sebelumnya, yaitu Otsu, Niblack, dan Sauvola.
Sebagai data masukan untuk uji coba parameter, digunakan 4 macam data citra dokumen dengan degradasi yang berbeda seperti ditunjukkan pada Gambar 3. Sedangkan untuk melakukan uji coba perbandingan metode, digunakan 8 macam sampel data citra dokumen terdegradasi.
Evaluasi dilakukan dengan menjadikan citra hasil thresholding sebagai masukan pada software OCR untuk mengukur kemampuan aplikasi dalam melakukan pengenalan karakter. Istilah berikut akan menjelaskan kriteria pada tiap tabel uji coba berikutnya.
• DB: karakter (huruf, angka, atau tanda baca) yang terdeteksi benar oleh OCR, • DS: karakter yang terdeteksi namun
merupakan kesalahan pengenalan oleh OCR,
• TT: total karakter keseluruhan, • PRC: pengukuran secara precision, • RCL: pengukuran secara recall,
• F: rata-rata harmonis antara precision dan recall. ) (DB DS DB PRC + = , (3.1) TT DB RCL = , (3.2) ) ( ) * ( * 2 RCL PRC RCL PRC F + = (3.3) citra1 citra2 citra3 citra4
Gambar 3 Data Citra Uji Coba Parameter
3.1 Uji Coba Parameter
Ada dua buah parameter yang cukup penting untuk digunakan dalam implementasi algoritma thresholding adaptif berdasarkan deteksi blok, yaitu.
1. Parameter mean threshold
2. Parameter standar deviasi threshold 3.1.1 Uji Coba dan Evaluasi Parameter
Mean
Uji coba parameter mean yang dilakukan terhadap citra uji 1 dengan menggunakan 10 nilai mean menghasilkan kinerja seperti ditunjukkan pada Tabel 1. Demikian juga pada data citra uji 2, 3, dan 4 sehingga menghasilkan nilai mean threshold optimal yaitu 40.
Tabel 1 Evaluasi Uji Coba Parameter Mean Citra Uji 1 meant Kriteria DB DS TT PRC RCL F 100 346 31 359 91.78 96.38 94.02 90 349 21 359 94.32 97.21 95.75 80 355 21 359 94.41 98.89 96.60 70 355 13 359 96.47 98.89 97.66 60 355 12 359 96.73 98.89 97.80 50 358 5 359 98.62 99.72 99.17 40 356 1 359 99.72 99.16 99.44 30 356 1 359 99.72 99.16 99.44 20 356 1 359 99.72 99.16 99.44 10 356 1 359 99.72 99.16 99.44
3.1.2 Uji Coba dan Evaluasi Parameter Standar deviasi
Tabel 2 Evaluasi Uji Coba Parameter Standar deviasi Citra Uji 1
stdT Kriteria DB DS TT PRC RCL F 20 258 10 359 96.29 71.87 82.30 18 268 18 359 93.71 74.65 83.10 16 286 21 359 93.16 79.67 85.89 14 313 14 359 95.72 87.19 91.25 12 330 19 359 94.56 91.92 93.22 10 357 1 359 99.72 99.44 99.58 8 357 2 359 99.44 99.44 99.44 6 358 2 359 99.44 99.72 99.58 4 355 18 359 95.17 98.89 96.99 2 346 23 359 93.77 96.38 95.05
Uji coba parameter standar deviasi yang dilakukan terhadap citra uji 1 dengan menggunakan 10 nilai standar deviasi menghasilkan kinerja seperti ditunjukkan pada Tabel 2. Demikian juga terhadap data citra uji 2, 3, dan 4 sehingga menghasilkan nilai standar deviasi threshold optimal yaitu 10.
3.2 Uji Coba Perbandingan Metode
Terdapat tiga metode yang digunakan sebagai pembanding untuk melakukan uji coba perbandingan metode, yaitu :
1. Metode global Otsu 2. Metode adaptif Niblack 3. Metode adaptif Sauvola
citra1 adaptif blok Otsu
citra3 adaptif blok Otsu
Gambar3 Hasil Perbandingan Metode Adaptif Blok dan Otsu
citra1 adaptif blok Niblack
citra3 adaptif blok Niblack
Gambar3 Hasil Perbandingan Metode Adaptif Blok dan Niblack
citra1 adaptif blok Sauvola
citra3 adaptif blok Sauvola
Gambar3 Hasil Perbandingan Metode Adaptif Blok dan Sauvola
Evaluasi terhadap uji coba hasil perbandingan metode adaptif blok dan Otsu ditunjukkan oleh Tabel 3. Sedangkan perbandingan dengan metode Niblack dan Sauvola ditunjukkan pada Tabel 4 dan 5.
Tabel 3 Evaluasi Uji Coba Perbandingan Metode Adaptif Blok dan Otsu
K ri te ri a U ji C o b
a Citra I Citra II Citra III
A d ap ti f B lo k O ts u A d ap ti f B lo k O ts u A d ap ti f B lo k O ts u DB 219 56 51 49 32 12 DS 0 6 8 9 0 2 TT 219 219 52 52 32 32 PRC 100 90.3 86.4 84.5 100 85.7 RCL 100 25.6 98.1 94.2 100 37.5 F 100 39.8 91.9 89.1 100 52.2
Tabel 4 Evaluasi Uji Coba Perbandingan Metode Adaptif Blok dan Niblack
K ri te ri a U ji C o b
a Citra I Citra II Citra III
A d ap ti f B lo k N ib la ck A d ap ti f B lo k N ib la ck A d ap ti f B lo k N ib la ck DB 219 114 51 25 80 53 DS 0 59 8 27 0 28 TT 219 219 52 52 86 86 PRC 100 65.9 86.4 48.1 100 65.4 RCL 100 52 98.1 48.1 93 61.6 F 100 58.2 91.9 48.1 96.4 63.5
Tabel 5 Evaluasi Uji Coba Perbandingan Metode Adaptif Blok dan Sauvola
K ri te ri a U ji C o b
a Citra I Citra II Citra III
A d ap ti f B lo k S au v o la A d ap ti f B lo k S au v o la A d ap ti f B lo k S au v o la DB 219 215 51 51 80 75 DS 0 4 8 1 0 18 TT 219 219 52 52 86 86 PRC 100 98.2 86.4 981 100 80.6 RCL 100 98.2 98.1 98.1 93 87.2 F 100 98.2 91.9 98.1 96.4 83.8
Rata-rata F-Measure yang didapatkan dari uji coba perbandingan metode terhadap 8 citra adalah sbb.
• Thresholding Adaptif Blok: 92.69% • Thresholding Global Otsu: 62.94% • Thresholding Adaptif Niblack: 34.46% • Thresholding Adaptif Sauvola: 85.79% 4 SIMPULAN
Dari hasil uji coba yang didapatkan, didapatkan beberapa simpulan sebagai berikut:
1. Aplikasi ini mampu melakukan proses thresholding berdasarkan deteksi blok
terhadap citra dokumen terdegradasi dengan baik, sehingga menghasilkan citra biner yang dapat dikenali oleh aplikasi OCR.
2. Aplikasi ini mampu mendeteksi ukuran blok untuk proses segmentasi terhadap citra dokumen terdegradasi. 3. Aplikasi ini mampu melakukan
thresholding secara adaptif melalui blok-blok yang telah didapatkan. 4. Algoritma thresholding adaptif
berdasarkan deteksi blok memiliki kinerja lebih baik daripada metode Otsu, Niblack, dan Sauvola.
5. DAFTAR PUSTAKA
[1]. Pai Yu-Ting, Yi-Fan Chang and Shanq-Jang Ruan, 2010. Adaptive thresholding algorithm: Efficient computation technique based on intelligent block detection for degraded document images, Elsevier Ltd.
[2]. Sahoo, P.K, S. Soltani, and A. K. C. Wong, 2004. Survey over image thresholding techniques and quantitative performance evaluation. Journal of Electronic Imaging [3]. Nobuyuki Otsu, 1979. A Threshold
Selection Method From Gray Level Histograms. IEEE Trans. Systems Man Cybernet.
[4]. W. Niblack, 1986. An Introduction to Digital Image Processing. Prentice-Hall.
[5]. Sauvola, J., M. Pietikainen. 2000. Adaptive Document Image Binarization. Pattern Recognition. [6]. Sezgin, Mehmet, Bulent Sankur.
2004. Survey Over Image Thresholding Techniques and Quantitative Performance Evaluation. Journal of Electronic Imaging.
[7]. Gatos, B., I. Pratikakis, S. J. Perantonis. 2005. Adaptive Degraded Document Image Binarization. Elsevier Ltd.
[8]. Gonzales, R.C., Woods, R.E., 2002. Digital Image Processing, 2nd ed. Prentice Hall, Upper Saddle River, NJ, pp.