• Tidak ada hasil yang ditemukan

Implementasi Algoritma Thresholding Adaptif dan Tesseract OCR untuk Mendeteksi Citra Teks Kemasan Makanan Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Thresholding Adaptif dan Tesseract OCR untuk Mendeteksi Citra Teks Kemasan Makanan Berbasis Android"

Copied!
10
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1.Citra

Citra (image) sebagai salah satu komponen multimedia memegang peranan sangat

penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak

dimiliki oleh data teks, yaitu citra kaya dengan informasi. Sebuah gambar dapat

memberikan informasi yang lebih banyak daripada informasi tersebut disajikan dalam

bentuk kata-kata (tekstual) (Munir, R. 2004).

Satuan atau bagian terkecil dari suatu citra disebut piksel (pixel atau picture

element) yang berarti elemen citra. Sebuah citra adalah kumpulan piksel-piksel yang

disusun dalam larik dua-dimensi. Indeks baris dan kolom (x, y) dari sebuah piksel

dinyatakan dalam bilangan bulat. Untuk menunjukkan lokasi suatu piksel, koordinat (0,

0) digunakan untuk posisi kiri atas dalam bidang citra, dan koordinat (m-1, n-1)

digunakan untuk posisi kanan bawah dalam citra berukuran mxn piksel seperti pada

Gambar 2.1. Untuk menunjukkan tingkat pencahayaan suatu piksel, seringkali

digunakan bilangan bulat yang besarnya 8-bit, dengan lebar selang nilai 0 – 255, dimana

0 untuk warna hitam, 255 untuk warna putih dan tingkat abu-abu berada di antara

(2)

Gambar 2.1 Koordinat bidang citra

2.1.1. Pengolahan citra

Pengolahan citra adalah pemrosesan citra, menjadi citra yang kualitasnya lebih baik

(Munir, R. 2004). Menurut Hermawati, F.A. (2013), tujuan pengolahan citra adalah:

1. Untuk memperbaiki kualitas citra (gambar) dilihat dari aspek radiometrik

(peningkatan kontras, transformasi warna, restorasi citra) atau dari aspek

geometrik (rotasi, translasi, skala, transformasi geometrik).

2. Melakukan proses penarikan informasi, deskripsi objek atau pengenalan objek

terhadap pola yang terkandung di dalam citra.

3. Melakukan kompresi atau reduksi data untuk penyimpanan data, transmisi data,

dan waktu proses data.

2.1.2. Segmentasi citra

Segmentasi merupakan proses membagi suatu citra ke dalam komponen-komponen

region atau objek (Hermawati, F.A. 2013). Menurut Zhou, et al. (2010), segmentasi

citra secara umum dilakukan berdasarkan diferensiasi warna, sehingga citra tersebut

akan melalui proses pengelompokan yang memungkinkan piksel-piksel dipisahkan

sesuai dengan intensitas warna. Salah satu skema segmentasi adalah thresholding (atau

binerisasi) dimana ambang batas ditentukan secara manual atau empiris. Sebagai

(3)

histogram. Namun, segmentasi ini terkadang dapat mengarah kepada hasil

pengelompokan yang keliru jika piksel citra tersebar secara berantakan.

2.1.3. Citra biner

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat

keabuan: hitam dan putih. Piksel-piksel objek bernilai 1 dan piksel-piksel latar belakang

bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih dan 1 adalah hitam. Jadi,

pada citra biner, latar belakang berwarna putih sedangkan objek berwarna hitam (Munir,

R. 2004). Berikut contoh citra biner pada Gambar 2.2.

Gambar 2.2 Contoh citra teks biner (Kasar, T. 2007)

Menurut Ahmad, U. (2005), citra biner hanya membutuhkan memori 1 bit untuk

menyimpan data satu piksel sehingga algoritma untuk citra biner dapat berjalan lebih

cepat dan prosesnya lebih murah dibandingkan dengan proses pada citra abu-abu.

