• Tidak ada hasil yang ditemukan

PEN D AHULUAN

TIN JAUAN PUSTAKA

Citra Digital

Secara umum citra merupakan gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan sebuah fungsi kontinu dari intensitas radiasi pada bidang dua dimensi. Sumber radiasi mengeluarkan radiasi yang kemudian mengenai objek, objek memantulkan kembali sebagian dari radiasi tersebut, pantulan radiasi ini ditangkap oleh sensor pada alat-alat optik seperti mata, kamera, pemindai (scanner) dan sebagainya. Akhirnya bayangan objek tersebut direkam dalam suatu media tertentu. Citra semacam ini disebut juga sebagai citra pantulan. Jika objek menghasilkan radiasi sendiri, maka citra yang tertangkap oleh sensor disebut sebagai citra emisi. Sedangkan jika objek bersifat transparan, sehingga citra yang dihasilkannya merupakan representasi dari radiasi yang berhasil diserap oleh partikel-partikel dari objek tersebut, maka citra tersebut adalah citra absorpsi. Untuk pembahasan selanjutnya pada seluruh bagian dari riset ini, yang disebut sebagai citra adalah citra pantulan yang ditangkap oleh sensor pada kamera.

Analisis terhadap sebuah citra dapat dilakukan dengan menggunakan bantuan komputer melalui sebuah sistem visual buatan yang biasa disebut dengan

computer vision. Secara umum, tujuan dari sistem visual adalah untuk membuat

model nyata dari sebuah citra. Untuk itu citra yang ditangkap oleh sensor yang masih dalam bentuk fungsi kontinu (analog) harus dirubah terlebih dahulu menjadi fungsi diskret (digital) yang dapat dibaca oleh komputer. Proses ini disebut sebagai digitasi, terdiri dari dua sub proses yaitu sampling dan kuantifikasi. Sampling merupakan proses untuk mengubah sebuah sinyal dalam ruang kontinu menjadi sinyal dalam ruang diskret, hasil dari proses ini adalah citra yang terdiri dari piksel-piksel yang tersusun dalam kolom dan baris. Setiap piksel merupakan hasil penggabungan dari beberapa sinyal yang saling berdekatan. Sekali sebuah citra mengalami proses sampling, tidak dimungkinkan untuk mengembalikannya kedalam bentuk kontinu. Setiap piksel biasanya akan memuat nilai intensitas yang pada awalnya mempunyai range kontinu, artinya sangat banyak kemungkinan nilai yang dapat dimuat oleh setiap piksel.

Sehubungan dengan keterbatasan kemampuan komputer untuk memproses pengkodean nilai-nilai tersebut, dibutuhkan sebuah metode untuk membatasinya. Kuantifikasi merupakan proses untuk mengubah range nilai intensitas yang semula kontinu menjadi range nilai yang diskret sedemikian sehingga dapat diakomodasi oleh sistem pengkodean biner pada komputer. Akhirnya, sebuah citra yang telah melalui proses digitasi disebut sebagai citra digital.

Representasi Citra Digital

Citra digital biasa direpresentasikan sebagai sebuah fungsi dua dimensi

f(x,y), x dan y adalah koordinat spasial yang menunjukkan lokasi dari sebuah piksel didalam sebuah citra dan amplitudo dari f pada setiap pasangan koordinat

(x,y) adalah intensitas dari citra pada piksel tersebut [Gonzales, 2004]. Untuk kebutuhan pengolahan dan analisis, representasi tersebut ditampilkan dalam bentuk matriks sebagai berikut :

…... (1)

Tipe-Tipe Citra Digital

Tiga tipe citra digital yang sering digunakan adalah citra intensitas, citra biner, dan citra RGB. Citra intensitas dan citra biner merupakan citra monokrom (lebih dikenal dengan citra hitam putih) sedangkan citra RGB merupakan citra berwarna.

a. Citra Intensitas, merupakan sebuah matriks dua dimensi berukuran mxn yang setiap selnya berisi nilai intensitas antara 0 sampai dengan 255. Intensitas 0 ditangkap sebagai warna hitam pekat, sedangkan intensitas 255 ditangkap sebagai warna putih terang oleh mata manusia. Nilai intensitas yang ada diantaranya merupakan gradasi dari warna hitam ke putih, atau lebih sering disebut warna keabuan (grayscale).

