ISSN: 0216-3284
1
IDENTIFIKASI RAMBU-RAMBU LALU LINTAS MENGGUNAKAN LEARNING VECTOR QUANTIZATION RULIAH Program Studi Sistem Informasi Sekolah Tinggi Manajemen Informatika dan Komputer Banjarbaru Jl. A. Yani Km. 33,3 Loktabat Banjarbaru Email :
[email protected]
BAB II TINJAUAN PUSTAKA DAN KERANGKA PEMIKIRAN 2.1 Tinjauan Pustaka Penelitian yang dilakukan Supriadi pada tahun 2011 tentang pengenalan objek berupa simbol Backpropagation
rambu-rambu lalu
lintas
secara real-time
pada Jaringan Syaraf Tiruan
dengan algoritma
menggunakan webcam sebagai
perangkat keras pengambil citra simbol rambu-rambu lalu lintas yang diujikan secara real-time. Untuk proses pelatihan jaringan syaraf tiruannya digunakan 10 kelas citra simbol rambu-rambu lalu lintas yang memiliki 10 variasi pada setiap kelasnya. Proses pelatihannya menggunakan traingdx yang sudah disediakan pada matlab. Jaringan syarafnya memiliki 10 neuron 1 output, 1 input wieght, 1 layer weight, dengan ferforma trainning sse, nilai goal 0,1, batas maksimal epochs sebanyak 5000 iteration dan menggunakan 2 bias vektor. Didalam pengujiannya citra diperoleh melalui perangkat webcam kemudian diolah dengan mengubah citra dari RGB ke Greyscale (abu-abu), Tresholding (biner 01), dengan segmentasi dengan cara memotong-motong gambar yang diproses menjadi beberapa bagian untuk kemudian diproses dengan metode Backpropagation untuk mentraining maupun menguji agar dapat mengenali simbol rambu-rambu lalu lintas. Hasil penelitian menunjukkan jaringan syaraf tiruan dengan algoritma Backpropagation menghasilkan tingkat akurasi untuk mengenali citra yang diambil menggunakan webcam secara real-time rata-rata sebesar 80% pada pengujian citra per kelas, dan 86,20% pada saat pengujian dengan bersamaan 9 objek sekaligus. Kemudian ada penelitian yang dilakukan oleh Sri Wahyono, Eko dan Ernastuti pada tahun 2010 yang mengunakan LVQ (Learning Vector Quantization). Penelitian ini bertujuan untuk mensimulasikan metode pengolahan citra untuk mengidentifikasi
Identifikasi Rambu-Rambu Lalu Lintas Menggunakan Learning Vector Quantization (Ruliah)
2
ISSN: 0216-3284
nomor polisi mobil guna menggantikan sistem manual yang dilakukan oleh manusia. Input berupa citra foto yang dihasilkan oleh kamera digital. Citra diproses melalui prapengolahan agar citra memiliki kualitas yang lebih baik dan lebih siap untuk pemrosesan ekstraksi ciri. Selanjutnya dilakukan proses pengenalan pola pada citra untuk mendapatkan ciri yang terdapat pada citra tersebut. Fitur-fitur yang diperoleh dari pengolahan citra berupa vektor yang merepresentasikan ciri karakteristik dari suatu huruf atau angka. Fitur ciri kemudian diuji untuk proses klasifikasi menggunakan Jaringan
syaraf
tiruan
metode
LVQ
(Learning
Vector
Quantization).
LVQ
mengklasifikasikan vektor uji dengan cara mambandingkannya dengan bobot setiap kelas sehingga menghasilkan jarak. Jarak akan menentukan kelas dari ciri yang diuji. Penelitian ini hanya dilakukan pada nomor polisi mobil. Percobaan dilakukan dengan mengumpulkan data berupa foto nomor polisi. Dari data yang dikumpulkan kemudian dikelompokkan berdasarkan karakter huruf atau angka untuk dibuat template. Hasil percobaan menunjukkan keberhasilan sebesar 78% dari pola karakter yang dikenal dan yang tidak dikenal Disamping itu ada penelitian lain yang dilakukan Ratna Fitriani tahun 2011 mengenai penerapan algoritma LVQ (Learning Vector Quantization). Dalam penelitian ini menggunakan metode dalam mengenali citra tandatangan seseorang jika menggunakan 2 device yang berbeda serta alternative penggunaan simple preprocessing dengan tetap memperhatikan biaya komputasi, dan target akurasi identifikasi yang maksimal. Penelitian ini bertujuan untuk melakukan identifikasi tandatangan terhadap data yang diambil dari 2 device yang berbeda dan hasil identifikasi data uji dari tiap device yang digunakan akan dibandingkan untuk diketahui yang terbaik. Data citra tandatangan yang digunakan diambil menggunakan device scanner dan Kamera digital. Kedua Device diatur nilai resolusinya sehingga mempunyai ukuran resolusi yang sepadan. Setiap data dari masing-masing device akan melalui tahapan proses konversi ruang warna citra tandatangan menjadi grayscale, melakukan threshold sehingga data citra berada pada ruang warna hitam putih. Dan Learning Vector Quantization digunakan untuk melakukan identifikasi tandatangan. Hasil identifikasi adalah untuk mengenali tandatangan uji milik seseorang dan yang pernah dilatih dalam sistem. Sistem tidak melakukan verifikasi tandatangan tersebut palsu atau tidak. Hasil identifikasi data uji dari tiap device yang digunakan pada penelitian ini akan
JUTISI Vol. 1, No. 1, April 2012 : 731 – hlm_akhir
JUTISI
ISSN: 0216-3284
3
dibandingkan untuk diketahui yang terbaik. Hasil penelitian menunjukkan tingkat akurasi identifikasi dengan benar menggunakan tahapan pada penelitian ini terhadap citra data tandatangan local menggunakan 54 data uji dengan device scanner pada resolusi 457 dpi dan 1080 x 1920 pixel adalah 83.333%., sementara dengan device kamera digital pada resolusi 1080 x 1920 pixel adalah 87.037%.
2.2
Landasan Teori
2.2.1 Pengolahan Citra Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optis berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu pita magnetik. Citra digital merupakan suatu larik dua-dimensi atau suatu matriks yang elemen-elemennya menyatakan tingkat keabuan setiap elemen gambar. Jadi informasi yang terkandung bersifat diskret. Citra digital tidak selalu merupakan hasil langsung data rekaman suatu objek. Kadang-kadang hasil rekaman data bersifat kontinyu seperti gambar pada monitor televisi analog, foto sinar-X, dan lain sebagainya. Dengan demikian untuk mendapatkan suatu citra digital dari citra analog diperlukan suatu proses konversi sehingga citra tersebut selanjutnya dapat diproses dengan komputer. Pengolahan Citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Citra digital merupakan barisan bilangan nyata maupun kompleks yang diwakili oleh bit-bit tertentu. Citra digital dapat diperoleh secara otomatis dari sistem penangkap citra membentuk suatu matriks yang elemen-elemennya menyatakan nilai intensitas cahaya atau tingkat keabuan setiap piksel. Citra f(x,y) disimpan dalam memori komputer (bingkai penyimpan citra/frame grabber) dalam bentuk larikan N x M cuplikan (sample) diskret dengan jarak yang sama sebagai berikut :
Identifikasi rambu-rambu lalu lintas menggunakan metode LVQ (Ruliah)
4
ISSN: 0216-3284
..............(2.1) Setiap citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain. Ketika suatu citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra digital), bermacam-macam proses pengolahan citra dapat dilakukan terhadap citra tersebut. Pengolahan citra merupakan pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih tinggi sesuai yang diinginkan. Data citra rambu-rambu lalu lintas pelatihan maupun pengujian diambil hanya pada area image rambu-rambu saja. Citra rambu-rambu tersebut berada pada sebuah ruang yang disebut bidang gambar / ruang lingkup citra (image space). Sebuah citra tersusun atas pixel-pixel yang memiliki nilai. Untuk citra abu-abu (gray scale), sebuah pixel memiliki nilai dari 0 - 255.
2.2.2 Warna pada Pengolahan Citra Cahaya tampak sering disebut dengan cahaya saja, merupakan sebagian kecil spektrum gelombang elektromagnetik yang memiliki rentang panjang gelombang antara 400 nm sampai dengan 700 nm. Pada spektrum cahaya tampak terdapat beberapa bagian cahaya dengan warna berbeda seperti merah, ungu dan lain sebagainya, dengan demikian warna merupakan fungsi panjang gelombang cahaya. Dapat juga didefinisikan bahwa warna suatu objek merupakan fungsi panjang gelombang cahaya yang dipantulkan oleh obyek yang bersangkutan ke mata manusia. Panjang gelombang pada kisaran cahaya tampak memiliki luminans dan saturasi (jumlah cahaya putih yang ditambahkan) dijaga tetap, sehingga seseorang yang memiliki penglihatan warna normal akan dapat membedakan kira-kira 128 warna. Persepsi warna dalam pengolahan citra tergantung pada tiga faktor, yaitu: spectral reflectance (menentukan bagaimana suatu permukaan memantulkan warna), spectral
JUTISI Vol. 1, No. 1, April 2012 : 731 – hlm_akhir
JUTISI
ISSN: 0216-3284
5
content (kandungan warna dari cahaya yang menyinari permukaan) dan spectral response (kemampuan merespon warna dari sensor dalam imaging system). Suatu warna tertentu dapat dihasilkan dari pencampuran warna primer. Gambar 1. menunjukkan sistem aditif yang memiliki tiga komponen warna primer, yaitu merah, hijau, dan biru. Dari gambar tampak bahwa pencampuran warna merah, hijau dan biru pada takaran yang tepat akan menghasilkan warna putih.
Dua warna disebut
komplementer jika kedua warna tersebut dicampur pada takaran yang tepat akan menghasilkan warna putih, sebagai contoh warna magenta dicampur dengan warna hijau pada takaran yang tepat akan menghasilkan warna putih. Oleh karena itu warna magenta merupakan 20 komplemen untuk warna hijau. Informasi dari suatu objek dapat diwakili oleh warna yang dipantulkan oleh objek yang bersangkutan ke mata.(1)
Gambar 2.1. Pencampuran warna (a) aditif, dan (b) subtraktif [1]
Tingkat pantulan warna suatu objek ke mata dinyatakan dengan luminans, kontras dan kecerahan. Luminans menyatakan banyaknya cahaya yang dipantulkan oleh permukaan obyek yang dinyatakan dalam satuan lilin per meter persegi, semakin besar luminans suatu obyek, maka rincian obyek yang dapat dilihat oleh mata semakin banyak. Kontras menyatakan hubungan antara cahaya yang dipantulkan oleh suatu obyek dengan cahaya dari latar belakang obyek tersebut. Kontras juga didefinisikan sebagai selisih antara luminans obyek dengan latar belakangnya dibagi dengan luminans latar belakangnya. Nilai kontras positif akan diperoleh jika cahaya yang dipancarkan oleh suatu obyek lebih besar dibanding yang dipancarkan latar belakangnya. Nilai kontras negatif dapat menyebabkan obyek yang sesungguhnya "terserap" oleh latar belakang, sehingga obyek menjadi tidak tampak. Kecerahan merupakan tanggapan
Identifikasi rambu-rambu lalu lintas menggunakan metode LVQ (Ruliah)
6
ISSN: 0216-3284
subjektif pada cahaya. Tidak ada arti khusus dari tingkat kecerahan seperti luminans dan kontras, tetapi luminans yang tinggi berimplikasi pada kecerahan yang tinggi pula. Citra disusun oleh sejumlah piksel yang membentuk matriks. Dengan demikian piksel merupakan komponen terkecil citra yang mengandung informasi (Arymurthy, 1992). Setiap piksel citra berwarna mengandung tiga komponen warna dasar yaitu komponen warna merah (red), komponen warna hijau (green), dan komponen warna biru (blue) yang sering disebut dengan komponen RGB. Atas dasar tersebut citra berwarna disusun oleh tiga buah matriks komponen warna, yaitu matriks komponen warna R, matriks komponen warna G, dan matriks komponen warna B untuk sistem ruang warna RGB. Ada beberapa sistem ruang warna yang diciptakan untuk keperluan tertentu atau diciptakan khusus untuk platform perangkat-keras tertentu, seperti yang didefinisikan oleh Burdick (1997) berikut : 1. Sistem ruang warna RGB diciptakan untuk menampilkan citra pada layar CRT yang memiliki tiga buah pospor warna yang akan menghasilkan tiga buah warna dasar, yaitu merah, hijau, dan biru. 2. Sistem ruang warna CMY (Cyan, Magenta, Yellow) diciptakan untuk keperluan mencetak citra berwarna (color printing). 3. Sistem ruang warna luminans-crominans yaitu YIQ dan LUV diciptakan untuk keperluan penyiaran televisi. 4. Sistem ruang warna HIS (hue, intensity, and saturation) merupakan sistem ruang warna yang banyak digunakan untuk pengolahan citra seni (artists).
2.2.3 Sistem Ruang Warna RGB Sistem ruang warna RGB (Red Green Blue) merupakan sistem ruang warna dasar. diperkenalkan oleh National Television System Committee (NTSC) yang banyak digunakan untuk menampilkan citra berwarna pada monitor CRT (Jain, 1989). Sistem ini diilustrasikan menggunakan sistem koordinat tiga dimensi seperti Gambar 2.1. Pada Gambar 2.2. tampak bahwa setiap warna akan diwakili oleh tiga buah nilai dalam koordinat tersebut yang menyatakan komponen warna RGB, sebagai misal warna merah akan diwakili oleh titik (255,0,0). Rentang nilai untuk setiap sumbu berkisar dari 0
JUTISI Vol. 1, No. 1, April 2012 : 731 – hlm_akhir
JUTISI
ISSN: 0216-3284
7
sampai 255. Pada gambar tersebut tampak juga bahwa warna cyan, magenta dan kuning merupakan komplemen warna merah, hijau, dan biru.
Gambar 2. 2. Sistem ruang warna RGB NTSC (Burdick,1997)[1]
Model warna RGB yang dapat dinyatakan dalam bentuk indeks warna RGB dengan cara menormalisasi setiap komponen warna dengan persamaan sebagai sebagai berikut :
( 2.2 )
2.2.3.1 Konversi Citra RGB ke Grayscale Untuk mengubah citra berwarna rgb ke warna keabu-abuan bisa menggunakan perintah berikut ini Contoh: gambar=imread('data1_1.jpg'); gray=rgb2gray(gambar); imshow(gambar) figure, imshow(gray)
Identifikasi rambu-rambu lalu lintas menggunakan metode LVQ (Ruliah)
8
ISSN: 0216-3284
2.2.3.2 Konversi Citra Ke Biner Binerisasi citra merupakan salah satu proses penting yang biasanya dilakukan dalam pemrosesan image, MATLAB menyediakan beberapa fungsi untuk melakukan proses ini. Sebagai contoh proses tersebut seperti pada langkah dibawah ini: gambar=imread('data1_1.jpg'); gray=rgb2gray(gambar); thresh=graythresh(gray); imbw=im2bw(gray,thresh); imshow(gambar) figure, imshow(imbw)
2.2.3.3 Deteksi Tepi Seleksi objek biasanya selanjutnya dilakukan langkah deteksi tepi dalam proses pengolahan citra, di MATLAB proses pendeteksian tepi dilakukan dengan perintah/fungsi edge. Ada beberapa metode yang dapat dilakukan pada deteksi tepi menggunakana MATLAB yaitu metode sobel, prewitt, roberts, laplacian of gaussian, metode zero cross, dan Canny. Yang penting diperhatikan pada deteksi tepi bahwa hanya dapat dilakukan menggunakan citra grayscale atau citra 2-D. Contoh penggunaan metode deteksi tepi:
I = imread('data1_1.jpg'); gray=rgb2gray(I); BW1 = edge(gray,'prewitt'); BW2 = edge(gray,'canny'); BW3 = edge(gray,'sobel'); BW4 = edge(gray,'roberts'); imshow(BW1); figure, imshow(BW2) figure, imshow(BW3) figure, imshow(BW4
JUTISI Vol. 1, No. 1, April 2012 : 731 – hlm_akhir
JUTISI
ISSN: 0216-3284
9
2.2.4 Vector dan Ruang Citra Data citra pelatihan dan pengujian berada pada sebuah ruang yang disebut bidang gambar/ ruang lingkup citra (image space). Sebuah citra tersusun atas pixelpixel yang memiliki nilai. Setiap pixel citra dalam ruang warna RGB mengandung tiga komponen warna dasar yaitu komponen warna merah (red), komponen warna hijau (green), dan komponen warna biru (blue). Untuk citra dengan ukuran 8 bit per pixel, sebuah pixel memiliki nilai dari 0 – 255 pada setiap komponen warnanya. Untuk proses pengolahan citra, sebuah citra hasil segmentasi yang memiliki ukuran lebar dan tinggi dinyatakan dengan (w x h = n). Dan untuk proses berikutnya notasi matrik dinyatakan dalam (b x k) dengan b adalah baris dan k kolom. Untuk proses pengolahan citra, data tersebut diubah bentuk menjadi sebuah VECTOR kolom (n x 1). Yaitu dengan meletakkan nilai kiri atas citra hasil segmentasi pada awal vector dan nilai kanan bawah citra rambu-rambu lalu lintas pada akhir vector.
2.2.5 Learning Vector Quantizationa (LVQ) LVQ (Learning Vector Quantization) 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 input tersebut ke dalam kelas yang sama. Berikut ini adalah algoritma pelatihan jaringan LVQ jika diberikan (n) buah data dengan (m) buah variable input. Dan data tersebut dibagi dalam sebuah K kelas. 1. Tetapkan: a) Bobot awal variable input ke-j menuju ke kelas ke –i yaitu Wij, dengan i = 1,2, ……….., K dan J = 1,2, …., m. b) Maksimum epoh = Maxepoh. c) Parameter learning rate = α. d) Pengurungan learning rate = Dec α. e) Minimal learning rate yang diperbolehkan = Min α. Identifikasi rambu-rambu lalu lintas menggunakan metode LVQ (Ruliah)
10
ISSN: 0216-3284
2. Masukkan: a) Data input Xij dengan i = 1,2, …,n dan j = 1,2, .., m. b) Target berupa kelas, yaitu Tk dengan k = 1, 2, ..,n. 3. Tetapkan kondisi awal epoh, yaitu epoh=0 4. Kerjakan jika (epoh < Maxepoh) dan (α > Min α) a) Epoh =epoh+1 b) Kerjakan untuk i = 1 sampai n -
Tentukan J sedemikian sehingga | Xi - Wj| minimum dengan j= 1, 2, , K.
-
Perbaiki Wj dengan ketentuan: •
Jika T = Cj maka Wj + α ( Xj –Wj )
•
Jika T ≠ Cj maka Wj + α ( Xj –Wj )
c) Setelah nilai α (pengurangan nilai α bisa dilakukan dengan α = α- Dec α atau dengan cara α = α*Dec α) Setelah dilakukan pelatihan akan diperoleh bobot-bobot akhir. Bobot-bobot inilah yang nantinya akan digunakan untuk melakukan pengujian atau simulasi dengan data yang berbeda (tidak sama dengan data yang digunakan untuk pelatihan). Adapun Algoritma Pengujian LVQ sebagai berikut : 1. Masukkan data yang akan di uji, misalnya Xij dengan i = 1, 2, …, np dan j = 1, 2, …, m. 2. Kerjakan untuk i = 1 sampai np a) Tentukan J sedemikina sehingga | Xi - Wj| minimum dengan j= 1, 2, , K. b) J adalah kelas untuk Xi
JUTISI Vol. 1, No. 1, April 2012 : 731 – hlm_akhir
JUTISI
2.3
ISSN: 0216-3284
11
Kerangka Pemikiran
Gambar 2. 3. Kerangka Pemikiran Penelitian
References
Fitriani, R. (2011). Identifikasi Tanda Tangan Berbasis Jaringan Syaraf Tiruan Dengan Metode Learning Vector Quantization Pada Dua Device Yang Berbeda. Program Pasca Sarjana Magister Teknik Informatika UDINUS Semarang . Indrawan, F. (2010). Aplikasi Pengenalan Pola Daun Menggunakan Jaringan Syaraf Learning Vector Quantization Untuk Penentuan Tanaman Obat. Seminar Nasional Informatika 2010 (semnasIF 2010) UPN "Veteran" Yogyakarta. Yogyakarta.
Identifikasi rambu-rambu lalu lintas menggunakan metode LVQ (Ruliah)
12
ISSN: 0216-3284
Irawan, M. I., & Satriyono, E. (2010). Virtual Pointer Untuk Identifikasi Tangan Sebagai Pengendali Gerakan Robot Secara Real Time. Surabaya: Polikteknik Elektronika Negeri Surabaya. Kusumadewi, S. (2004). Membangun Jaringan Syaraf Tiruan (menggunakan MATLAB & Excel Link). Yogyakarta: Graha Ilmu. Paulus, E., & Nataliani, Y. (2007). GUI matlab. Yogyakarta: ANDI Publisher. Siang, J. (2004). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan Matlab. Yogyakarta: Andi Yogyakarta. Supriyadi. (2011). Penerapan Algoritma Backpropagation Untuk Pengenalan RambuRambu Lalu Lintas Secara Realtime. Program Strata 1 Teknik Informatika STMIK Banjarbaru, (pp. 1-84). Banjarbaru. Wahyono, E. S., & Ernastuti. (2010). Identifikasi Nomor Polisi Mobil Menggunakan Metode Jaringan Syaraf Buatan learning Vector Quantization. Wijaya, M. C., & Prijono, A. (2007). Pengolahan Citra Digital Menggunakan Matlab. Bandung: INFORMATIKA.
JUTISI Vol. 1, No. 1, April 2012 : 731 – hlm_akhir