PENGEMBANGAN MODEL PENDETEKSIAN BAN GANDA (DUAL TIRE) PADA KENDARAAN TRUK BERGANDAR DUA MENGGUNAKAN PENGEKSTRAKSI CIRI 2D-PCA DAN SVM SEBAGAI PENGKLASIFIKASI
BAMBANG WAHYUDI
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2012
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa tesis Pengembangan Model Pendeteksian Ban Ganda (Dual Tire) Pada Kendaraan Truk Berganda Dua Menggunakan Pengekstraksi Ciri 2D-PCA dan SVM Sebagai Pengklasifikasi adalah karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini. Bogor, September 2012 Bambang Wahyudi NIM G651090354
© Hak Cipta Milik IPB, tahun 2012 Hak Cipta dilindungi Undang-undang Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah dan pengutipan tersebut tidak merugikan kepentingan yang wajar IPB. Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis dalam bentuk apapun tanpa izin IPB.
PENGEMBANGAN MODEL PENDETEKSIAN BAN GANDA (DUAL TIRE) PADA KENDARAAN TRUK BERGANDAR DUA MENGGUNAKAN PENGEKSTRAKSI CIRI 2D-PCA DAN SVM SEBAGAI PENGKLASIFIKASI
BAMBANG WAHYUDI
Tesis Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Magister Komputer pada Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2012
Penguji Luar Komisi pada Ujian Tesis: Boyke Nurhidayat, S.Kom., M.Kom.
Judul Tesis
Nama Mahasiswa Nomor Pokok Program Studi
: Pengembangan Model Pendeteksian Ban Ganda (Dual Tire) Pada Kendaraan Truk Bergandar Dua Menggunakan Pengekstraksi Ciri 2D-PCA dan SVM Sebagai Pengklasifikasi : Bambang Wahyudi : G651090354 : Ilmu Komputer
Disetujui, Komisi Pembimbing
Dr. Ir. Agus Buono, M.Si, M.Kom Ketua
Mushthofa, S.Kom, M.Sc Anggota
Diketahui, Ketua Program Studi Ilmu Komputer
Dekan Sekolah Pascasarjana
Dr.Yani Nurhadryani S.Si, M.T
Dr. Ir. Dahrul Syah, M.Sc.Agr
Tanggal Ujian:
Tanggal Lulus:
ABSTRACT BAMBANG WAHYUDI. The Developing of Dual Tires Detection Model of Two Axles Truck by Using 2D-PCA Feature Extraction and SVM as Classifiers. Under direction of AGUS BUONO and MUSHTHOFA. Two axles truck is devided into two types i.e truck that uses single tire and
dual tires at its back wheels. The use of dual tires at a truck will influnce its classification, so that it is needed a system to detect the use of dual tires. In this study, we develop a model to detect the occurance of dual tires at a two axels truck by using two steps 2D-PCA technique as the feature extraction and SVM as the classifier. In the feature extraction steps by using 2D-PCA, we use the values of precentage 95 %, 90%, and 85 %. While SVM use linear kernel, quadratic, cubic and RBF (sigma = 1, 5, 8, 10, 20, 30). By using the scenario, we obtain 81 models. We performed two phases of testing. The first testing phase measures the accuracy of the detection process without sliding windows. The second testing phase use sliding windows to detect the occurance of dual tires in an image. For the first phase testing, we use a database that consists of 552 dual tires images and 1284 non dual tire images with 150 x 150 pixels, and for the second phase testing, we used 30 images with 640 x 480 pixels. Based on the first phase testing, we obtained 10 best models to be used for second phase testing. The two stage 2DPCA method successfully reduced the data from 22500 dimensions of image vector to 36. The two phases testing conducted showed that the best kernels for detecting dual tires using SVM is the quadratic and the RBF kernel with the best accuracy of 93.3%.
Keyword : Truck Classification, Dual tire detection, 2D-PCA, SVM
RINGKASAN BAMBANG .WAHYUDI. Pengembangan Model Pendeteksian Ban Ganda (dual tire) Pada Kendaraan Truk Bergandar Dna Menggunakan Pengekstraksi .Ciri 2D~PCA dan SVM Sebagai Pengklasifikasi. Dibimbing oleh AGUS BUONO and MUSHTHOFA.
,
I
Saat ini jalan tol menjadi suatu jalan alternatif untuk mengatasi kemacetan la1u Hntas ataupun untuk mempersingkat jarak dari satu tempat ke tempat lain. Untuk menikmati layanan jalan tol, para pengguna hams membayar sesuai tarif yang berlaku yang didasarkan pada golongan kendaraan. Proses penggolongan kendaraan ini dilakukan oleh petugas di gerbang tol dengan mengandalkan peng1ihatan. Beberapa hal yang harus diputuskan saat melakukan penggolongan adalah jenis kendaraan bis atau bukan, jumlah gandar dan penggunaan ban ganda pada kendaraan truk. Pekerjaan itu hams dilakukan dalam waktu yang cepat serta dari sudut pandang yang sempit sebingga sangat menyulitkan terutama penentuan jumlah gandar serta penggunaan ban ganda (dual tire). Dengan kondisi ini salah penentuan tarif menjadi sangat potensial teIjadi. Untuk mengatasi hal ini diperlukan sebuah sistem otomatis yang dapat membantu petugas gerbang tol dalam menentukan tarifberdasarkan golongan kendaraan yang telah ditentukan. Penggunaan teknik-teknik computer vision dan pengenalan pola yang berkembang pesat saat ini memberikan salah satu altematif yang sangat potensial untuk membangun sistem deteksi kendaraan di jalan raya tennasuk jalan tol berbasis vision. Sistem berbasis vision ini memiliki kemudahan dalam instalasi serta pemeliharaan yang tidak mmit. Selama ini penelitian-penelitian yang berhubungan dengan pengumpulan parameter-parameter laiu lintas seperti volume kendaraan, tipe kendaraan, parameter antrian yang bebasis computer vision sudah banyak dilakukan. Tetapi dalam penelitian-penelitian tersebut belum diteliti teknik untuk mendeteksi penggunaan roda ganda (dual tire) oleh sebuah kendaraan beIjenis truk. Sementara klasiflkasi kendaraan di jalan tol saat ini menggunakan parameter penggunaan ban ganda (dual tire) pada truk bergandar dua sebagai pembeda kelas tarif Penelitian ini bertujuan membangun model sistem deteksi penggunaan ban ganda (dual tire) pada citra kendaraan beIjenis truk bergandar dua menggunakan metode 2D-PCA dua tahap sebagai pengekstraksi eiri dan SVM sebagai pengklasifIkasi. Model sistem deteksi penggunaan ban gancla pada truk yang diperoleh dapat digabungkan dengan sistem deteksi berbasis vision lain sehingga data laiu lintas yang clapat diperoleh menjadi lebih lengkap. Bagi operator jalan tol, model yang dibangun dapat dikembangkan menjadi sebuah sistem pendeteksi penggunaan ban ganda pada truk untuk meningkatkan akurasi klasifikasi kendaraan. Untuk kepentingan pelatihan dan pengujian model diambial 165 citra truk 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 45° terhadap as roda belakang dengan ketinggian kamera dari tanahljalan 0.5 meter. Dari citra-citra yang diperoleb kemudian
,j J
,I ~
~I
"I:
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 untuk pelatihan model dan pengujian tahap pertama. Basis data yang digunakan untuk pelatihan dan pengujian model tahap pertama terdiri dati 552 citra ban ganda (positif) dan 1284 citra non ban ganda (negati:t) 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 15Ox150 pixel. Kelompok citra negatif yang terdiri dari 1284 citra bukan ban ganda berukuran 150 x 150 pixel merupakan potongan dati 300 buah citra yang tidak mengandung ban ganda balk kendaraan truk maupun non truk.. Seianjutnya duapertiga bagian citra digunakan untuk proses pelatihan dan sepertiga sisanya digunakan untuk pengujian model tahap 1. Pada tahap pelatihan model, sebelum data citra digunakan untuk melatih pengklasifikasi 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. Data latih tereduksi yang diperoleh dari proses ekstraksi ciri ini kemudian divektorkan dan digunakan untuk melatih pengklasifikasi SVM dengan menggunakan kemellinear, polinamial dan RBF. Pada pengujian tahap pertama, 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 terklasiftkasi dengan baik. Berdasarkan akurasi masing-masing model yang diperoleh dari pengujian tahap satu, kemudian diambil beberapa model yang memiliki tingkat akurasi paling baik. Model-model terbaik yang diperoleh selanjutnya diuji pada uji tahap kedua untuk mendeteksi keberadaan ban ganda pada citra-citra truk: menggunakan teknik sliding window. Hasil penelitian ini menunjukkan bahwa penggunaan metoda 2D-PCA dua tahap berhasil mereduksi data citra sampai 99.8%, dati vektor citra yang berdimensi 22500 menjadi berdimensi 36. Pengujian dua tahap yang dilakukan memperlihatkan bahwa kernel terbaik untuk pengklasifikasian citra ban ganda dan bukan ban ganda menggunakan SVM adalah kernel kuadratik dan RBF. Akurasi terbaik yang dicapai oleh model-model yang dikembangkan mencapai 93.3%.
'"
"
Kata kunci : klasifikasi truk, deteksi ban ganda,
2D-~CA,
SVM
PRAKATA
Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas berkat rahmat dan hidayah-Nya penulis dapat menyelesaikan penelitian dan penulisan tesis di Program Studi Magister Ilmu Komputer Sekolah Pascasarjana Institut Pertanian Bogor ini. Tema yang dipilih dalam penelitian yang telah dilaksanakan pada bulan Desember 2011 sampai dengan Agustus 2012 ini adalah pengembangan model pendeteksian ban ganda pada kendaraan truk bergandar dua menggunakan pengekstraksi ciri 2D-PCA dan SVM sebagai pengklasifikasi. Trima kasih dan penghargaan yang tinggi penulis haturkan kepada Bapak Dr. Ir. Agus Buono, M.Si, M.Kom dan Bapak Mushthofa, S.Kom, M.Sc. sebagai komisi pembimbing yang telah memberi banyak arahan dan bimbingan dalam pelaksanaan penelitian. Ucapan terima kasih juga penulis sampaikan kepada Bapak Boyke Nurhidayat, S.Kom., M.Kom. selaku penguji pada sidang tesis. Bagi istri dan putri-putri tersayang serta orang tua tercinta penulis menghaturkan terima kasih atas semua dorongan moril dan pengorbana yang telah diberikan. Terima kasih juga penulis sampaikan pada semua pihak yang telah mendukung dan membantu baik secara langsung maupun tidak langsung. Semoga penelitian yang telah dilakukan bermanfaat bagi kemajuan ilmu pengetahuan dan teknologi di masa mendatang.
Bogor, September 2012
Bambang Wahyudi
RIWAYAT HIDUP
Penulis dilahirkan di Kuningan, pada tanggal 08 Mei 1971 dari ayah bernama E. Sudrajat dan ibu bernama Zuchriyah. Penulis adalah putra ke tiga dari enam bersaudara. Menikah dengan Dewi Asri dan dikaruniai satu orang putra (alm) dan dua orang putri. Tahun 1990 penulis lulus dari SMA Negeri 1 Kuningan, dan tahun 1991 melanjutkan pendidikan di jurusan Teknik Kimia Fakultas Teknik Universitas Gadjah Mada Yogyakarta melalui jalur UMPTN. Pendidikan S1 diselesaikan pada tahun 1998. Sejak tahun 2003 sampai sekarang penulis tercatat sebagai dosen di program studi Manajemen Informatika Fakultas Ilmu Komputer Universitas Kuningan. Pada tahun 2005 penulis diangkat menjadi guru PNS untuk mata pelajaran Teknologi Informasi dan Komunikasi di Deparetem Agama dan ditempatkan di Madrasah Aliyah Negeri Ciawigebang.
RIWAYAT HIDUP
Penulis dilahirkan di Kuningan, pada tanggal 08 Mei 1971 dari ayah bernama E. Sudrajat dan ibu bernama Zuchriyah. Penulis adalah putra ke tiga dari enam bersaudara. Menikah dengan Dewi Asri dan dikaruniai satu orang putra (alm) dan dua orang putri. Tahun 1990 penulis lulus dari SMA Negeri 1 Kuningan, dan tahun 1991 melanjutkan pendidikan di jurusan Teknik Kimia Fakultas Teknik Universitas Gadjah Mada Yogyakarta melalui jalur UMPTN. Pendidikan S1 diselesaikan pada tahun 1998. Sejak tahun 2003 sampai sekarang penulis tercatat sebagai dosen di program studi Manajemen Informatika Fakultas Ilmu Komputer Universitas Kuningan. Pada tahun 2005 penulis diangkat menjadi guru PNS untuk mata pelajaran Teknologi Informasi dan Komunikasi di Deparetem Agama dan ditempatkan di Madrasah Aliyah Negeri Ciawigebang.
PENDAHULUAN Latar Belakang Saat ini jalan tol menjadi suatu jalan alternatif untuk mengatasi kemacetan lalu lintas ataupun untuk mempersingkat jarak dari satu tempat ke tempat lain. Untuk menikmati layanan jalan tol, para pengguna harus membayar sesuai tarif yang berlaku yang didasarkan pada golongan kendaraan. Penggolongan kendaraan di jalan tol yang digunakan berdasarkan Keputusan Presiden nomor 36 tahun 2003 adalah sebagai berikut : • Golongan 1 – aturan 1 : banyaknya gandar 2, dan tidak dual tires/roda ganda (mobil) . • Golongan 1 – aturan 2 : banyaknya gandar 2, dual tires/roda ganda , dan kendaraan adalah bis. • Golongan 2: banyaknya gandar 2, dual tires/roda ganda , bukan bis. • Golongan 3: banyaknya gandar 3. • Golongan 4: banyaknya gandar 4. • Golongan 5: banyaknya gandar 5. Proses penggolongan kendaraan ini dilakukan oleh petugas di gerbang tol dengan mengandalkan penglihatan. Beberapa hal yang harus diputuskan saat melakukan penggolongan adalah jenis kendaraan bis atau bukan, jumlah gandar dan penggunaan ban ganda pada kendaraan truk bergandar dua. Pekerjaan itu harus dilakukan dalam waktu yang cepat serta dari sudut pandang yang sempit sehingga sangat menyulitkan terutama penentuan jumlah gandar serta penggunaan ban ganda (dual tire) pada kendaraan berjenis truk bergandar dua, karena khusus untuk kendaraan berjenis truk dengan dua gandar, penggunaan ban ganda pada roda belakang menjdi pembeda kelas. Truk dua gandar dengan empat roda (single tires) dimasukkan ke dalam golongan satu sedangkan truk dua gandar denga enam roda (dual tires) digolongkan ke dalam golongan dua. Tetapi untuk kendaraan berjenis bis penggunaan ban ganda (dual tires) tidak menjadi pembeda kelas karena semua kendaraa bis bergandar dua dimasukkan ke dalam golongan satu. Dengan kondisi ini salah penentuan tarif menjadi sangat potensial terjadi. 1
Untuk mengatasi hal ini diperlukan sebuah sistem otomatis yang dapat membantu petugas gerbang tol dalam menentukan tarif berdasarkan golongan kendaraan yang telah ditentukan. Penggunaan teknik-teknik computer vision dan pengenalan pola yang berkembang pesat saat ini memberikan salah satu alternatif yang sangat potensial untuk membangun sistem deteksi kendaraan di jalan raya termasuk jalan tol berbasis vision. Sistem berbasis vision ini memiliki kemudahan dalam instalasi serta pemeliharaan yang tidak rumit (Frenze et al, 2002). Selama ini penelitian-penelitian yang berhubungan dengan pengumpulan parameter-parameter lalu lintas seperti volume kendaraan, tipe kendaraan, parameter antrian yang bebasis computer vision sudah banyak dilakukan. Dalam penelitian (Chen et al., 2009) telah menggunakan pengklasifikasi SVM dan teknik-teknik pengolahan citra untuk deteksi kendaraan dan deteksi tipe kendaraan. Dalam projeknya, Narayanan (Narayanan, 2009) telah berhasil membangun sistem untuk pengumpulan data lalu lintas menggunakan kamera pengintai yang tersedia. Beberapa algoritma berbasis computer vision telah dikembangkan dan diterapkan untuk mengekstrak objek dari video, mendeteksi keberadaan kendaraan, menghitung jumlah dan panjang kendaraan untuk proses klasifikasi. Dalam penelitian lain (Fung, Y. et al. 2006 ), (Frenze et al. 2002) telah berhasil menggunakan kamera dan teknik-teknik computer vision untuk mendeteksi jumlah gandar pada kendaraan. Penelitian-penelitian tersebut berhasil mendeteksi keberadaan roda kendaraan secara real time mengunakan kamera berbasis pada deteksi lingkaran dengan teknik Hough transform. Selanjutnya dengan deteksi keberadaa roda tersebut dapat ditentukan jumlah as/gandar dari sebuah kendaraan. Tetapi dalam penelitian-penelitian tersebut belum diteliti teknik untuk mendeteksi penggunaan roda ganda (dual tire) oleh sebuah kendaraan berjenis truk. Sementara klasifikasi kendaraan di jalan tol saat ini menggunakan parameter penggunaan ban ganda (dual tire) pada truk bergandar dua sebagai pembeda kelas tarif. Gambar 1 memperlihatkan dua jenis truk begandar dua dengan kelas tarif berbeda berdasarkan penggunaan ban ganda.
2
a. Truk single tire
b. Truk dual tire
Gambar 1. Dua jenis truk bergandar dua Principal Component Analisis (PCA) atau juga dikenal sebagai KarhunenLoeve merupakan sebuah teknik ekstraksi ciri yang banyak digunakan dalam bidang pengenalan pola ataupun computer vision. Dalam penelitiannya (Sirovich & Kirby, 1986), (Kirby & Sirovich, 1990) untuk pertama kali menggunakan PCA guna merepresentasikan citra wajah manusia. Selanjutnya dalam penelitian lain (Turk, 1991) mengemukakan metoda eigenface yang sangat terkenal untuk pengenalan wajah. Sejak saat itu, penelitian-penelitian tentang penggunaan PCA untuk pengenalan wajah (Khelil, M. et al, 2005)(Buono A. et al, 2010) banyak dilakukan dan memberikan hasil yang bagus. Walaupun demikian PCA tidak dapat menangkap semua variansi lokal karena adanya proses pem-vektoran citra wajah. Untuk mengatasi masalah ini Jian Yang (Yang Jian et al, 2004) mengemukakan metoda baru yang dinamakan 2D-PCA. Pada PCA konvensional (1D-PCA) citra direpresentasikan sebagai sebuah vektor, sementara pada 2D-PCA direpresentasikan sebagai sebuah matriks dua dimensi, sehingga variansi lokal dari citra tidak hilang. Banyak riset yang sudah dilakukan untuk menguji metoda 2D-PCA dalam melakukan ekstraksi ciri, diantaranya (Le, TH., Bui L. 2011) (Rashad A. et al, 2009) dan menunjukkan hasil yang bagus. Pada tahun 1995, Vapnik dan Cortes mengemukakan teori-teori dasar untuk
3
Support Vector Machine (SVM). Sejak saat itu SVM berkembang menjadi metode yang sangat baik dalam melakukan klasifikasi data. Riset-riset (Le, TH., Bui L. 2011), (Camargo A. et al, 2009), (Lu H. et al, 2011) telah menunjukkan bahwa SVM merupakan pengklasifikasi yang sangat handal. Pada dasarnya SVM adalah sebuah pengklasifikasi linear, artinya SVM hanya dapat digunakan pada kasusukasus yang linearly separable. Walaupun demikian kasus-kasus yang non linearly separable pun dapat menggunakan SVM sebagai pengklasifikasi setelah sebelumnya data ditransformasi ke ruang baru menggunakan sebuah fungsi kernel. Pada penelitian ini dibangun model sistem deteksi penggunaan ban ganda (dual tire) pada citra kendaraan berjenis truk bergandar dua menggunakan metode 2D-PCA dua tahap sebagai pengekstraksi ciri dan SVM sebagai pengklasifikasi. Model sistem deteksi penggunaan ban ganda pada truk yang diperoleh dapat digabungkan dengan sistem deteksi berbasis vision lain sehingga data lalu lintas yang dapat diperoleh menjadi lebih lengkap. Bagi operator jalan tol, model yang dibangun dapat dikembangkan menjadi sebuah sistem pendeteksi penggunaan ban ganda pada kendaraan truk bergandar dua untuk meningkatkan akurasi klasifikasi kendaraan.
Tujuan Membangun model sistem deteksi penggunaan ban ganda (dual tire) pada kendaraan berjenis truk bergandar dua berbasis vision menggunakan metode 2DPCA sebagai pengekstraksi ciri dan pengklasifikasi SVM.
Masalah Permasalahan yang diangkat pada penelitian ini adalah bagaimana melakukan ektraksi dan pemilihan fitur dari ban ganda menggunakan 2D-PCA dan bagaimana fitur tersebut bisa diklasifikasikan dengan metode SVM untuk membangun model sistem pendeteksi penggunaan ban ganda (dual tire) pada kendaraan berjenis truk bergandar dua berbasis vision. 4
Ruang Lingkup Berikut adalah batasan-batasan dan ruang lingkup yang berlaku pada tulisan ini : 1. Pengambilan citra dilakukan siang hari dari jam 10.00 sampai jam 14.00 dengan kondisi cuaca cerah. 2. Citra diambil dari sudut 45O terhadap as roda belakang 3. Pengambilan citra menggunakan kemera digital dengan ukuran 640 x 480 pixel 4. Kendaraan yang dijadikan objek berjenis truk bergandar dua dengan kondisi factory default. Manfaat Model sistem deteksi penggunaan ban ganda pada truk bergandar dua yang dikembangkan dapat digabungkan dengan sistem deteksi berbasis vision lain sehingga data lalu lintas yang dapat diperoleh menjadi lebih lengkap. Bagi operator jalan tol, sistem yang dikembangkan akan meminimumkan kesalahan deteksi kelas kendaraan truk bergandar dua berdasarkan penggunaan dual tire.
5
TINJAUAN 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. 7
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" 8
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: 0, jika f(n)≥T g(n) =
….................................................. (2)
1, jika f(n)
linear dari
R
m
ke
R
n
dimana n <<< m dengan memaksimumkan variansi
data. Misalkan input vector adalah
x∈R
m
y
dengan E[x]=0 (zero mean) dan
adalah vektor berdimensi n, maka transformasi linear dari
R
m
ke
R
n
dapat
dinyatakan sebagai :
[ ] [] [] ⋯aT1 ⋯ ⋯aT2 ⋯ ⋮ ⋯aTn ⋯
x1 x2 ⋮ xm
=
y1 y2 ⋮ yn
…............................... (3)
dengan :
[] [] []
a11 a 1= a12 ⋮ a 1m
a 21 a , a 2= 22 ⋮ a2m
a n1 a … a n= n2 ⋮ anm
Secara umum transformasi dapat dinyatakan sebagai : y i=aTi x
; i = 1,2,...,n
var y i
= var a Ti x
var y i
= E [( aTi x x T a i
var y i
= a Ti E xx T ai
var y i
= ai
…..................... (4)
sehingga :
dimana
T
∑ ai
…................................. (5)
Σ adalah matriks covarian.
Selanjutnya harus ditentukan maksimum dengan kondisi batas
a i yang dapat membuat
∥a∥=1 atau
var y i menjadi
T a i a i=1 atau
T
a i a i−1=0
karena a i adalah sebuah unit vektor. Salah satu teknik memecahkan permasalah optimisasi seperti ini adalah menggunakan teknik pengganda lagrange. Penentuan a i dihitung sebagai berikut : Masalah optimisasi : Maksimumkan
: var y i = a Ti ∑ ai
Kendala
:
T
a i a i−1=0
Melalui pengganda lagrange, fungsi yang dimaksimumkan adalah :
10
f a i
= a Ti ∑ ai - λ( a Ti a i−1 )
∂F =0 ∂ ai
= 2Σ a i - 2 λ a i = 0
Σ
ai
=λ
ai
….............................................. (6)
Dari persamaan 6 terlihat bahwa λ adalah nilai-nilai eigen dari matriks
Σ, sedang
a i adalah vektor eigen yang bersesuaian dengan masing-masing λ. Jika ruas kiri dan kanan persamaan tersebut dikalikan dengan a Ti maka akan diperoleh : a Ti ∑ ai
=
a Ti λ a i
kerena a Ti a i=1 , maka : T
ai
∑ ai = λ
var y i = λ …..................................................... (7)
Dari persamaan (7) tersebut dapat dilihat bahwa nilai eigen dari matriks covarian
Σ
adalah
var y i . Sehingga agar diperoleh varian maksimum maka a i
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 11
Formulasi 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=AX 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
= E Y −EY Y −EY T =E [ AX −E AX ][ AX −E AX ]T = E [ A−EA X ][ A− EA X ]T , sehingga :
tr S x = X T [ E [ A− EAT A−EA]] X .......................................... (9) Kemudian didefinisikan sebuah matriks T G t =E [ A−EA A−EA] …........................................... (10)
Matriks
Gt dinamakan matriks kovarian(scatter) citra yang berukuran n x n.
Matriks ini dapat dihitung langsung dari M buah citra-citra training A j j=1,2,... , M 1 Gt = M
M
∑ A j − A T A j− A
…....................................... (11)
j=1
Maka kriteria pada persamaan (8) dapat dinyatakan sebagai : T
J X = X G t X …..............................................................(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 Gt yang bersesuaian dengan nilai-nilai eigen terbesar.
12
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
T w xb=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 y i untuk i=1,2,...,n, dimana dalam SVM label kelas dinyatakan sebagai +1 dan -1. Selanjutnya linear classifier dapat dinyatakan sebagai T f x i =signw xi b ….................................................. (13)
Permasalahan selanjutnya adalah mencari set parameter T f x i =w x ib= y i untuk semua i.
w , b sehingga
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 13
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
terhadap hyperplane adalah
w sehingga jarak proyeksi ∥w∥
w r . Misalkan proyeksi ∥w∥
xi
x terhadap
hyperplane adalah x ' maka w x '=x − yr …................................................................ (14) ∥w∥ dimana perkalian dengan y adalah untuk merubah tanda sesuai dengan kelas positif dan negatif. x w
w r ∥w ∥
T
w xb=0
x ' Gambar 3 : Proyeksi x terhadap hyperplane Karena x ' terletak pada hyperplane maka w T wT x' b=0 sehingga : w x − yr ∥w∥ b=0 . Setelah persamaan tersebut diatur ulang akan diperoleh : r=y
wT xb ∥w∥
atau jarak absolut antar xi a dengan hyperplane adalah
∣
r=
w T xi b ∥w∥
∣
…................................................................ (15)
Jika normal vektor w yang digunakan adalah unit vektor, maka ∥w ∥=1 dan jarak xi ke hyperplane adalah 14
∣wT x ib∣
. Agar persamaan
menjadi unik, diambil
∣wT x ib∣=1
untuk setiap support vector xi (vektor
terdekat ke hyperplane). Sehingga jarak support vector xi terhadap hyperplane adalah
∣
∣
2 w T x i b 1 dan margin ρ = . = ∥w ∥ ∥w∥ ∥w ∥
Permasalahan kemudian menjadi bagaimana memilih w dan b agar 2 maksimum dengan kondisi batas : ∥w ∥
∣wT x ib∣≥1
jika xi kelas positif dan
∣wT x ib∣≤1
jika
xi kelas negatif.
Permasalah ini dapat dirubah menjadi formulasi standar SVM sebagai permasalahan minimisasi : Minimumkan fungsi
1 2 = ∥w ∥ : J w 2
Kondisi batas
T : gi w , b=1− y i w xi b
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 n
n
n
maksimumkan
1 T : L D λ=∑ λ i− ∑ ∑ λ i λ j y i y j x i x j …... (16) 2 i=1 j=1 i=1
kendala
: λ i≥0 dan
n
∑ λ i y i=0
…........................... (17)
i=1
dimana λ = { λ 1 ,... λ n } adalah pengganda lagrange (variabel baru) untuk masing-masing data. Persamaan (16 ) dapat ditulis menggunakan notasi matriks : T
[] []
λ1 1 λ1 L D λ=∑ λ i− ⋮ H ⋮ 2 i=1 λn λn n
….................. (18)
dimana H merupakan matiks berukuran n x n, dengan nilai pada baris ke-i dan kolom ke-j dari matriks H adalah
T
H ij = y i y j x i x j
15
L D λ dapat dioptimasi menggunakan Quadratic Programming.
Selanjutnya
Berdasarkan pada λ = { λ 1 ,... λ n } optimal yang diperoleh : λ i=0 maka data ke-i adalah bukan support vector
•
jika
•
jika λ i≠0 dan
T
yi w x ib−1=0 maka data ke-i adalah
support
vector. Kemudian w dihitung menggunakan persamaan n
w =∑ λi y i x i …....................................... (19) i=1
b dapat dihitung menggunakan sembarang λ i0 melalui persamaan b=
1 −w T xi …....................................... (20) yi
Persamaan hyperplane optimal yang diperoleh adalah : f x =
T
∑ λi y i x i x i∈ S
x ib ….................... (21)
dimana S adalah himpunan support vector S={ xi |
λ i≠0 }
Metoda 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 pada data xi melalui perkalian titik
xTi x j . Jika
L D a hanya bergantung xi dibawa ke dimensi yang
lebih tinggi oleh φ(x) maka harus dihitung hasil kali titik pada dimensi yang lebih tinggi tersebut φ xTi φ x j . Fungsi yang akan dimaksimasi menjadi
16
n
n
n
1 L D a=∑ ai− ∑ ∑ ai a j y i y j φ x Ti φ x j …...................................... (22) 2 i=1 j =1 i=1 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 K xi , x j
Sehingga persamaan (19) menjadi : n
n
n
1 L D a=∑ ai− ∑ ∑ ai a j y i y j K x i , x j …........................................ (23) 2 i=1 j =1 i=1 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 T K x i , x j = x i x j Polinamial T p K x i , x j = x i x j1 Radial Basis Function (data dibawa ke dimensi tak hingga) −1 K x i , x j =exp ∥x i −x j∥2 2 2σ
17
METODE PENELITIAN Kerangka Pemikiran Untuk membangun model, penelitian dilakukan menggunakan tahap penelitian sebagai mana terlihat pada Gambar 5. Mulai Pemahaman permasalahan 15 citra truk dengan ban ganda + 15 citra non ban ganda Untuk uji detektor
Pengambilan data 165 citra ban ganda dan 315 non ban ganda
150 citra truk dengan ban ganda + 300 citra non ban ganda untuk pelatihan dan pengujian model Cropping 552 citra ban ganda dan 1284 citra non ban banda Citra ban ganda(positif) dan non ban ganda (negatif) secara random dikelompokkan dalam tiga kelompok. (A, B dan C)
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
Citra diruban menjadi citra grayscale dan dikenai proses histogram equalization Ekstraksi ciri 2D-PCA tahap 1 (95%, 90%, 85%)
Citra diruban menjadi citra grayscale dan dikenai proses histogram equalization Matriks transformasi Tahap 1
PC Tahap 1
PC Tahap 1
Ekstraksi ciri 2D-PCA Tahap 2 (95%, 90%, 85%)
Matriks transformasi Tahap 1
PC Tahap 2
Selesai
Ekstraksi ciri 2D-PCA Tahap 2 (95%, 90%, 85%)
PC Tahap 2
Pelatihan classifier SVM (Linear, Polinom, RBF Kernel) Analisis hasil dan Penyusunan Laporan
Ekstraksi ciri 2D-PCA tahap 1 (95%, 90%, 85%)
Pengujian model menggunakan sliding windows detektor
Classifier SVM yang terlatih
Pemilihan modelmodel 2D PCA – SVM terbaik
Klasifikasi menggunakan model SVM
Pengukuran akurasi masing-masing model
Gambar 5 : Tahap Penelitian 19
Tahap Pemahaman Permasalahan Tahap ini dimulai dengan mengeksplorasi ide-ide dengan membaca jurnaljurnal 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.
45O kamera
Gambar 6: Posisi kamera untuk pengambilan citra/video Ketinggian kamera dari tanah/jalan 0.5 meter (setinggi jari-jari roda). Gambar 7 20
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 21
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
22
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 n x p - k, jumlah vektor ciri yang dipakai,
Output :
- T, matriks transformasi - PC, Principal Components
Algoritma : 1.
Hitung matriks citra rata-rata ( I ) I = 1 (I1 + I2 + … + Ip) p
6.
Hitung matriks covarian p
Gt =
1 I j−I T I j− I ∑ p j=1
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 Ambil sejumlah k vektor ciri yang bersesuaian dengan k nilai ciri
23
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 masingmasing 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 24
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 masingmasing 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 No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
PCA 2D Tahap 1 Tahap 2 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 0.90 0.90 Linear 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 0.90 0.90 Kuadratik 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 Polinom 0.90 0.90 orde 3 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 Kernel SVM
No 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
PCA 2D Tahap 1 Tahap 2 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 RBF 0.90 0.90 (Sigma = 1) 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 RBF 0.90 0.90 (Sigma = 5) 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 RBF (Sigma = 0.90 0.90 8) 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 Kernel SVM
No 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
PCA 2D Tahap 1 Tahap 2 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 RBF (Sigma 0.90 0.90 = 10) 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 RBF (Sigma 0.90 0.90 = 20) 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 0.95 0.95 0.95 0.90 0.95 0.85 0.90 0.95 RBF (Sigma 0.90 0.90 = 30) 0.90 0.85 0.85 0.95 0.85 0.90 0.85 0.85 Kernel SVM
Tabel 1. Model-model yang akan diujikan 25
Alat yang digunakan Untuk pengambilan data citra digunakan kamera digital panasonic 8.1 mega pixel. Sedangkan untuk pengolahan data digunakan perangkat keras komputer dengan processor intel Pentium Dual Core 1.6 GHz, memori DDR2 2GB menjalankan sistem operasi Ubuntu 10.4. Perangakat lunak yang digunakan untuk pemodelan adalah Matlab R2009b dan untuk pengolahan citra menggunakan aplikasi GIMP 2.6. Waktu dan tempat Penelitian dilaksanakan dari bulan Desember 2011 sampai dengan Agustus 2012 bertempat di Laboratorium Computational Intelegence (CI) Pascasarjana Departemen Ilmu Komputer, Institut Pertanian Bogor. Data citra diambil di jalan tol Palikanci Cirebon dan beberapa lokasi penambangan pasir serta jalan raya di daerah Kuningan Jawa Barat.
26
HASIL DAN PEMBAHASAN Ekstraksi ciri Citra yang digunakan dalam penelitian ini berukuran 150 x 150 pixel, sehingga jika divektorkan akan menghasilkan vektor berukuran 22500. Melalui tahap ekstraksi ciri dengan metode 2D-PCA diharapkan dapat memperkecil dimensi vektor yang dihasilkan dengan menghilangkan fitur-fitur citra yang tidak begitu berarti, sehingga proses klasifikasi dapat berjalan lebih cepat. Dengan cara ini juga diharapkan dapat mengurangi noise pada data sehingga klasifikasi dapat menjadi lebih akurat. Ekstraksi 2D-PCA dilakukan dalam dua tahap dengan pengambilan nilai eigen pada masing-masing tahap sebesar 95%, 90% dan 85%. Hasil yang diperoleh dapat dilihat pada Tabel 2. PCA 2D tahap 1 Tahap 1 (%) Jml. PC 95 19 95 19 90 10 95 19 90 10 85 6 90 10 85 6 85 6
PCA 2D tahp 2 Tahap 2(%) Jml. PC 95 18 90 10 95 16 85 7 90 9 95 14 85 7 90 8 85 6
Jml. Fitur 342 190 160 133 90 84 70 48 36
Tabel 2. Jumlah fitur/ciri yang diperoleh dengan metode 2D-PCA dua tahap Dari tabel di atas terlihat bahwa metoda 2D-PCA dua tahap yang telah dilakukan cukup berhasil mereduksi dimensi citra yang pada awalnya berukuran 22500 fitur. Akurasi model Model yang telah diuji dalam penelitian ini berjumlah 81 model seperti dapat dilihat dari Tabel 1. Pengujian dilakukan menggunakan perangkat lunak Matlab serta library-library nya. Hasil pengujian dan pengukuran akurasi yang telah dilakukan selengkapnya dapat dilihat pada Lampiran 1, dan dirangkum pada
27
pada Tabel 3. Kernel Linear 97.0 Tidak konvergen
PCA 95/95 95/90 95/85 90/95 90/90 90/85 85/95 85/90 85/85
Kuadratik Kubik (%) (%) 95.4 96.9 96.2 97.9 98.0 97.7 98.7 98.5 98.4
90.4 93.1 95.1 95.6 97.1 97.9 94.8 96.9 97.4
RBF (sig=1) (%)
RBF (sig=5) (%)
RBF (sig=8) (%)
RBF (sig=10) (%)
RBF (sig=20) (%)
RBF (sig=30) (%)
69.9 69.9 69.9 69.9 69.9 69.9 69.9 72.4 79.9
71.6 86.6 92.3 90.5 97.7 99.3 98.5 99.5 98.9
90.8 95.4 97.7 97.5 99.0 98.4 98.7 96.6 95.9
93.1 96.4 97.5 97.9 97.7 95.9 98.4 95.3 94.6
94.3 93.5 93.0 94.1 94.6 93.3 94.9 93.5 92.3
92.3 92.8 91.7 93.5 93.3 92.3 93.5 92.0 91.7
Tabel 3. Hasil pengukuran akurasi 81 model pendeteksi ban ganda Dari hasil pengujian tahap pertama diperoleh fakta bahwa untuk pengklasifikasi SVM yang menggunakan kernel linear tidak konvergen sampai jumlah maksimum iterasi. Ini menunjukkan bahwa klasifikasi data ban ganda dan non ban ganda adalah bukan kasus linear separable. Dengan demikian model yang menggunakan
kernel linear tidak akan diuji pada tahap kedua. Untuk
penggunaan kernel polinamial orde 2 (kuadratik) dan orde 3 (kubik) menunjukkan akurasi yang bagus, lebih dari 95%. Sementara untuk penggunaan kernel RBF juga memberikan akurasi yang bagus, kecuali untuk nilai sigma = 1 yang menunjukkan perilaku yang berbeda, sehingga model yang menggunakan kernel RBF dengan sigma=1 juga tidak akan diuji pada tahap kedua. Dari tabel hasil di atas juga terlihat bahwa ada pengaruh dari jumlah fitur yang dihasilkan dari tahap ekstraksi ciri menggunakan PCA terhadap akurasi model. Ini terlihat lebih jelas pada model yang menggunakan kernel RBF dengan sigma=5. Untuk memperjelas pengaruh proses ekstraksi ciri 2D-PCA terhadap akurasi model masing-masing kernel, data pada Tabel 3. ditampilkan sebagai grafik pada Gambar 12.
28
1.000
0.950
0.900
Kuadratik Kubik SVM(RBF=5) SVM(RBF=8) SVM(RBF=10) SVM(RBF=20) SVM(RBF=30)
0.850
0.800
0.750
0.700 95/95
95/90
95/85
90/95
90/90
90/85
85/95
85/90
85/85
Gambar 12. Grafik hubungan persen nilai eigen pada tahap ekstraksi ciri terhadap akurasi model untuk masing-masing kernel SVM Dari Gambar 12 di atas dapat dilihat bahwa pengambilan persen nilai eigen sebesar 95/95, 95/90, 90/95, dan 95/85 memberikan akurasi lebih rendah jika dibandingkan dengan yang lain, hal ini menunjukkan bahwa pengambilan persen nilai eigen tersebut kurang cocok dipakai pada model pendeteksi ban ganda yang dikembangkan. Berdasarkan perilaku tersebut maka model-model yang akan diuji di tahap kedua adalah model-model yang menggunakan persen nilai eigen 90/90, 85/95, 90/85, 85/90 dan 85/85. Pemilihan Kernel Polinomial Model-model yang menggunakan kernel polinomial yang akan di uji pada tahap dua dipilih berdasarkan pencapaian akurasi. Data akurasi untuk model yang menggunakan kernel polinomial dapat dilihat pada Tabel 4. 2D-PCA Tahap 1 (%) 90 85 90 85 85
Tahap 2 (%)
Kuadratik (%)
Kubik (%)
90 95 85 90 85
98.0 98.7 97.7 98.5 98.5
97.1 94.8 97.9 96.9 97.4
Tabel 4. Akurasi model yang menggunakan kernel polinomial Dengan menggunakan data tersebut kemudian dipilih model yang 29
memberikan akurasi tertinggi yaitu kernel kuadratik pada saat persen nilai eigen 90/90, 85/95, 85/90 dan 85/85 untuk proses 2D-PCA dua tahap. Sedangkan pada saat persen nilai eigen 90/85 kernel kubik pada klasifikasi dengan SVM memberikan akurasi lebih tinggi. Pemilihan Kernel RBF Data akurasi untuk model yang menggunakan kernel RBF dapat dilihat pada Tabel 5. 2D-PCA 90/90 85/95 90/85 85/90 85/85
RBF (sig=1) (%) 69.9 69.9 69.9 72.4 79.9
RBF (sig=5) (%) 97.7 98.5 99.3 99.5 98.9
RBF RBF RBF RBF (sig=8) (sig=10) (sig=20) (sig=30) (%) (%) (%) (%) 99.0 97.7 94.6 93.3 98.7 98.4 94.9 93.5 98.4 95.9 93.3 92.3 96.6 95.3 93.5 92.0 95.9 94.6 92.3 91.7
Tabel 5. Nilai akurasi model-model yang menggunakan kernel RBF Dari Tabel 5 terlihat bahwa untuk PCA 90/90 akurasi tertinggi dicapai pada saat sigma=8, demikian juga saat PCA 85/95. Tetapi untuk PCA 90/85, 85/90 dan 85/85 akurasi terbaik diberikan oleh model yang menggunakan kernel RBF dengan sigma=5. Dengan demikian model-model yang menggunakan kernel RBF yang akan diuji pada tahap dua menggunakan nilai parameter sigma=5 dan sigma=8. Pengujian Tahap Dua Dari pemilihan model-model yang telah dilakukan, maka diperoleh sepuluh model pendeteksi terbaik seperti terlihat pada Tabel 6. PCA 2D No. Tahap 1 Tahap 2 Model (%) (%) 1 90 90 2 85 95 3 90 85 4 85 90 5 85 85 6 90 90 7 85 95 8 90 85 9 85 90 10 85 85
Kernel SVM Kuadratik Kuadratik Kubik Kuadratik Kuadratik RBF, sig=8 RBF, sig=8 RBF, sig=5 RBF, sig=5 RBF, sig=5
Akurasi tahap 1 (%) 98.4 99.0 98.1 99.2 98.6 99.0 98.6 99.0 99.2 98.6
Tabel 6 : Model-model pendeteksi ban ganda terpilih 30
Kesepuluh model tersebut kemudian dicobakan untuk mendeteksi keberadaan ban ganda pada 30 citra yang diambil dengan kamera 640 x 480 pixel dengan skenario pengambilan seperti telah dipaparkan pada tahap pengambilan data. Dari 30 citra yang dicobakan, 15 citra mengandung ban ganda dan 15 citra tidak mengandung ban ganda. Gambar 30 citra uji yang dipergunakan dapat dilihat selengkapnya pada Lampiran 3. Proses deteksi dilakukan menggunakan teknik sliding window, dimana sebuah jendela detektor berukuran 150 x 150 pixel digerakan di seluruh area yang dimungkinkan terdapat objek ban ganda. Dalam penelitian ini diambil posisi koordinat awal (1,30) dan posisi akhir di (300,170). Jendela detektor digerakkan sejauh 10 pixel, sehingga total detektor yang harus diklasifikasi oleh model berjumlah 450 jendela per citra. Pada Gambar 13 dapat dilihat area pencarian yang dilakukan pada setiap citra uji.
Gambar 13 : Area pencarian ban ganda pada citra uji Hasil pengujian terhadap sepuluh model terpilih dapat dilihat selengkapnya pada Tabel 7. Model 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1 1 1
3 1 1 1 1 1 1 1 1 1 1
4 1 1 1 1 1 1 1 1 1 1
5 1 1 1 1 1 1 1 1 1 1
6 1 1 1 1 1 1 1 0 1 1
7 1 1 1 1 1 1 1 1 1 1
8 1 1 1 1 1 1 1 1 1 1
9 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
12 1 1 1 1 1 1 1 1 1 1
13 1 1 1 1 1 1 1 1 1 1
14 1 1 1 1 1 1 1 0 1 1
15 1 1 1 1 1 1 1 1 1 1
1 1 1 0 0 0 0 1 1 0 0
2 1 0 0 0 0 0 0 1 1 1
3 0 0 0 0 0 0 0 1 0 0
4 1 1 1 1 1 1 0 1 1 1
5 0 0 0 0 0 0 0 0 0 0
6 0 1 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 1 0 1 0
8 0 0 0 0 0 0 0 1 0 0
9 10 11 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0
12 0 1 0 0 0 1 1 1 0 0
13 1 0 0 0 0 1 1 1 0 0
14 0 1 0 1 0 1 1 1 1 0
15 0 1 1 0 0 0 1 1 1 0
Akurasi 0.67 0.77 0.57 0.57 0.53 0.67 0.77 0.83 0.73 0.57
keterangan : angka 1 menunjukkan klasifikasi benar dan 0 menunjukkan klasifikasi salah
Tabel 7. Hasil pengujian sepuluh model terpilih 31
Berdasarkan jumlah citra yang terklasifikasi dengan baik kemudian akurasi dihitung dengan perhitungan Akurasi=
jumlah citra yang terklasifikasi dengan baik jumlah total citra yang diklasifikasi
Hasil perhitungan selengkapnya dapat dilihat pada Tabel 8 berikut :
No. Model 1 2 3 4 5 6 7 8 9 10
PCA 2D tahap 1 Tahap 1 Tahap 2 (%) (%) 90 90 85 95 90 85 85 90 85 85 90 90 85 95 90 85 85 90 85 85
Kernel SVM
Akurasi Tahap 1 (%)
Akurasi Tahap 2 (%)
Kuadratik Kuadratik Kubik Kuadratik Kuadratik RBF, sig=8 RBF, sig=8 RBF, sig=5 RBF, sig=5 RBF, sig=5
98.4 99.0 98.1 99.2 98.6 99.0 98.6 99.0 99.2 98.6
67.0 77.0 57.0 57.0 53.0 67.0 77.0 83.0 73.0 57.0
Tabel 8. Hasil pengujian tahap dua model pendeteksi ban ganda pada citra kendaraan menggunakan teknik sliding windows Hasil yang diperoleh dari pengujian tahap dua menunjukkan akurasi model pengklasifikasi yang jauh di bawah akurasi uji tahap pertama. Dari hasil pengujian pada Tabel 7 juga terlihat bahwa model yang dibangun banyak melakukan salah klasifikasi pada citra-citra yang tidak mengandung ban ganda yang terdeteksi sebagai citra yang mengandung ban ganda. Untuk memahami perilaku ini kemudian nilai fungsi pengklasifikasi dari tiap-tiap jendela detektor pada taiaptiap citra uji dianalisis. Data tersebut menunjukkan bahwa sebuah citra (jendela detektor) akan diklasifikasikan sebagai ban ganda jika nilai fungsi pengklasifikasi bernilai negatif (-) dan bukan ban ganda jika positif. Semakin besar nilai negatif menandakan bahwa model semakin yakin bahwa citra tersebut adalah ban ganda. Agar semua citra uji yang tidak mengandung ban ganda diklasifikasi secara benar maka nilai fungsi pengklasifikasi dari semua jendela detektor pada citra-citra uji yang tidak mengandung ban ganda harus bernilai positif. Hal ini dapat dilakukan dengan menambahkan sebuah konstanta (threshold) bernilai positif pada fungsi pengklasifikasi dengan nilai lebih besar dari absolut nilai fungsi pengklasifikasi 32
paling kecil. Tetapi menambahkan sebuah konstanta positif pada fungsi pengklasifikasi yang terlalu besar dapat menyebabkan nilai fungsi pengklasifikasi pada citra-citra yang mengandung ban ganda semakin besar bahkan mungkin menjadi positif. Jika ini terjadi maka citra yang mengandung ban ganda akan diklasifikasi sebagai citra yang tidak mengandung ban ganda. Dengan demikian perlu dilakukan pemilihan nilai threshold yang memberikan akurasi model paling maksimum. Pemilihan nilai threshold yang memberikan akurasi maksimum ditentukan oleh nilai fungsi pengklasifikasi paling kecil (minimum) dari jendela detektor pada 30 citra uji. Jika thresholding membuat nilai fungsi dari jendela detektor minimum pada citra uji menjadi positif dapat dipastikan ke 449 jendela detektor yang lain pun akan bernilai positif. Sehingga dipilih sedemikian agar thresholding dapat membuat nilai fungsi minimum dari jendela detektor untuk15 citra yang mengandung ban ganda tetap bernilai negatif, tapi
membuat nilai fungsi
minimum dari jendela detektor untuk 15 citra yang tidak mengandung ban ganda menjadi positif. Untuk mempermudah pemilihan nilai threshold, data nilai fungsi minimum untuk 30 citra uji menggunakan masing-masing model diplot dalam sebuah grafik seperti pada Gambar 14. Grafik selengkapnya untuk 10 model pendeteksi dapat dilihat pada Lampiran 4. Pemiliha Trashold Model 1 (Kudratik 90/90)
Nilai Fungsi Pengklasifikasi
2 0 -2 -4
Ban Ganda Non Ban Ganda
-6 -8 -10 -12 -14 -16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nomor Citra Uji
Gambar 14 : Grafik nilai fungsi minimum dari masing-masing citra uji tahap 2 menggunakan pengklasifikasi model 1 33
Pada Gambar 14 terlihat bahwa citra-citra yang diklasifikasi oleh fungsi pengklasifikasi sebagai ban ganda adalah citra-citra
dengan nilai fungsi
pengklasifikasi negatif (nilai fungsi < 0). Tampak bahwa banyak citra non ban ganda (◊) yang diklasifikasikan sebagai ban ganda karena memiliki nilai fungsi negatif. Ini merupakan penyebab rendahnya akurasi model pada pengujian tahap dua. Rendahnya akurasi ini dapat diperbaiki dengan menambahkan sebuah tetapan kepada fungsi pengklasifikasi sehingga pemisahan data ban ganda atau non ban ganda tidak berada pada titik nol tetapi bergeser ke bawah sejauh nilai tetapan yang dipilih. Dengan demikian fungsi berbentuk
pengklasifikasi yang pada awalnya
f x i =signw T xi b menjadi
f x i =signw T xi bc
dimana c adalah tetapan yang dipilih sedemikian agar akurasi menjadi maksimum. Agar lebih mudah dianalisis, data pada Gambar 14 dapat disajikan dalam bentuk grafik distribusi nilai minimum pengklasifikasi. Untuk keperluan tersebut, data di bagi ke dalam delapan bin kemudian jumlah data pada masing-masing bin dihitung (frekwensi). Hasil perhitungan untuk model 1 dapat dilihat pada Tabel 9. Bins Min
Max
Rataan
0 -2 -4 -6 -8 -10 -12 -14
2 0 -2 -4 -6 -8 -10 -12
1 -1 -3 -5 -7 -9 -11 -13
Frekwensi Ban Non Ban Ganda Ganda 0 1 0 12 5 1 5 1 4 0 0 0 0 0 1 0
Tabel 9. Frekwensi nilai fungsi pengklasifikasi dalam delapan bin Selanjutnya Tabel 9 ditampilkan dalam bentuk grafik distribusi seperti Gambar 15. 14 12
Frekwensi
10 8 Non Ban Ganda Ban Ganda
6 4 2 0 1
-1
-3
-5
-7
-9
-11
-13
Nilai fungsi pengklasifikasi
Gambar 15 : Grafik ditribusi nila fungsi pengklasifikasi 34
Grafik distribusi untuk model-model lain dapat dilihat selengkapnya pada Lampiran 4. Pemilihan nilai tetapan “c” untuk masing-masing model dilakukan secara inspeksi dan trial-error terhadap grafik nilai fungsi minimum dari masing-masing citra uji tahap 2 untuk masing-masing model pengklasifikasi. Grafik nilai fungsi minimum dari masing-masing citra uji tahap 2 untuk masing-masing model pengklasifikasi selengkapnya dapat dilihat pada Lampiran 4. Hasil pemilihan nilai c serta akurasi maksimum yang dicapai untuk masingmasing model dapat dilihat pada Tabel 10 berikut. No. Model 1 2 3 4 5 6 7 8 9 10
PCA 2D Tahap 1 Tahap 2 (%) (%) 90 90 85 95 90 85 85 90 85 85 90 90 85 95 90 85 85 90 85 85
Kernel SVM Kuadratik Kuadratik Kubik Kuadratik Kuadratik RBF, sig=8 RBF, sig=8 RBF, sig=5 RBF, sig=5 RBF, sig=5
Akurasi sebelum thresholding 67.0 77.0 57.0 57.0 53.0 67.0 77.0 83.0 73.0 57.0
Akurasi setelah thresholding 93.3 93.3 90.0 93.3 86.6 93.3 93.3 83.0 90.0 93.3
Nilai c (threshold) 3.15 1.14 6.2 1.74 3.14 0.46 0.64 0 0.547 0.643
Tabel 10. Hasil pemilihan nilai threshold dan pengujian tahap dua Dari Tabel 10 di atas terlihat bahwa kernel RBF dan kuadratik menunjukkan kinerja yang sama baiknya dengan akurasi maksimum 93.3%. Rata-rata waktu yang diperlukan oleh masing-masing model untuk melakukan satu kali klasifikasi adalah 0.0052 detik. Sehingga untuk melakukan klasifikasi terhadap 450 jendela detektor pada satu gambar diperlukan waktu 2.34 detik. Hasil ini masih jauh dari kebutuhan waktu untuk pemrosesan secara real time. Sebagai perbandingan, untuk kamera denga kecepatan 15 fps, waktu pemrosesan satu frame citra harus lebih kecil 0.067 detik agar bisa berjalan secara real time .
35
SIMPULAN DAN SARAN Simpulan Dalam penelitian ini telah dikembangkan model sistem pendeteksi ban ganda pada citra truk bergandar dua menggunakan pengekstraksi ciri 2D-PCA dua tahap dan SVM sebagai pengklasifikasi. Model yang dikembangkan menunjukan bahwa penggunaan metoda 2D-PCA dua tahap berhasil mereduksi data citra sampai 99.8%, dari vektor citra yang berdimensi 22500 menjadi berdimensi 36. Pengujian dua tahap yang dilakukan memperlihatkan bahwa kernel kuadratik dan RBF merupakan kernel-kernel yang memberikan kinerja terbaik. Akurasi deteksi yang diperoleh mencapai 93.3%. Saran Pada penelitian selanjutnya dapat diteliti akurasi model menggunakan data potongan citra ban ganda dengan ukuran serta pada bagian yang berbeda, juga dari sudut pengambilan citra berbeda sehingga diharapkan dapat mengambil fitur ban ganda secara lebih baik sehingga akurasi model menjadi lebih baik. Karena sistem deteksi ini akan diimplementasikan secara real time, pada penelitian selanjutnya juga perlu diteliti akurasi model jika menggunakan data berupa frameframe video. Penelitian ini juga dapat dikembangkan dengan menggunakan teknik-teknik ekstraksi fitur lain seperti haar-like feature. Sedangkan pada proses klasifikasi dapat diterapkan pengklasifikasi lain seperti jaringan syaraf tiruan atau AdaBoost. Untuk mempersempit area pencarian ban ganda pada citra dapat diteliti penggunaan teknik-teknik image processing sehingga proses deteksi dapat dilakukan lebih cepat.
37
DAFTAR PUSTAKA Buono A, Ridha A, Bastian H. 2010. Sistem Pengenalan Wajah Real-time Dalam Ruang Eigen Dengan Segmentasi Berdasarkan Warna Kulit. Jurnal Ilmiah Ilmu Komputer. Vol 15 No. 2 Camargo A., Smith JS. 2009. Image Pattern Classification For the Identification of Desease Causing Agent in Plants. Computers and Electrinics inAgriculture 66. pp : 121-125 Chen Z, Pears NE, Freeman M, Austin J. 2009 Road Vehicle Classification using Support Vector Machines. Proc. of IEEE Int. Conf. on Intelligent Computing and Intelligent Systems, Shanghai, China. pp. 214-218. Duda RO, Hart PE, Stork DG. 2000 , “Pattern Classification”, 2nd edition. New York: John Wiley & Sons Davies E.R. 1990. Machine Vision: Theory, Algorithms, Practicalities. London : Academic Press. Fung Y, Lee H, and Ercan MF. 2006. Image Processing Application in Toll Collection. IAENG International Journal of Computer Science . Frenze J.F. 2002. A Video-based Method for the Detection of Truck Axles. NIATT Report Number N02-05. Gonzalez RC, Woods RE, and Eddins SL. 2004. Digital Image Processing Using MatLab. New Jersey: Prentice-Hall. Jolliffe IT. 2002. Principal Component Analysis. New York: Springer-Verlag. Kecman V. 2001. Learning and Soft Computing. London : MIT Press. Khelil M, Boudraa M, Kechida A, and Drai R. 2005. Classification of Defects by the SVM Method and the Principal Component Analysis (PCA). World Academy of Science, Engineering and Technology. Kirby M. and Sirovich L. 1990. Aplication of the Karhunen-Loeve Procedure for the Characterization of Human Faces. IEEE Transactions On Pattern Analysis and Machine Intelligence. Vol. 12. No. 1 Le TH., Bui L. 2011. Face Recognition Based on SVM and 2DPCA. International Journal of Signal Processing, Image Processing and Pattern Recognition. Vol. 4 : No. 3. Lu H, Zheng H, Hu Y, Lou H, Kong X. 2011. Bruise Detection on Red Bayberry (Myrica rubra Sieb. & Zucc.) Using Fractal Analysis and Support Vector Machine. Journal of Food Engineering 104. pp : 149-153. Narayanan U. 2009. Vision Based Vehicle Counting and Classification System [project report]. Kerala : Indian Institute of Information Technology and Management-Kerala. Peijin Ji, Lianwen Jin, Xutao Li. 2007. Vision-based Vehicle Type Classification Using Partial Gabor Filter Bank. Proceedings of the IEEE International Conference on Automation and Logistics, China : Jinan. pp.18 – 21. 39
Rashad A. , Hamdy A., Saleh MA. Eladawy M. 2009. 3D Face Recognition Using 2DPCA. IJCSNS International Jaournal of Computer Science and Network Security. Vol:9. No. 12. Smith BT. 2004. Lagrange Multipliers Tutorial in the Context of Support Vector Machines. St. John's Canada : Faculty of Engineering and Applied Science Memorial University of Newfoundland. Sabri M and Fieguth P. 2004. A New Gabor Filter Based Kernel for Texture Classification with SVM. ICIAR, LNCS 3212, pp. 314–322, 2004. SpringerVerlag Berlin Heidelberg Shin W, Song D, and Lee C. 2006. Vehicle Classification by Road Lane Detection and Model Fitting Using a Surveillance Camera. International Journal of Information Processing Systems. Vol.2 : No.1 Sirovich L., Kirby M. 1986. Low-dimensional Procedure For Characterization of Human Face. Jurnal of the Optical Society of America A. Vol.4 : 519 Yang Jian, et al. 2004. Two-dimensional PCA: a new approach to appearancebased face representation and recognition. Pattern Analysis and Machine Intelligence, IEEE Transactions on. Vol. 26 : pp. 131-137. Turk M. and Pentland A. 1991. Eigenfaces for Recognition. J. Cognitive Neuroscience. Vol. 3 : no. 1, pp. 71-86. Wang L. 2005. Support Vector Machines:Theory and Applications. New York : Springer Berlin Heidelberg.
40
Lampiran 1. Hasil Percobaan Terhadap 81 Model Pendeteksi Ban Ganda
Positif Negatif Jumlah
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Training 368 856 1224
Testing 184 428 612
PCA 2D tahap 1 Tahap 1 Jml. PC 0.95 19 0.95 19 0.95 0.90 0.90 Linear 0.90 0.85 0.85 0.85 0.95 19 0.95 19 0.95 19 0.90 10 0.90 10 Kuadratik 0.90 10 0.85 6 0.85 6 0.85 6 0.95 19 0.95 19 0.95 19 0.90 10 Polinom orde 3 0.90 10 0.90 10 0.85 6 0.85 6 0.85 6 0.95 19 0.95 19 0.95 19 0.90 10 0.90 10 RBF (Sigma = 1) 0.90 10 0.85 6 0.85 6 0.85 6 Kernel SVM
Jumlah 552 1284
PCA 2D tahp 2 Tahap 2 Jml. PC 0.95 18 0.90 10 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 18 0.90 10 0.85 7 0.95 16 0.90 9 0.85 7 0.95 14 0.90 8 0.85 6 0.95 18 0.90 10 0.85 7 0.95 16 0.90 9 0.85 7 0.95 14 0.90 8 0.85 6 0.95 18 0.90 10 0.85 7 0.95 16 0.90 9 0.85 7 0.95 14 0.90 8 0.85 6
Jml. Fitur 342 190 0 0 0 0 0 0 0 342 190 133 160 90 70 84 48 36 342 190 133 160 90 70 84 48 36 342 190 133 160 90 70 84 48 36
Jml. Terdedeksi Positif Negatif 161 394
Akurasi 0.907
Tidak konvergen
178 182 182 184 184 184 184 183 184 133 155 167 179 180 181 184 184 183 0 0 0 0 0 0 0 15 61
406 411 407 415 416 414 420 420 418 420 415 415 406 414 418 396 409 413 428 428 428 428 428 428 428 428 428
0.954 0.969 0.962 0.979 0.980 0.977 0.987 0.985 0.984 0.904 0.931 0.951 0.956 0.971 0.979 0.948 0.969 0.974 0.699 0.699 0.699 0.699 0.699 0.699 0.699 0.724 0.799
41
Lampiran 1 (Lanjutan) 37 38 39 40 41 RBF (Sigma = 5) 42 43 44 45 46 47 48 49 50 RBF (Sigma = 8) 51 52 53 54 55 56 57 58 RBF (Sigma = 59 10) 60 61 62 63 64 65 66 67 RBF (Sigma = 68 20) 69 70 71 72 73 74 75 76 RBF (Sigma = 77 30) 78 79 80 81
42
0.95 0.95 0.95 0.90 0.90 0.90 0.85 0.85 0.85 0.95 0.95 0.95 0.90 0.90 0.90 0.85 0.85 0.85 0.95 0.95 0.95 0.90 0.90 0.90 0.85 0.85 0.85 0.95 0.95 0.95 0.90 0.90 0.90 0.85 0.85 0.85 0.95 0.95 0.95 0.90 0.90 0.90 0.85 0.85 0.85
19 19 19 10 10 10 6 6 6 19 19 19 10 10 10 6 6 6 19 19 19 10 10 10 6 6 6 19 19 19 10 10 10 6 6 6 19 19 19 10 10 10 6 6 6
0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85 0.95 0.90 0.85
18 10 7 16 9 7 14 8 6 18 10 7 16 9 7 14 8 6 18 10 7 16 9 7 14 8 6 18 10 7 16 9 7 14 8 6 18 10 7 16 9 7 14 8 6
342 190 133 160 90 70 84 48 36 342 190 133 160 90 70 84 48 36 342 190 133 160 90 70 84 48 36 342 190 133 160 90 70 84 48 36 342 190 133 160 90 70 84 48 36
10 102 137 126 170 180 175 183 182 128 158 172 171 179 179 179 171 169 143 166 174 175 175 168 179 165 163 159 159 150 157 160 154 163 159 154 149 150 145 151 151 147 156 152 150
428 428 428 428 428 428 428 426 423 428 426 426 426 427 423 425 420 418 427 424 423 424 423 419 423 418 416 418 413 419 419 419 417 418 413 411 416 418 416 421 420 418 416 411 411
0.716 0.866 0.923 0.905 0.977 0.993 0.985 0.995 0.989 0.908 0.954 0.977 0.975 0.990 0.984 0.987 0.966 0.959 0.931 0.964 0.975 0.979 0.977 0.959 0.984 0.953 0.946 0.943 0.935 0.930 0.941 0.946 0.933 0.949 0.935 0.923 0.923 0.928 0.917 0.935 0.933 0.923 0.935 0.920 0.917
Lampiran 2. Script matlab dari fungsi-fungsi yang digunakan dalam penelitian function [PA,e_use,PC] = pca2d(X,arg1) % % % % % % %
penggunaan : PA = Projection Axis e_use = Nilai eigen yang dipakai PC = Pricipal Components X = matriks citra 3 dimensi dengan tipe data double arg1 = persen nilai eigen ---------------------------------
% get dimensions [M,N,num_data]=size(X); % process input arguments if nargin < 2, arg1 = 0; end % centering data (dibuat zero mean) mean_X = mean(X,3); % hitung covariance (berdasar jurnalnya Yang) Gt = zeros(N,N); for j=1:num_data Gt = Gt + (X(:, :, j)-mean_X)'*(X(:, :, j)-mean_X); end Gt=Gt/num_data; e_pcnt=arg1; % Hitung eigenvector dan eigenvalue menggunakan fungsi EIG [V,D]=eig(Gt); e=diag(D); % Urutkan eigenvalue dari besar ke kecil [e_sorted,idx]=sort(e,'descend'); V_sorted=V(:,idx); % Hitung jumlah nilai eigen yang digunakan e_sum=sum(e_sorted); e_take=e_pcnt*e_sum; k=0;ac=0; while k<e_take ac=ac+1; k=k+e_sorted(ac); end % Tentukan vektor Projection Axis yang dipakai e_sorted=e_sorted'; e_use=e_sorted(:,1:ac); PA=V_sorted(:,1:ac); % Transformasi data asli ke ruang baru menggunakan vektor % Projection Axis untuk memperoleh principal components PC =zeros(M,ac,num_data); for j=1:num_data PC(:,:,j)=X(:,:,j)*PA; end return;
43
Lampiran 2. (Lanjutan) function [PA1,PA2,data_svm] = pca2d_dua_tahap(X,pcnt1,pcnt2) % INPUT : % X = % pcnt1 = % pcnt2 = % % OUTPUT : % PA1 = % % e1 = % PC1 = % data_svm=
matriks data tiga dimensi persentase nilai eigen terbesar yang dipakai untuk tahap satu persentase nilai eigen terbesar yang dipakai untuk tahap dua Principal Axis yang digunakan (vektor eigen yang besesuaian dengan nilai eigen terbesar yang digunakan) nilai eigen yang digunakan Principal Components dari tahap 1 PC2 yang telah divektorkan untuk masuk ke classifier
% Bagian untuk ekstrksi ciri menggunakan 2D-PCA dua tahap % ekstrasi tahap pertama [PA1,~,PC1]=pca2d(X,pcnt1); % transpose Principal Components dari tahap pertama % untuk masuk ke tahap kedua [baris,kolom,jm_data]=size(PC1); data2=zeros(kolom,baris,jm_data); for i=1:jm_data data2(:,:,i)=PC1(:,:,i)'; end % ekstraksi tahap kedua [PA2,~,PC2]=pca2d(data2,pcnt2); % Mempersiapkan data untuk training svm % tidak perlu ditranspose hasilnya karena akan digunakan % fungsi reshape [baris,kolom,jm_data]=size(PC2); dim_vek=baris*kolom; data_svm=zeros(jm_data,dim_vek); for i=1:jm_data x=PC2(:,:,i); data_svm(i,:)=reshape(x,1,dim_vek); end return; --------------------------------------------------------------------------------------------------------------------------------------------------function [struktur,akurasineg,kelas_neg_test,akurasipos,kelas_pos_test]=svm_train_test(train_data,train_kelas,test_neg,test_pos) % Training SVM menggunakan fungsi svmtrain % struktur=svmtrain(train_data,train_kelas,'Method','SMO'); % struktur=svmtrain(train_data,train_kelas,'Method','SMO','Kernel_Function','quadrat ic'); % struktur=svmtrain(train_data,train_kelas,'Method','SMO','Kernel_Function','polynom ial','Polyorder',3); struktur=svmtrain(train_data,train_kelas,'Method','SMO','Kernel_Function','rbf',' RBF_sigma',8); % Testing menggunakan svmclassify kelas_pos_test=svmclassify(struktur,test_pos); % akurasipos=(sum(kelas_pos_test)/numel(kelas_pos_test)); akurasipos=sum(kelas_pos_test); % Testing menggunakan svmclassify kelas_neg_test=svmclassify(struktur,test_neg); % akurasineg=1-(sum(kelas_neg_test)/numel(kelas_neg_test)); akurasineg=428-(sum(kelas_neg_test)); return;
44
Lampiran 2. (Lanjutan) function [X]=baca_data() img=zeros(150,150,1224); % Bagian untuk baca data training positif sebanyak 368 citra files=dir('/media/50GB/Riset/DualTireDetection/Training_Positif/*.JPG'); np =numel(files); for i=1:np str = strcat('/media/50GB/Riset/DualTireDetection/Training_Positif/', files(i).name); img(:,:,i)=imread(str); end; % Bagian untuk baca data training negatif sebanyak 856 citra files2=dir('/media/50GB/Riset/DualTireDetection/Training_Negatif/*.JPG'); nn =numel(files2); for j=1:nn str = strcat('/media/50GB/Riset/DualTireDetection/Training_Negatif/', files2(j).name); img(:,:,i+j)=imread(str); end; X=img; return; -------------------------------------------------------------------------------function [X]=Baca_Data_Testing_Negatif() files=dir('/media/50GB/Riset/DualTireDetection/Negatif_Testing/*.JPG'); n =numel(files); img=zeros(150,150,n); for i=1:n str = strcat('/media/50GB/Riset/DualTireDetection/Negatif_Testing/', files(i).name); img(:,:,i)=imread(str); end; X=img; return;
function [X]=Baca_Data_Testing_Positif() files=dir('/media/50GB/Riset/DualTireDetection/Positif_Testing/*.JPG'); n =numel(files); img=zeros(150,150,n); for i=1:n str = strcat('/media/50GB/Riset/DualTireDetection/Positif_Testing/', files(i).name); img(:,:,i)=imread(str); end; X=img; return; --------------------------------------------------------------------------------clc clear X=baca_data; % baca data training [~,~,jm_data]=size(X); [PA1,PA2,data_training_svm] = pca2d_dua_tahap(X,0.85,0.95); kelas_vek=ones(1,jm_data); kelas_vek(1,369:jm_data)=0; kelas_vek=kelas_vek';
45
Lampiran 2. (Lanjutan) % Siapkan data testing negatif Test_Neg=Baca_Data_Testing_Negatif; % Transformasi data asli ke ruang baru menggunakan vektor Projection Axis 1 % untuk memperoleh principal components 1 [row,~,num_data]=size(Test_Neg); [~,kolom]=size(PA1); PC_N_1 =zeros(row,kolom,num_data); for j=1:num_data PC_N_1(:,:,j)=Test_Neg(:,:,j)*PA1; end % transpose Principal Components dari tahap pertama untuk masuk ke tahap kedua [baris,kolom,jm_data]=size(PC_N_1); data2=zeros(kolom,baris,jm_data); for i=1:jm_data data2(:,:,i)=PC_N_1(:,:,i)'; end [row,~,num_data]=size(data2); [~,kolom]=size(PA2); PC_N_2 =zeros(row,kolom,num_data); for j=1:num_data PC_N_2(:,:,j)=data2(:,:,j)*PA2; end % Mempersiapkan data untuk testing svm (negatif) % tidak perlu ditranspose hasilnya karena akan digunakan fungsi reshape dim_vek=row*kolom; data_svm=zeros(num_data,dim_vek); for i=1:num_data x=PC_N_2(:,:,i); data_svm(i,:)=reshape(x,1,dim_vek); end test_neg=data_svm; % Siapkan data testing positif Test_Pos=Baca_Data_Testing_Positif; % Transformasi data asli ke ruang baru menggunakan vektor Projection Axis 1 % untuk memperoleh principal components 1 [row,~,num_data]=size(Test_Pos); [~,kolom]=size(PA1); PC_P_1 =zeros(row,kolom,num_data); for j=1:num_data PC_P_1(:,:,j)=Test_Pos(:,:,j)*PA1; end % transpose Principal Components dari tahap pertama untuk masuk ke tahap kedua [baris,kolom,jm_data]=size(PC_P_1); data2=zeros(kolom,baris,jm_data); for i=1:jm_data data2(:,:,i)=PC_P_1(:,:,i)'; end [row,~,num_data]=size(data2); [~,kolom]=size(PA2); PC_P_2 =zeros(row,kolom,num_data); for j=1:num_data PC_P_2(:,:,j)=data2(:,:,j)*PA2; end % Mempersiapkan data untuk testing svm (positif) % tidak perlu ditranspose hasilnya karena akan digunakan fungsi reshape dim_vek=row*kolom; data_svm=zeros(num_data,dim_vek); for i=1:num_data x=PC_P_2(:,:,i); data_svm(i,:)=reshape(x,1,dim_vek); end
46
Lampiran 2. (Lanjutan) test_pos=data_svm; [struktur,akurasineg,ng,akurasipos,po]=svm_train_test(data_training_svm,kelas_vek, test_neg,test_pos); --------------------------------------------------------------------------------------------------------------------------------------------------clc clear % Ambil parameter-parameter untuk 2D-PCA load PA1; load PA2; %load PA1_rbf_5; load PA2_rbf_5; % Ambil parameter-parameter untuk 2D-PCA load struktur; %load struktur_rbf_5; I=imread('A1.jpg'); imshow(I); hold on; I=rgb2gray(I); x_awal=1;x_akhir=300; y_awal=30;y_akhir=170; counter_all=1; counter =0;t=0; status=0; vek_kelas=ones(1,50); for x=x_awal:10:x_akhir for y=y_awal:10:y_akhir tic; Isub=I(y:y+149,x:x+149); % koordinat buat ngeplot marker a=[x x x+149 x+149 x]; b=[y+149 y y y+149 y+149]; Isub=histeq(Isub); %imshow(Isub); Isub=double(Isub); % Lakukan ekstraksi ciri dengan 2D-PCA dua tahap % Transformasi data asli ke ruang baru menggunakan vektor Projection Axis 1 % untuk memperoleh principal components 1 PC_P_1=Isub*PA1; PC_P_2=PC_P_1'*PA2; [row,col]=size(PC_P_2); dim_vek=row*col; data_svm=reshape(PC_P_2,1,dim_vek); % kelaskan menggunakan trained svm kelas=svmclassify(struktur,data_svm); t=toc+t; vek_kelas(1,counter_all)=kelas; if kelas==1 plot(a,b,'w','LineWidth',2); counter=counter+1; status=1; %else %plot(a,b,'y'); end counter_all=counter_all+1; end end t_rata=t/(counter_all-1);
47
Lampiran 3. Citra yang digunakan dalam pengujian tahap kedua
49
Lampiran 3. (Lanjutan)
50
Lampiran 4. Grafik Nilai Fungsi Minimum Dari Masing-masing Citra Uji Tahap Dua
Model 1 (Kudratik 90/90) 2 0
Nilai Fungsi Pengklasifikasi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-2 -4 Ban Ganda Non Ban Ganda
-6 -8 -10 -12 -14
Nomor Citra Uji
14 12
Frekwensi
10 8 Non Ban Ganda Ban Ganda
6 4 2 0 1
-1
-3
-5
-7
-9
-11
-13
Nilai fungsi pengklasifikasi
51
Lampiran 4. (Lanjutan)
Model 2 (Kuadratik 85/95) 1
Nilai Fungsi pengklasifikasi
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-1 Ban Ganda Non Ban Ganda
-2
-3
-4
-5
Nomor Citra Uji
14 12
Frekwensi
10 8
Ban Ganda Non Ban Ganda
6 4 2 0 0.5
-0.5
-1.5
-2.5
Nilai fungsi pengklasifikasi
52
-3.5
-4.5
Lampiran 4. (Lanjutan)
Model 3 (Kubik 90/85) 10
Nilai fungsi pengklasifikasi
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-10 Ban Ganda Non Ban Ganda
-20
-30
-40
-50
Nomor Citra Uji
12
10
Frekwensi
8 Ban Ganda Non Ban Ganda
6
4
2
0 2.5
-2.5
-7.5
-12.5
-17.5
-22.5
-27.5
Nilai fungsi pengklasifikasi
53
Lampiran 4. (Lanjutan)
Model 4 (Kuadratik 85/95) 1
Nilai Fungsi Pengklasifikasi
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-1 Ban Ganda Non Ban Ganda
-2
-3
-4
-5
Nomor Citra Uji
14 12
Frekwensi
10 8
Ban Ganda Non Ban Ganda
6 4 2 0 0.5
-0.5
-1.5
-2.5
Nilai fungsi pengklasifikasi
54
-3.5
-4.5
Lampiran 4. (Lanjutan)
Model 5 (Kuadratik 85/85) 1 0
Nilai Fungsi Pengklasifikasi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-1 -2 Ban Ganda Non Ban Ganda
-3 -4 -5 -6 -7
Nomor Citra Uji
7
6
Frekwensi
5
4
Ban Ganda Non Ban Ganda
3
2
1
0 0.5
-0.5
-1.5
-2.5
-3.5
-4.5
-5.5
-6.5
Nilai fungsi pengklasifikasi
55
Lampiran 4. (Lanjutan)
Model 6 (RBF-8 90/90) 0.5
0
Nilai fungsi pengklasifikasi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-0.5
-1
Ban Ganda Non Ban Ganda
-1.5
-2
-2.5
-3
Nomor Citra Uji
9 8 7
Frekwensi
6 5
Ban Ganda Non Ban Ganda
4 3 2 1 0 0.25
-0.25
-0.75
-1.25
-1.75
Nilai fungsi pengklasifikasi
56
-2.25
-2.75
Lampiran 4. (Lanjutan)
Model 7 (RBF-8 85/95) 1
Nilai Fungsi Pengklasifikasi
0.5 0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-0.5 Ban Ganda Non Ban Ganda
-1 -1.5 -2 -2.5 -3
Nomor Citra Uji
10 9 8
Frekwensi
7 6 Ban Ganda Non Ban Ganda
5 4 3 2 1 0 0.75
0.25
-0.25
-0.75
-1.25
-1.75
-2.25
-2.75
Nilai fungsi pengklasifikasi
57
Lampiran 4. (Lanjutan)
Model 8 (RBF-5 90/85) 1
Nilai Fungsi Pengklasifikasi
0.5
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
-0.5
15 Ban Ganda Non Ban Ganda
-1
-1.5
-2
-2.5
Nomor Citra Uji
14 12
Frekwensi
10 8
Ban Ganda Non Ban Ganda
6 4 2 0 0.25
-0.25
-0.75
-1.25
Nilai fungsi pengklasifikasi
58
-1.75
-2.25
Lampiran 4. (Lanjutan)
Model 9 (RBF-5 85/90) 0.5
0
Nilai Fungsi Pengklasifikasi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-0.5
-1
Ban Ganda Non Ban Ganda
-1.5
-2
-2.5
-3
Nomor Citra Uji
8 7 6
Frekwensi
5 Non Ban Ganda Ban Ganda
4 3 2 1 0 0.25
-0.25
-0.75
-1.25
-1.75
-2.25
-2.75
-3.25
Nilai fungsi pengklasifikasi
59
Lampiran 4. (Lanjutan)
Model 10
(RBF-5 85/85) 1
Nilai fungsi pengklasifikasi
0.5 0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-0.5 Ban Ganda Non Ban Ganda
-1 -1.5 -2 -2.5 -3
Nomor Citra Uji
10 9 8
Frekwensi
7 6 Non Ban Ganda Ban Ganda
5 4 3 2 1 0 0.25
-0.25
-0.75
-1.25
-1.75
-2.25
Nilai fungsi pengklasifikasi
60
-2.75
-3.25
Lampiran 5. Screen-shot Perangkat Lunak Pendeteksi Ban Ganda
61