Sebagai perbandingan, citra abu-abu dengan intensitas 256 tingkat membutuhkan

memori delapan kali lebih besar dibandingkan dengan memori yang dibutuhkan oleh

citra biner untuk tingkat resolusi citra yang sama.

2.1.4. Pengenalan pola citra

Pengenalan pola mengelompokkan data numerik dan simbolik (termasuk citra) secara

otomatis oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk

mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya

karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu

membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia

inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek

(4)

deskripsi objek

deskripsi objek di dalam citra (Munir, R. 2004). Ilustrasi pengenalan pola pada citra

dapat dilihat pada Gambar 2.3.

Gambar 2.3 Ilustrasi pengenalan pola

Contoh pengenalan pola misalnya pada Gambar 2.4 adalah salah satu huruf kemasan

makanan yang digunakan sebagai data masukan untuk mengenali karakter ‘S’. Dengan

menggunakan algoritma pengenalan pola, diharapkan komputer dapat mengenali bahwa karakter tersebut adalah ‘S’.

Gambar 2.4 Citra karakter ‘S’ untuk pengenalan huruf

2.2.Binerisasi Otomatis

Operasi binerisasi secara manual akan merepotkan dan menyebabkan penundaan, tidak

dapat diterapkan untuk operasi real-time, di mana pengambilan citra melalui kamera

dan operasi binerisasi serta operasi-operasi lainnya dilakukan secara

berkesinambungan. Alternatif lainnya adalah dengan memberikan suatu nilai yang tetap

dalam algoritma program. Untuk dapat memilih nilai batas atau nilai threshold yang

tepat secara otomatis, pengetahuan tentang objek dalam pemandangan, pengetahuan

tentang aplikasi dan pengetahuan tentang lingkungan harus digunakan di dalam

algoritma program komputer yang dikembangkan. Pengenalan

(5)

Binerisasi otomatis menganalisis distribusi nilai abu-abu di dalam citra untuk

memilih nilai threshold yang paling mendekati. Kebanyakan metoda binerisasi otomatis

menggunakan ukuran dan probabilitas distribusi intensitas dengan menghitung

histogram intensitas dari citra (Ahmad, U. 2005).

2.2.1. Dasar-dasar thresholding citra

Thresholding dengan histogram adalah salah satu teknik yang populer untuk segmentasi

citra monokrom (Gambar 2.5). Salah satu cara yang jelas untuk mengekstraksi objek

dari latar belakang adalah untuk memilih ambang batas (threshold) yang memisahkan

histogram. Setiap titik , dengan ketentuan , (misal = ) disebut

sebagai titik objek. Selain dari itu, titik ini disebut titik background. Dengan kata lain,

citra yang telah melalui tahap pengambangan , didefinisikan sebagai:

, = { if if ,, < (Zhou, et al. 2010) (2.1)

Keterangan :

, = Matriks nilai biner citra , = Matriks nilai grayscale citra = Nilai ambang batas (threshold)

Gambar 2.5 Thresholding citra berdasarkan histogram (Zhou, et al. 2010) 2.2.2. Global optimal thresholding

Global thresholding hanya menggunakan satu nilai ambang pada atribut citra global

yang dapat diestimasi berdasarkan statistik ataupun heuristik, kemudian

mengklasifikasikan bagian piksel-piksel citra apakah termasuk ke dalam foreground

atau background. Kelemahan utama dari metode global thresholding adalah metode

(6)

tersebut tidak dapat membedakan piksel-piksel yang memiliki tingkat keabuan yang

sama namun termasuk ke dalam kelompok yang berbeda. Metode global optimal

thresholding melibatkan iterasi melalui semua kemungkinan nilai ambang dan memilih

nilai yang optimal untuk keseluruhan citra (Som, et al. 2011).

Menurut Ahmad, U. (2005), langkah-langkah dalam menentukan nilai batas

threshold secara global dengan metode iterasi adalah sebagai berikut:

1. Pilih nilai awal untuk operasi threshold, dengan merupakan nilai rata-rata

dari intensitas citra keseluruhan.

2. Bagi citra menjadi dua daerah, � dan � , menggunakan nilai awal.

3. Hitung nilai rata-rata intensitas � dan � masing-masing daerah � dan � .

4. Hitung nilai threshold yang baru dengan rumus =µ +µ .

5. Ulangi langkah (2) sampai (4) hingga nilai-nilai � dan � tidak berubah lagi.

2.2.3. Adaptive local thresholding

Dalam thresholding secara lokal, nilai-nilai ambang batas secara spasial bervariasi dan

ditentukan berdasarkan konten lokal dari citra yang digunakan. Perbedaannya dengan

metode global adalah thresholding lokal memiliki kinerja yang lebih baik terhadap

noise ataupun kesalahan yang muncul akibat suatu informasi penting yang berdekatan

dengan bagian citra teks atau objek citra (Som, et al. 2011).

Pendekatan langsung dalam metode adaptif adalah dengan membagi citra

menjadi beberapa bidang berukuran × lalu memilih threshold untuk bagian

citra berdasarkan histogram dari bagian ke- ( , ). Hasil akhir dari proses ini

adalah gabungan dari daerah pada bagian-bagian citra tadi, yang sebenarnya berasal

dari satu citra yang lebih besar (Ahmad, U. 2005). Gambar 2.6 menunjukkan perbedaan

(7)

(a) (b)

Gambar 2.6 Perbedaan global dengan adaptif thresholding (Zhou, et al. 2010)

Menurut Hermawati, F.A. (2013), langkah-langkah dalam melakukan proses

thresholding secara adaptif adalah sebagai berikut:

1. Ambil subcitra pertama berukuran × .

2. Hitung variance dari subcitra tersebut setelah melakukan perhitungan mean.

Rumus Mean Subcitra :

= ̅ = ∑=

Rumus Varians Subcitra :

=∑= − ̅

3. Jika > , maka = x � − i �, kemudian gunakan nilai T

untuk melakukan global thresholding.

4. Jika , maka = x � − i � , kemudian gunakan langsung

nilai T untuk menentukan output citra biner.

5. Ulangi langkah (1) dengan subcitra selanjutnya sampai semua subcitra selesai

diproses.

2.3.Optical Character Recognition (OCR)

OCR adalah sebuah pendekatan yang menyediakan pengenalan karakter alfanumerik

baik yang berupa tulisan tangan maupun computer text hanya dengan memindai citra (2.2)

(8)

tersebut secara digital dan mengubahnya menjadi bentuk yang dapat di-scan melalui

scanner, kemudian sistem OCR menafsirkan citra tadi dan mengubahnya menjadi data

ASCII. Pengenalan karakter seperti ini juga populer disebut sebagai Optical Character

Recognition (OCR). OCR merupakan salah satu bidang penelitian yang memiliki

potensi besar di masa depan dimana kita ingin melacak dan mencari setiap informasi

yang dipertukarkan. Masalah yang sering timbul terdapat pada tulisan tangan, hal ini

dikarenakan ketidakpastian seperti variasi dalam model kaligrafi, kesamaan dalam teks

tulisan dan variasi dalam gaya penulisan (Patel, U. 2013).

2.3.1. Tahapan proses OCR

Menurut Patel, U. (2013), tahapan-tahapan proses yang terjadi pada saat pengenalan

suatu karakter teks adalah input data citra, pre-processing, segmentasi teks, normalisasi,

ekstraksi fitur, klasifikasi dan post-processing seperti pada Gambar 2.7.

Gambar 2.7 Tahapan OCR (Patel, U. 2013) 2.3.2. Tesseract OCR

Tesseract menduduki peringkat salah satu dari tiga engine pada tahun 1995 yang

akurasinya diuji oleh Universitas Nevada, Las Vegas. Tesseract mengalami kemajuan

yang signifikan setelah kemudian diambil alih oleh Google. Tesseract merupakan salah

satu OCR engine open source yang paling akurat dalam hal pendeteksian. Tesseract

dapat diterapkan pada Linux, Windows dan Mac OSX. Selain itu, Tesseract juga dapat

(9)

sekitar 149 bahasa yang didukung Tesseract yang berasal dari paket-paket. Tesseract

adalah sistem deteksi berbasis teks dengan berbagai bahasa yang dapat kita manipulasi

dan dapat juga dikembangkan engine tersebut dengan data pelatihan sendiri (Badla, S.

2014).

2.3.3. Cara kerja Tesseract OCR

Menurut Badla, S. (2014), hal yang penting dilakukan agar mendapatkan akurasi deteksi

teks yang tepat adalah pada saat pre-processing.

Gambar 2.8 Proses utama Tesseract OCR (Badla, S. 2014)

Gambar 2.8 menunjukkan bahwa ada dua subsistem utama yang dikerjakan.

Pertama adalah tahap pre-processing dan yang kedua adalah tahap Tesseract OCR.

Tahap yang menjadi fokus adalah tahap pre-processing dimana sebelum melalui proses

pengenalan, citra harus disederhanakan agar memudahkan pada saat tahap Tesseract.

Proses waktu yang digunakan juga harus ditinjau pada saat tahap pre-processing agar

tidak menambah running-time.

Proses pengenalan karakter menggunakan data latih berupa kamus data karakter

yang tersedia pada Tesseract. Setelah proses pre-processing, tahap selanjutnya akan

dilakukan tahapan pengenalan karakter yang terdiri dari proses feature extraction,

segmentasi, dan word recognition. Proses feature extraction dilakukan untuk

mendapatkan outline karakter, sedangkan proses segmentasi melakukan pemotongan

karakter pada teks. Pada proses word recognition, hasil segmentasi akan dicocokkan

dengan data latih berdasarkan bahasa yang sesuai. Library Tesseract akan ditanamkan

pada sistem aplikasi berbasis Android sehingga citra yang menjadi masukan akan

(10)

2.4.Penelitian yang Relevan

Berikut beberapa penelitian yang relevan dengan algoritma Thresholding Adaptif dan

Tesseract OCR:

1. Nugroho Meganofa (2015) dalam skripsi yang berjudul Aplikasi Pencari Info

Obat dengan Masukan Citra Teks Kemasan Obat Berbasis Android

Menggunakan Tesseract OCR Engine. Dapat disimpulkan bahwa aplikasi info

obat mampu mengenali citra teks kemasan obat dengan tingkat akurasi terbaik

mencapai 96.80% dari 70 citra teks kemasan obat yang diuji dengan jenis font

Serif dan Sans Serif. Nilai usability aplikasi terhadap responden mendapat hasil

sebesar 86.93%.

2. Eka Mala Sari Rochman (2011) dalam jurnal yang berjudul Algoritma

Thresholding Adaptif untuk Binerisasi Citra Dokumen Berwarna. Dapat

disimpulkan bahwa penelitian dilakukan dengan thresholding secara adaptif

pada citra dokumen berwarna dengan mengekstraksi foreground dan melakukan

binerisasi pada masing-masing foreground dengan ambang yang berbeda. Uji

coba dilakukan terhadap 8 citra dokumen dan rata-rata tingkat pengenalan

Gambar

Gambar 2.1 Koordinat bidang citra
Gambar 2.2 Contoh citra teks biner (Kasar, T. 2007)
Gambar 2.3 Ilustrasi pengenalan pola
Gambar 2.5 Thresholding citra berdasarkan histogram (Zhou, et al. 2010)
+4

Referensi

Dokumen terkait

Hasil pengolahan citra pada deteksi penyakit granuloma menggunakan metode segmentasi warna BLOB dan klasifikasi K-NN dapat dianalisis dengan parameter ekstraksi ciri orde I,

Pengambilan hasil pengujian ini dilakukan untuk mengetahui intensitas cahaya yang optimal terhadap sistem dapat mendeteksi dengan baik gelang warna resistor.. Pada