• Tidak ada hasil yang ditemukan

Implementasi Pengolahan Citra dan Algori

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Pengolahan Citra dan Algori"

Copied!
6
0
0

Teks penuh

(1)

IMPLEMENTASI PENGOLAHAN CITRA DAN ALGORITMA LVQ

UNTUK PENGENALAN POLA BUKU

Andi Lukman

Program Studi Teknik Informatika

STIMED Nusa Palapa, Jl. Urip Sumohardjo No. 20 Graha Pena Lt. 10 Makassar uke@stimednp.ac.id

Abstrak

Pengenalan Pola buku diharapkan dapat mempermudah dalam mengidentifikasi dan menginventarisasi buku. Penelitian ini mencoba menggunakan teknik pengolahan citra dan algoritma Learning Vector Quantization (LVQ) untuk pengenalan buku. Algoritma LVQ digunakan untuk proses pelatihan dan pengujian/pengenalan, sementara pengolahan citra dibutuhkan pada setiap proses tersebut.

Citra yang digunakan untuk untuk pengenalan pola adalah sampul buku. Tahap-tahap pengolahan citra sebagai berikut: Tipe File Citra JPEG dikonversi menjadi Bitmap untuk memudahkan mengakses tiap pixel citra, mengubah citra RGB menjadi B/W agar memudahkan proses binerisasi, normalisasi dengan mengubah ukuran citra menjadi 300X300 pixel sehingga ukuran pixel lebih kecil dan seragam, terakhir adalah proses binerisasi yaitu mengkonversi setiap pixel citra sampul buku menjadi data biner 0 dan 1. Data biner kemudian digunakan pada proses pelatihan dan pengujian/pengenalan LVQ.

Uji coba aplikasi menggunakan 12 buku, yang terdiri dari 2 judul buku. 2 untuk w1 dan w2, 4 untuk data pelatihan dan 6 untuk pengujian/pengenalan. Inisialisasi LVQ menggunakan MaxEpoch=10, eps=0.001 dan

α=0.05. Hasilnya, aplikasi dapat mengenali semua buku yang diujikan.

Kata kunci : Pengolahan Citra, LVQ, Pengenalan Pola, Buku.

1. Pendahuluan

Pengenalan pola menggunakan komputer telah banyak digunakan dalam membantu pekerjaan manusia. Salah satu yang menjadi perhatian adalah bagaimana komputer dapat mengenali citra buku. Hal ini dapat membantu pengguna dalam mengidentifikasi dan menginventarisasi buku pada perpustakaan besar.

Penelitian ini bertujuan mengimplementasikan teknik pengolahan citra dan algoritma Learning Vector Quantization (LVQ) untuk keperluan pengenalan pola buku.

Beberapa penelitian sebelumnya juga menggunakan Algoritma LVQ dalam pengenalan pola, antara lain: pengenalan barcode [1], pengenalan karakter kursif [2], pengenalan tulisan [4] dan pengenalan sidik jari [5]. Namun pada penelitian-penelitian tersebut hanya mengelola citra digital dengan ukuran kecil. Sementara citra sampul buku mempunyai ukuran yang besar dan bervariasi serta memuat citra digital lain yaitu tulisan maupun gambar.

Untuk memecahkan masalah tersebut dibutuhkan proses pelatihan dan pengujian/ pengenalan pola buku menggunakan algoritma LVQ dengan pengolahan citra untuk mengubah citra digital sampul buku menjadi data biner.

2. Landasan Teori

2.1 Pengolahan Citra

Pengolahan citra merupakan proses memanipulasi dan menganalisis citra dengan bantuan komputer, dalam hal ini mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis. Ada berbagai teknik pengolahan citra tergantung kebutuhan dan keluaran yang diinginkan. Berikut teknik yang dapat digunakan yaitu: konversi format citra digital, mengubah format RGB menjadi Grayscale, normalisasi dan binerisasi.

(2)

pixilation, yaitu penambahan pixel rekayasa diantara titik-titik gambar aslinya, sehingga pada umumnya bahasa pemrograman kesulitan dalam mengolah citra tipe data. Oleh karena itu, perlu dilakukan konversi ke tipe data lain yang tidak terkompresi, salah satunya adalah tipe data BMP (Bitmap).