b. Citra biner, merupakan sebuh matriks dua dimensi berukuran mxn yang setiap selnya berisi kode 0 atau 1 yang merupakan representasi dari nilai logical "benar"

atau "salah", disebut juga tipe data boolean. Nilai 0 sering diasosiasikan dengan warna putih terang (setara dengan nilai 255 pada citra intensitas) sedangkan nilai 1 sering diasosiasikan dengan warna hitam (setara dengan nilai 0 pada citra intensitas). Namun bagaimanapun, asosiasi tersebut bisa berubah-ubah tergantung dari asumsi yang digunakan oleh pengguna. Tidak ada kesepakatan baku yang mengatur bagaimana nilai 0 dan 1 dihubungkan dengan warna hitam dan putih. Umumnya, citra biner terbentuk dari citra intensitas yang mengalami proses tresholding. Proses ini sangat sederhana, pertama-tama tetapkan sebuah nilai T yang terletak diantara range nilai intensitas. Ubah nilai intensitas dari setiap piksel dengan mengikuti aturan berikut:

…... (2)

c. Citra RGB (red, green, blue), merupakan kumpulan dari 3 buah matriks 2 dimensi yang masing-masing memuat nilai intensitas (0 s.d. 255) untuk warna merah, hijau dan biru. Sebuah piksel merupakan komposisi dari ketiga nilai intensitas tersebut (triplet). Jika digunakan sebagai input pada sistem monitor berwarna, triplet tersebut akan menghasilkan warna-warna yang unik.

Principal Components Analisys (PCA)

Ide utama dari principal component analysis (PCA) adalah mengurangi dimensionalitas dari set data yang mengandung banyak sekali variabel yang berinterelasi, dengan tetap mempertahankan sebanyak mungkin informasi (variansi data). Hal ini dicapai dengan mentransformasikan set data ke set variabel data yang baru, dinamakan principal component (PC). Principal Component satu dengan yang lain tidak saling berkorelasi dan diurutkan sedemikian rupa sehingga Principal Component yang pertama memuat paling banyak variasi dari data set. Sedangkan Principal Component yang kedua memuat variasi yang tidak dimiliki oleh Principal Component pertama. (Jolliffe IT, 2002)

Principal Components Analisys 1D (Turk and Pentland, 1991).

Secara matematis ide dasar dari PCA adalah melakukan sebuah transformasi 0, jika f(n)≥T

1, jika f(n)<T g(n) =

linear dari Rm ke Rn dimana n <<< m dengan memaksimumkan variansi data. Misalkan input vector adalah xRm dengan E[x]=0 (zero mean) dan y

adalah vektor berdimensi n, maka transformasi linear dari Rm ke Rn dapat dinyatakan sebagai :

[

a1T⋯ ⋯a2T⋯ ⋮ ⋯an T

]

[

x1 x2xm

]

=

[

y1 y2yn

]

…... (3) dengan : a1=

[

a11 a12a1m

]

, a2=

[

a21 a22a2m

]

an=

[

an1 an2anm

]

Secara umum transformasi dapat dinyatakan sebagai :

