• Tidak ada hasil yang ditemukan

   

TINJAUAN PUSTAKA

Dalam bab ini akan dibahas teori-teori yang mendasari penelitian ini. Dimulai dari teori dan konsep citra digital, deteksi pola lingkaran dengan Circle Hough Transform (CHT), ekstrasi ciri pola lingkaran menggunakan Two Dimension Principle Component Analysis (2DPCA) serta proses pengenalan roda kendaraan dengan Jaringan Syaraf Tiruan Propagasi Balik.

Citra Digital

Citra digital merupakan sebuah larik (array) berisi nilai-nilai riil maupun kompleks yang dapat direpresentasikan dengan deretan bit tertentu, yang didefinisikan sebagai fungsi dua dimensi f(x,y) berukuran matriks M kali N,

dimana M adalah baris dan N adalah kolom serta x dan y adalah pasangan

koordinat spasial (Gonzales, et al 2004).

Nilai f pada titik koordinat (x,y) disebut sebagai skala keabuan (gray level) atau intensitas dari citra digital pada koordinat koordinat tersebut. Apabila nilai x,

y dan f secara keseluruhan berhingga dan bernilai diskrit maka citra tersebut

merupakan citra digital.

Citra digital direpresentasikan dalam bentuk matriks persegi yang mewakili ukuran dari citra tersebut. Misalkan terdapat sebuah citra digital dengan ukuran MxN, maka citra dapat direpresentasikan dalam sebuah matriks berukuran MxN sebagai berikut:

, , , ,

, , , ...(1)

Persamaan matriks diatas memperlihatkan irisan antara baris dan kolom (pada posisi x dan y) dikenal dengan nama picture elemen (pixel). Pixel memiliki intesitas yang dapat dinyatakan dengan bilangan dengan rentang tertentu, dari nilai minimum sampai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya. Namun secara umum jangkauannya adalah 0 – 255.

 

Citra RGB dan Derajat Keabuan (Gray Scale)

Citra RGB dan derajat keabuan merupakan format warna pada citra

digital. Citra warna RGB memiliki kombinasi warna Red(R), Blue(B), dan

Green(G) disetiap pikselnya. Setiap komponen RGB memiliki intensitas dengan nilai minimal 0 dan maksimal 255 (8 bit). Setiap piksel pada citra RGB membutuhkan 3 Byte untuk media penyimpanan, sehingga kemungkinan jumlah kombinasi citra RGB adalah lebih dari 16 juta warna.

Citra keabuan merupakan citra digital yang hanya memiliki sebuah kanal pada setiap pixel, dengan kata lain bagian warna Red(R) sama dengan bagian Green(G) sama dengan bagian Blue(B) (Gonzales et al, 2004). Derajat keabuan merupakan warna abu dengan berbagai tingkatan dari warna hitam (minimum) ke putih (maksimum). Jumlah maksimum warna terdiri atas 4 bit dan 8 bit. Citra dengan derajat keabuan 4 bit memiliki 16 kemungkinan warna, yaitu 0 sampai 15.

Setiap pixel citra dengan nilai intensitas keabuan 8 bit sehingga terdapat 256

kombinasi nilai dimulai dari 0 sampai dengan 255. Persamaan berikut memperlihatkan konversi citra RGB ke dalam citra keabuan (Qur’ania 2012) :

, , , , ...(2)

Persamaan (2) akan memetakan fungsi , yang merupakan nilai piksel citra

RGB menjadi fungsi keluaran , sebagai citra keabuan. Gambar 1

memperlihatkan perubahan nilai piksel RGB ke derajat keabuan.

, R= 50 G= 60 B= 40 R= 55 G= 70 B= 55 R= 35 G= 50 B= 50 R= 70 G= 80 B= 60 50 60 45 70 R= 55 G= 70 B= 55 R= 55 G= 65 B= 45 R= 45 G= 60 B= 60 R= 60 G= 30 B= 45 60 55 55 45 R= 50 G= 50 B= 50 R= 50 G= 60 B= 40 R= 70 G= 70 B= 70 R= 70 G= 45 B= 50 50 50 70 55

