BAB 2
LANDASAN TEORI
Bab ini membahas tentang teori penunjang serta penelitian sebelumnya yang
berhubungan dengan permasalahan identifikasi jenis citra catur cina, serta metode
Backpropagation.
2.1. Citra
Citra adalah gambaran dari suatu objek yang dihasilkan dari pantulan atau pembiasan
sinar yang difokuskan dari sebuah lensa atau cermin (Simonett, 1983). Citra
didefenisikan sebagai suatu fungsi dua dimensi f(x,y), dimana x dan y adalah
koordinat spasial dan luasan dari f untuk tiap pasang koordinat (x,y) disebut sebagai
intensitas keabuan citra pada suatu titik tertentu. Jika x, y, dan nilai intensitas f
bersifat terbatas, maka citra tersebut dapat disebut sebagai citra digital (Gonzales et al,
2002). Citra yang digunakan pada penilitian ini adalah biji catur cina. Citra biji catur
cina merupakan sebuah gambaran citra foto yang didapatkan dari sensor kamera pada
webcam di dalam penelitian ini. Suatu gambar memiliki ciri yang berbeda dengan
gambar yang lain berdasarkan pada karakteristik yang mencolok pada gambar
tersebut. Ciri didefinisikan sebagai sebuah tanda yang khusus, dimana tanda tersebut
menbedakan suatu gambar dengan gambar lain. Citra dari biji catur cina dapat
dibedakan berdasarkan pada ciri pada biji catur cina tersebut seperti pola dari tulisan,
warna, tekstur dan sisi atas.
2.2. Image Processing
Image processing adalah sebuah transformasi input data yang mentah untuk
membantu kemampuan komputasional dan pencari ciri serta mengurangi noise(derau)
(Putra, 2008). Image processing adalah sebuah teknik untuk menemukan orientasi dari
citra sehingga memudahkan dalam proses pengklasifikasian dan penelitian lebih lanjut
tentang sebuah citra.
2.2.1. Canny Edge Detection
Edge detection adalah topik yang penting di dalam analisis citra (Soo-Ji, 2002).
Tujuan dari edge detection secara umum adalah untuk mengurangi jumlah data di
dalam sebuah citra dan juga menyediakan elemen struktural digunakan untuk
pemrosesan citra yang lebih mendalam (Canny, 1986). Walaupun algoritma Canny
menyertakan proses smoothing, tetapi algoritma Canny tidak menyampingkan
penggunaan dari median filter. Dikarenakan, proses smoothing hanya mengaburkan
citra dan proses smoothing hanya menyebabkan sedikit noise pada citra untuk
dikaburkan. Akantetapi, median filter menyebabkan banyak noise yang dihilangkan
(Nosrati et al, 2012).
2.2.1.1. Hough Circle Transform
Hough Transform telah dikenal sebagai sebuah tool yang kuat untuk pendeteksian
bentuk kurva-kurva yang bersifat parametirk di dalam citra (Duda & Hart, 1972;
Hough, 1962). Circle Hough Transform didesain untuk menemukan
lingkaran-lingkaran yang terbentuk oleh sebuah titik pusat (x0 , y0) dan sebuah radius r. Dalam
menentukan sebuah lingkaran, sangat penting untuk mengakumulasi nilai – nilai
parameter pada tiga ruang dimensi (x0 , y0, r) (Smereka & Duleba, 2008).
2.2.2. Image Enhancement
Proses perbaikan citra terdiri dari sekumpulan teknik yang bertujuan untuk
meningkatkan kondisi visual dari citra atau untuk mengubah citra menjadi bentuk
yang lebih baik disesuaikan untuk analisis oleh manusia atau mesin. Tujuan utama
dari perbaikan citra adalah untuk memodifikasi atribut-atribut dari sebuah citra untuk
proses yang diperlukan dan peneliti yang khusus. Selama proses perbaikan citra, satu
atau lebih atribut pada citra dimodifikasikan. (Snehal & Shandilya, 2012). Perbaikan
citra merupakan salah satu proses preprocessing image yang penting dan dapat
2.2.2.1. Dilation
Dilasi adalah operasi yang berkebalikan dari operasi erosi. Dilasi memperbesar
foreground sedangkan erosi memperkecil foreground. Foreground direntangkan dari
batas luar foreground tersebut. Jika terdapat lubang di dalam foreground pada citra,
lubang tersebut akan menghilang. Sama seperti erosi, operasi dilasi menggunakan
structural elements (Jawas & Suciati, 2013). Dilasi menggunakan persamaan 2.1
dibawah ini (Tambe et al, 2013).
X⊕ B= X + b = { x + b : x ∈ X &b ∈ B} (2.1) Dimana : X = citra grayscale asli
B = structuring elements
x = set dari citra asli
b = set dari structing elements
2.2.2.2. Gaussian Blur
Di dalam image processing, operasi yang paling umum adalah penggunaan dari kernel
filter. Persamaan dari Gaussian yang menghasilkan jenis-jenis dari kernel-kernel
tersebut dianggap memiliki nilai mean nol. Berikut adalah persamaan Gaussian satu
dimensi 2.2 didefinisikan dibawah ini (Robinson et al, 2012).
(2.2)
Dimana :
a = amplitude dari curve
σ = variansi dari Gaussian
2.2.3. Min-Max Linear Contrast Stretch
Sewaktu menggunakan minimum-maximum linear contrast strectch,nilai minimum
dan maximum dari citra asli diubah menjadi sekumpulan nilai-nilai yang spesifik yang
mewakili jangkauan dari tingkat kecerahan pada citra (Saleh et al, 2010). Berikut
persamaan dari Min-Max Linear Contrast Stretch 2.3 dibawah ini (Saleh et al, 2010).
Dimana : g(x,y) = citra Min-Max Linear Contrast Stretch dengan matriks x dan y
f(x,y) = citra input dengan matriks x dan y
min = nilai intensitas minumum pada citra input
max = nilai intensitas maximum pada citra input
2.2.4. Colour Space Conversion
Warna adalah cara dari HVS(Human Visual System) dalam menghitung sebuah bagian
dari gelombang elektromagnetik, diantara nilai 300 sampai dengan 830 nm.
Disebabkan oleh beberapa elemen dari HVS yang tidak dapat dilihat dari semua
kemungkinan pengabungan spektrum oleh mata manusia, tetapi manusia lebih
cenderung untuk membedakan keberagaman spektrum dengan warna. Colour space
adalah sebuah notasi yang dimana dapat menspesifikan warna (Tkalci & Jurij, 2003).
2.2.4.1. RGB2Grayscale
Semua pengubahan color-space menggunakan konvensi : citra-citra 8-bit berskala
0-255, citra-citra 16-bit berskala 0-65536, dan angka pecahan adalah diantara 0.0 dan
1.0. Ketika citra keabuan diubah menjadi citra berwana, semua komponen yang
menghasilkan citra dianggap menjadi sama; tetapi untuk transformasi yang
berkebalikan (RGB atau BGR menjadi Grayscale), nilai keabuan dihitung dengan
rumusan yang berbobot secara perseptual (Bradski & Kaehler, 2008).Berikut
persamaan 2.4 untuk menghitung transformasi citra RGB atau BGR menjadi citra
keabuan (Bradski & Kaehler, 2008).
(2.4)
Dimana : Y = nilai grayscale yang dihasilkan
R = nilai red dari citra RGB atau BGR
G = nilai green dari citra RGB atau BGR
2.2.5. Resizing
Sering dijumpai citra dengan berbagai ukuran yang perlu diubah sesuai dengan ukuran
yang diinginkan. Secara umum, diperlukan pemetaan dari sumber citra ke cirta resized
tujuan menjadi semulus mungkin (Bradski & Kaehler, 2008).
2.2.6. Image Normalization
Di dalam mendapatkan hasil pengenalan yang baik, normalisasi biasa digunakan
untuk mengskalakan dan memindahkan karakter ke dalam ukuran yang
ternormalisasikan dan sesuai dengan aspek rasio. Algoritma normalisasi yang baik
akan menggunakan grid untuk proses yang lebih jauh (Liu, Y., 2009). Berdasarkan
hasil penelitian oleh X.Ding, karakter yang ternormalisasikan berdasarkan pada center
mass lebih cepat untuk diproses daripada batas-batas citra yang mengakibatkan
beberapa informasi dari citra hilang ketika kualitas input tidak sempurna (Ding, 2002).
Dalam menghadapi ukuran font yang berbeda, normalisasi juga akan mengcocokkan
ukuran font dan sesuai dengan aspek rasio pada karakter (Liu, Y., 2009).
2.2.7. Thresholding
Threshold menjadi sangat sederhana tetapi merupakan sebuah tool yang efektif untuk
memisahkan objek dari background. Keluaran dari operasi threshold adalah citra biner
yang akan mengindikasikan objek foreground, yang merupakan, teks yang tercetak,
simbol-simbol, tujuan pada peta dan bahan materi dari sebuah objek. Berikut
persamaan 2.5 threshold dibawah ini (Romen et al, 2011).
{
(2.5)
Dimana : b(x,y) = citra yang terbinerisasikan
I(x,y) = citra asli yang akan dilakukan threshold
T(x,y) = nilai matriks threshold untuk citra.
2.2.8. Thinning
Goresan pada tulisan tebal dan besar secara normal lebih tebal dari font yang lain, hal
tersebut memberikan sebuah perbedaan yang sangat besar pada nilai fitur yang
terkandung di dalam citra font tersebut. Oleh sebab itu, proses thinning sangat
2.3. Ekstraksi Fitur
Ekstraksi fitur merupakan nilai fitur yang terkandung di dalam sebuah citra yang
mewakili ciri khusus dari sebuah citra. Nilai yang didapatkan dari hasil
pengekstraksian fitur dari sebuah citra kemudian akan di proses untuk diklasifikasi.
Ekstaksi Fitur yang digunakan di dalam penelitian ini adalah Direction Feature
Extraction.
2.3.1. Direction Feature
Direction Feature adalah pencarian nilai-nilai fitur berdasarkan label arah pada setiap
pixel. Pada metode Direction Feature, setiap pixel foreground pada gambar memiliki
arah tersendiri dimana arah yang digunakan memiliki empat arah dan masing-masing
arah diberikan label nilai tersendiri (Liu & Blumenstein, 2008). Arah yang digunakan
dapat dilihat pada tabel 2.1 dibawah ini (Agung et al, 2009).
Tabel 2.1 Nilai Label dan Arah pada Direction Feature
Arah Nilai Bentuk
Vertikal 2 |
Diagonal Kanan 3 /
Horizontal 4 _
Diagonal Kiri 5 \
Nilai arah pada setiap pixel dapat diperoleh melalui proses pengecekan secara raster
dari arah kiri ke kanan. Pengecekan secara raster bertujuan untuk mencari pixel yang
memiliki nilai 1 atau pixel yang berasal dari foreground. Selama pengecekan raster
berlangsung, pixel yang memilii nilai1 atau berasal dari pixel foreground akan
mengecek nilai neighbour dari pixel tersebut. Apabila P adalah pixel foreground yang
tercek, pixel neighbour akan dicek adalah P1atau P5 terdapat pixel foreground maka
diberikan label nilai 2, P2 atau P6 terdapat pixel foreground maka diberikan label nilai
3, P3 atau P7 terdapat pixel foreground maka diberikan label nilai 4, P4 atau P8
terdapat pixel foreground maka diberikan label nilai 5. Tabel 2.2 menunjukkan
Tabel 2.2 Matriks neighbour pixel P dalam pelabelan nilai arah
P1 P2 P3 P8 P P4 P7 P6 P5
Selanjutnya, nilai-nilai fitur yang berdimensi sesuai dengan citra biner yang diubah
akan mengalami proses transisi. Proses transisi melakukan pengecekan secara raster
dari empat arah (kiri ke kanan, kanan ke kiri, atas ke bawah, bawah ke atas). Sebelum
melakukan transisi, nilai transisi maksimum didefinisikan terlebih dahulu. Apabila
nilai T adalah nilai transisi maksimum yang didefinisikan, nilai W dan H adalah nilai
lebar dan tinggi dari citra yang diproses.
Persamaan 2.6 ukuran dari Direction Feature dari kiri menuju kanan di bawah ini.
LR = T . H (2.6)
Persamaan 2.7 ukuran dari transisi pada Direction Feature dari kanan menuju kanan dibawah ini.
RL = T . H (2.7)
Persamaan 2.8 ukuran dari transisi pada Direction Feature dari atas menuju bawah dibawah ini.
UD = T . W (2.8)
Persamaan 2.9 ukuran dari transisi pada Direction Feature dari bawah menuju atas dibawah ini.
DU = T . W (2.9)
Dimana : LR = ukuran transisi kiri ke kanan
RL = ukuran transisi kanan ke kiri
UD = ukuran transisi atas ke bawah
DU = ukuran transisi bawah ke atas
T = nilai transisi
W = lebar dari citra asli
Proses berikutnya adalah menormalkan ukuran fitur dari transisi fitur pertama sekali
pada Direction Feature. Proses menormalkan ukuran matriks transisi bertujuan untuk
mengecilkan data input fitur supaya proses pengklasifikasian menghasilkan hasil yang
lebih akurat dan proses yang tidak memakan waktu terlalu banyak. Ukuran
penormalan citra dilakukan secara berurutan dengan menjumlahkan baris pertama
sampai dengan baris yang berindeks jumlah transisi setiap arah. Persamaan 2.10
menunjukkan ukuran normalisasi dari nilai transisi direction feature.
(2.10)
Dimana : NS = ukuran fitur normalisasi setiap arah
DT =ukuran transisi pada direction feature pada setiap arah (kiri ke kanan, kanan ke kiri, atas ke bawah, bawah ke atas)
T = nilai transisi
Hasil akhir yang dihasilkan oleh fitur ekstraksi Direction Feature adalah nilai
normalisasi dari keempat arah yang digabungkan. Nilai fitur akhir dari Direction
Feature memiliki ukuran yang berukuran dengan jumlah dari normalisasi keempat
arah. Persamaan 2.11 menunjukkan ukuran akhir dari nilai fitur yang dihasilkan.
(2.11)
Dimana : DF = ukuran dari hasil akhir Direction Feature
NS = ukuran fitur normalisasi setiap arah(kiri ke kanan, kanan ke kiri,
atas ke bawah, bawah ke atas)
T = nilai transisi
2.4. Backpropagation
Jaringan feed-forward dapat digunakan untuk bermacam masalah klasifikasi dan
pengenalan. Di dalam algoritma Backpropagation, tidak penting untuk mengetahui
model matematika dari permasalahan pengenalan dan klasifikasi untuk melatih dan
Di dalam algoritma ini, apabila arsitektur dari jaringan yang dipilih tepat dan
sekumpulan data training yang memadai disertakan, jaringan Backpropagation akan
memberikan solusi yang tepat (Khusbu & Mehta, 2013).
Langkah-langkah yang dilakukan oleh algoritma Backpropagation adalah sebagai
berikut (Khusbu & Mehta, 2013):
1. Data input disertakan di dalam elemen yang memproses lapisan pertama dari
jaringan Backpropagation dan diperbanyak sepanjang jalur penghubung menuju
lapisan pertama.
2. Setiap elemen pemrosesan, h di dalam hidden layer menghitung jumlah dari
bobot input dari setiap input, i, dari lapisan sebelumnya. Persamaan 2.12
menunjukkan jumlah bobot yang terdapat pada setiap elemen di lapisan input
yang menuju lapisan hidden.
(2.12) Dimana : Weighted sum h = jumlah bobot pada elemen dari lapisan input ke
hiddden
weighth = bobot pada elemen dari lapisan input ke hidden
input h = nilai input yang berada pada lapisan hidden.
3. Keluaran dari pemrosesan pada lapisan hidden¸h, kemudian dikalkulasikan
dengan fungsi aktivasi, f, dan kemudian diperbanyak ke lapisan selanjutnya.
Fungsi aktivasi sigmoidal biasanya adalah f(x) = 1 / (1+ex). Persamaan 2.13
menunjukkan perhitungan fungsi aktivasi sigmoid keluaran elemen h dari lapisan
hidden.
(2.13)
Dimana : Hidden output h = nilai dari fungsi aktivasi sigmoidal elemen h dari lapisan hidden
weighted sum h = jumlah bobot di elemen h
biash = nilai bias pada elemen h
4. Langkah pada nomor 2 dan nomor 3 mengalami perulangan pada lapisan hidden
5. Setiap elemen pemrosesan o, di dalam lapisan output mengkalkulasikan jumlah
dari bobot input yang berada pada setiap elemen h, dari lapisan sebelumnya.
Persamaan 2.14 menunjukkan jumlah bobot yang berasal dari lapisan hidden
menuju lapisan output.
, untuk semua elemen h (2.14) Dimana : Weighted sum o = jumlah bobot dari lapisan hidden menuju output
weight oh = jumlah bobot pada elemen h pada hidden ke output layer
input oh = nilai input yang berada pada lapisan output
6. Nilai keluaran dari elemen pemrosessan lapisan output o, kemudian
dikalkulasikan dengan fungsi aktivasi, f. Persamaan 2.15 menunjukkan
perhitungan fungsi aktivasi elemen o di lapisan output.
(2.15) Dimana : Output o = nilai dari fungsi aktivasi elemen o di lapisan output
weighted sum o =jumlah bobot di elemen o
bias o = nilai bias di elemen o
7. Nilai output yang telah dihitung dibandingkan dengan output tujuan untuk
menghitung nilai error untuk setiap elemen pemrosesan lapisan output. Turunan
dari fungsi aktivasi f digunakan untuk mencari nilai rata-rata perubahan. Untuk contoh ini f’(x) = f(x) (1-f(x)). Persamaan 2.16 menunjukkan perhitungan kesalahan yang terjadi di lapisan output. Perulangan dan jaringan mempelajari
ketika melakukan perulangan sampai menemukan nilai error yang paling kecil. (2.16) Dimana : Error o = nilai error yang terdapat pada setap elemen o
target o = nilai elemen pada node target elemen o
output o = nilai output pada elemen o
weightedsumo = jumlah beban pada elemen o
biaso = nilai bias pada elemen o
8. Error pada lapisan-lapisan hidden di dalam elemen pemrosesan dihitung dengan
melajukan error kembali melalui jaringan. Sangat penting bahwa weightedh
weightedsumh = jumlah bobot yang berada pada elemen h
biash = nilai bias yang terdapat pada elemen h
erroro = nilai error yang terdapat pada elemen o
weightoh = nilai bobot yang berada pada elemen o
9. Bobot-bobot di dalam lapisan output telah terupdate, β = learning rate diantara 1 dan 0, α = konstanta momentum. Penggunaan β*erroro mewakili peran dari delta. Input o adalah nilai input bergerak di jalur-jalur yang berasal dari lapisan hidden
menuju lapisan output. Persamaan 2.18 menunjukkan proses update bobot yang
dilakukan oleh Backpropagation pada lapisan output.
( )
(2.18)
Dimana : Weighto() = bobot pada elemen o
t = indeks elemen pada bobot
α = konstanta momentum
β = learning rate antara 1 dan 0
erroro = nilai error pada elemen o
input = nilai input dari lapisan hidden menuju output.
input2 = nilai input dari lapisan hidden menuju output selanjutnya.
10. Bobot-bobot pada setiap lapisan hidden telah terupdate. β = konstanta learning
rate antara 1 dan 0, α = konstanta momentum. Persamaan 2.19 menunjukkan
proses update bobot yang dilakukan oleh Backpropagation pada lapisan hidden.
( )
(2.19) Dimana : Weighth() = bobot pada elemen o
t = indeks elemen pada bobot
β = konstanta learning rate
errorh = nilai error pada elemen h
input = nilai input dari lapisan hidden menuju output.
input2 = nilai input dari lapisan hidden menuju output selanjutnya.
Dalam menjalankan algoritma Backpropagation, proses feedforward menjalankan
langkah 1 sampai 6 dan proses backpropagation terjadi selama langkah 7 sampai 10
untuk mengecek error yang dihasilkan (Khusbu & Mehta, 2013).
2.5. Penelitian Terdahulu
Penelitian tentang pengenalan huruf maupun tulisan dalam OCR (Optical Character
Recognition) atau pengenalan karakter optik telah banyak dilakukan dengan berbagai
metode. Pada umumnya, pengenalan huruf diimplementasikan untuk scanning teks,
automasi, robotik dan lain-lain.
Penelitian yang dilakukan oleh (Wen, 2014) menggunakan metode Feature
Comparisons Technique untuk diimplementasikan dalam menghitung jarak dari tiap
contour yang terdapat pada setiap biji catur cina dan menghitung jarak tengah dari
citra biji catur cina. Pada penilitian ini, metode yang dilakukan adalah dengan
membandingkan fitur-fitur yang terdapat pada citra catur. Hasil dari penelitian ini
adalah 100% tingkat akurasi dengan persentase noise dibawah 20% dan sudut
inklanasi 40 derajat.
Penelitian yang dilakukan oleh (Jia et al, 2011) menggunakan metode Radial
Harmonic Fourier Moments untuk diimplementasikan dalam mengenali
karakter-karakter cina yang terdapat pada permukaan atas catur cina. Pada penelitian ini,
metode yang digunakan menunjukkan hasil keakuratan pada data training 99.14% dan
data testing 100%. Akantetapi, disebabkan oleh discrimination power pada metode
yang digunakan menghasilkan tingkat keakuratan yang tidak selalu sama dari dimensi
fitur yang berbeda-beda. Sampel data training yang digunakan adalah 10 derajat rotasi
karakter alphabet dengan menggunakan jaringan saraf tiruan. Pada peneltian ini,
ukuran vektor input pada input layer adalah 26x26 dengan tujuan error sebesar 0,01.
Jaringan saraf tiruan Backpropagation yang telah mengalami proses training selama
1000 epochs. Setelah proses training selesai, jaringan saraf tiruan dapat mengenali
semua karakter secara benar pada penelitian ini.
Penelitian yang dilakukan oleh (Agung et al, 2009) menggunakan metode
Modified Direction Feature Extraction dan Learning Vector Quantization untuk
diimplementasikan dalam mengenali huruf bali. Pada penelitian ini, hasil analisis pada
variasi ukuran normalisasi, jumlah transisi MDF dan pembagian gambar menjadi
beberapa bagian menunjukkan tingkat akurasi 88.89% pada data training dan 81.49%
pada data testing. Rangkuman dari penelitian-penelitian terdahulu dapat dilihat pada
tabel 2.3.
Tabel 2.3 Tabel Peneltian Terdahulu No. Peneliti (Tahun) Metode Keterangan
pada setiap dimensi pada
fitur-- Selama noise diproses dengan noise medium di dalam data
Perbedaan penelitian yang dilakukan dengan penelitian terdahulu adalah penelitian ini
berfokus pada tingkat keakuratan berdasarkan pola karakter dari metode yang
digunakan. Berikut adalah metode beserta alasan penggunaan metode yang akan
diterapkan pada penelitian ini.
- Menggunakan fitur ekstraksi arah pada pola, sehingga penelitian ini juga dapat
mengklasifikasi tulisan karakter mandarin maupun karakter mandarin yang
dicetak dengan berbagai jenis font pada ukuran biji catur yang sama.
- Menggunakan dataset training yang bersifat real world dan pengujian
terhadap dataset font digital yang dikumpulkan oleh peneliti dari berbagai set
sampel catur yang memiliki jenis font yangberbeda.
- Menerapkan salah satu metode jaringan saraf tiruan sebagai metode