BAB 2
TINJAUAN PUSTAKA
2.1 Proses Pengolahan Citra Plat Nomor Polisi
Pada tahap pengolahan citra, sampel data citra plat nomor kendaraan mengalami beberapa tahap operasi pengolahan citra, yaitu operasi binerisasi, open-close morphology, median filtering, slicing dan resizing. Operasi binerisasi pertama sekali dilakukan pada citra plat nomor kendaraan. Di tahap ini sebuah citraberwarna atau abu-abu diubah menjadi suatu citra biner. Citra biner diwakili oleh matriks dua dimensi yang hanya mempunyai dua nilai intensitas (“0” dan“1”), yaitu hitam dan
putih saja. Pada operasi ini, nilai intensitas warna setiap piksel pada suatu citra akan diubah berdasarkan nilai ambang (threshold) yang telah ditentukan. Apabila nilai intensitasnya lebih besar dari nilai threshold maka nilai tersebut akan diubah menjadi bit 1 (warna putih). Sebaliknya, jika nilainya lebih kecil dari nilai threshold maka nilainya akan diubah menjadi bit 0 (warna hitam).
Proses selanjutnya, citra plat nomor kendaraan yang sudah bersifat biner akan mengalami proses filtering menggunakan opening-closing dan median filter. Proses
filtering ini dilakukan dengan tujuan untuk menghilangkan noise dan memperhalus citra. Dengan melakukan operasi opening-closing terlebih dahulu pada citra, maka akan didapatkan citra dengan noise yang berkurang, dan memperkecil noise yang besar yang tidak bisa dihilangkan dengan median filtering secara langsung. Dengan dilakukanya dua operasifilteringini, akan didapatkan citra yang jauh lebih bersih dari noise.
Setelah citra plat nomor kendaraan sudah relatif bersih dari noise, langkah selanjutnya adalah prosesslicing. Proses ini akan memisahkan karakter-karakter pada citra plat nomor kendaraan menjadi satu citra dengan satu karakter tunggal yang utuh.
Sampling
7
(menunjukkan jumlah bit pada gambar digital, misal b/w dengan dua bit, grayscale dengan delapan bit,true colordengan 24 bit).
Citra atau umumnya dikenal gambar merupakan kumpulan titik-titik penyusun citra itu sendiri. Titik-titik tersebut dikenal dengan pixel. Banyaknya titik-titik penyusun citra tersebut disebut resolusi. Jadi resolusi merupkan MxN pixel. Masing-masing pixel yang menyusun suatu citra dapat memiliki warna yang berbeda-beda, yang disebut denganbit depth.Bit depthdinyatakan dengan angka yang bersatuan bit. Sebagai contoh bit depth = 3, artinya terdapat 23 = 8 variasi yang mungkin untuk setiap pixel-nya. Semakin besar nilai bit depth, maka semakin besar pula ukuran fungsi citra tersebut. Ada beberapa jenis mode warna, antara lain:
Tabel 2.1Jenis Mode Warna
Grayscale Warna keabuan, disusun oleh warna dasar Red, Green, Blue yang masing–
masing memiliki nilai dasar yang sama. Misal = Red = 67, Green = 67, dan Blue = 67. Dari suatu nilai yang sama akan membentuk satu warna kebuan yang berbeda pada rentang gradasi hitam dan putih
8bit depth 28= 256 variasi warna
Monokrom Warna yang hanya terdiri dari hitam dan putih
1 bit 21= 2 variasi warna
RGB Warna yang disusun oleh 3channel, yaitu Red, Green, Blue yang masing–
masin memiliki 8bit depth
8 x 3 =24 224= 16.777.216 variasi warna CMYK Warna yang terdiri dari 4 channel,
yaitu Cyan, Magenta, Yellow, Black yang masing–masing memiliki 8bit depth
8 x 4 = 32 232=
0x00 xx xx xx
11
Tabel 2.2Bitmap Info Header
Nama Field Size in Bytes Keterangan
bfType 2 Mengandung karakter “BM” yang
mengidentifikasikan tipe file
bfSize 4 Memori file
bfReserved1 2 Tidak dipergunakan bfReserved1 2 Tidak dipergunakan
bfOffBits 4 Offset untuk memulai datapixel
Tabel 2.3Bitmap Core Header
Field Name Size in Bytes Keterangan
bcSize 4 MemoriHeader
bcWidth 2 Lebar Gambar
bcHeight 2 Tinggi Gambar
bcPlanes 2 Harus 1
bcBitCount 2 Bits per pixels–1,4,8 atau 24
2. Joint Photographic Expert Group(JPEG/JPG)
Format JPEG merupakan format yang paling terkenal sampai sekarang ini. Hal ini karena sifatnya yang berukuran kecil (hanya puluhan/ratusan KB saja), dan bersifat portable. Formatfileini sering digunakan pada bidang fotografi untuk menyimpan
file foto hasil perekaman analog to digital converter (ADC). Karena ukurannya kecil makafileini banyak digunakan diweb(internet).
3. GIF (Graphics Interchange Format)
12
yang lebih baik, seperti Adobe Photoshop, color table bisa diatur otomatis atau manual sehingga gambar tidak berubah warna atau rusak.
File GIF cocok digunakan untuk:
a. Gambar dengan jumlah warna sedikit (dibawah 256).
b. Gambar yang memerlukan perbedaan warna yang tegas seperti logo tanpa gradien.
c. Gambar animasi sederhana sepertibanner-banneriklan,header, dan sebagainya. d. Print shoot (hasil dari print screen) dari program-program sederhana dengan
jumlah warna sedikit.
File GIF tidak cocok digunakan untuk:
a. Gambar yang memiliki banyak warna seperti pemandangan.
b. Gambar yang didalamnya terdapat warna gradien atau semburat (spot light).
4. PNG (Portable Network Graphics)
Citra berformat PNG dikembangkan sebagai alternatif lain untuk GIF, yang menggunakan paten dari LZW algoritma kompresi. PNG adalah format citra yang sangat baik untuk grafis internet, karena mendukung transparansi didalam perambah (browser) dan memiliki keindahan tersendiri yang tidak bisa diberikan GIF atau bahkan JPG. Format PNG menggunakan teknik kompresi Loseless dan mendukung kedalaman warna 48 bit dengan tingkat ketelitian sampling: 1,2,4,8, dan 16 bit. Format ini memiliki alpha channel untuk mengkontrol transparency (Sutoyo, 2009).
2.4 Jaringan Syaraf Tiruan (JST)
13
JST menyerupai otak manusia dalam 2 (dua) hal, yaitu: a) Pengetahuan diperoleh jaringan melalui proses belajar.
b) Kekuatan hubungan antar sel syaraf (neuron) yang dikenal sebagai bobot-bobot sinaptik digunakan untuk menyimpan pengetahuan.
Jaringan Syaraf Tiruan (JST) adalah suatu metode pembelajaran yang diinspirasi dari jaringan sistem pembelajaran biologis yang terjadi dari jaringan selsyaraf (neuron) yang terhubung satu dengan yang lainnya (Silvia, 2007).
Berikut adalah beberapa definisi JST:
1. JST adalah suatu teknik pemrosesan informasi berbasis komputer yang mensimulasikan dan memodelkan sistem syaraf biologis.
2. Suatu model matematik yang mengandung sejumlah besar elemen pemroses yang diorganisasikan dalam lapisan-lapisan.
3. Suatu sistem komputasi yang dibuat dari sejumlah elemen pemroses yang sederhana dan saling diinterkoneksikan untuk memproses informasi melalui masukan dari luar dan mampu inresponsi keadaan yang dinamis.
4. JST adalah suatu teknologi komputasi yang berbasis hanya pada model syaraf biologis dan mencoba mensimulasikan tingkah laku dan kerja model syaraf.
5. JST adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi.
JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa :
Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
1. Sinyal dikirirnkan diantara neuron-neuron melalui penghubung-penghubung. 2. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
14
2.5 AlgoritmaLearning Vector Quantization(LVQ)
LVQ merupakan metode klasifikasi data adaptif berdasarkan pada data pelatihan dengan informasi kelas yang diinginkan. Walaupun merupakan suatu metoda pelatihan supervised tetapi LVQ menggunakan teknik data clustering unsupervised untuk pra prosesset data dan penentuan cluster center-nya. Arsitektur jaringan LVQ hampir menyerupai suatu jaringan pelatihan kompetitif kecuali pada masing-masing unit outputnya yang dihubungkan dengan suatu kelas tertentu. Kusumadewi dan Hartai (2006) menyatakan LVQ merupakan metoda untuk melakukan pelatihan terhadap lapisan-lapisan kompetitifsupervised. Lapisan kompetitif akan belajar secara otomatis untuk melakukan klasifikasi terhadap vektor input yang diberikan. Apabila beberapa vektor input memiliki jarak yang sangat berdekatan, maka vektor-vektor input tersebut akan dikelompokkan dalam kelas yang sama. Pemrosesan yang terjadi pada setiap neuron adalah mencari jarak antara suatu vektor input ke bobot yang
bersangkutan (W1 dan W2). W1 adalah vektor bobot yang menghubungkan setiap
neuron pada lapisan input ke neuron pertama pada lapisan output, sedangkan W2
adalah vektor bobot yang menghubungkan setiap neuron pada lapisan input ke neuron
yang kedua pada lapisan output. Fungsi aktivasi F1 akan memetakan Y_in1ke y1 = 1
apabila:
|X–W1| < |X–W2|, dan Y1= 0 jika sebaliknya.
Demikian pula dengan yang terjadi pada fungsi aktivasi F2, akan memetakan
Y_in1ke Y1= 1 apabila |X–W2| < |X–W1|, dan Y1= 0 jika sebaliknya.
Gambar 2.6 menunjukan jaringan LVQ dengan unit pada lapisan input, dan 2 unit
(neuron) pada lapisanoutput.
15
Algoritma untuk LVQ adalah sebagai berikut:
Notasi x :training vector(X1, X2, ..., Xn)
T : kategori daritraining vectoryang benar
Wj : Vektor bobot untuk kategori j
Cj : Kategori j (hasil training)
||X–Wj|| : jarak Euclidian.
Step 0 Inisialisasi
Step 1 Jika kondisi stop salah, lakukan step 2 s.d. step 6
Step 2 Untuk setiap vector training, lakukan step 3 s.d. step 4
Step 3 dapatkan j sehingga ||X–Wj|| minimum
Step 4 Update Wj
Wj(baru) = Wj(lama) + α (X –Wj(lama)) ; Jika T = Ci
Wj(baru) = Wj(lama)– α (X –Wj(lama)) ; Jika T ≠Ci
Step 5 UpdateLearning rate
Step 6 Uji kondisi stop
Setelah dilakukan pelatihan, akan diperoleh bobot akhir (W). Bobot-bobot ini nantinya
akan digunakan untuk melakukan simulasi atau pengujian data yang lain.
2.6 AlgoritmaBackpropagation
Backpropagatin merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Pelatihan sebuah jaringan yang menggunakan backpropagation terdiri dari 3 langkah, yaitu : pelatihan pola input secara feedforward, perhitungan dan backpropagation dari kumpulan kesalahan dan penyesuaian bobot. Sesudah pelatihan, aplikasi dari jaringan hanya terdiri dari fase feedforward. Bahkan, jika pelatihan menjadi lambat, sebuah jaringan yang dilatih dapat menghasilkan outputnya sendiri secara cepat.
16
Arsitektur jaringanbackpropagationseperti terlihat dalam Gambar 2.7.
Y1 Yk Ym
w01 w11 wj1 wp1 w0k w1k wjk wpk w0m w1m wjm wpm
Z1 Zj Zp
X1 Xi Xn
v01 v11 vi1 vn1 v0j v1j vij vnj v0p v1p vip vnp
1
1
Gambar 2.7 Arsitektur jaringanBackpropagation(Andrijasa, 2010). Keterangan :
X = Masukan (input)
V = Bobot lapisan tersembunyi W = Bobot lapisan keluaran
n = Jumlah unit pengolah lapisan tersembunyi Z = Lapisan tersembunyi (hidden layer)
Y = Keluaran (output)
Backpropagationmemiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Gambar 2.12 adalah arsitekturbackpropagationdengan n buah masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran.
17
2.6.1 Pelatihan StandarBackpropagation
Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukkan dihitung maju mulai dari layar masukkan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur dimana selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur dimulai dari garis yang berhubungan langsung dengan unit-unit keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi.
Fase I : Propagasi maju Fase II : Propagasi mundur Fase III : Perubahan bobot
Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan (Andrijasa, 2010).
Algoritma pelatihan untuk jaringanbackpropagation a) Inisialisasi bobot (set bilangan acak kecil) b) Step 1
Selama kondisi salah, lakukan steps 2–9 Step 2
Untuk setiap pasangan data training lakukan step 3–8
FaseFeedforward
Step 3
Setiap neuroninputXimenerimainputsignalXidan meneruskannya ke semua neuron
hiddenpadalayerdiatasnya. Step 4
Setiap neuron hidden Zj menjumlahkan semua signal inputnya.
……… (2-1)
Menjalankan fungsi aktifasinya untuk menghitung signaloutput-nya
18
Setiap neuronoutputYkmenjumlah signal input berbobotnya.
………. (2-2)
Menjalankan fungsi aktifasinya untuk menghitung signaloutput-nya. yk= f(y_ink).
Backpropagationdarierror
Step 6
Setiap neuron output Yk menerima pola target yang terkait dengan input pola training, menghitung komponenerror
dan menghitung komponen perubahan bobot (untuk mengubah wjknanti)
……….. (2-3)
Menghitung komponen bias (untuk mengubah Woknanti)
………...…. (2-4) Dan mengirimδkke neuron padalayerdi bawahnya
Step 7
Setiap neuronhiddenZjmenjumlahkaninputdelta-nya (dari neuron di atasnya)
...……… (2-5)
Mengalikan dengan turunan dari fungsi aktifasi untuk menentukan komponen koreksierror-nya
Menghitung komponen koreksi errornya (untuk mengubah vijnanti)
………....……...…. (2-6) Menghitung komponen koreksierror-nya (untuk mengubah v0jnanti)
………...… (2-7)
Step 8
Setiap neuron output Ykmengubah bobot dan biasnya: wjk(baru) = wjk(lama) +Δ wjk.
Setiap neuronhiddenZjmengubah bobot dan biasnya:
19
Test stopping condition
f1(y_ink) dan f’(z_inj) dapat dinyatakan dalam bentuk yk dan zk tergantung fungsi aktifasi yang digunakan.
2.6.2 Inisialisasi Bobot Awal
Pemilihan bobot awal sangat mempengaruhi jaringan saraf dalam mencapai minimum global terhadap nilai error, serta cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila nilai bobot awal terlalu besar, maka input ke setiap lapisan sembunyi atau lapisan output akan jatuh pada daerah dimana turunan fungsi sigmoidnya sangat kecil dan apabila nilai bobot awal terlalu kecil makainputke setiap lapisan tersembunyi atau lapisan output akan sangat kecil yang akan menyebabkan proses pelatihan akan berjalan sangat lambat (Puspitaningrum, 2006).
Inisialisasi bobot awal terdiri dari 2 yaitu : 1. Inisialisasi Bobot Awal Secara Random
Inisialisasi bobot awal secara random biasanya bobot awal diinisialisasi secara
random dengan nilai antara -0.5 sampai 0.5 (atau -1 sampai 1, atau interval yang lainnya).
2. Inisialisasi Bobot Awal Dengan Metode Nguyen-Widrow
Metode Nguyen-Widrow akan menginisalisasi bobot-bobot lapisan dengan nilai antara -0.5 sampai 0.5. Sedangkan bobot-bobot dari lapisan input ke lapisan tersembunyi dirancang sedemikian rupa sehingga dapat meningkatkan kemampuan lapisan tersembunyi dalam melakukan proses pembelajaran.
2.7 IP Camera (Internet Protocol Camera)
20
Gambar 2.8 Blok Diagram IP Camera
Blok I/O (input/output) merupakan bagian yang menangani hubungan dengan peripheralnetwork dan gatewayuntuk koneksi dengan LAN atau internet. Bagian ini dapat dengan mudah dikenali dengan adanya konektorfemaleRJ45 dan beberapa jack input untukmicrophonesertaspeaker yang merupakan penghubung dengan komputer seprti pada Gambar 2.9.
Gambar 2.9 Blok Diagram I/O Keterangan:
a. I/OOptional
Bagian input dan output berupa jack yang berfungsi sebagai penghubung antara
peripheral networkingdengan IPcamera. b. Power supply
Bagian yang mendistribusikan power supplyatau catu daya dariadaptorke seluruh bagian agar perangkat dapat beroperasi. Selain menggunakan adaptor, IP camera dapat juga menggunakan PoE (power Over Ethernet) yang diinjeksikan via RJ45. c. Microphone
Bagian yang berfungsi mengubah sinyal akustik menjadi sinyal listrik. d. Speaker
Bagian yang berfungsi mengubah sinyal listrik menjadi sinyal akustik yang dapat didengar manusia.
I/O
CPU
Camera
Power Supply
CPU dan Camera
I/O Optional
Microphone
Speaker
Rj45 Rj45
PCM
21
e. RJ45
Bagian yang berfungsi sebagaigatewayIPcamerauntuk koneksi dengan komputer atau LAN/Internet.
f. PCM Codec (Pulse Code Modulation Coder and Decoder)
Bagian yang berfungsi mengubah sinyal analog menjadi sinyal digital (microphone to IP camera) dan mengubah sinyal digital menjadi sinyal analog (IP camera to Speaker) menggunakan teknik modulasi PCM.
g. LAN Buffer
Bagian yang berfungsi sebagai penyangga traffic data dari dan ke CPU IP camera yang melewaticonnectorRJ4.
Blok CPU dapat dikenali dengan adanya IC prosesor yang memiliki bentuk paling besar diantara komponen IC yang ada. Bagian ini memiliki fungsi utama sebagai pengendali atas segala aktivitas yang dilakukan oleh IP camera dengan bantuan beberapa komponen IC pendukung. Blok camera mirip dengan kamera atau tustel yang memiliki lensa CCD yang bertugas mengambil atau meng-capturegambar. Sebuah IP camera biasanya dilengkapi dengan software, software ini mengambil gambar dari kamera digital secara terus menerus ataupun dalam interval waktu tertentu dan menyiarkannya melalui koneksi internet. Ada beberapa metode penyiaran dan yang paling umum adalah software merubah gambar ke dalam bentuk file JPEG dan meng-upload-nya keweb server menggunakanFile Transfer Protocol (FTP) (Azikin, 2005).
Frame rate mengindikasikan jumlah gambar sebuah software dapat ambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan minimal 15 frame per second (fps) atau idealnya 30 fps. Untuk mendapatkan frame rate yang tinggi, dibutuhkan koneksi internet yang tinggi kecepatannya. Sebuah webcam tidak harus selalu terhubung dengan komputer, ada webcam yang memilikisoftware webcam dan web server bulit-in, sehingga yang diperlukan hanyalah koneksi internet, webcam ini
dinamakan “network camera”.
22
digunakan, kamera ini terhubung dengan video capture card dan tersambung dengan internet (baik langsung maupun tidak langsung). Saat ini kamera untuk video
conference sudah makin maju, sudah ada webcam yang di dalamnya terdapat microphone maupun noise cancellation untuk memfokuskan audio ke speaker yang terletak di depan kamera sehingga noise yang ada tidak mengganggu jalannya konferensi.
Pada awalnya, bentuk webcamterbatas pada bentuk-bentuk standar yang hanya terdiri dari lensa dan papan sirkuit serta casing yang biasa. Namun seiring dengan perkembangan teknologi, bentuk webcam pun sudah makin bervariasi dengan fitur-fitur yang makin canggih.
Webcam memiliki fitur-fitur dan setting yang bermacam-macam, diantaranya adalah:
1. Motion sensing, webcam akan mengambil gambar ketika kamera mendeteksi gerakan.
2. Image archiving, pengguna dapat membuat sebuah archive yang menyimpan semua gambar dari webcam atau hanya gambar-gambar tertentu saat interval pre-set.
3. Video messaging, beberapa programmessagingmendukung fitur ini.
4. Advanced connections, menyambungkan perangkat home theater ke webcam dengan kabel maupun nirkabel.
5. Automotion, kamera robotik yang memungkinkan pengambilan gambar secara
pan atau tilt dan setting program pengambilan frame berdasarkan posisi kamera.
6. Streaming media, aplikasi profesional, setup webcam dapat menggunakan kompresi MPEG4 untuk mendapatkan streaming audio dan video yang sesungguhnya.
7. Custom coding, mengimpor kode komputer pengguna untuk memberitahu webcam apa yang harus dilakukan (misalnyaautomatically refresh).