Citra RGB Citra keabuan

 

   

Smoothing

Smoothing citra masukan dilakukan dengan maksud untuk mengurangi

respons sistem terhadap noise atau menyiapkan citra untuk proses segmentasi. Banyak jenis algoritma smoothing dengan menggunakan linear filter ataupun non-linear filter. Smoothing dengan menggunakan non-linear filter mengacu pada Low Pass Filter (LPF).

Penapis rata-rata (average filter) merupakan salahsatu LPF yang

digunakan untuk mengurangi detil yang ‘irrelevant’ dalam suatu citra. Secara

umum average filter dapat diberi bobot tertentu dengan maksud untuk

mengurangi noise dalam proses smoothing. untuk menapis citra berukuran

dengan filter mask (selubung penapis) terbobot ukuran diberikan dalam

persamaan berikut: (Gonzales, et al 2002)

, , , , ...(3)

dengan dan . persamaan diatas digunakan untuk

, , , … . , dan , , , … . , . Gambar 2 memperlihatkan filter

mask 3 5 dan matriks 3 5 dengan nilai piksel yang sesuai dengan filter mask

tersebut (Gambar 3).

W(-1,-2) W(-1,-1) W(-1,0) W(-1,1) W(-1,2)

W(0,-2) W(0,-1) W(0,0) W(0,1) W(0,2)

W(1,-2) W(1,-1) W(1,0) W(1,1) W(1,2)

Gambar 2 Filter mask 3 5.

f(x-1,y-2) f(x-1,y-1) f(x-1,y) f(x-1,y+1) f(x-1,y+2)

f(x,y-2) f(x,y-1) f(x,y) f(x,y+1) f(x,y+2)

f(x+1,y-2) f(x+1,y-1) f(x+1,y) f(x+1,y+1) f(x+1,y+2)

 

First Derivative Operator (Operator Derivatif Pertama)

Dalam deteksi tepi, proses smoothing saja terkadang tidak cukup, untuk itu diperlukan kombinasi antara teknik smoothing dengan algoritma derivatif, hal ini dilakukan untuk meningkatkan akurasi serta mengurangi respons ganda terhadap suatu tepi.

Derivatif pertama dalam pemrosesan citra menerapkan magnitudo gradien.

Untuk fungsi , gradien dari f pada koordinat (x,y) didefinisikan sebagai

vektor kolom dua dimensi sebagai berikut:

...(4)

Sedangkan untuk magnitudo dari vektor tersebut diberikan dalam persamaan berikut:

/

...(5)

Thresholding

Walaupun citra awal telah mengalami smoothing dan filtering pada tahap awal, masih saja memungkinkan bagi keluaran tahapan sebelumnya mengalami kesalahan disebabkan oleh noise. Untuk mengatasi hal tersebut, maka dilakukan thresholding. Melalui penetapan nilai threshold (nilai ambang), maka nilai yang berada dibawah nilai ambang akan diabaikan.

Hough Transform

Hough Transform (HT) merupakan suatu teknik ekstrasi fitur yang dipergunakan untuk menentukan lokasi suatu bentuk dalam citra. HT diperkenalkan oleh Paul Hough pada 1962. Rosenfeld (1969) menggunakannya sebagai salah satu algoritma pemrosesan citra, kemudian tahun 1972 Duda, et al menerapkan HT untuk mendeteksi garis dalam citra.

HT telah dikembangkan untuk mendeteksi bentuk-bentuk umum dalam citra seperti lingkaran (circle), elips, dan parabola. Konsep dasar HT adalah

 

   

terdapat garis dan kurva potensial yang tak terhitung jumlahnya pada suatu citra yang melalui titik mana saja pada berbagai ukuran dan orientasi. Tujuan transformasi adalah untuk menemukan garis dan kurva yang melewati banyak titik-titik (features) dalam citra, yaitu garis dan kurva terdekat yang paling sesuai dengan data dalam citra. Kelebihan HT adalah tahan terhadap gangguan (noise

robust) dan kemampuannya untuk mengekstrasi garis maupun kurva bahkan