Untuk mengubah citra berformat RGB menjadi Grayscale diperlukan dua teknik pengolahan citra yaitu Grayscaling dan Tresholding. Grayscaling adalah teknik yang digunakan untuk mengubah citra berwarna menjadi bentuk grayscale atau tingkat keabuan (dari hitam - putih) [1]. Setiap pixel pada citra terbagi atas tiga bagian yaitu R (red), G (green) dan B (blue). Sementara Tresholding mengubah intensitas pixel menjadi salah satu dari dua nilai, a1 atau a2 [1]. Hasil dari proses thresholding ditentukan oleh suatu parameter yang disebut nilai threshold. Jika a1 = 0 dan a2 = 255, maka proses thresholding mengubah citra grayscale menjadi B/W (Black and White). Proses thresholding menggunakan fungsi sebagai berikut [1]:

(x,y, f (x,y)) → (x,y,g(x,y))

, = {� ,� , ,, < �≥ � ………….…(1) Keterangan :

f(x,y) = nilai intensitas lama g(x,y) = nilai intensitas baru T = nilai threshold

Normalisasi merupakan proses membagi citra menjadi pixel ukuran M x N [4]. Hal ini dilakukan karena setiap citra yang diolah belum tentu mempunyai ukuran yang sama. Normalisasi juga digunakan untuk memperkecil citra digital agar jumlah pixel yang akan diolah tidak terlalu banyak. Semakin banyak jumlah pixel, semakin banyak data inputan yang menyebabkan semakin lama waktu komputasi.

Binerisasi merupakan teknik mengubah citra B/W menjadi data biner [6]. Dimana pixel berwarna Hitam (255) akan diubah menjadi 1 dan pixel berwarna Putih (0) menjadi 0.

2.2 Algoritma Learning Vector Quantization

Learning Vector Quantization (LVQ) merupakan salah satu bentuk Algoritma Jaringan Syaraf Tiruan (Neural Network) dengan metode pembelajaran pada lapisan kompetitif yang terawasi [7]. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas yang dihasilkan berdasarkan jarak vektor tersebut. Jika ada dua vektor memiliki jarak yang cukup dekat atau mendekati sama maka kedua vektor tersebut dikelompokkan ke dalam kelas yang sama. Arsitektur LVQ dapat dilihat pada Gambar 1 [5].

Gambar 1. Arsitektur LVQ

Keterangan :

 x1 sampai dengan xm = nilai input

 || x – w1 || sampai dengan || x – wn || = jarak bobot

 H1 sampai dengan Hn = lapisan output  D1 sampai dengan Dn = nilai output  m : jumlah elemen input

 n = jumlah kelas

Pelatihan LVQ dikatakan berhasil jika pelatihan konvergen, dan gagal jika pelatihan divergen. Suatu pelatihan dikatakan konvergen jika kesalahan pada setiap iterasi pelatihan selalu mengecil, sampai pada titik dimana nilai bobot pada setiap neuron telah mencapai nilai yang paling baik untuk data pelatihan yang diberikan. Sebaliknya, pelatihan dikatakan divergen jika kesalahan pada pelatihan tidak cenderung mengecil menuju sebuah titik tertentu.

Adapun algoritma LVQ sebagai berikut [7]: 1. Tetapkan bobot (w), maksimum iterasi/epoch

MaxEpoch), Error minimum (Eps) dan 3. Tetapkan kondisi awal :

Ephoch=0

ii. Perbaiki wj dengan ketentuan:

Jika T = J, maka: wj(baru)=wj(lama)+α(x-wj(lama))

Jika T ≠ J, maka: wj(baru)=wj(lama)-α(x-wj(lama)) c. Kurangi nilai α

3. Perancangan, Implementasi dan Pengujian

(3)

data biner. Tahap-tahap pengolahan citra sampul buku sebagai berikut : Mengkonversi tipe file citra JPG yang ambil dari kamera digital menjadi tipe BMP, Grayscaling, Tresholding, normalisasi dan binerisasi. Flowchat pengolahan citra dapat dilihat pada Gambar 2.

Gambar 2. Flowchart Pengolahan Citra Buku

Hasil akhir dari proses pengolahan citra yaitu data biner yang digunakan dalam proses pelatihan LVQ. Arsitektur pelatihan LVQ dapat dilihat pada Gambar 3.

Gambar 3. Arsitektur Pelatihan LVQ Buku

x1 sampai dengan x90000 merupakan hasil binerisasi citra sampul buku 300x300. Output W1 dan W2 digunakan pada proses pengujian/ pengenalan citra sampul (pseudo code dapat lihat pada bagian 3.5). Flowchart pengujian/pengenalan dapat dilihat pada Gambar 4.

Gambar 4. Flowchart Pengujian/Pengenalan Buku

