JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2014) 1-6
1
Identifikasi Cacat Peluru dengan Menggunakan Pengolahan Citra Digital Berbasis Learning Vector Quantization (LVQ) Angger Gusti Z dan Dwi Ratna S Jurusan Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember (ITS) Surabaya Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia e-mail:
[email protected]
Abstrakβ Akhir-akhir ini pengolahan citra digital memegang peranan yang cukup penting. Salah satu peranannya adalah melakukan pengenalan pola. Pengenalan pola bisa diaplikasikan dalam kegiatan industri pertahanan untuk dapat mengenali kecacatan pada peluru, sehingga dapat mempermudah dan mempercepat proses pemisahan antara peluru cacat dan baik. Tujuan penelitian ini adalah menggunakan teknik yang ada pada pengolahan citra digital untuk masukan pelatihan maupun pengujian. Serta algoritma Learning Vector Quantization(LVQ) untuk pengenalan pola pada peluru. Adapun tahap pengolahan citra yaitu mengubah citra masukan yang berupa RGB menjadi grayscale, cropping, normalisasi citra menjadi ukuran 50x50, proses filter menggunakan operasi Laplacian of Gaussian, dan proses binerisasi dengan Treshold 0.3. Hasil dari proses binerisasi itulah yang kemudian digunakan sebagai vektor input pada proses pelatihan dan pengujian algoritma Learning Vector Quantization (LVQ). Berdasarkan hasil pengujian menunjukkan sistem ini dapat mengenal bentuk peluru dengan tingkat keberhasilan 78%. Banyak faktor yang mempengaruhi kegagalan pada proses pengenalan yaitu noise atau gangguan yang terlalu banyak, dan kecacatan peluru yang sangat kecil sehingga tidak terdeteksi sewaktu filterisasi. Kata Kunci--- Peluru, Pengolahan Citra, Laplacian of Gaussian (LoG), Jaringan Syaraf Tiruan, Learning Vector Quantization (LVQ).
pengenalan kecacatan pada peluru. Beberapa penelitian sebelumnya juga menggunakan algoritma LVQ dalam pengenalan pola antara lain: pengenalan secara otomatis lima jenis sel darah putih [1], pengenalan tulisan [2], pengenalan tanda tangan[3], pengenalan jenis botol [4]. Dan algoritma ini dipilih karena menurut Maharani,dan kawan-kawan [5] metode Learning Vector Quantization (LVQ) memiliki ratarata waktu lebih baik dari metode backpropagation dalam hal pengenalan. II. DASAR TEORI A. Peluru Peluru merupakan bagian dari senjata api yang memiliki beberapa jenis mulai 22 Long Rifle, 17 Hornady Mach 2, 4.7x33 DM11 Caseless, dan lain-lain. Berikut adalah contoh dari jenis-jenis peluru: Peluru umumnya terdiri dari beberapa bagian yaitu catridge, bullet, catridge case, smokeles gunpowder, primer, hal ini ditunjukkan pada gambar 2.2.
I. PENDAHULUAN
I
NDUSTRI pertahanan di Indonesia mulai berkembang. Oleh karena itu, untuk dapat melayani permintaan yang semakin banyak industri tersebut harus mempercepat proses produksi, menambah karyawan dan alat produksi. Selain itu mereka harus tetap mempertahankan kualitasnya. Hal ini perlu dilakukan supaya industri pertahanan indonesia dapat bersaing dengan industri pertahanan luar negeri. Misalnya pada seleksi peluru, untuk memisahkan peluru yang cacat dengan yang tidak. Selama ini proses tersebut masih dilakukan secara manual yang mengakibatkan waktu produksi kurang efektif. Disisi lain, perkembangan teknologi semakin canggih. Teknologi pengenalan pola menggunakan komputer banyak diterapkan dalam kegiatan industri. Teknologi tersebut dapat diterapkan pada industri pertahanan, yaitu dalam proses seleksi hasil produksi peluru antara baik dan cacat. Penyeleksian hasil produksi peluru selama ini masih manual menggunakan penglihatan manusia dapat digantikan dengan teknologi tersebut. Penelitian ini bertujuan menerapkan teknik pengolahan citra dan algoritma Learning Vector !uantization (LVQ) untuk
Gambar 1 Bagian-bagian dari Peluru[5] Dalam pembuatan peluru tidak jarang terdapat kecacatan yang dapat mempengaruhi daya tahan, kualitas, maupun tingkat keamanan pengguna. Kecacatan pada peluru bermacam, secara umum adalah smeared, Defective Head, Nicked or Dent, Defective Crimp dan lain-lain.
JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2014) 1-6 B. Pengolahan Citra Digital Pengolahan citra digital adalah proses memanipulasi dan menganalisis citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan citra dilakukan untuk memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Operasi-operasi yang dilakukan di dalam pengolahan citra banyak jenisnya, antara lain konversi format citra digital, mengubah format RGB menjadi Grayscale, cropping, scalling, filtering Laplacian of Gaussian dan binerisasi.
1. Grayscalling Grayscalling adalah teknik yang digunakan untuk mengubah citra berwarna (RGB) menjadi citra yang memiliki nilai keabuan (dari hitam menuju putih). Pengubahan dari citra berwarna ke bentuk grayscale mengikuti aturan berikut : π+π+π π = (1) 3
dengan : S = Nilai intensitas citra grayscale r = Nilai intensitas warna merah dari citra asal g = Nilai intensitas warna hijau dari citra asal b = Nilai intensitas warna biru dari citra asal 2. Cropping Cropping bertujuan untuk memotong citra sehingga citra yang diolah lebih kecil. Pemotongan tersebut dilakukan dengan cara mencari piksel-piksel terluar dari setiap sisi (atas, bawah, kiri, kanan). Piksel-piksel terluar itulah yang akan menjadi batas pemotongan, sehingga didapat citra segiempat yang siap diproses lebih lanjut.
2
3.
low pass filter umum memiliki riak, dan riak ditampilkan sebagai tepi) Melakukan filter Laplacian pada image
5. Binerisasi Binerisasi citra merupakan proses merubah citra ke dalam bentuk biner (0 dan 1). Dengan merubah ke bentuk biner, citra hanya akan mempunyai 2 warna yakni, hitam dan putih. Proses pembineran dilakukan dengan membulatkan ke atas atau ke bawah untuk setiap nilai keabuan dari piksel yang berada di atas atau dibawah harga ambang. Metode untuk menentukan besarnya harga ambang disebut thresholding. Thresholding digunakan untuk mengatur jumlah derajat keabuan yang ada pada citra. Denganadanya thresholding maka derajat keabuan bisa diubah sesuai keingin dengan persamaan berikut : π , π π₯, π¦ < π π π₯, π¦ β² = 1 (3) π2 , π π₯, π¦ β₯ π dengan : π π₯, π¦ β² = Nilai intensitas yang baru π(π₯, π¦) = Nilai intensitas yang lama T = Nilai Threshold C. Learning Vector Quantization Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor input. Jika 2 vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor tersebut ke dalam kelas yang sama.
3. Scalling Scalling bertujuan untuk mengubah ukuran pixel menjadi pixel ukuran M x N. Hal ini dilakukan karena setiap citra yang diolah belum tentu mempunyai ukuran yang sama. Scalling juga digunakan untuk memperkecil citra digital agar jumlah pixel yang akan diolah tidak terlalu banyak. Semakin banyak jumlah pixel maka semakin banyak data inputan. Sehingga menyebabkan semakin lama waktu komputasi.
4.
Laplacian of Gaussian
Laplacian of Gaussian terbentuk dari proses Gaussian yang diikuti operasi laplace. Fungsi Gaussian akan mengurangi derau sedangkan Laplacian akan menajamkan citra. Operator Laplace juga dapat mendeteksi lokasi tepi lebih akurat khususnya pada tepi yang curam. Hal ini dikarenakan zerocrossing sendiri yang mendefenisikan lokasi tepi. Pada tepi yang curam, turunan keduanya mempunyai zero-crossing, yaitu titik dimana terdapat pergantian tanda nilai turunan kedua sedangkan pada tepi yang landai tidak terdapat zerocrossing. Fungsi dari Laplacian of Gaussian sebagai berikut, 2π 2 βπ₯ 2 +π¦ 2
π₯ 2 +π¦ 2
π 2π 2 (2) πΏππΊ π₯, π¦ = 2π 2 Algoritma Laplacian of Gaussian 1. Input image 2. Pengaburan image, pengaburan ini dilakukan dengan convolving image menggunakan Gaussian (sebuah
Gambar 2 Arsitekture LVQ Adapun langkah-langkah dari algoritma LVQ adalah sebagai berikut [6]: Langkah 1 : Inisialisasi vektor referensi dan learning rate Langkah 2 : Selama kondisi berhenti bernilai salah, kerjakan a, b, dan c berikut: a. Untuk setiap vektor x, kerjakan point 1 dan 2 berikut: 1. Temukan J sehingga ||x β wj|| minimum 2. Update wj dengan mengikuti rumus: Jika T = cj maka wj = wj + Ξ±[x - wj] Jika T β cj maka wj = wj - Ξ±[x β wj] b. Kurangi learning rate c. Periksa kondisi berhenti
JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2014) 1-6
3
x : vektor pelatihan (x1, ..., xj, ..., xn) T : kategori atau kelas yang benar untuk vektor pelatihan wj : vektor bobot untuk unit luaran ke-j (w1j, .., wij, .., wnj) cj : kategori atau kelas hasil komputasi oleh unit luaran j ||x β wj|| : jarak Eucledian antara vektor masukan dengan unit luaran
π€β = (ππ
β ππΏ ) πβ = (ππ΅ β ππ )
III. PERANCANGAN SISTEM A. Perancangan Data 1. Data Masukan Data masukan dalam sistem ini adalah data yang dimasukkan oleh pengguna berupa citra peluru. Data ini merupakan hasil dari pengambilan citra peluru pada tempat yang telah di sediakan.
2.
2. Data Proses Berikut adalah data-data proses dalam sistem identifikasi cacat peluru. Tipe Data
Citra cropping
Uint8
Area scalling
Uint8
Filter LoG(Laplacian of Gaussian)
Uint8
Binerisasi
Logical
Keterangan Data ini berupa matriks hasil cropping citra Peluru Data ini berupa matriks yang merupakan hasil dari scalling citra cropping. Data ini berupa nilai piksel hasil dari filter LoG citra scalling. Data ini berupa nilai piksel biner( 0 dan 1) citra filter LoG
B. Gambaran Sistem Secara Umum Sistem ini terdiri dari beberapa tahapan, yaitu tahap akuisisi, tahap pengolahan citra, dan tahap JST. Tahap akuisisi adalah tahapan awal sebelum memulai proses lain. Pada tahap ini sistem melakukan pengambilan citra peluru yang telah diambil sebelumnya pada tempat yang telah di sediakan. Adapun tahap pengolahan citra terdiri dari 4 proses sebagai berikut: 1. Proses cropping, yaitu proses memotong citra akuisisi sehingga diperoleh citra yang diharapkan. Dalam sistem ini, citra yang diharapkan adalah citra akuisisi yang dibatasi oleh piksel terluar yang nilai pikselnya ditentukan. Sehingga diperoleh citra yang terdapat obyek pelurunya saja. Dari proses cropping, sistem akan menghasilkan ukuran citra yang dirumuskan sebagai berikut:
(5)
dengan: π€ββ adalah lebar per area hasil scalling πββ adalah tinggi per area hasil scalling 3.
Proses filter citra menggunakan operator Laplacian of Gaussian. Pendekatan operator LoG dimulai dengan proses pengaburan citra dengan menggunakan filter Gaussian
ππ π₯, π¦ = e
π₯ 2 +π¦ 2 ) 2π 2
(β
(6) Dilanjutkan dengan filter penajaman menggunakan filter laplacian
β2 π π₯, π¦ =
Tipe data Uint8 adalah tipe data yang mempunyai rentang nilai 0-255(bulat positif). Sedangkan logical mempunyai nilai 0 dan 1 dan menghasilkan warnahitam dan putih. 3. Data Luaran Data luaran pada sistem ini berupa hasil pengenalan oleh algoritma LVQ terhadap data yang diberikan.
Proses scalling, yaitu proses untuk mengubah ukuran citra menjadi citra normal yang sesuai dengan kebutuhan. Dalam tugas akhir ini, citra peluru akan direpresentasikan ke dalam matriks berukuran 50x50 dengan luas yang sama di masing-masing area. Dengan demikian ukuran luas masing-masing area dapat dirumuskan sebagai berikut:
π€ββ = π€β/50 πββ = πβ/50
Tabel 1 Data Proses
Nama Data
(4)
dengan: π€β adalah lebar citra cropping πβ adalah tinggi citra cropping ππ
adalah piksel sumbu π₯ paling kanan (batas kanan) ππΏ adalah piksel sumbu π₯ paling kiri (batas kiri) ππ΅ adalah piksel sumbu π¦ paling bawah (batas bawah) ππ adalah piksel sumbu π¦ paling atas (batas atas)
π 2 π(π₯,π¦) ππ₯ 2
+
π 2 π(π₯,π¦) ππ¦ 2
(7)
Dari persamaan (6) dan (7) akan didapatkan persamaan (2) yang merupakan rumus untuk mencari nilai kernel/mask dari filter Laplacian of Gaussian (LoG). 4.
Proses Binerisasi dilakukan setelah citra dikenai proses filter menggunakan operator Laplacian of Gaussian. Pada proses ini citra diubah menjadi citra biner(0 dan 1). Untuk mengatur intensitas citra biner digunakan Tresholding yang dapat diatur.
Pada tahap selanjutnya adalah tahap JST terdiri dari 2 proses, yaitu: 1. Proses pelatihan (training), yaitu proses melatih sistem sehingga mampu mengenali apabila diberikan masukan baru. 2. Proses pengujian (testing), yaitu proses pencocokan ciri suatu masukan baru terhadap ciri referensi yang sebelumnya telah dilatihkan kepada sistem. Gambaran sistem identifikasi kecacatan peluru dengan menggunakan algoritma LVQ mempunyai urutan tahap akuisisi, tahap pengolahan citra yaitu (proses cropping, proses scalling,proses filter, proses binerisasi), tahap selanjutnya adalah tahap JST. Tahapan-tahapan tersebut untuk lebih jelasnya dapat dilihat pada Gambar 3 berikut:
JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2014) 1-6
4 B. Pengujian Tahap Pengolahan Citra Digital 1. Pengujian Proses Cropping Pengujian proses cropping bertujuan untuk mengetahui bahwa sistem berhasil mengambil obyek, sehingga yang tersisa hanya citra peluru. Gambar 5 berikut adalah gambar peluru yang telah dikenai proses cropping sehingga ukurannya menjadi lebih kecil. Ukuran pixelnya menjadi 375x369.
Gambar 5 Hasil Cropping Data Pelatihan
2.
Gambar 3 Diagram Alir Proses Pelatihan (a) dan Diagram Alir Proses Pengujian (b)
Pengujian Proses Scalling Pengujian proses scallling bertujuan untuk mengetahui bahwa sistem telah mengubah ukuran pixel citra menjadi 50x50. Gambar 6 berikut adalah gambar peluru yang telah di kecilkan menjadi ukuran 50x50.
IV. PENGUJIAN DAN PEMBAHASAN Perangkat yang digunakan dalam pengujian sistem terdiri dari beberapa perangkat keras dan perangkat lunak. Perangkat keras yang digunakan yaitu komputer dengan Prosesor intel(R) core(TM) i3-2370M CPU2.4 GHz, Memory 4 GB DDR3,. Sedangkan perangkat lunak yang digunakan adalah Matlab R2013a. A. Pengujian Tahap Akuisisi Tujuan dari pengujian tahap akuisisi adalah untuk mengetahui bahwa sistem telah mendapatkan piksel-piksel dari peluru. Pengujian dilakukan dengan cara menginputkan file citra Peluru ke dalam program yang telah dibuat. Gambar 4 berikut merupakan gambar proses akuisisi oleh Matlab:
Gambar 4 Citra Peluru ukuran 1728x2592 pixel
Gambar 6 Hasil Scalling Citra Peluru
3.
Pengujian Proses Filterisasi Pengujian tahap filterisasi ini bertujuan untuk mendapatkan citra hasil pemfilteran dari operator Laplacian of Gaussian. Citra pertama-tama akan dikaburkan oleh operator Gaussian yang bertujuan untuk menghilangkan nosie. Selanjutnya akan ditajamkan oleh operator Laplacian.
JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2014) 1-6
5 beda sebagaimana dijelaskan di atas. Tabel 2 berikut adalah hasil pengujian dengan learning rate yang berbeda-beda Tabel 2 Pengaruh Learning Rate Terhadap Pengujian
Peluru yang ditesting
Learning Rate
Epoch
Akurasi
Baik+Cacat
0.5
5
51%
Baik+Cacat
0.4
5
73%
Baik+Cacat
0.3
5
76%
Baik+Cacat
0.2
5
55%
Baik+Cacat
0.1
5
63%
Gambar 7 Hasil filter Laplacian of Gaussian Citra Peluru
Gambar 7 adalah gambar peluru yang telah dikenai proses filter oleh mask atau kernel dari operator Laplacian of Gasussian. 4.
Pengujian Proses Binerisasi Pengujian tahap Biner ini bertujuan untuk mendapatkan citra yang telah diubah menjadi citra biner(0 dan 1). Untuk mengatur intensitas citra biner digunakan Thresholding yang dapat diatur.
Iterasi 5 80 70 60 50 40 30 20 10 0 0.5
0.4
0.3
0.2
0.1
Gambar 9 Grafik pengaruh Learning Rate dengan epoch/Iterasi=5
Dari Tabel 2 dan Gambar 9 di atas diketahui bahwa pada iterasi sebanyak 5 dan learning rate terbaik adalah 0.3 mempunyai akurasi 76 %.
Gambar 8 Hasil Binerisasi Citra Peluru
Gambar 8 merupakan gambar hasil binerisasi dengan threshold=0.3. C. Pengujian Tahap LVQ 1. Pengaruh Learning Rate Learning rate dalam algoritma LVQ merupakan konstanta yang digunakan untuk mencari bobot baru. Rumus untuk mencari bobot dalam algoritma LVQ adalah sebagai berikut:
π€πππππ’ = π€πππππ β πΌ π₯ β π€πππππ
(8)
dengan: π€π adalah bobot ke-π π₯ adalah vektor pelatihan πΌ adalah learning rate Untuk mengetahui pengaruh learning rate terhadap akurasi maka dilakukan pengujian dengan memasukkan nilai epoch sama dan learning rate berbeda-beda. Nilai learning rate yang dipilih adalah 0.5, 0.4, 0.3, 0.2, 0.1. Pengujian dilakukan pada peluru sebanyak 64 citra. Setiap pengujian dilakukan dengan nilai learning rate yang berbeda-
2. Pengaruh Epoch Untuk mengetahui pengaruh epoch terhadap akurasi maka dilakukan pengujian dengan memasukkan nilai learning rate sama dan maksimal epoch berbeda-beda. Nilai epoch yang dipilih adalah 5, 10, 15, 25, 40. Pengujian dilakukan pada gambar peluru sebanyak 64. Setiap pengujian dilakukan dengan nilai epoch yang berbedabeda sebagaimana dijelaskan. Tabel 3 berikut adalah hasil pengujian dengan epoch yang berbeda-beda. Tabel 3 Pengaruh Epoch Terhadap Pengujian
Peluru yang ditesting
Learning Rate
Epoch
Akurasi
Baik+Cacat
0.1
5
63%
Baik+Cacat
0.1
10
59%
Baik+Cacat
0.1
15
67%
Baik+Cacat
0.1
25
64%
Baik+Cacat
0.1
40
78%
JURNAL SAINS DAN SENI POMITS Vol. 2, No.1, (2014) 1-6
Learning Rate/Alpha= 0.1 90 80 70 60 50 40 30 20 10 0 5
10
15
25
40
Gambar 10 Grafik pengaruh epoch/iterasi dengan alpha=0.1
Dari Tabel 3 dan ambar 10 di atas diketahui bahwa epoch pada learning rate (alpha) = 0.1 berpengaruh pada hasil. Dan hasil terbaik sebesar 78% pada alpha= 0.1 dengan iterasi sebanyak 40. V. KESIMPULAN Berdasarkan analisis terhadap hasil pengujian yang telah dilakukan terhadap sistem identifikasi kecacatan peluru dengan menggunakan algoritma Learning Vector Quantization, maka dapat diambil beberapa kesimpulan sebagai berikut: 1. Tugas Akhir ini telah berhasil melakukan identifikasi cacat peluru dengan menggunakan pengolahan citra digital dan Learning Vector Quantization dengan urutan proses cropping, proses scalling, proses filtering, dan proses binerisasi. 2. Metode Learning Vector Quantization pada Tugas Akhir ini dapat mengenali citra peluru dengan akurasi sebesar 78% pada learning rate 0.1 dan iterasi sebanyak 30. DAFTAR PUSTAKA [1]
[2]
[3]
[4]
[5]
[6]
Tabrizi P.R ,dkk. (2010). βUsing PCA and LVQ Neural Network for Automatic Recognition ofFive Types of White Blood Cellsβ. Argentina. 32nd Annual International Conference of the IEEE EMBS Buenos Aires Rohwana. 2013. βPENGENALAN TULISAN TANGAN HURUF LATIN BERSAMBUNG SECARA REAL TIME MENGGUNAKAN ALGORITMA LEARNING VECTOR QUANTIZATIONβ. Institut Teknologi Sepuluh Nopember, Surabaya. Difla, Rosmalinda.2010.β JARINGAN SYARAF TIRUAN LEARNING VECTOR QUANTIZATION UNTUK APLIKASI PENGENALAN TANDA TANGANβ. Universitas Islam Indonesia, Yogyakarta Wuryandari, Maharani Dessy. (2011). βPERBANDINGAN METODE JARINGAN SYARAF TIRUAN BACKPROPAGATION DAN LEARNING VECTOR QUANTIZATION PADA PENGENALAN WAJAHβ. Bandung. Universitas Komputer Indonesia Jenis Peluru ,diambil februari 2014 dari http:socialcute.blogspot.com201104-senarai-lengkap-pelbagai-jenispeluru.html#axzz2uW5CHrfE Fausett, L. 1994. βFundamentals of Neural Networks: Architectures, Algorithms, and Applicationsβ. Prentice Hall International.Inc.
6