dalam suatu area dengan ketidakhadiran piksel (pixel gaps) (Argialas & Mavrantza 2004).

Circle Hough Transform (CHT)

HT dapat didefinisikan menggunakan persamaan lingkaran. Persamaan lingkaran tersebut dapat dilihat pada persamaan 6. Persamaan ini mendefinisikan

lingkaran sebagai semua titik , yang berada pada radius r terhadap titik pusat

, . Persamaan lingkaran yang umum adalah:

...(6)

Pada metode hough circle, setiap titik tepi mendefinisikan lingkaran dalam

ruang akumulator (accumulator space) dengan tiga buah parameter lingkaran

yaitu, , , dan r. Setiap titik tepi , dapat dihitung menggunakan persamaan

berikut:

cos ...(7) sin ...(8) Lingkaran ini diperoleh dari nilai kemungkinan radius dan lingkaran dipusatkan pada koordinat dari setiap titik tepi seperti diperlihatkan pada Gambar 4 berikut:

 

Algoritma Titik Tengah

Tahapan-tahapan pencarian titik tengah dalam pencarian lingkaran dengan CHT adalah sebagai berikut :

1. Pencarian lingkaran dimulai dengan suatu titik pada gambar yang bukan

background.

2. Diasumsikan titik tersebut terdapat pada tepi dari suatu lingkaran

3. Kemudian dilakukan proses pencarian titik tengah dari lingkaran tersebut,

yaitu dengan langkah-langkah (Gambar 5) sebagai berikut:

  Gambar 5 Pencarian titik tengah lingkaran.

a. Telusuri gambar kebawah sampai menemukan tepi lingkaran sambil

menghitung jarak ketepi lingkaran tersebut. Jika ada, maka diperoleh informasi mengenai titik tengah dari tinggi lingkaran, yaitu dari titik awal pergerakan ditambah dengan jarak/2. Jika tidak maka objek bukan lingkaran.

b. Titik tengah yang diperoleh pada langkah sebelumnya belum tentu

merupakan titik tengah dari lingkaran, tetapi hanya titik tengah dari tinggi lingkaran. Jadi selanjutnya akan dicari titik tengah dari lebar lingkaran.

c. Dari titik tengah yang diperoleh pada (b), telusuri gambar ke kanan

sampai menemukan tepi sambil menghitung jarak ke tepi lingkaran tersebut. Jika ada, maka diperoleh informasi mengenai titik tengah dari lebar lingkaran, yaitu dari titik awal pergerakan ditambah dengan jarak/2. Jika tidak, maka objek bukan lingkaran.

 

   

d. Diperoleh informasi titik tengah dan radius dari objek tersebut.

4. Jika radius lebih besar dari threshold, maka dilakukan identifikasi objek.

5. Identifikasi objek dilakukan sebagai berikut (Gambar 6) :

  Gambar 6 Identifikasi objek.

a. Lakukan rotasi 3600 berlawanan arah jarum jam, yaitu dengan

menggunakan loop.

b. Untuk setiap iterasi, hitung titik , , yaitu titik yang berjarak radius

r dari titik pusat dan memiliki sudut yang bersesuaian dengan ietarsi yang dilakukan.

c. Pada titik tersebut dan pada n-tetangga disekitarnya (n adalah toleransi

ketetanggaan), dilakukan pemeriksaan. Nilai n ini bergantung pada radius objek yaitu, semakin besar radius objek, maka semakin besar

nilai n, dan sebaliknya. Jika salah satu dari titik tersebut merupakan

titik tepi, maka iterasi dilanjutkan. Jika tidak satupun dari titik-titik tersebut yang merupakan titik tepi, maka objek bukan lingkaran,

d. Jika iterasi berakhir dengan sukses, maka objek adalah lingkaran.

Two Dimension Principal Component Analysis (2DPCA)

Principal Component Analysis (PCA) merupakan salah satu metode analisis peubah ganda yang mereduksi dimensi data tanpa harus kehilangan informasi yang berarti (Buono & Irmansyah 2009). Peubah hasil transformasi merupakan kombinasi linear dari peubah asli dan tidak terkorelasi antar sesamanya, serta tersusun berdasar informasi yang dimilikinya. PCA merupakan