Pengujian/pengenalan buku melalui tahap pengolahan citra sampul buku kemudian menggunakan data biner tersebut dengan membandingkan W1 dan W2 hasil pelatihan.

3.1 Pseudecode Konversi JPG ke BMP

Konversi dibutuhkan untuk memudahkan proses pengolahan citra. Prosesnya berawal dari mengambil file citra bertipe JPG, mengubah format citra menjadi 16bit dan mengkonversi tipe file JPG menjadi BMP. Berikut Pseudecode konversi JPG ke BMP:

KonversiJPGtoBMP (citrabuku)

1 ∆ Mengambil Citra Sampul Buku yang bertipe JPG

2 citratmp  TJPEGImage.Create 3 citratmp.LoadFromFile

(OpenPictureDialog1.FileName) 4 gambar  TBitmap.Create

5 ∆ mengubah format citra menjadi 16bit 6 if gambar.PixelFormat ≠ pf16bit then

gambar.PixelFormat  pf16bit 7 gambar.Height  gambartmp.Height 8 gambar.Width  gambartmp.Width 9 ∆ Konversi JPG ke BMP

10 gambar.Canvas.Draw(0,0,gambartmp) 11 citratmp.Free;

12 citrabuku.Picture.Bitmap  gambar; 13 gambar.Free

14 return citrabuku

3.2 Pseudecode Grayscaling dan Tresholding

Grayscaling dan tresholding digunakan untuk mengubah citra sampul buku yang berformat RGB menjadi B/W agar lebih mudah dalam proses binerisasi. Berikut pseudecodenya:

GrayscalingNTresholding (citrabuku)

1 ∆ load citrabuku ke citratmp untuk diolah

2 Citratmp.Picture.Bitmap 

Citrabuku.Picture.Bitmap 3 Treshold  input nilai treshold 4 ∆ proses grayscaling dan tresholding 5 for brs := 0 to Citratmp.Picture.Height-1 do

6 piksel 

Citratmp.Picture.Bitmap.ScanLine [brs] 7 for kol  0 to Citratmp.Picture.Width-1

do

8 rgb1[0]  piksel[3*kol] 9 rgb1[1]  piksel[3*kol+1] 10 rgb1[2]  piksel[3*kol+2] 11 grey  MaxIntValue(rgb1) 12 for bit  0 to 2 do

13 piksel[3* kol+bit]  grey 14 if piksel[3* kol+bit] < treshold

then piksel[3* kol+bit]  0 Mulai

KonversiJPGtoBMP(citrabuku)

GrayscalingTresholding(citrabuku)

Normalisasi(citrabuku)

Binerisasi(citrabuku,databiner)

Selesai

x1

x2

X90000

||x-w1|| H1

W1

||x-w2|| H2

W2

Mulai

PengolahanCitraBuku(databiner)

PengujianPengenalanBuku(w,kelas)

(4)

15 if piksel[3* kol+bit] >= treshold then piksel[3* kol+bit]  255 16 Citrabuku.Picture.Bitmap 

Citratmp.Picture.Bitmap 17 return citratmp

3.3 Pseudecode Normalisasi Citra Buku

Normalisasi disini bertujuan untuk menyeragamkan dan memperkecil jumlah pixel pada citra sampul buku. Seperti diketahui, jumlah pixel pada citra buku sangat besar, jika langsung diberikan proses binerisasi, maka data biner dalam satu

1 ∆ setting ukuran citratmp 2 Lebar  300

3 Tinggi  300

4 citratmp.Height  Tinggi 5 citratmp.Width  Lebar 6 ∆ load citrabuku ke citratmp

7 citratmp.Picture.Bitmap 

Citrabuku.Picture.Bitmap 8 ∆ proses normalisasi citra 9 SrcBmp  TBitmap.Create 10 TrgBmp  TBitmap.Create

11 SrcBmp.Assign(citratmp.Picture.Graphic)

Binerisasi merupakan proses terakhir dari pengolahan citra sampul buku, disinilah citra digital diubah menjadi data biner. Berikut pseudecodenya :

Binerisasi (citrabuku,databiner)

1 ∆ inisialisasi index matriks data biner 2 x  -1

3 ∆ proses mengubah citra digital menjadi data biner

4 for b  0 to citrabuku.picture.Height-1 do 5 for a  0 to citrabuku.Picture.width-1

3.5 Pseudecode Pelatihan LVQ

Implementasi Arsitektur Pelatihan LVQ pengenalan buku (Gambar 3) dapat dilihat pada pseudecode berikut:

