ABSTRAK
Informasi Merk produk merupakan simbol pengejawantahan seluruh informasi yang berkaitan dengan
produk atau jasa. Merk biasanya terdiri dari nama, logo dan seluruh elemen visual lainnya seperti gambar,
tipografi, warna, dan simbol. Dalam aplikasi transaksi penjualan pada toko, supermarket, maupun swalayan
keberadaan suatu sistem identifikasi merk produk sangat diperlukan baik untuk database toko maupun
kelancaran pada saat customer melakukan pembelian barang. Sistem scanning barcode selama ini dirasa cukup
efektif dalam hal tersebut. Akan tetapi, tidak ada salahnya jika kita meneliti alternatif lain untuk meng-
identifikasi produk dengan cara mengenali produk dari bentuk dan warna logo merk produk. Sistem yang
dimaksud akan diuji coba berbasiskan pengetahuan tentang Image Processing dan Transformasi Wavelet.
Dalam tulisan ini, dirancang suatu sistem identifikasi merk produk berdasarkan pengenalan bentuk dan
warna logo merk produk tersebut. Proses yang dipakai antara lain Transformasi Wavelet, adapun penggunaan
Transformasi Wavelet ini dimotivasi oleh adanya hasil penelitian tentang Transformasi Wavelet yang
mempunyai kemampuan memunculkan (feature) khusus pada citra yang diteliti. Sedangkan pengenalan dan
klasifikasi diterapkan dengan Jaringan Syaraf Tiruan metode BackPropagation. Sebagai basis masukan jaringan
syaraf, digunakan citra merk produk ukuran 320 x 240 yang telah diambil dari webcam.
Hasil implementasi diuji beberapa kali dengan citra uji dan citra latih, melalui implementasi dan
pengujian sistem mampu memberikan tingkat akurasi hingga 98%.
.
Kata Kunci: Image processing, Jaringan Syaraf Tiruan Backpropagation, Transformasi Wavelet
ABSTRACT
Product label symbolizes many kinds of information that related to service and goods. Actually, a label
consists of name, sign, and other visual elements such as image, typography, and symbol. In sales transaction
application such as at the shop and many selfservice shops, the existence of a product label identification is very
needed not only for the seller database but also for making easy a buyer transaction process. In this time,
barcode scanning system is considered as an effective system in the case of that. However, there is nothing
wrong if we do an experience to identify product by recognizing the form and the colour of a product label. The
target of the system will be implied based on Image Processing and Wavelet Transform.
In this final paper, it is designed a product identification system based on the form and the colour of a
label. The applied process that is used such as, Wavelet Transform. As for the reason of this transform using, is
being supported by many researches which imply the ability of wavelet transform to perform many special
features of an image. While recognizing and classification process is applied by BackPropagation Neural
Network. The Input of neural network is an image of a product label , 240x320 of its size, and captured from a
webcam.
The result of implementation is tested many times by training image and testing image. Through the
implementation and testing, this system can perform up to 98% accuration.
1
transaksi pembelian bila dibanding dengan sistem spektrum citra sehingga ekstraksi tepi dapat
lainnya. dilakukan dengan menggunakan tapis pelewat–
tinggi (highpass filter-HPF). Dengan tapis pelewat-
Teori Dasar Citra Digital tinggi, spektrum yang lebih tinggi dari frekuensi
Citra dapat dinyatakan sebagai fungsi kontinu dari potong (cut-off) akan dikuatkan, sedangkan
intensitas cahaya dalam 2 dimensi, f(x,y) dimana x frekuensi di bawahnya akan diredam.
dan y merupakan koordinat ruang dan nilai f
menyatakan kecerahan dan informasi warna citra Ektraksi Ciri
pada titik koordinat x dan y. Secara matematis Ektraksi ciri merupakan cara yang dilakukan
persamaan untuk fungsi intensitas, f(x,y) adalah: untuk mendapatkan ciri dari sebuah citra. Untuk
pengambilan ciri dari sebuah image diperlukan
0 f x, y (2.1) pengolahan image terlebih dahulu yaitu citra diubah
Citra digital adalah sajian citra dalam bentuk ke level grayscale. Proses ini merubah level RGB
diskret, baik pada koordinat ruang maupun nilai menjadi citra yang hanya terdiri dari warna hitam
intensitas cahayanya. Dengan demikian citra digital dan putih sehingga memudahkan dalam proses
dapat disajikan sebagai matriks berdimensi M N , klasifikasi.
dengan M menyatakan tinggi dan N menyatakan lebar
dari citra. Matriks tesebut terdiri dari kumpulan Jaringan Syaraf Tiruan
elemen dengan nilai tertentu yang menyatakan Jaringan syaraf tiruan (JST) atau Artificial
intensitas cahaya citra. Elemen itu biasa disebut pixel. Neural Network (ANN) diinspirasikan oleh struktur
Matriks tersebut ditunjukkan dalam persamaan 2.3 jaringan sel-sel syaraf di dalam otak. JST
f (0,0) f (0,1) ... f (0, M 1)merupakan suatu model komputasi yang meniru
f (1,0) f (1,1) ... f (1, M 1)cara kerja sistem otak manusia. JST merupakan
f ( x, y ) sebuah model komputasi dari otak manusia yang
...
mampu melakukan perhitungan, pengenalan,
f ( N ,0 ) f ( N ,1) ... f ( N 1, M pengamatan,
1) serta pengambilan keputusan.
(2.3) Berdasarkan algoritma pelatihannya,
maka JST terbagi menjadi dua yaitu:
1. Belajar dengan pengawasan (Supervised
Pengolahan Citra Digital Learning)
Pengolahan citra digital merupakan proses yang Jaringan belajar dari sekumpulan pola masukan
bertujuan untuk memanipulasi dan menganalisis citra dan keluaran. Sehingga pada saat pelatihan
dengan bantuan komputer. Pengolahan citra digital diperlukan pasangan pola yang terdiri dari vektor
pada umumnya dapat dikelompokkan dalam dua jenis masukan dan vektor target yang diinginkan.
kegiatan,yaitu: Contoh jaringan yang belajar dengan pengawasan
a. Memperbaiki kualitas suatu gambar sehingga adalah Backpropagation.
dapat lebih mudah diinterprestasi oleh mata 2. Belajar Tanpa Pengawasan (Unsupervised)
manusia. Pada pelatihan tanpa pengawasan tidak ada
vektor target. Vektor masukan dimasukkan ke
b. Mengolah informasi yang terdapat pada suatu
dalam Jaringan dan sistem akan mengatur dirinya
gambar untuk keperluan pengenalan objek secara
sendiri sedemikian rupa sehingga dihasilkan
otomatis.
keluaran yang konsisten bilamana pola yang
menyerupai vektor masukan tersebut diberikan.
Citra Grayscale Contoh jaringan yang belajar tanpa pengawasan
Citra Grayscale atau citra beraras keabuan adalah adalah Adaptive Resonance Theory.
citra yang hanya menggunakan warna pada tingkatan
warna abu-abu. Warna abu-abu adalah satu-satunya Jaringan Saraf Tiruan Backpropagation (JST-
warna pada ruang RGB dengan komponen merah, BP)
hijau, dan biru mempunyai intensitas yang sama. Jaringan syaraf tiruan back propagation (JST-
Pada citra beraras keabuan hanya perlu menyatakan BP) merupakan jaringan syaraf yang sangat populer
nilai intensitas untuk tiap piksel sebagai nilai tunggal, digunakan untuk memecahkan masalah. Jaringan
sedangkan pada citra berwarna perlu tiga nilai syaraf tiruan back propagation menggunakan
intensitas untuk tiap pikselnya. algoritma belajar supervised learning. Propagasi
balik merupakan salah satu proses belajar jaringan
Deteksi Tepi (Edge Detection) syaraf tiruan di mana dalam proses belajar tersebut
Edge atau tepi merupakan batas antara dua daerah pengubahan nilai berlangsung pada arah mundur,
dengan nilai gray-level yang relatif berbeda. Tepi citra yaitu mulai dari lapisan keluaran dan berakhir di
dapat pula didefinisikan sebagai piksel-piksel yang lapisan masukan.
mengalami perubahan tajam pada level keabuan. Tepi
objek umumnya terlihat sebagai frekuensi tinggi pada
2
p a1 a2
W1 W2
n1 n2 1 jika x 0
+ + f ( x)
0 jika x 0
b1 b2
(2.9)
2. Fungsi aktivasi Linear
Masukan Lapisan Tersembunyi Lapisan Keluaran
Gambar 2.2 Arsitektur jaringan syaraf tiruan back f(x) = x untuk semua x (2.10)
propagation dengan 1 lapisan tersembunyi
3. Fungsi aktivasi Sigmoid
Arsitektur standar jaringan syaraf tiruan back 1
propagation ditunjukkan pada gambar 2.3. f ( x)
1 exp( x )
Pola pelatihan jaringan back propagation
melibatkan tiga hal, yaitu pelatihan maju, perhitungan (2.11)
balik sebagai respon terhadap error, dan pengaturan e x ex
bobot. Error (δ) merupakan selisih antara nilai tanh( x ) (2.12)
keluaran yang diinginkan (t) dengan keluaran yang e x e x
sesungguhnya (a2). Error dinyatakan oleh persamaan
2.5 sebagai berikut :
BAHAN DAN METODA
δ= t – a2 (2.5)
Sum Square Error (SSE) yang dinyatakan oleh
RANCANGAN SISTEM
persamaan 2.6 berikut ini:
Secara umum sistem untuk identifikasi
SSE 2 merk produk yang dirancang dapat dilihat pada
(2.6) gambar 3.1 di bawah ini:
3
memiliki kinerja yang cukup baik dalam
mendeteksi tepi citra. Threshold yang digunakan
dalam mendeteksi tepian dari suatu gambar akan
menyebabkan banyak tepian yang hilang jika
nilainya diambil terlalu tinggi. Tetapi jika terlalu
rendah, banyak batas-batas yang tidak penting atau
(a) (b) (c) bahkan derau pada citra akan menyebabkan deteksi
Gambar 3.2 Klasifikasi jenis merk tepian tidak bagus.
Daerah yang direpresentasikan dengan bit 0
(a) Merk NR (b) Merk Torabika Sachet (c) (hitam), yang berada dalam sebuah area yang
Merk Vitazone dibatasi oleh bit 1, diganti dengan bit 1. Sehingga
menjadi suatu daerah putih.
METODA
Pemrosesan Awal
Pemrosesan awal (preprocessing) bertujuan
untuk mendapatkan karakteristik atau ciri dari citra.
Pada proses ini diharapkan noise pada citra dapat
dihilangkan semaksimal mungkin.
4
Bagian real ini kemudian didekomposisi n
menggunakan paket wavelet 2 dimensi. Matrik citra 100 C s (i ) 2
karakter didekomposisi menjadi 1 buah komponen
Aproksimasi (yang mengandung frekuensi rendah)
E m
i 1
5
rate diset terlalu kecil, maka algoritma akan bobot berdasarkan gradient descent dengan
konvergen dalam jangka waktu yang lama. learning rate yang bersifat adaptive dan juga
d. Maksimum Epoh (MaxEpochs). Maksimum menggunakan momentum. Pada kenyataannya,
epoh merupakan jumlah epoh maksimum yang boleh niali learning rate yang optimal akan terus berubah
dilakukan selama proses pelatihan. Iterasi akan selama proses pelatihan berlangsung seiring dengan
dihentikan apabila nilai fungsi kinerja kurang dari berubahnya nilai fungsi kinerja (MSE). Pada
atau sama dengan kinerja tujuan. Dalam program gradient descent dengan adaptive learning rate dan
aplikasi nilai Maksimum Epoh = 20000. momentum, nilai learning rate akan diubah untuk
e. Goal (Nilai Error Target). Dipakai untuk menjaga agar algoritma ini senantiasa stabil selama
menentukan batas nilai MSE agar iterasi dihentikan. proses pelatihan. Pelatihan akan sukses jika target
Iterasi akan berhenti jika MSE < batas yang tercapai, jika target tidak tercapai dan epoh = epoh
ditentukan. Error target yang diinginkan di-set pada max maka pelatihan dihentikan.
10e-3.
f. Titik pada hidden layer (node). Parameter ini Proses pengujian (classification)
perlu di-set karena suatu jaringan saraf tiruan harus
dilakukan pembelajaran beberapa kali dengan Kedua adalah proses pengidentifikasian untuk
parameter ini diubah-ubah agar mendapatkan hasil mengklasifikasikan citra uji yang dimasukkan.
pembelajaran yang paling baik yang telah dicapai. Citra uji yang digunakan berjumlah total 50 yang
Jumlah node untuk penelitian pertama sebanyak 100 terdiri atas 5 sampel untuk masing-masing kelas
(hidden 1), 100 (hidden 2), dan 100 (hidden 3). Serta (jumlah kelas = 10) klasifikasi merk produk. Vektor
untuk penelitian kedua sebanyak 75 (hidden 1), 50 masukan untuk proses pengenalan berukuran 1x64
(hidden 2), dan 25 (hidden 3). hasil ekstraksi ciri masing-masing citra uji.
g. Momentum (mc), nilai berkisar antara 0 sampai Parameter-parameter jaringan yang digunakan
1, namun untuk aplikasi ini nilainya ditetapkan 0.9. dalam proses pengenalan diperoleh dari proses
Dengan momentum, perubahan bobot tidak hanya belajar yang dilakukan sebelumnya.
didasarkan atas error yang terjadi pada epoh waktu Perbedaan dari kedua proses pelatihan dan
itu. Perubahan bobot saat ini dilakukan dengan pengujian adalah adanya algoritma yang
memperhitungkan juga perubahan bobot pada epoh ditambahkan pada proses pengenalan yaitu
sebelumnya. Dengan demikian kemungkinan algoritma untuk pengambilan keputusan identifikas
terperangkap ke titik minimum local dapat dihindari. pada proses pengujian.
h. Gradient minimum. Gradien minimum adalah
akar dari jumlah kuadrat semua gradient (bobot input, Prosentase Keberhasilan Sistem
bobot lapisan, bobot bias) terkecil yang Untuk pengujian sistem digunakan parameter
diperbolehkan. Iterasi akan dihentikan apabila nilai akurasi. Akurasi adalah ukuran ketepatan sistem
akar dari jumlah kuadrat semua gradient ini kurang dalam mengenali input yang diberikan sehingga
dari minimum. Pada kali ini gradient minimum menghasilkan keluaran yang benar. Secara
menggunakan default dari Matlab yaitu 1e-0006. sistematis dapat dituliskan sebagai berikut:
jumlah _ data _ benar
Proses Pembelajaran (Learning) Akurasi x100%
jumlah _ data _ keseluruhan
Algoritma jaringan BP digunakan untuk
dua proses yang berbeda. Pertama adalah proses 3. HASIL DAN PEMBAHASAN
belajar (learning) JST untuk mengklasifikasi citra Citra latih yang digunakan terdiri dari 200 citra
latih. Tidak ada petunjuk yang baku mengenai merk produk. Citra uji terdiri dari 50 citra merk
penentuan jumlah citra latih. Citra latih yang produk yang nantinya akan diujikan kedalam
digunakan dalam penelitian ini berjumlah 20 untuk jaringan hasil pelatihan citra latih. Apabila hasil
masing-masing kelas klasifikasi merk produk, pengenalan mendekati citra latih maka akan
sehingga jumlah total adalah 200 citra latih. Vektor dikenali sebagai citra latih tersebut.
masukan untuk proses belajar berukuran 200x64 yang
merupakan vektor ciri hasil dari ekstraksi ciri yang Pengujian Jumlah Epoch, Neuron Tersembunyi
berukuran 1x64 dari 200 citra latih. dan Laju Pembelajaran
Arsitektur BP untuk proses pelatihan sistem
menggunakan 4 hidden layer dengan jumlah node = Pengujian Jumlah Epoch
100 untuk masing-masing hidden layer. Serta Penentuan penggunaan jumlah epoch
dilakukan pula pengujian dengan 3 hidden layer dilakukan melalui pengujian terhadap nilai mse
menggunakan jumlah node yang berbeda 75 (Hidden (mean square error) yang dihasilkan berdasarkan
1), 50 (Hidden 2), 25 (Hidden 3) dan 20 (Hidden 4). jumlah epoch. Tabel 4.1 menunjukkan pengaruh
Algoritma pelatihan yang digunakan adalah traingdx dari penggunaan jumlah epoch yang diujikan
(gradient descent dengan momentum dan adaptive terhadap mse.
learning rate). Fungsi ini akan memperbaiki bobot- Tabel 4.1 Pengaruh Besarnya Jumlah Epoch
6
(banyaknya node 100 pada tiap hidden), serta
Jenis Mother Learning Epoch Pencapaian Target Error learning rate yang diterapkan adalah 0.5 yaitu
Wavelet 1 2 memberikan epoh sebanyak 92.
Hidden Hidden 3 Hidden
Rate Layer layer Layer
Coiflet 1 (Coif1) 0.01 166 167 165 Tabel 4.3 Pemilihan Nilai Learning
0.05 221 231 138 Waktu Training (dalam
0.1 418 129 123 Jenis Mother Learning Detik)
0.5 414 204 276 1 2 3
1 798 950 835 Hidden Hidden Hidden
Daubechies 6 Wavelet Rate Layer layer Layer
(Db6) 0.01 247 158 161 Coiflet 1 (Coif1) 0.01 2.0569 3.0215 6.5683
0.05 166 127 130 0.05 1.8231 2.5539 6.1691
0.1 134 121 111 0.1 2.4163 2.3765 6.389
0.5 505 92 159 0.5 4.6996 3.3813 7.621
1 440 505 320 1 5.0418 3.1084 9.6965
Daubechies 2 Daubechies 6
(Db2) 0.01 971 829 982 (Db6) 0.01 1.9385 2.9492 3.6424
0.05 2057 1147 1225 0.05 1.6591 3.1688 2.9529
0.1 3097 1244 1262 0.1 1.6925 3.6099 4.0666
0.5 3766 1949 1797 0.5 2.0217 2.0265 3.7799
1 20000 20000 20000 1 4.6936 3.8526 5.4203
Haar 0.01 166 166 167 Daubechies 2
0.05 132 137 144 (Db2) 0.01 10.4038 20.7578 39.9495
0.1 120 121 126 0.05 28.5059 20.4538 49.5969
0.5 310 242 271 0.1 28.9019 27.3736 37.9082
1 779 593 412 0.5 70.7839 39.9911 43.8351
1 167.2202 91.4358 314.403
Haar 0.01 2.0569 2.9486 3.6731
Keterangan : MW = maksimal waktu 0.05 1.7715 2.536 3.1773
pelatihan 0.1 1.6712 2.533 2.9339
MSE = nilai error 0.5 1.9801 2.2155 2.4349
HP =keberhasilan pengenalan 1 4.7791 2.154 2.2353
Berdasarkan Tabel 4.3 pada learning rate
Dari tabel 4.1 di atas terlihat jumlah 3 hidden paling besar yaitu yang bernilai 1, memakan waktu
layer memakan waktu komputasi pelatihan yang pelatihan paling lama bahkan untuk kasus keluaran
paling lama dan MSE yang tercapai pada jumlah 3 mother wavelet Daubechies 2, desired MSE tidak
hidden layer paling kecil jika dibandingkan dengan tercapai (kolom yang ditandai dengan blok warna
jumlah 1 dan 2 hidden layer. Penambahan jumlah merah).
hidden neuron menjadi 100 neuron, tidak terlalu
berpengaruh, karena nilai desired MSE sudah tercapai Pengujian Pengenalan Citra Latih dan Citra Uji
ketika menggunakan neuron yang lebih kecil. Pada Tabel 4.4 akan ditampilkan hasil
identifikasi semua citra merk produk, yang
Pemilihan Nilai Laju Belajar (Learning Rate) memiliki makna bahwa proses identifikasi merk
Tabel 4.2 memperlihatkan pengaruh besarnya produk yang dilakukan oleh sistem telah sesuai atau
nilai laju belajar terhadap jumlah epoch. Parameter dengan kata lain hasil pengujian memiliki akurasi
yang digunakan untuk percobaan adalah: tinggi hingga 98%.
- Fungsi aktivasi = lap.1 : tansig lap.2 : logsig Jmlh Citra
Keber Keber Uji yang
- Jumlah Hidden Neurons = @ 100 (3 hidden layer) Klasifikasi Citra
Jmlh Jmlh
hasilan hasilan
Citra Citra Dikenali
- Target Error = 0.001 Merk Produk Citra Citra Salah
Latih Uji
Latih Uji
HL HN LR MSE MW(s) Akurasi Epoh
Data Uji Tercapa Air Minum Indomaret 20 5 20 5 0
i
GoodDay 20 5 20 5 0
1 100 0.01 0.000966212 2.572 90% 166
2 100, 100 0.01 0.000967597 4.3763 90% 167 HiLo 20 5 20 5 0
3 100, 100, 0.01 0.000950757 5.9167 88% 165 Hit Kapur 20 5 20 5 0
100 NR Hair Reactive 20 5 20 5 0
1 75 0.01 0.000991844 2.0569 82% 166 Sunsilk 20 5 20 5 0
2 75, 50 0.01 0.000986585 3.0215 84% 174 Sariwangi Kotak 20 5 20 5 0
3 75, 50, 25 0.01 0.00097507 6.5683 94% 375 Torabika Sachet 20 5 20 5 0
- Epoch Maksimum = 20000 Visine 20 5 20 5 0
Vitazone Hijau 20 5 20 4 1
Tabel 4.2 Pemilihan Nilai Learning Jumlah Total 200 50 200 49 1
Berdasarkan Tabel 4.2 didapat jumlah epoh Performansi 98% 2%
paling sedikit untuk pencapaian desired MSE,
diperoleh pada percobaan inputan dari hasil Tabel 4.4 Keberhasilan Hasil Identifikasi Citra
mother wavelet haar, jumlah 2 hidden layer Merk Produk
7
[1] Ripley, B. D., 2007, Pattern Recognition
Dengan performansi seperti ini, dapat and Neural Networks, Cambridge University
disimpulkan bahwa sistem dapat melakukan Press, United Kingdom.
pengidentifikasian merk produk secara baik. [2] Gurney, K., 1997, An Introduction to Neural
Network, UCL Press, London.
Daftar Pustaka