10   

ekstrasi fitur yang digunakan secara luas dalam pengolahan sinyal dan pengenalan pola. Sirovich dan Kirby pertama kali menggunakan PCA dalam merepresentasikan citra wajah orang (Yang, et al 2004).

Menurut Yang, et al teknik 2DPCA memiliki kelebihan dibandingkan dengan teknik PCA (eigenfaces), diantaranya yaitu 2DPCA didasarkan pada matriks citra sehingga lebih sederhana dan straighforward untuk digunakan pada ekstrasi fitur citra. Selain itu, 2DPCA lebih baik dari PCA dalam hal keakuratan pengenalan pada semua eksperimen dan secara komputasional lebih efisien daripada PCA dan dapat meningkatkan kecepatan ekstrasi fitur citra secara signifikan.

Dalam teknik proyeksi citra dengan 2D-PCA, sebuah citra berdimensi

akan dibaca sebagai matriks A berdimensi dan tidak diubah

menjadi bentuk vektor. matriks A ini ditransformasi menggunakan matriks menjadi Y sebagai berikut, (Yang, et al 2004):

dengan ...(9)

Permasalahannya adalah bagaimana menemukan matriks transformasi Q yang memaksimalkan persebaran Y. Persebaran Y dapat dikarakterisasi oleh teras matriks koragam, S yang dirumuskan sebagai:

...(10)

Dan teras matriks S adalah:

...(11) Dicari nilai:

...(12) G dihitung dari sampel citra pelatihan. Anggap terdapat M citra pelatihan,

∑ ...(13)

Oleh karena itu matrik Q yang dipilih adalah : , , , … .,

dengan merupakan vektor ciri yang bersesuaian dengan akar ciri terbesar ke i

11   

   

Jaringan Syaraf Tiruan (JST)

Menurut Alexander dan Morton dalam (Haykin S 1994), Jaringan Syaraf Tiruan (JST) adalah prosesor tersebar paralel (paralel distributed processor) yang sangat besar dan memiliki kecenderungan untuk menyimpan pengetahuan yang bersifat pengalaman dan membuatnya siap untuk digunakan.

JST menyerupai otak manusia, khususnya dalam hal pengetahuan yang diperoleh serta kekuatan hubungan antar sel syaraf (neuron) yang disebut bobot-bobot sinapsis. Sel neuron merupakan dasar dari JST. Model neuron terdiri atas 3 elemen penting seperti dalam Haykin 1994, sebagai berikut :

1. Sekumpulan sinapsis atau jalur hubungan antar sel. Setiap sinapsis

memiliki bobot tertentu (wk1, wk2, ..., wkp).

2. Adder untuk menjumlahkan sinyal-sinyal input yang telah diberi bobot

sinapsis. Operasi penjumlahan mengikuti aturan linier combiner.

3. Fungsi aktivasi untuk membatasi amplitudo keluaran dari setiap neuron.

  Gambar 7 Model matematis nonlinier dari neuron dengan bias.

Gambar 7 memperlihatkan model dari suatu neuron (Haykin 1994). Sinyal

masukan dinyatakan sebagai x1, x2, ..., x3; wk adalah bias untuk memperbesar nilai

masukan; vk merupakan keluaran dari linier combiner. (v) merupakan fungsi

12   

Jaringan Syaraf Tiruan Propagasi balik

Salah satu arsitektur yang banyak digunakan adalah multilayer feedforward network. Secara umum terdiri dari beberapa unit neuron yaitu lapisan masukan, satu atau lebih lapisan tersembunyi (hidden layer) dan sebuah lapisan keluaran. Sinyal masukan dipropagasikan ke arah depan (ke lapisan keluaran). Jenis jaringan ini adalah hasil generalisasi dari arsitektur perceptron satu lapis, dikenal sebagai multilayer perceptrons (MLPs). Jaringan multilayer disebut sebagai jaringan propagasi balik (backpropagation), jika pada tahapan pelatihan menggunakan metode propagasi balik.