PelatihanLVQ(databiner, w) 1 ∆ Inisialisasi

2 maxepoch  input maksimum iterasi 3 eps  input error minimum

11 ∆ Input vector data latih (databiner) beserta targetnya (tl) perbandingan data latih dan data bobot 23 for j  1 to n do 28 ∆ Proses Pencarian jarak minimal 29 jarakmin nilai maksimum 30 for a  1 to n do

31 if jarak[a] < jarakmin then 32 jarakmin  jarak[a] 33 je  a

34 ∆ Proses penentuan data bobot baru 35 if jarak[target] = jarakmin then 36 for a  1 to m do

(5)

38 else

39 for a  1 to n do

40 w[je,a] w[je,a]-α(l[i,a]-w[je,a]) 41 ∆ Proses mengubah learning rate 42 α α– 0.1 * α

43 until ( epoch >= maxepoch) or (α <= eps) 44 Return w

3.6 Pseudecode Pengujian/Pengenalan Buku

Hasil pelatihan LVQ buku (w) digunakan untuk menguji/mengenali citra sampul buku. Implementasi Flowchart pengujian/pengenalan buku (Gambar 4) dapat dilihat pada pseudecode berikut:

PengujianPengenalanBuku(databiner,w,kelas) 1 ∆ Proses Pengujian menggunakan data

bobot dengan memasukkan data uji (uj) 2 for k  1 to m do

3 uj[k]  databiner

4 ∆ Proses perhitungan jarak hasil perbandingan data uji dan data bobot 5 for j  1 to n do

6 jarak[j]  0 7 for k  1 to m do

8 jarak[j]  jarak[j] + sqr(uj[k]-w[j,k]) 9 jarak[j]  sqrt(jarak[j])

10 ∆ Proses penentuan jarak minimal 11 jarakmin nilai maksimum 12 for i  1 to n do

13 if jarak[i] < jarakmin then 14 jarakmin  jarak[i] 15 kelas  i

16 return kelas

3.7 Uji Coba Aplikasi Pengenalan Buku

Implementasi Pengenalan buku dibangun menggunakan Borland Delphi 7 dengan tampilan seperti pada Gambar 5. Uji coba dilakukan menggunakan 12 buku yang terdiri dari 2 judul/jenis buku. Pembagiannya sebagai berikut: 2 untuk nilai w1 dan w2 beserta targetnya, 4 untuk data pelatihan beserta targetnya dan 6 untuk pengujian/pengenalan.

Gambar 5. Tampilan Aplikasi Pengenalan Buku

Proses pertama adalah memberikan nilai Maksimum iterasi =10, Error Minimum (eps)=0.001

dan Learning Rate (α), tampilannya dapat dilihat pada Gambar 6.

Gambar 6 Inisialisasi General

Selanjutnya memasukkan data bobot awal (w1 dan w2) beserta targetnya, w1 untuk jenis buku 1 (target = 1) dan w2 untuk jenis buku 2 (target = 2). Tampilan input nilai w1 dan w2 dapat dilihat pada gambar 7.

Gambar 7. Inisialisasi w1 dan w2 beserta targetnya

Bobot awal (w1 dan w2) harus melewati proses pengolahan citra yaitu: konversi JPG ke BMP (lihat Gambar 8(a)), Grayscaling and Tresholding (lihat Gambar 8(b)), Normalisasi (lihat Gambar 8(c)) dan binerisasi (lihat Gambar 8(d)).

Gambar 8(a). Load dan Konversi Citra JPG ke BMP

(6)

Gambar 8(c). Normalisasi menjadi 300x300 px

Gambar 8(d). Potongan Hasil Proses Binerisasi

Proses selanjutnya yaitu memasukkan 4 data latih beserta targetnya. Gambar 9 merupakan contoh input data latih citra 1. Proses ini juga membutuhkan pengolahan citra.

Gambar 9. Input Data latih beserta targetnya.

Kemudian melakukan proses pelatihan. proses pelatihan menghasilkan nilai data w1 dan w2 baru (lihat Gambar 10) yang akan digunakan pada proses pengujian/pengenalan. Proses ini juga membutuhkan pengolahan citra.

Gambar 10. Potongan w1 dan w2 hasil pelatihan

Setelah melewati proses pelatihan, aplikasi digunakan untuk menguji/mengenali buku dengan menginput citra sampul buku yang akan dikenali (lihat Gambar 11(a)).

Gambar 11(a). Input buku yang akan diuji/dikenali