yi=ai T x ; i = 1,2,...,n …... (4) sehingga : varyi = varai T xvaryi = E[( ai T xxTaivaryi = ai T ExxTai varyi= ai T

ai …... (5) dimana

Σ

adalah matriks covarian.

Selanjutnya harus ditentukan ai yang dapat membuat varyi menjadi maksimum dengan kondisi batas ∥a∥=1 atau ai

T

ai=1 atau ai T

ai−1=0 karena ai adalah sebuah unit vektor. Salah satu teknik memecahkan permasalah optimisasi seperti ini adalah menggunakan teknik pengganda lagrange.

Penentuan ai dihitung sebagai berikut : Masalah optimisasi :

Maksimumkan : varyi = aiT

ai Kendala : ai

T

ai−1=0

fai = aiT

ai - λ( aiTai−1 ) ∂F

ai=0 = 2

Σ

ai - 2 λ ai = 0

Σ

ai

=

λ ai …... (6)

Dari persamaan 6 terlihat bahwa λ adalah nilai-nilai eigen dari matriks

Σ,

sedang

ai adalah vektor eigen yang bersesuaian dengan masing-masing λ. Jika ruas kiri dan kanan persamaan tersebut dikalikan dengan ai

T

maka akan diperoleh :

ai T

ai

=

ai T λ ai kerena ai T ai=1 , maka : ai T

ai

=

λ varyi = λ …... (7) Dari persamaan (7) tersebut dapat dilihat bahwa nilai eigen dari matriks covarian

Σ

adalah varyi . Sehingga agar diperoleh varian maksimum maka ai adalah vetor-vektor eigen yang bersesuaian dengan nilai-nilai eigen terbesar dari matriks

Σ.

Principal Components Analisys 2 Dimensi (Yang J. et al, 2004)

Pada teknik pengenalan wajah berbasis 1D PCA, citra wajah 2D akan dirubah terlebih dahulu menjadi vektor citra 1D. Akibatnya ruang vektor citra yang terbentuk akan memiliki dimensi sangat besar. Hal ini menyebabkan perhitungan matriks kovarian secara akurat serta perhitungan nilai eigen dan vektor eigen dari matriks kovarian tersebut menjadi relatif sulit. Berbeda dengan 1D PCA, pada 2D PCA citra wajah tetap direpresentasikan dengan matriks. Hal ini menyebabkan matriks kovarian yang terbentuk menjadi jauh lebih kecil. Dampak dari fakta tersebut, 2D PCA memiliki dua kelebihan dibandingkan dengan 1D PCA, yaitu :

1. Evaluasi terhadap matriks kovarian lebih akurat.

2. Waktu yang diperlukan untuk menghitung nilai eigen dan vektor eigen lebih cepat

ormulasi 2D PCA

Misalkan X adalah vektor kolom satuan berdimensi n. PCA 2D melakukan poreksi sebuah matriks acak dari citra A berukuran m x n kepada X dengan transformasi linear .

Y = A X

Sehingga akan diperoleh vektor Y berdimensi m, dinamakan vektor feature dari A. Permasalahannya adalah menetukan vektor X yang memaksimumkan total scatter dari proyeksi data. Secara matematis dapat dinyatakan sebagai :

J(X) = tr (Sx) …... (8) dimana Sx menyatakan matriks kovarian dari vektor feature data-data training, dan

tr (Sx) adalah trace dari Sx. Selanjutnya matriks kovarian Sx dapat dinyatakan sebagai :

Sx = EYEYYEYT=E[AXEAX][AXEAX]T = E[AEAX][AEAX]T , sehingga :

trSx=XT[E[AEAT

AEA]]X ... (9) Kemudian didefinisikan sebuah matriks

Gt=E[AEAT

AEA] …... (10) Matriks Gt dinamakan matriks kovarian(scatter) citra yang berukuran n x n. Matriks ini dapat dihitung langsung dari M buah citra-citra training

Ajj=1,2,..., MGt= 1 M

j=1 MAj−ATAj− A …... (11)

Maka kriteria pada persamaan (8) dapat dinyatakan sebagai :

JX=XTGtX …...(12) Kolom vektor satuan X yang memaksimisasi J(X) disebut sumbu proyeksi yang optimal. Ini berarti total scatter (varians) dari data yang telah diproyeksikan pada

X menjadi maksimum. Sumbu tersebut adalah vektor-vektor eigen dari matriks

Linear Support Vector Machine (SVM)

Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input space. Gambar berikut memperlihatkan beberapa pattern yang merupakan anggota dari dua buah kelas : +1 dan –1. Pola yang tergabung pada class –1 disimbolkan dengan segitiga, sedangkan pola pada class +1, disimbolkan dengan lingkaran. Problem klasifikasi dapat diterjemahkan dengan usaha menemukan garis

(hyperplane) yang memisahkan antara kedua kelompok tersebut.

Gambar 2 : Support vector, hyperplane dan margin

Hyperplane pemisah dapat dinyatakan dengan persamaan wTxb=0 dimana

w adalah vektor normal dari hyperplane dan b merupakan intercept hyperplane. Misalkan himpunan n buah data training adalah D={ x , y }, anggotanya adalah pasangan xi dan label kelasnya yi untuk i=1,2,...,n, dimana dalam SVM label kelas dinyatakan sebagai +1 dan -1. Selanjutnya linear classifier dapat dinyatakan sebagai

fxi=signwTxib …... (13)

Permasalahan selanjutnya adalah mencari set parameter  w , b sehingga fxi=w

T

xib=yi untuk semua i. SVM berusaha mencari fungsi pemisah/hyperplane optimum diantara fungsi yang tidak terbatas jumlahnya yang memisahkan dua kelas objek. Optimal hyperplane kemudian ditentukan terhadap

support vector dengan memaksimumkan margin (ρ). Support vectors adalah data

training yang terletak paling dekat ke hyperplane. Data-data ini merupakan data yang paling sulit untuk diklasifikasikan. Hyperplane yang optimal diperoleh pada

saat jarak support vector negatif ke hyperplane sama dengan jarak support vector

positif ke hyperplane ( ρ/2).

Jarak terpendek setiap vektor data xi ke hyperplane adalah jarak tegak lurus terhadap hyperplane (proyeksi) sehingga paralel dengan vektor normal w .

Unit vektor normal hyperplane adalah w

w∥ sehingga jarak proyeksi xi

terhadap hyperplane adalah r w

w∥ . Misalkan proyeksi x terhadap

hyperplane adalah x ' maka

x '=xyr w

w∥ …... (14) dimana perkalian dengan y adalah untuk merubah tanda sesuai dengan kelas positif dan negatif.

Gambar 3 : Proyeksi x terhadap hyperplane

Karena x ' terletak pada hyperplane maka

wTx'b=0 sehingga : wTxyr w

w∥b=0 . Setelah persamaan tersebut diatur ulang akan diperoleh :

r=yw

T

xb

w

atau jarak absolut antar xi a dengan hyperplane adalah

r=

w T

xib

w

…... (15) Jika normal vektor w yang digunakan adalah unit vektor, maka ∥w∥=1 dan jarak xi ke hyperplane adalah

wTxib

. Agar persamaan

xx 'w r w ∥wwTxb=0

menjadi unik, diambil

wT xib

=1 untuk setiap support vector xi (vektor terdekat ke hyperplane). Sehingga jarak support vector xi terhadap hyperplane

adalah

w T xibw

= 1 ∥w∥ dan margin ρ = 2 ∥w∥ .

Permasalahan kemudian menjadi bagaimana memilih w dan b agar 2

∥w∥ maksimum dengan kondisi batas :

wT xib

≥1 jika xi kelas positif dan

wT xib

≤1 jika xi kelas negatif. Permasalah ini dapat dirubah menjadi formulasi standar SVM sebagai permasalahan minimisasi : Minimumkan fungsi : J w=1 2

w

2 Kondisi batas : gi w , b=1−yiwTxib untuk i = 1, 2 … n

Permasalahan ini merupakan permasalahan optimisasi fungsi kuadrat dengan kendala linear. Karena J w adalah sebuah fungsi kuadrat, maka akan ada satu global minimum. Salah satu teknik pemecahannya adalah dengan metoda Pengganda Lagrange dan Teorema Karush-Kuhn-Tucker. (Smith, 2004), (Kecman, 2001). Dengan metoda tersebut permasalahan menjadi

maksimumkan : LDλ=

i=1 n λi−1 2

i=1 n

j=1 n λiλjyiyjxiTxj …... (16) kendala : λi≥0 dan

i=1 n λiyi=0 …... (17)

dimana λ = { λ1,...λn } adalah pengganda lagrange (variabel baru) untuk masing-masing data. Persamaan (16 ) dapat ditulis menggunakan notasi matriks :

LDλ=

i=1 n λi−1 2

[

λ1λn

]

T H

[

λ1λn

]

…... (18)

dimana H merupakan matiks berukuran n x n, dengan nilai pada baris ke-i dan kolom ke-j dari matriks H adalah Hij=yiyjxi

T

Selanjutnya LDλ dapat dioptimasi menggunakan Quadratic Programming. Berdasarkan pada λ = { λ1,...λn } optimal yang diperoleh :

• jika λi=0 maka data ke-i adalah bukan support vector • jika λi≠0 dan yiw

T

xib−1=0 maka data ke-i adalah support

vector.

Kemudian w dihitung menggunakan persamaan

w=

i=1 n

λiyixi …... (19)

b dapat dihitung menggunakan sembarang λi0 melalui persamaan

b=1

yiw

T

xi …... (20)

Persamaan hyperplane optimal yang diperoleh adalah :

f x=

∑

xiS

λiyixi

T

xib …... (21)

dimana S adalah himpunan support vector

S={ xi | λi≠0 }

etoda Kernel

Jika suatu kasus klasifikasi memperlihatkan ketidaklinieran, algorithma linear SVM tidak bisa melakukan klasifikasi dengan baik. Metoda kernel adalah salah satu teknik untuk mengatasi hal ini. Dengan metoda kernel suatu data xi di input space dimapping ke feature space F dengan dimensi yang lebih tinggi melalui map φ sebagai berikut

φ : x → φ(x).

Karena itu data x di input space menjadi φ(x) di feature space.

Dari persamaan (16) terlihat bahwa optimisai fungsi LDa hanya bergantung

pada data xi melalui perkalian titik xiTxj . Jika xi dibawa ke dimensi yang lebih tinggi oleh φ(x) maka harus dihitung hasil kali titik pada dimensi yang lebih tinggi tersebut φxi

T

LDa=

i=1 n ai−1 2

i=1 n

j=1 n aiajyiyjφxiTφxj …... (22)

Sering kali fungsi φ (x) tidak tersedia atau tidak bisa dihitung, tetapi dot product dari dua vektor dapat dihitung baik di dalam input space maupun di

feature space. Dot product ini dinamakan kernel dan dinotasikan sebagai Kxi, xj

Sehingga persamaan (19) menjadi :

LDa=

i=1 n ai−1 2

i=1 n

j=1 n aiajyiyjKxi, xj …... (23)

Diharapkan pada dimensi yang lebih tinggi data dapat dipisahkan secara linear.

Gambar 4 : Suatu kernel map mengubah problem yang tidak linier menjadi linier dalam space baru

Gambar 4 mendeskrisikan suatu contoh feature mapping dari ruang dua dimensi ke feature space tiga dimensi. Dalam input space, data tidak bisa dipisahkan secara linier, tetapi bisa dipisahkan di feature space.

Beberapa fungsi kernel yang umum digunakan adalah : • Linear Kxi, xj=xi T xj • Polinamial Kxi, xj=xi T xj1 p

• Radial Basis Function (data dibawa ke dimensi tak hingga)

Kxi, xj=exp

−1

2σ2∥xixj∥ 2

METODE PENELITIAN

Kerangka Pemikiran

Untuk membangun model, penelitian dilakukan menggunakan tahap penelitian sebagai mana terlihat pada Gambar 5.

Gambar 5 : Tahap Penelitian

Pemahaman permasalahan

Pengambilan data 165 citra ban ganda dan 315 non ban ganda

Klasifikasi menggunakan model SVM Pemilihan model- model 2D PCA – SVM terbaik Pengujian model menggunakan sliding windows detektor Pengukuran akurasi masing-masing model Kelompok A+B (368 citra ban

ganda dan 856 non ban ganda) sebagai citra latih

Kelompok C (184 citra ban ganda dan 428 non ban ganda) sebagai citra uji Cropping 552 citra ban ganda dan

1284 citra non ban banda

15 citra truk dengan ban ganda + 15 citra non ban ganda

Untuk uji detektor 150 citra truk dengan ban ganda +

300 citra non ban ganda untuk pelatihan dan pengujian model

Citra ban ganda(positif) dan non ban ganda (negatif) secara random dikelompokkan dalam tiga kelompok. (A, B dan C)

Analisis hasil dan Penyusunan

Laporan

Matriks transformasi Tahap 1 Citra diruban menjadi citra grayscale dan

dikenai proses histogram equalization

Ekstraksi ciri 2D-PCA tahap 1 (95%, 90%, 85%)

Pelatihan classifier SVM (Linear, Polinom, RBF

Kernel) Ekstraksi ciri 2D-PCA Tahap 2 (95%, 90%, 85%) PC Tahap 1 PC Tahap 2 Matriks transformasi Tahap 1 Classifier SVM yang terlatih

Citra diruban menjadi citra grayscale dan dikenai proses histogram equalization

Ekstraksi ciri 2D-PCA tahap 1 (95%, 90%, 85%)

Ekstraksi ciri 2D-PCA Tahap 2 (95%, 90%, 85%)

PC Tahap 1

PC Tahap 2 Mulai

Tahap Pemahaman Permasalahan

Tahap ini dimulai dengan mengeksplorasi ide-ide dengan membaca jurnal- jurnal penelitian. Dari eksplorasi ini kemudian diperoleh topik untuk memecahkan permasalahan penggolongan kendaraan dengan menggunakan computer vision. Kriteria-kriteria penggolongan kendaraan di jalan tol kemudian ditentukan dari hasil diskusi dengan beberapa petugas gerbang jalan tol dan dokumen-dokumen terkait. Selanjutnya ditetapkan masalah-masalah yang harus dipecahkan secara lebih spesifik. Akhirnya diperoleh gambaran kasar mengenai tujuan penelitian yang akan dilakukan. Selain itu dilakukan juga studi litertur untuk mengetahui penelitian-penelitian sejenis yang pernah dilakukan sebelumnya, melakukan analisis terhadap kelebihan dan kekurangan serta kendala yang dihadapi. Selanjutnya dikembangkan beberapa alternatif sistem yang diperkirakan dapat memberikan solusi terhadap permasalahan yang dihadapi. Dengan mengacu pada fakta-fakta yang ditemukan kemudian dibuat pembatasan permasalahan yang telah dirumuskan sebelumnya agar penelitian memiliki arah yang jelas serta dapat diselesaikan dengan biaya dan waktu yang tersedia.

Tahap Pengumpulan Data

Untuk kepentingan pelatihan dan pengujian model diambial 165 citra trukbergandar dua yang menggunakan ban ganda dan 315 citra non ban ganda. Citra-citra tersebut diambil menggunakan kamera digital dengan resolusi 640 x 480 pixel. Kemara ditempatkan pada posisi sekitar 45O terhadap as roda belakang

seperti pada Gambar 6.

Gambar 6: Posisi kamera untuk pengambilan citra/video

Ketinggian kamera dari tanah/jalan 0.5 meter (setinggi jari-jari roda). Gambar 7

45O

memperlihatkan beberapa citra hasil pengambilan data.

Gambar 7 : Contoh citra positif hasil pengambilan data

Dari citra-citra yang diperoleh kemudian diambil 15 citra truk yang menggunakan ban ganda serta 15 citra non ban ganda untuk keperluan pengujian model tahap kedua. Selanjutnya 150 citra truk yang menggunakan ban ganda dan 300 citra non ban ganda yang tersisa dipakai untuk pembuatan basis data guna pelatihan model dan pengujian tahap pertama.

Tahap Pembuatan Basis Data

Basis data yang digunakan untuk pelatihan dan pengujian model tahap pertama terdiri dari 552 citra ban ganda (positif) dan 1284 citra non ban ganda (negatif) berukuran 150x150 pixel. Citra-citra ban ganda (positif) diperoleh dari pemotongan citra truk yang menggunakan ban ganda hasil pengambilan data. Pemotongan dilakukan di sekitar ban ganda dengan ukuran 150x150 pixel. Proses pemotongan citra dapat dilihat pada Gambar 8.

Gambar 8 : Pemotongan bagian citra ban ganda

Gambar 9 memperlihatkan beberapa contoh citra ban ganda (positif) hasil pemotongan yang dipergunakan untuk proses pelatihan dan pengujian model

tahap pertama.

Gambar 9 : Contoh citra positif hasil pemotongan

Kelompok citra negatif yang terdiri dari 1284 citra bukan ban ganda berukuran 150 x 150 pixel merupakan potongan dari 300 buah citra yang tidak mengandung ban ganda baik kendaraan truk maupun non truk. Beberapa citra non ban ganda hasil pengambilan kamera dapat dilihat pada Gambar 10.

Gambar 10 : Contoh citra negatif hasil pengambilan dengan kamera

Pada Gambar 11 dapat dilihat beberapa contoh citra negatif berukuran 150x150 pixel hasil pemotongan yang dipergunakan untuk proses pelatihan dan pengujian model tahap pertama.

Gambar 11 : Contoh citra negatif hasil pemotongan

Selanjutnya masing-masing kelompok citra (positif dan negatif) dibagi ke dalam tiga bagian secara random, bagian A, B dan C. Bagian A dan B dipakai

sebagai citra pelatihan sedangkan bagian C dipakai sebagai citra uji. Dengan cara tersebut maka akan diperoleh 1224 citra pelatihan (368 citra latih positif dan 856 citra latih negatif) dan 612 citra uji (184 citra uji positif dan 428 citra uji negatif). Semua citra tersebut kemudian dijadikan citra intensitas (grayscale) dan dikenai proses histogram equalization untuk mengurangi pengaruh perbedaan pencahayaan.

Tahap Ekstraksi Ciri

Sebelum data diklasifikasi menggunakan model SVM, terlebih dahulu data diproses menggunakan metode 2D-PCA. Langkah ini dimaksudkan untuk mereduksi dimensi dan mengambil komponen ciri dari data. Pengambilan ciri dengan 2D-PCA dilakukan dalam dua tahap. Pada PCA tahap pertama, 368 buah citra positif berukuran 150 x 150 pixel dan 856 buah citra negatif berukuran 150 x 150 pixel diproses menggunakan algoritma 2D PCA berikut :

Input : - p, jumlah citra pelatihan

- I, matriks citra berukuran m x nx p

- k, jumlah vektor ciri yang dipakai,

Output : - T, matriks transformasi - PC, Principal Components

Algoritma :

1. Hitung matriks citra rata-rata ( I )

I=1

p (I1 + I2 + … + Ip)

6. Hitung matriks covarian

Gt=1

p

j=1

p

Ij−IT

Ij−I

7. Hitung dan susun nila ciri matriks covariance : λ1 > λ2 > λ3 > … > λp

8. Hitung vektor ciri yang bersesuaian dengan masing-masing nilai ciri : u1, u2, u3, … , up

9. Ekstraksi ciri

terbesar. Buat matrix transformasi T yang merupakan gabungan dari k

vektor ciri tersebut

T = [ u1, u2, u3, … , uk]

Kemudian hitung matriks ciri/Principal components (PCi) dari masing-

masing citra Ii.

PCi = Ii.T

Script yang merupakan implementasi dari algoritma di atas dapat dilihat pada Lampiran 2 untuk fungsi pca2d.

Dimisalkan jumlah nilai ciri yang diambil untuk tahap pertama adalah a

buah. Sehingga dari 2D PCA tahap pertama ini dihasilkan 368 matriks ciri berukuran 150 x a untuk kelas positif dan 856 matriks ciri berukuran 150 x a

untuk kelas positif.

Selanjutnya setiap matriks ciri yang diperoleh dari PCA tahap pertama, untuk masing-masing kelas, ditranspose dan di masukan kembali pada algoritma 2D PCA. Dimisalkan untuk tahap kedua ini diambil b buah nilai ciri terbesar, maka hasil dari PCA tahap kedua ini adalah 368 matriks ciri berukuran a x b

untuk kelas positif 856 matriks ciri berukuran a x b untuk kelas negatif.

Tahap Pelatihan Pengklasifikasi

Data latih tereduksi yang diperoleh dari proses ekstraksi ciri kemudian divektorkan dan digunakan untuk melatih pengklasifikasi SVM dengan menggunakan kernel linear, polinamial dan RBF. Untuk keperluan pelatihan pengklasifikasi SVM digunakan fungsi svmtrain dari Bioinformatics Toolbox Matlab R2009b.

Tahap Pengujian Model

Pada tahap ini setiap citra uji diekstraksi menggunakan matriks transformasi 2D-PCA dua tahap yang diperoleh dari proses pelatihan. Fitur yang diperoleh kemudian divektorkan dan diklasifikasi menggunakan model SVM yang diperoleh dari proses pelatihan, apakah termasuk kelas citra ban ganda ataukah bukan. Akurasi masing-masing model kemudian dihitung berdasarkan jumlah citra yang terklasifikasi dengan baik. Pengukuran tingkat akurasi masing-masing model

dihitung menggunakan persamaan :

Akurasi= jumlah citra yang terklasifikasi dengan baik

jumlah total citra yang diklasifikasi

Selanjutnya hasil pengukuran yang diperoleh dicatat dan dianalisis.

Dari akurasi masing-masing model kemudian diambil beberapa model yang memiliki tingkat akurasi paling baik. Model-model terbaik yang diperoleh kemudian diuji pada uji tahap kedua untuk mendeteksi keberadaan ban ganda pada citra-citra truk menggunakan teknik sliding window.

Model yang Diujikan

Dalam tahap ekstarksi ciri menggunakan 2D-PCA dua tahap, variabel yang di rubah-rubah adalah presentase nilai ciri (eigen) yang diambil pada masing- masing tahap. Pada penelitian ini dicobakan variasi persentase nilai ciri yang diambil untuk masing-masing tahap adalah 95%, 90% dan 85%. Sementara untuk pengklasifikasi SVM diujikan memakai kernel linear, kuadratik, kubik dan RBF(sigma=1, 5, 8, 10, 20, 30). Dengan skenario tersebut maka akan diperoleh sebanyak 81 model yang akan diujikan sebagaimana terlihat pada tabel 1

Tabel 1. Model-model yang akan diujikan

No PCA 2D No PCA 2D No PCA 2D

Tahap 1 Tahap 2 Tahap 1 Tahap 2 Tahap 1 Tahap 2

1 Linear 0.95 0.95 28 0.95 0.95 55 0.95 0.95 2 0.95 0.90 29 0.95 0.90 56 0.95 0.90 3 0.95 0.85 30 0.95 0.85 57 0.95 0.85 4 0.90 0.95 31 0.90 0.95 58 0.90 0.95 5 0.90 0.90 32 0.90 0.90 59 0.90 0.90 6 0.90 0.85 33 0.90 0.85 60 0.90 0.85 7 0.85 0.95 34 0.85 0.95 61 0.85 0.95 8 0.85 0.90 35 0.85 0.90 62 0.85 0.90 9 0.85 0.85 36 0.85 0.85 63 0.85 0.85 10 Kuadratik 0.95 0.95 37 0.95 0.95 64 0.95 0.95 11 0.95 0.90 38 0.95 0.90 65 0.95 0.90 12 0.95 0.85 39 0.95 0.85 66 0.95 0.85 13 0.90 0.95 40 0.90 0.95 67 0.90 0.95 14 0.90 0.90 41 0.90 0.90 68 0.90 0.90 15 0.90 0.85 42 0.90 0.85 69 0.90 0.85 16 0.85 0.95 43 0.85 0.95 70 0.85 0.95 17 0.85 0.90 44 0.85 0.90 71 0.85 0.90 18 0.85 0.85 45 0.85 0.85 72 0.85 0.85 19 0.95 0.95 46 0.95 0.95 73 0.95 0.95 20 0.95 0.90 47 0.95 0.90 74 0.95 0.90 21 0.95 0.85 48 0.95 0.85 75 0.95 0.85 22 0.90 0.95 49 0.90 0.95 76 0.90 0.95 23 0.90 0.90 50 0.90 0.90 77 0.90 0.90 24 0.90 0.85 51 0.90 0.85 78 0.90 0.85 25 0.85 0.95 52 0.85 0.95 79 0.85 0.95 26 0.85 0.90 53 0.85 0.90 80 0.85 0.90 27 0.85 0.85 54 0.85 0.85 81 0.85 0.85 Kernel SVM Kernel SVM Kernel SVM RBF (Sigma = 1) RBF (Sigma = 10) RBF (Sigma = 5) RBF (Sigma = 20) Polinom orde 3 RBF (Sigma = 8) RBF (Sigma = 30)

Alat yang digunakan

Untuk pengambilan data citra digunakan kamera digital panasonic 8.1 mega pixel. Sedangkan untuk pengolahan data digunakan perangkat keras komputer

Dokumen terkait