Jaringan Propagasi Balik ditemukan pertama kali oleh Rumelhart, et al, pada Tahun 1988 melalui beberapa penelitian indenpenden (Fauset 1994). Propagasi balik merupakan algoritma pembelajaran yang terawasi (supervised

learning). Algoritma ini menggunakan error output untuk mengubah nilai

bobot-bobotnya dalam arah mundur (backward). Propagasi balik (ke lapisan masukan)

terjadi setelah jaringan menghasilkan keluaran yang mengandung error. Pada fase ini seluruh bobot sinapsis (yang tidak memiliki aktivasi nol) dalam jaringan akan disesuaikan untuk mengkoreksi error yang terjadi (error correction rule). Untuk pelatihan jaringan, pasangan fase propagasi ke depan dan balik dilakukan secara berulang untuk satu set data latihan, kemudian diulangi untuk sejumlah epoch sampai didapatkan error terkecil atau nol.

Gambar 8 Arsitektur Jaringan Syaraf Tiruan Propagasi Balik.

X! X2 X3 . . . . . Z1 Z3 Z5 Y2 wn

Input Hidden Layer Output

Y1 Y3 W11 W12 W13 W33 W32 W31 W21 W23 v11 v12 v13 v33 v32 v31 v23 v22 v21

13   

   

Gambar 8 memperlihatkan arsitektur propagasi balik dengan sebuah lapisan tersembunyi (Fauset 1994). Bias pada lapisan keluaran dinyatakan sebagai

wok dan bias pada lapisan tersembunyi dinyatakan sebagai voj. Bias-bias ini

berfungsi seperti bobot, yang selalu bernilai +1. Pada lapisan keluaran, nilai bobot

dinyatakan sebagai wjk sedangkan nilai bobot lapisan masukan dinyatakan sebagai

vij.

Fungsi Aktivasi

Menurut Fauset, fungsi aktivasi yang digunakan sebaiknya memiliki nilai

kontinu, differentiable, dan tidak turun secara monotik (monotically

non-decreasing). Fungsi aktivasi yang digunakan dalam JST dan dilatih dengan propagasi balik berupa fungsi Sigmoid biner ataupun Sigmoid Bipolar. Pada fungsi sigmoid biner memiliki cakupan nilai 0 sampai dengan 1. Oleh karena itu, fungsi ini digunakan untuk jaringan syaraf yang membutuhkan nilai keluaran yang terletak pada interval 0 sampai dengan 1. Namun dapat juga digunakan untuk keluaran yang bernilai 0 atau 1. Persamaan 14 dan persamaan 15 merupakan persamaan untuk fungsi sigmoid biner, (Fauset 1994) :

...(14) ...(15) Gambar 9 memperlihatkan fungsi aktivasi sigmoid biner dengan range [0,1]

Gambar 9 Fungsi aktivasi sigmoid biner dengan range (0,1).

Algoritma Pelatihan

Dalam algoritma propagasi balik menggunakan dua tahapan yaitu: tahapan perhitungan maju (feedforward) untuk menghitung error antara keluaran aktual dengan keluaran yang menjadi target; dan tahapan perhitungan mundur

14   

(backward) yang mempropagasikan balik error tersebut dan memperbaiki bobot-bobot sinapsis pada semua neuron yang ada. Berikut adalah algoritma propagasi balik, (Fauset 1994):

Langkah 0. Inisialisasi bobot (bangkitkan nilai random yang cukup kecil).

Langkah 1. Kerjakan langkah 2 – 9, selama kondisi berhenti bernilai

FALSE.

Langkah 2. Kerjakan langkah 3 – 8, Untuk setiap pasangan elemen

pelatihan.

Perhitungan maju:

Langkah 3. Setiap unit masukan (Xi, i = 1,2,3,.., n) menerima sinyal

masukan xi dan menyebarkan sinyal tersebut ke seluruh unit

pada lapisan tersembunyi.

Langkah 4. - Setiap unit tersembunyi (Zj, j = 1,2,..., p) menjumlahkan

setiap sinyal yang memiliki bobot berikut:

_ ∑ ... (16)

- Gunakan fungsi aktivasi untuk menghitung sinyal