Aplikasi akan menampilkan output berupa keterangan bahwa buku tersebut termasuk dalam klasifikasi jenis buku 1 atau 2 (lihat Gambar 11(b)). Proses pengujian dapat dilakukan berulang-ulang dengan buku yang berbeda dan akan memberikan output hasil pengenalan.

Gambar 11(b). Output aplikasi pengenalan buku

Dari hasil uji coba, aplikasi berhasil mengenali setiap buku yang diberikan, yaitu 3 buku jenis 1 dan 3 buku jenis 2.

4. Kesimpulan

Input Pengenalan Pola Buku berupa citra sampul buku yang melalui proses pelatihan dan pengujian menggunakan Algoritma LVQ. Setiap proses tersebut melalui tahap pengolahan citra yaitu konversi JPG ke BMP, mengubah citra warna RGB menjadi B/W, normalisasi ukuran citra menjadi 300X300 pixel dan binerisasi citra digital menjadi data biner.

Uji coba aplikasi menggunakan 12 buku, yang terdiri dari 2 judul buku. 2 untuk bobot awal (w1 dan w2), 4 untuk data pelatihan dan 6 buku untuk pengujian/pengenalan. Data Inisialisasi LVQ menggunakan MaxEpoch=10, eps=0.001 dan

α=0.05. Dengan data tersebut, aplikasi berhasil mengenali semua buku yang diujikan.

Daftar Pustaka:

[1] Cahyono, G. Prasetyo, 2010, Simulasi Pengenalan Barcode Menggunakan Jaringan Syaraf Tiruan Learning Vector Quantization, Surabaya, ITS Undergraduate 12589.

[2] Camastra, Francesco dan Viciarelli, Alessandro, 2001, Cursive Character Recognition By Learning Vector Quantization, Amsterdam, Pattern Recognition Letter 22. [3] Cormen, Thomas H., dkk, 2001, Introduction

to Algorithms Second Edition, London, MIT Press.

[4] Kurniawan, Fachrul dan Nurhayati, Hani, 2011, Simulasi Pengenalan Tulisan Menggunakan LVQ (Learning Vector Quantization), Malang, MATICS Vol. 4 No. 4. [5] Ranadhi, Djalu, dkk, 2006, Implementasi Learning Vector Quantization (LVQ) Untuk Pengenalan Pola Sidik Jari Pada Sistem Informasi Narapidana LP Wirogunan, Yogyakarta, Media Informatika Vol. 4. No.1. [6] Santi, Candra Noor, 2011, Mengubah Citra

Berwarna Menjadi GrayScale dan Citra biner, Semarang, Jurnal Teknologi Informasi DINAMIK Volume 16, No.1.

Gambar

Gambar 1. Arsitektur LVQ
gambar ∆ if gambar.PixelFormat  TBitmap.Create mengubah format citra menjadi 16bit ≠ pf16bit then
Gambar 3Arsitektur ) dapat dilihat pada

Referensi

Dokumen terkait

Dari proses kompresi dan dekompresi citra untuk foto1.jpeg didapatkan hasil ukuran file sebelum dikompresi adalah 2504 kb, setelah dikompresi dengan metode kuantisasi menjadi 284

Kinerja kompresi, korelasi antara komponen warna pertama dikurangi dengan mengubah ruang warna RGB ke ruang decorrelated warna. Di dasar JPEG, gambaran RGB pertama

Proses klasifikasi pada penelitian ini diawali dengan memasukkan citra daun RGB kemudian di preprocessing dengan mengubah citra daun RGB menjadi citra keabuan

Maka yang menjadi pokok permasalahan adalah bagaimana cara menyisipkan pesan pada sebuah citra bitmap 24 bit tanpa harus mengubah karakteristik citra digital yang berfungsi

Penelitian yang akan dilakukan adalah menggunakan pengolahan citra digital untuk membaca elemen pixel dalam citra bitmap dan hasil dari pembacaan tersebut digunakan sebagai

Metode yang digunakan dalam penelitian ini adalah metode pengolahan citra berupa pengenalan citra bakteri melalui proses penghitungan jumlah pikselnya.. Tahap

Pada dasarnya, konsep olah citra adalah mengubah citra RGB (dari citra yang direkam), melalui serangkaian proses, menjadi citra biner yang hanya berisi dua nilai: 0

Pengolahan citra atau gambar merupakan suatu proses yang mengubah sebuah gambar/citra menjadi gambar/citra lainnya dalam rangka untuk mencapai tujuan tertentu, seperti misalnya