PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI Oleh Nama : Januar Wiguna Nim : 0700717655 PROGRAM GANDA TEKNIK INFORMATIKA DAN MATEMATIKA UNIVERSITAS BINA NUSANTARA JAKARTA 2012
PENGENALAN BENTUK MOBIL DENGAN MENGGUNAKAN METODE BACK PROPAGATION DAN ARTIFICIAL NEURAL NETWORK ABSTRAK Dalam tugas akhir ini, penulis membuat program Pengenalan Objek ( Object Recognition ) mulai dari objek yang berupa image mobil, hingga mendapatkan parameter-parameternya ( ciri-cirinya ) sampai pada proses pengenalannya dengan Neural Network. Untuk proses pengenalan obyek dengan Neural Network, penulis menggunakan metode Back Propagation dan Artificial Neural Network Proses yang paling penting adalah image processing yang akan menghasilkan inputan data untuk masukan pada metode Back propagation. Pada tugas akhir ini parameter pengenalan obyek akan digunakan metode Back Propagation dan diaplikasikan dengan Artificial Neural Network untuk mengenali obyek ( mobil ) dua dimensi. Penelitian dimulai dengan pengambilan gambar obyek mobil yang diambil dari arah tegak lurus dari samping mobil dan berakhir pada proses pengenalan yang menggunakan Neural Network dengan menggunakan teknik Back Propagation. Kata Kunci : Neural Network, Back Propagation, Artificial Neural Network, image processing ii
I. PENDAHULUAN Sistem penglihatan manusia merupakan suatu sistem yang sangat kompleks, tetapi sangat dapat diandalkan. Sistem ini memberikan sarana pengenalan berbagai bentuk benda yang efektif, akurat dan efisien. Perancangan sistem pengenalan bentuk bagi mesin dengan meniru sistem pengenalan bentuk dari sistem penglihatan manusia, akan sangat berguna untuk berbagai aktivitas yang dapat dipermudah dengan keberadaan mesin. Sistem pengenalan bentuk bagi mesin ini, biasanya dibagi atas 3 macam proses, yaitu proses Image Processing, proses Pelatihan dengan menggunakan metode tertentu, dan proses Pengenalan Bentuk. II. PENGENALAN BENTUK MOBIL Dalam tugas akhir ini, penulis membatasi perancangan sistem pengenalan bentuk bagi mesin terbatas dengan pengenalan bentuk mobil, dimana beberapa ruang lingkup dari perancangan sistem tersebut adalah sebagai berikut : - tipe mobil yang digunakan sebagai pembeda adalah sedan, kijang, minibus, bus, truk - gambar yang diproses adalah gambar 2 dimensi berukuran 300x300 dengan format.jpg dengan background putih - dimana dalam proses pelatihan dan pengenalan bentuk dengan menggunakan Artificial Neural Network dengan metode Backpropagation dan fungsi aktivasi Sigmoid Biner, lalu untuk proses Image Processing-nya adalah proses Grayscaling, Proses Binarization, Proses Region Of interest iii
III. ARTIFICIAL NEURAL NETWORK Artificial Neural Network ( ANN ) adalah jaringan dari sekelompok unit pemproses kecil yang dimodelkan berdasarkan jaringan syaraf manusia. ANN merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Secara sederhana, ANN adalah sebuah alat pemodelan data statistic non-linear. ANN juga dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data. ANN menjadi salah satu pilihan ketika rumusan persoalan-persoalan yang dihadapi tidak bisa diselesaikan secara analitik, dan dengan mengasumsikan suatu black box yang kita tidak tahu isinya maka ANN menemukan pola hubungan antara input dan output melalui tahap pelatihan. ANN ditentukan oleh 3 faktor, antara lain: a. Pola hubungan antar neuron ( disebut dengan arsitektur jaringan ) b. Metode untuk menentukan bobot penghubung ( disebut metode training / learning / algoritma ) c. Fungsi aktivasi ( fungsi transfer ) Arsitektur ANN yang digunakan dalam tugas akhir ini adalah jaringan layar jamak, Jaringan ini merupakan perluasan dari layar tunggal. Dalam jaringan ini, selain unit input dan output, ada unit-unit lain yang sering disebut layar tersembunyi. Layar tersembunyi ini bisa saja lebih dari satu. Algoritma yang digunakan dalam tugas akhir ini adalah algoritma backpropagation, sedangkan untuk fungsi aktivasinya adalah fungsi sigmoid biner. iv
IV. METODE BACKPROPAGATION Backpropagation adalah salah satu metode dari ANN yang dapat diaplikasikan dengan baik dalam bidang pengenalan bentuk ( pattern recognition ). Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan mengenali pola yang digunakan selama training serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa namun tidak sama dengan pola yang dipakai selama pelatihan. Dalam pelatihan dengan backpropagation sama halnya seperti pelatihan pada jaringan syaraf yang lain. Pada jaringan feedforward ( umpan maju ), pelatihan dilakukan dalam rangka perhitungan bobot sehingga pada akhir pelatihan akan diperoleh bobot-bobot yang baik. Selama proses pelatihan, bobot-bobot diatur secara iterative untuk meminimumkan error ( kesalahan ) yang terjadi. Kesalahan dihitung berdasarkan Mean Square Error ( MSE ). Rata-rata kuadrat kesalahan juga dijadikan dasar perhitungan unjuk kerja fungsi aktivasi. Dimana perhitungan MSE yang biasa digunakan adalah : 1. kesalahan kuadrat dibagi dengan jumlah komponen keluaran 2. kesalahan kuadrat total dibagi dengan jumlah data pelatihan dimana rumus yang biasa digunakan adalah sebagai berikut : MSE = ( ( T Ym )² ) / m Dimana, T = Error yang terjadi saat iterasi tersebut Ym = nilai output yang keluar pada iterasi tersebut M = jumlah data yang ditraining v
Ada 3 face pelatihan backpropagation antara lain : 1. Fase pertama, yaitu Feed Forward Dalam Feed Forward, setiap sinyal masukan dipropagasi ( dihitung maju ) ke layar tersembunyi hingga layar keluaran dengan menggunakan fungsi aktivasi yang ditentukan. 2. Fase kedua, yaitu Backward Kesalahan ( selisih antara keluaran jaringan dengan target yang diinginkan ) yang terjadi di Backward mulai dari garis yang berhubungan lansung dengan unit-unit di layar keluaran. 3. Fase ketiga, yaitu perubahan bobot Pada fase ini dilakukan modifikasi bobot untuk menurunkan kesalahan yang terjadi. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Dalam algoritma backpropagation ini akan digunakan Salah satu fungsi aktivasi yang sering dipakai yaitu fungsi sigmoid biner yang memiliki range (0,1). Fungsi sigmoid biner didefinisikan sebagai berikut. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1, oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang nilai outputnya antara 0 sampai dengan 1. vi
V. PROSES IMAGE PROCESSING Dalam proses image processing, image mengalami 3 tahap proses, yaitu : - proses grayscaling Model warna RGB adalah model warna yang adifit yang dapat dikombinasikan untuk membuat warna yang lainnya. Sistem warna RGB terdiri dari tiga bagian utama, yaitu merah ( Red ), hijau ( Green ), dan Biru ( Blue ). Pada umumnya setiap warna RGB terdiri dari delapan bit yang memiliki nilai sebanyak 256 nilai. Variasi nilai yang terbentuk antara 0 hingga 255. Salah satu cara untuk melakukan konversi gambar ke grayscale adalah dengan menggunakan sistem warna YUV, yaitu dengan mengkonversi RGB ke YUV lalu mengambil komponen Y ( iluminasi ). Hal ini dilakukan menggunakan persamaan sebagai berikut, Gray = Y = ( 0.2989 x R ) + ( 0.5870 x G ) + ( 0.1140 x B ) - proses binarization Proses binarization adalah proses pemisahan pixel yang ada pada image menjadi hanya 2 jenis pixel yaitu titik putih ( dengan pixel 255 ) dan titik hitam ( dengan pixel 0 ). Hal ini dilakukan dengan memberikan batasan antara pixel-pixel yang ada dari image hasil gray scale. Hal ini dilakukan dengan mengambil nilai tengah dari pixel minimum ( 0 ) dan pixel maksimum ( 255) yaitu pixel dengan nilai 128 sebagai nilai titik tengah pembatas, hal ini berarti bahwa : vii
a. Bila pixel tersebut lebih kecil dari 128 ( pixel 128 ) maka nilai pixel tersebut akan menjadi 0 ( pixel = 0 ), warna abu-abu dominan akan dijadikan warna hitam ( pixel = 0 ) b. Bila pixel tersebut lebih besar dari 128 ( pixel > 128 ) maka nilai pixel tersebut akan menjadi 255 ( pixel = 255 ), warna abu-abu yang agak terang akan dijadikan warna putih ( pixel = 255 ) - proses region of interest Image dari hasil object segmentation akan dibagi menjadi 9 area region of interest, di mana 9 area tersebut akan dihitung perbandingan titik hitam dengan titik putih yang hasilnya akan digunakan sebagai input untuk proses training dengan metode backpropagation. VI. PROSES TRAINING Pada proses training akan dijalankan keseluruhan proses dari proses image processing hingga proses backpropagation sampai didapatkan nilai akhir dengan batas error yang diinginkan. Data-data berupa image untuk setiap tipe mobil dimasukan untuk selanjutnya menjalani proses image processing, dimana dari proses image processing akan didapatkan 9 buah nilai dari 9 area region of interest yang akan digunakan sebagai nilai untuk input proses backpropagation. Untuk struktur jaringan ANN pada sistem tugas akhir ini akan digunakan 1 buah input layer dengan dimensi 9, 1 buah output layer dengan dimensi 8 dan 1 buah hidder layer dengan rumus empiris viii
perhitungan dimensi = 2/3 ( 9 ) + 8 = 14 buah dimensi, dengan gambar struktur jaringan ANN sebagai berikut : 3 tahap proses backpropagation yaitu, tahap feedforward, backward dan perubahan bobot akan dilakukan sebanyak mungkin iterasi yang dibutuhkan untuk mencapai nilai dengan target error yang telah ditentukan dimana, akan dimasukkan 70% dari jumlah data image mobil dari masing-masing tipe mobil yang ada sebagai data untuk proses training, hal ini dilakukan agar hasil dari proses training semakin akurat. VII. PROSES RECOGNITION Pada proses recognition, hanya akan dijalankan proses image processing sehingga menghasilkan 9 nilai inputan untuk proses ix
backpropagation yang hanya akan dijalankan 1 tahap saja, yaitu proses feedforward, hingga mendapatkan nilai akhir dari sistem yang akan dicocokkan dengan nilai dari hasil training sehingga dapat dikenali, 30% dari data-data image untuk tiap tipe mobil akan digunakan sebagai image untuk menguji tingkat keakurasian program. VIII. HASIL DAN PEMBAHASAN Berikut adalah tampilan awal program yang telah selesai dan dapat dijalankan : Gambar Tampilan Menu Utama Program Berikut adalah beberapa contoh hasil image processing dari program yang telah dijalankan : x
Gambar Hasil Image Processing Gambar Sedan01.jpg Gambar Hasil Image Processing Gambar Kijang01.jpg xi
Gambar Hasil Image Processing Gambar MiniBus01.jpg Gambar 4.4 Hasil Image Processing Gambar Bus01.jpg Keunggulan dari program aplikasi ini adalah sebagai berikut : 1. Program aplikasi ini dapat dimengerti dengan mudah dalam pengenalan bentuk mobil karena ditampilkan dengan hasil yang optimal, dan dengan data yang jelas. 2. Dengan akurasi 70%, pengenalan bentuk mobil dalam program ini dapat dikatakan akurat, sehingga pengguna dapat terbantuk dengan pengenalan bentuk mobil yang dilakukan di program ini. xii
3. Karena merupakan software dengan tampilan yang sederhana dan hanya perlu dijalankan dengan perintah-perintah yang juga sederhana maka setiap user dapat menggunakan program pengenalan bentuk mobil ini. 4. Karena semua perintah terdapat dalam satu halaman program, maka user tidak perlu lagi menjalankan perintah diluar program tersebut, yang menyebabkan efesiensi bagi penggunanya. 5. Semakin bertambah jumlah gambar awal untuk data training maka akan semakin meningkat tingkat akurasi program ini. 6. Dapat digunakan secara akurat dan pasti untuk mengenali tipe mobil sedan, dan dapat secara akurat dan memiliki kemungkinan yang besar untuk mengenali tipe mobil Kijang dan Bus, namun kurang dapat mengenali tipe mobil Truk dan MiniBus. IX. KESIMPULAN DAN SARAN Dari pembahasan pada bab bab sebelumnya dan juga pengujian dari program aplikasi yang telah dibuat maka dapat disimpulkan sebagai berikut ini : a. Penggunaan Metode Backpropagation dan Artificial Neural Network pada sistem pengenalan bentuk yang dirancang oleh penulis dapat skripsi ini menghasilkan tingkat akurasi yang tinggi untuk pengenalan bentuk mobil, dapat dilihat dari tingkat keakuratan dengan nilai sekitar 70%. b. Semakin banyak jumlah dimensi dari input layer dan output layer Artificial Neural Network yang digunakan dari program pengenalan bentuk akan menghasilkan nilai yang lebih optimal namun akan memperbanyak jumlah iterasi training dari metode Backpropagation yang digunakan.. xiii
c. Semakin banyak input dan output layer yang dimasukan akan menyebabkan hidden layer dari backpropagation akan menghasilkan hasil yang lebih optimal. d. Semakin banyak gambar dari masing-masing tipe mobil yang digunakan sebagai nilai input untuk proses training Backpropagation akan meningkatkan tingkat akurasi pengenalan bentuk mobil dari program. e. Semakin kecil Alpha yang dimasukkan oleh user akan membuat proses training berjalan lebih lambat sehingga membutuhkan waktu yang lebih lama, akan tetapi dapat menghasilkan nilai yang optimal. f. Semakin kecil Target Error yang diinginkan oleh user akan menghasilkan nilai yang lebih optimal, namun akan memperbanyak jumlah iterasi dari proses training Backpropagation. g. Mobil tipe Sedan adalah mobil yang memiliki bentuk yang paling mudah dikenali oleh program, sedangkan mobil tipe MiniBus adalah mobil yang memiliki bentuk yang paling susah dikenali oleh program dikarenakan memiliki banyak kemiripan dengan tipe mobil lainnya. Beberapa saran yang dapat diberikan untuk mengembangkan program aplikasi ini agar dapat lebih efisien dan lebih optimal, antara lain ; a. Agar tingkat keakurasian program dapat meningkat maka jumlah data yang dipakai harus diperbanyak, sekiranya dibutuhkan lebih dari 1000 data gambar mobil yang sesuai dengan ruang lingkup sistem, dimana akan digunakan sekitar 70% untuk proses training, dan 30% untuk proses recognition b. Gambar yang digunakan baik untuk proses training maupun recognition menggunakan gambar asli tiap tipe mobil dengan latar belakang tempat xiv
yang sama, dengan warna yang tidak terlalu berbeda, sehingga pengenalan bentuk mobil akan semakin akurat karena latar belakang gambar tidak bervariasi, dan juga data yang digunakan juga lengkap. c. Berusaha untuk mengoptimalkan program dengan meminimalkan kesalahan yang terjadi, dan menambahkan metode yang sekiranya dapat membantu pengoptimalan program tersebut. d. Menguji pengenalan bentuk mobil dengan berbagai sisi, sehingga dapat menghasilkan pengenalan bentuk yang optimal. e. Menguji program pengenalan bentuk mobil pada kejadian nyata, sehingga dapat menemukan kesalahan dan memperbaiki kesalahan tersebut. f. Mengembangkan program pengenalan bentuk ini agar dapat mengenali bentuk benda lainnya. g. Memperdalam ilmu dalam pengenalan bentuk obyek sehingga dapat dipergunakan untuk kedepannya. xv