keluaran:

,...(17) dan mengirimkan sinyal ini ke seluruh unit pada lapisan keluaran.

Langkah 5. - Setiap unit keluaran (Yk, k = 1,..., m) menjumlahkan

sinyal-sinyal masukan terbobot, sebagai berikut:

, ...(18)

dan fungsi aktivasi digunakan untuk menghitung sinyal keluaran:

_ ...(19)

Penghitungan error (propagasi balik)

Langkah 6. - Setiap unit keluaran (Yk, k = 1,..., m) menerima pola

target yang berhubungan dengan pola pelatihan pada masukan, hitung informasi error sebagai berikut:

15   

   

Dengan δk merupakan informasi error untuk bobot wjk

pada unit keluaran Yk . Sementara tkadalah vektor target

keluaran,

- Kemudian hitung koreksi bobot (yang nantinya

digunakan untuk memperbaiki wjk):

∆ ...(21)

Dengan α merupakan laju pembelajaran,

- Kemudian hitung koreksi bias (yang nantinya digunakan

untuk memperbaiki w0k):

∆ ...(22)

dan mengirimkan δk ke neuron dilapisan bawahnya

(lapisan tersembunyi).

Langkah 7. - Setiap neuron pada lapisan tersembunyi (Zj, j = 1 ,..., p)

menjumlahkan masukan deltanya (dari neuron-neuron yang berada pada lapisan diatasnya, lapisan keluaran):

∑ ...(23)

Kalikan nilai ini dengan fungsi aktivasinya untuk menghitung informasi error:

_ ...(24)

δj adalah koreksi error untuk vij

- Hitung koreksi bobot (digunakan untuk memperbaiki vij)

∆ ...(25)

- Hitung koreksi bias (digunakan untuk memperbaiki v0j)

∆ ...(26)

Perbaiki semua bobot dan bias:

Langkah 8 - Setiap unit keluaran (Yk, k = 1, ..., m) memperbaiki bias

dan bobotnya (j = 0,1,2,3, ..., p):

∆ ...(27)

- Setiap unit tersembunyi (Zj, j = 1 ,..., p) memperbaiki

bias dan bobotnya (i = 0,1,..., n):

16   

Langkah 9 Uji kondisi berhenti

Satu epoch adalah satu putaran (cycle) untuk keseluruhan langkah pada

tahapan pelatihan. Pada dasarnya dibutuhkan banyak epoch untuk pelatihan jaringan propagasi balik. Pelatihan dilakukan secara berulang-ulang hingga jumlah siklus tertentu atau telah mencapai MSE (Mean Square Error) yang diinginkan.

Kejadian Biner (Binary Events)

Pengukuran kinerja (performance measures) merupakan subset dari pengukuran verifikasi yang fokus pada hubungan antara prediksi dan pengamatan. Kejadian biner memiliki empat kemungkinan keluaran seperti diperlihatkan dalam Tabel 1 (Mason 2003).

Tabel 1 Empat kemungkinan keluaran pada kejadian biner

Prediksi Pengamatan Ya Tidak

Ya Hit (a) False Alarm (b)

Tidak Miss (c) Correct Rejection (d)

Tabel 1 menyajikan hubungan pengamatan dan prediksi dengan empat kemungkinan keluaran. Hit merupakan nilai yang diperoleh dari hasil pengamatan terhadap suatu objek benar dan prediksi yang ditentukan bernilai benar. False Alarm diperoleh jika objek yang diamati bernilai salah namun prediksi bernilai

benar. Miss berkebalikan dengan false alarm, yaitu pengamatan bernilai benar

namun prediksi bernilai salah. Terakhir, correct rejection hasil pengamatan bernilai salah dan nilai prediksinya juga salah, artinya objek yang salah diprediksi salah (mengandung nilai kebenaran dan biasanya kebenaran ini tidak digunakan). Penghitungan kejadian biner yang mempengaruhi prediksi adalah sebagai (Mason 2003) :

Hit rate (Nilai kebenaran prediksi) = ...(39)

17   

   

False Alarm Rate = ...(41)

18   

Dokumen terkait