Proposal Tugas Akhir Farah Qoonita
Proposal Tugas Akhir Farah Qoonita
Diusulkan Oleh:
Dosen Pembimbing:
Dr.rer.nat.Ir. Aulia M.T. Nasution, M.Sc. NIP. 19671117 199702 1 001
Menyetujui,
Pembimbing,
2
I. Judul
Sistem Pengenalan Plat Nomor Otomatis Menggunakan Algoritma Convolutional
Neural Network Menggunakan YOLO V3 Dengan Framework Keras
II. Mata Kuliah Bidang Minat yang Diambil
Image Processing, Jaringan Syaraf Tiruan
III. Pembimbing
Dr.rer.nat.Ir. Aulia M.T Nasution, M.Sc.
3
Network. Jaringan saraf tiruan pada algoritma Convolutional Neural Network dilatih untuk
mencari berbagai fitur, seperti tepi, sudut, perbedaan warna dan menggabungkannya menjadi
bentuk yang lebih kompleks [4]. Untuk mendukung perkembangan ini, sistem kecerdasan
buatan yang memiliki performa yang baik sangatlah dibutuhkan. Penelitian tentang machine
learning telah banyak dilakukan terutama pada Deep Neural Network dengan tujuan untuk
melakukan tantangan dalam bidang computer vision yaitu klasifikasi, lokalisasi, maupun
segmentasi pada suatu objek. Saat ini, banyak metode yang telah dikembangkan seperti
RCNN, Faster RCNN,YOLO dan lain sebagainya.
Pada perkembangan teknologi object detection , penggunaan software YOLO ( You Only
Look Once) Disisi lain, teknologi lain yang berkembang pada citra digital adalah media
streaming. Media Streaming merupakan sebuah file multimedia yang diterima dan
dipresentasikan ke user saat masih disiarkan provider. Dengan bahasa yang lebih mudah, media
streaming merupakan sebuah media berupa citra yang dapat dilihat pada saat kita mengambil
gambar tersebut (real time), akan tetapi penggunaan kata streaming juga tidak hanya digunakan
pada media yang bersifat real time, akan tetapi juga pada media yang bersifat interaktif.
Berdasarkan uraian diatas, maka penulis ingin membuat sistem untuk mendeteksi Tanda
Nomor Kendaraan Bermotor pada media streaming ini akan diterapkan di Lingkungan
Departemen Teknik Fisika ITS, hal ini diperlukan untuk menjadi sistem monitoring terkait
keluar-masuknya kendaraan di Departemen Teknik Fisika ITS. Dengan algoritma yang
digunakan oleh sistem pada tahap pendeteksian Tanda Nomor Kendaraan Bermotor adalah
algoritma Convolutional Neural Network. Oleh karena itu peneliti membuat penelitian yang
berjudul “Sistem Pengenalan Plat Nomor Otomatis Menggunakan Algoritma
Convolutional Neural Network Menggunakan YOLO V3 Dengan Framework Keras “
V. Rumusan Masalah
Berdasarkan latar belakang yang telah dipaparkan, maka rumusan masalah
penelitian ini adalah:
a. Menerapkan pengenalan plat nomor serta pelanggaran kendaraan bermotor di
Departemen Teknik Fisika ITS menggunakan Algoritma Convolutional Neural
Network ( CNN) dengan menggunakan YOLO V3
b. Menguji tingkat akurasi pengenalan karakter pada plat nomor serta pelanggaran
kendaraan bermotor yang terdeteksi dengan metode yang di gunakan.
VI. Tujuan
Berdasarkan rumusan masalah, maka tujuan dari penelitian ini adalah:
a. Menerapkan pengenalan plat nomor serta pelanggaran kendaraan bermotor di
Departemen Teknik Fisika ITS menggunakan Algoritma Convolutional Neural
Network ( CNN) dengan menggunakan YOLO V3
b. Menguji tingkat akurasi pengenalan karakter pada plat nomor serta pelanggaran
kendaraan bermotor yang terdeteksi dengan metode yang di gunakan.
4
a. Ukuran plat nomor yang dilokalisasi adalah ukuran plat nomor kendaraan bermotor yang
telah ditetapkan oleh kepolisian Indonesia dengan ukuran 395x135mm.
b. Citra yang digunakan hanya citra kendaraan mobil dengan plat nomor Standar Negara
Indonesia ( SNI ).
c. Citra kendaraan bermotor yang ditangkap dalam keadaan diam.
d. Atribut yang digunakan dalam deteksi Tanda Nomor Kendaraan Bermotor pada media
streaming di khususkan untuk gambar maupun video yang pada kendaraan bermotor.
e. Data gambar/video diambil di wilayah Kota Surabaya.
f. Data gambar/video diambil di wilayah Kampus Institut Teknologi Sepuluh Nopember
g. Data gambar/video diambil di kampus Departemen Teknik Fisika
h. Data gambar/video yang di gunakan ialah Plat Nomor Kendaraan Bermotor beroda empat
i. Algoritma yang digunakan adalah Convolutional Neural Network
j. Alat bantu yang digunakan adalah Python dengan framework Keras
k. Pengambilan citra data di lakukan pada rentang waktu 09.00-15.00 WIB
l. Karakter yang dikenali adalah angka ( 0 sampai 9 ) dan huruf alphabet kapital ( A sampai
Z).
5
3 Shrutia Saunshi License Plate Recognition using
Pengenalan karakter
et al Convolutional neural network menggunakan Convolutional
Neural Network yang dilatih
pada sejumlah besar kumpulan
data dapat meningkatkan tingkat
keberhasilan lebih dari teknik
pencocokan template untuk
mengenali karakter yang
digunakan sebelumnya
4 Xingcheng Luoa A Deep Convolutional Neural Dalam tulisan ini digunakan
jaringan sembilan lapis. Hasil
Et al Network Model For Vehicle pengenalan kendaraan, dan
Recognition And Face Recognition keakuratan pengenalan
kendaraan mencapai lebih dari
92,
6
Gambar 1. Jenis Plat Nomor Kendaraan Bermotor di Indonesia
Tanda Nomor Kendaraan Bermotor berbentuk plat aluminium dengan cetakan tulisan dua baris.
Baris pertama menunjukkan: kode wilayah (huruf), nomor polisi (angka), dan kode/seri akhir wilayah
(huruf) dan baris kedua menunjukkan bulan dan tahun masa berlaku.
Bahan baku TNKB adalah aluminium dengan ketebalan 1 mm. Ukuran TNKB untuk
kendaraan bermotor roda 2 dan roda 3 adalah 250x105 mm, sedangkan untuk kendaraan
bermotor roda 4 atau lebih adalah 395x135 mm. Terdapat cetakan garis lurus pembatas lebar
5 mm diantara ruang nomor polisi dengan ruang angka masa berlaku. Pada sudut kanan atas
dan sudut kiri bawah terdapat tanda khusus (security mark) cetakan lambang Polisi Lalu
Lintas; sedangkan pada sisi sebelah kanan dan sisi sebelah kiri ada tanda khusus cetakan
"DITLANTAS POLRI" yang merupakan hak paten pembuatan TNKB oleh Polri. [5]
9.2.3 Warna Tanda Nomor Kendaraan Bermotor
Warna Tanda Nomor Kendaraan Bermotor ditetapkan sebagai berikut:
a. kenda raan bermotor bukan umum dan kendaraan bermotor sewa: Warna
dasar hitam dengan tulisan berwarna putih
b. kendaraan bermotor umum : Warna dasar kuning dengan tulisan berwarna
hitam
c. Kendaraan bermotor milik Pemerintah : Warna dasara merah dengan tulisan
berwarna Putih
d. Kendaraan bemotor Corps Diplomatik Negara Asing : Warna dasar merah
dengan tulisan berwarna hitam
9.3 Citra Digital
9.3.1 Definisi Citra
Citra atau image adalah suatu cahaya pada bidang dua dimensi. Ditinjau dari sudut pandang
matematis, citra merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Sumber
cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut.
Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera,
scanner, dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam. Citra
sebagai keluaran dari suatu sistem perekaman data dapat bersifat :
Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu
titik pada citra tersebut dan elemen matriksnya yang disebut sebagai elemen gambar atau
piksel menyatakan nilai Derajat keabuan pada titik tersebut. Citra digital berukuran N x M
(tinggi = N, lebar = M) dinyatakan dengan matriks N x M. Bentuk matriks citra digital dapat
dilihat pada gambar dibawah ini [7] :
N = jumlah baris 0 ≤ y ≤ N – 1
M = jumlah kolom 0 ≤ x ≤ M –1
L = maksimal warna intensitas 0 ≤ f(x,y) ≤ L – 1
1. Citra Bitmap
8
Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode
citra secara digital dan lengkap. Cara penyimpanan citra bitmap adalah perpiksel. Citra
bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan
bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi
warna, tetapi untuk mengubah objek lebih sulit.
Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah
gambar. Tetapi bila tampilan diperbesar maka tampilan di monitor akan tampak pecah-
pecah. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk
gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan
digital.
Citra bitmap biasanya diperoleh dengan cara Scanner, Camera Digital, Video Capture, dan
lain-lain
2. Citra Vektor
Citra vektor merupakan citra vektor yang dihasilkan dari perhitungan matematis dan tidak
terdapat piksel, yaitu data yang tersimpan dalam bentuk vektor posisi, dimana yang tersimpan
hanya informasi vektor posisi dengan bentuk sebuah fungsi. Pada citra vektor, mengubah
warna lebih sulit dilakukan, tetapi membentuk objek dengan cara mengubah nilai lebih
mudah. Oleh karena itu, bila citra diperbesar atau diperkecil, kualitas citra relatif tetap baik
dan tidak berubah. Citra vektor biasanya dibuat menggunakan aplikasi-aplikasi citra vektor
seperti CorelDRAW, Adobe Illustrator, Macromedia Freehand, Autocad, dll.
1. Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan:
hitam dan putih. piksel yang bernilai 1 melambangkan warna hitam, sedangkan piksel yang
bernilai 0 adalah warna putih. Dinyatakan dalam suatu fungsi :
(𝑥,𝑦)∑{0,1}
Berikut ini adalah contoh citra biner dan representasi nilai tiap piksel seperti pada gambar
dibawah ini [9] :
9
Gambar 3. Representasi Citra Biner
2. Citra Greyscale (Skala Keabuan)
Citra yang terdiri dari satu layer warna dengan derajat keabuan tertentu. Untuk kebanyakan
citra digital 8 bit, maka sistem Grey-scale diukur berdasarkan skala intensitas kecerahan, yang
bernilai 0 –255, dimana yang hitam pekat adalah 0 dan yang terputih ada lah 255. Dinyatakan
dalam suatu fungsi [9] : (𝑥,)∑[0…225] (9.2)
3. Citra Berwarna
RGB merupakan model warna yang dapat menghasilkan nilai RGB yang berbeda,
karena elemen warna tersebut bervariasi. Setiap warna pada dasarnya memiliki rentang nilai.
Misalnya ketika dimasukan ke monitor RGB, tiga warna tersebut dapat memiliki kedalaman 24
bit, dimana setiap warnanya memiliki 8 bit. Jumlah bit yang digunakan untuk
mempresentasikan setiap piksel dalam ruang RGB disebut kedalam piksel. Setiap pikselnya
merupakan kombinasi dari ketiga elemen warna tersebut dengan tingkat warna dengan rentang
nilai antara 0-225 [10]
RGB adalah suatu model warna yang terdiri dari merah, hijau, dan biru, digabungkan
dalam membentuk suatu susunan warna yang luas. Setiap warna dasar, misalnya merah, dapat
diberi rentang nilai. Untuk monitor komputer, nilai rentangnya paling kecil = 0 dan paling besar
= 255. Pilihan skala 256 ini didasarkan pada cara mengungkap 8 digit bilangan biner yang
digunakan oleh mesin komputer. Dengan cara ini, akan diperoleh warna campuran sebanyak
256 x 256 x 256 = 16.777. 216 jenis warna. [7]
Sebuah jenis warna, dapat dibayangkan sebagai sebuah vektor di ruang 3 dimensi yang
biasanya dipakai dalam matematika, koordinatnya dinyatakan dalam bentuk tiga bilangan, yaitu
komponen - x, komponen - y dan komponen - z. Misalkan sebuah vektor dituliskan sebagai r =
(x,y,z). Untuk warna, komponen - komponen tersebut digantikan oleh komponen R (Red),
G(Green), B (Blue). Jadi, sebuah jenis warna dapat dituliskan sebagai berikut: warna =
RGB(xxx, xxx, xxx). Putih = RGB (255,255,255), sedangkan untuk hitam= RGB(0,0,0).
Representasi dalam citra digital dinyatakan dalam persamaan [7] :
(𝑥,𝑦)∑[0…225]
10
(𝑥,𝑦)∑[0…225]
(𝑥,𝑦)∑[0…225] ( 9.3)
4. Resolusi piksel
5. Resolusi spasial
6. Resolusi spectral
7. Resolusi temporal
8. Resolusi radiometrik
Perhitungan lainnya menyatakan dalam satuan piksel perinchi. Satuan ini menyatakan
banyaknya piksel yang ada sepanjng 1 inchi baris dalam citra. [11]
11
Secara garis besar, computer vision adalah sebuah teknologi mesin yang mampu mengenali objek
yang diamati. Kemampuan untuk mengenali ini merupakan kombinasi dari pengolahan citra dan
pengenalan pola. baik atau lebih mudah diinterpretasikan, sedangkan pengenalan pola adalah
proses identifikasi objek pada citra. Proses-proses dalam computer vision secara garis besar dapat
dibagi menjadi [7]:
9.3.Pattern Recognition
Pattern Recoginition atau pengenalan pola juga disebut pembelajaran mesin yang mempelajari
berbagai teknik matematika seperti teknik statistik, jaringan syaraf tiruan, mesin vektor pendukung,
dan lain-lain untuk mengklasifikasikan pola yang berbeda. Data masukan untuk pengenalan pola
dapat berupa data. Teknik pengenalan pola banyak digunakan dalam computer vision [12].
Pengenalan pola memiliki arti bidang studi yang melakukan proses analisis gambar yang bentuk
masukannya adalah gambar itu sendiri atau dapat juga berupa citra digital dan bentuk keluarannya
adalah suatu deskripsi [9]. Tujuan dari adanya pengenalan pola ini adalah untuk meniru kemampuan
manusia dalam mengenali suatu objek atau pola tertentu.
9.4.Object Detection
Object detection atau deteksi objek menentukan keberadaan suatu objek dan atau ruang
lingkupnya, dan lokasi pada gambar. Hal ini dapat diperlakukan sebagai pengenalan objek kelas dua,
di mana satu kelas mewakili kelas objek dan kelas lain mewakili kelas non-objek. Deteksi objek
dapat dibagi lagi menjadi soft detection dan hard detection. Soft detection hanya mendeteksi adanya
objek sedangkan hard detection mendeteksi keberadaan dan lokasi objek [13]
Bidang deteksi objek biasanya dilakukan dengan mencari setiap bagian gambar untuk melokalisasi
bagian, yang sifat fotometrik atau geometriknya sesuai dengan objek target dalam database
pelatihan. Hal ini dapat dilakukan dengan memindai template objek di gambar di lokasi, skala, dan
rotasi yang berbeda, dan deteksi dideklarasikan jika kemiripan antara template dan gambar cukup
tinggi. Kesamaan antara template dan area gambar dapat diukur dengan korelasi. Selama beberapa
tahun terakhir telah ditunjukkan bahwa detektor objek berbasis gambar sensitif terhadap data
pelatihan [13].
9.5.Neural Network
12
Jaringan saraf tiruan adalah sistem pemrosesan informasi yang memiliki karakteristik kinerja
tertentu yang sama dengan jaringan saraf biologis. Jaringan saraf tiruan telah dikembangkan sebagai
generalisasi model matematika dari pemahaman manusia atau saraf biologi, berdasarkan asumsi
bahwa :
1. Pengolahan informasi terjadi pada banyak elemen sederhana yang disebut neuron.
2. Sinyal dilewatkan antara neuron melalui jalur yang terhubung.
3. Setiap jalur yang berhubungan memiliki bobot.
4. Setiap neuron berlaku fungsi aktivasi (biasanya non linier) untuk menentukan sinyal output.
Neural Network telah diaplikasikan di berbagai bidang. Hal ini dikarenakan Neural Network memiliki
kelebihan-kelebihan [14] :
2. Kemampuan memberikan jawaban terhadap pattern yang belum pernah dipelajari (generalization)
3. Dapat secara otomatis mempelajari data numerik yang diajarkan pada jaringan tersebut. Neural
Network mampu melakukan berbagai hal berikut [15]:
1. Klasifikasi : memilih suatu input data ke dalam kategori tertentu yang sudah ditetapkan
2. Asosiasi : menggambarkan suatu obyek secara keseluruhan hanya dengan bagian dari obyek
lain,
3. Self organizing : kemampuan mengolah data-data input tanpa harus mempunyai target,
4. Optimasi : menemukan suatu jawaban terbaik sehingga mampu meminimalisasi fungsi biaya.
, mereka menemukan bahwa struktur jaringan khusus dapat secara efektif mengurangi kompleksitas
jaringan saraf umpan balik dan kemudian mengusulkan Convolutional Neural Network (CNN).
Convolutional Neural Network adalah algoritma pengenal yang efisien dan banyak digunakan dalam
pengenalan pola dan pengolahan citra.
Convolutional Neural Network memiliki banyak fitur seperti struktur sederhana, parameter pelatihan
yang kurang dan kemampuan beradaptasi. Convolutional Neural Network telah menjadi topik hangat
dalam analisis suara dan pengenalan gambar. Bobotnya struktur jaringan bersama membuatnya lebih
mirip dengan jaringan saraf biologis. Ini mengurangi kompleksitas model jaringan dan jumlah bobot.
[16] .Umumnya, struktur CNN mencakup dua lapisan satu adalah lapisan ekstraksi fitur, masukan setiap
neuron terhubung ke bidang reseptif lokal dari lapisan sebelumnya, dan mengekstrak fitur lokal. Setelah
fitur lokal diekstraksi, hubungan posisi antara itu dan fitur lainnya juga akan ditentukan.\
Yang lainnya adalah lapisan peta fitur, setiap lapisan komputasi jaringan terdiri dari sejumlah peta fitur.
Setiap peta fitur adalah pesawat, berat neuron di pesawat sama. Struktur peta fitur menggunakan fungsi
sigmoid sebagai fungsi aktivasi dari jaringan konvolusi, yang membuat peta fitur memiliki pergeseran
invariance Selain itu, karena neuron di pesawat pemetaan sama berbagi bobot, jumlah parameter bebas
dari jaringan berkurang. Setiap lapisan konvolusi di jaringan syaraf konvolusi diikuti oleh lapisan
komputasi yang digunakan untuk menghitung rata-rata lokal dan ekstrak kedua, dua lapisan ekstraksi
fitur unik ini mengurangi resolusi. [16] CNN terutama digunakan untuk mengidentifikasi perpindahan,
zoom dan bentuk inversi grafis dua dimensi yang distortif. Karena lapisan deteksi fitur CNN belajar
dengan data pelatihan, ia menghindari ekstraksi fitur eksplisit dan secara implisit belajar dari data
pelatihan saat kita menggunakan CNN. Selanjutnya, neuron di bidang peta fitur yang sama memiliki
bobot yang sama, sehingga jaringan bisa belajar secara bersamaan. Ini adalah keuntungan besar dari
13
jaringan konvolusi sehubungan dengan jaringan neuron yang terhubung satu sama lain. Karena struktur
khusus dari bobot berbagi lokal CNN membuatnya memiliki keunggulan unik dalam pengenalan suara
dan pemrosesan gambar. Tata letaknya lebih dekat ke jaringan saraf sebenarnya. Bobot bersama
mengurangi kompleksitas jaringan. Secara khusus gambar vektor input multi-dimensi dapat langsung
masuk ke jaringan, yang menghindari kompleksitas rekonstruksi data dalam ekstraksi fitur dan proses
klasifikasi. [16] .
Algoritma CNN memiliki dua proses: konvolusi dan sampling. Proses konvolusi: gunakan filter yang
dapat dilatih Fx, dekonvolusi gambar masukan (Tahap pertama adalah gambar input, masukan dari
konvolusi setelah adalah fitur gambar masing-masing layer, yaitu Feature Map), lalu tambahkan bias
bx, kita bisa mendapatkan lapisan konvolusi Cx. Proses sampling: n piksel setiap lingkungan melalui
langkah penyatuan, menjadi piksel, dan kemudian dengan bobot skalar Wx + 1 tertimbang, tambahkan
bias bx + 1, dan kemudian oleh fungsi aktivasi, menghasilkan n kali lipat fitur peta Sx + 1. [16]
kuran pool disesuaikan berdasarkan besarnya masukan. Keluaran dari ROI max pooling
memiliki dimensi yang sama, karena hasil dari lapisan ini akan diteruskan ke FC-layer yang
selalu memiliki dimensi masukan yang sama[9]
9.7.Algoritma YOLO
You Only Look Once (Yolo) adalah sebuah algoritma yang dikembangkan untuk
mendeteksi sebuah objek secara real-time. Sistem pendeteksian yang dilakukan adalah
dengan menggunakan repurpose classifier atau localizer untuk melakukan deteksi.
Sebuah model diterapkan pada sebuah citra di beberapa lokasi dan skala. Daerah dengan
citra yang diberi score paling tinggi akan dianggap sebagai sebuah pendeteksian [17]
Yolo menggunakan pendekatan jaringan saraf tiruan (JST) untuk mendeteksi objek pada
sebuah citra. Jaringan ini membagi citra menjadi beberapa wilayah dan memprediksi setiap
kotak pembatas dan probabilitas untuk setiap wilayah. Kotak-kotak pembatas ini kemudian
dibandingkan dengan setiap probabilitas yang diprediksi.
Yolo memiliki beberapa kelebihan dibandingkan dengan sistem yang berorientasi pada
classifier, terlihat dari seluruh citra pada saat dilakukan test dengan prediksi yang
diinformasikan secara global pada citra Hal tersebut juga membuat prediksi dengan sintesis
jaringan saraf ini tidak seperti sistem Region-Convolutional Neural Network (R-CNN) yang
membutuhkan ribuan untuk sebuah citra sehingga membuat Yolo lebih cepat hingga
beberapa kali daripada R-CNN. [18]
15
Gambar 6. Ilustrasi ROI max pooling.
Pada Gambar 3 merupakan contoh hasil deteksi beberapa objek dengan menggunakan
Yolo-Darknet.
9.8.Python
Python merupakan salah satu contoh bahasa tingkat tinggi. Contoh lain bahasa tingkat
tinggi adalah Pascal, C++, Pert, Java, dan sebagainya. Sedangkan bahasa tingkat rendah
merupakan bahasa mesin atau bahasa assembly. Secara sederhana, sebuah komputer hanya
dapat mengeksekusi program yang ditulis dalam bentuk bahasa mesin. Oleh karena itu, jika
suatu program ditulis dalam bentuk bahasa tingkat tinggi, maka program tersebut harus
diproses dulu sebelum bisa dijalankan dalam komputer. Hal. ini merupakan salah satu
kekurangan bahasa tingkat tinggi yang memerlukan waktu untuk memproses suatu program
sebelum program tersebut dijalankan. Akan tetapi, bahasa tingkat tinggi mempunyai
banyak sekali keuntungan. Bahasa tingkat tinggi mudah dipelajari, mudah ditulis,
mudah dibaca, dan tentu saja mudah dicari kesalahannya. Bahasa tingkat tinggi juga mudah
diubah portabel untuk disesuaikan dengan mesin yang menjalankannya. Hal ini berbeda
dengan bahasa mesin yang hanya dapat digunakan untuk mesin tersebut. Dengan berbagai
kelebihan ini, maka banyak aplikasi ditulis menggunakan bahasa tingkat tinggi. Proses
mengubah dad bentuk bahasa tingkat tinggi ke tingkat rendah datam bahasa pemrograman
ada dua tipe, yakni interpreter dan compiler. [19]
9.9.Keras
Keras adalah High Level Neural Network API yang dapat dijalankan di atas framework-
framework machine learning seperti TensorFlow, CNTK, atau Theano. Keras ditulis dalam
bahasa Python [20]. Lebih lanjut, Keras menyediakan API yang mempermudah user dalam
16
membangun arsitektur ANN. Keras juga menyediakan Keras Applications yang merupakan
deep learning models yang digunakan bersama dengan pre-trained weights. Model-model
tersebut dapat digunakan untuk memprediksi, melakukan feature extraction atau fine-tuning.
Model-model tersebut di antaranya adalah Xception, VGG16, VGG19, ResNet50,
InceptionV3, InceptionResNetV2, MobileNet, DenseNet & NasNet. Penelitian ini akan
membandingkan tingkat akurasi dari tiga Pre-trained model Keras yaitu ResNet50,
Xception, dan VGG16
9.10. Tensorflow
TensorFlow adalah perpustakaan perangkat lunak, yang dikembangkan oleh Tim
Google Brain dalam organisasi penelitian Mesin Cerdas Google, untuk tujuan melakukan
pembelajaran mesin dan penelitian jaringan syaraf dalam. TensorFlow kemudian
menggabungkan aljabar komputasi teknik pengoptimalan kompilasi, mempermudah
penghitungan banyak ekspresi matematis dimana masalahnya adalah waktu yang dibutuhkan
untuk melakukan perhitungan. Fitur utamanya meliputi (TensorFlow):
17
X. Metodologi Penelitian
Metodologi yang digunakan pada penelitian ini adalah sebagai berikut:
`
Bulan
No. Kegiatan
1 2 3 4 5
1. Studi literatur
- Vehicle Plat Recognition System
- Automatic Plat Recognition System
- Deep Learning
- Convolutional Neural network
- Real Time Image Processing
-
2. Persiapan Pemodelan
- Pembuatan database system
- Pemotretan Tanda Nasional
Kendaraan Bermotor di lingkungan
ITS
- Latihan training data
1. Studi Literatur
Penelitian ini dimulai dengan melakukan studi literatur terkait pemrosesan citra secara Real
Time,pertimbangan metode analisis menggunakana Convolutional Neural Network (
Faster R-CNN), hasil pengolahan data menggunakan YOLO V3 dan referensi pembuatan
sistem pendeteksi menggunakan algoritma CNN dengan menggunakan software YOLO
V3 berdasarkan penelitian-penelitian yang telah dipublikasikan sebelumnya.
`
Gambar 8. Workflow Tugas Akhir Farah Qoonita
3. Proses analisa sistem . input data set dari Kamera DSLR NIKKON D5500 dan
dilakukan proses Konvolusi yang bersamaan dengan di prosesnya dataset pada
kodingan YOLO V3.
3.1 Analisis Sistem
Analisis sistem membahas permasalahan bagaimana data yang diinputkan diproses
sehingga dapat menghasilkan output yang sesuai. Sistem mencakup pengambilan fitur,
model neural network untuk training, dan sistem untuk testing. Desain arsitektur neural
network yang akan dibentuk dapat dilihat pada diagram blok pada gambar 10. Pada
proses ini di buat juga bounding box secara manual pada plat nomor kendaraan bermotor
di Teknik Fisika.
3.1.1 Training Neural Network
Pada model neural network semua weight diinisialisasi menggunakan random weight
mengikuti normal distribution. Terdapat 3 (tiga) bagian network utama, yaitu RPN dan
CNN untuk Faster R-CNN, dan YOLO. Ketiga neural network akan melakukan training
secara terpisah. Konfigurasi awal seperti jumlah epoch, nilai learning rate dan jumlah batch
akan disamakan. Dataset yang digunakan untuk ketiga neural network juga sama
3.1.1.1 RPN
RPN akan menerima input berupa feature map yang telah diproses oleh konvolusi lalu
menjalankan sliding window untuk menghasilkan proposal berdasarkan anchor yang telah
ditentukan. Untuk setiap proposal akan dilakukan konvolusi untuk menghasilkan nilai
objektivitas (0-1) dimana nilai tersebut menandakan keberadaan objek atau foreground.
Proposal-proposal yang dihasilkan oleh RPN kemudian dibandingkan dengan Ground
Truth Box menggunakan Intersection Over Union. Jika hasil dari IoU lebih kecil dari
threshold negative overlap (default: 0.3) maka proposal tersebut akan dianggap
background dan tidak akan lanjut ke tahap berikutnya. Selain itu proposal akan dianggap
mengandung foreground atau objek [19]
3.1.1.2 CNN
`
Network terakhir pada Faster R-CNN yang digunakan untuk klasifikasi dan regresi untuk
menentukan lokasi atau region yang mengandung objek pada sebuah gambar dan class dari
objek tersebut adalah CNN. Setelah mendapatkan region yang mengandung objek, region-
region tersebut akan melalui tahap yang dinamakan ROI Pooling. ROI Pooling berfungsi
untuk menyamakan dimensi width dan height dari region-region yang telah didapatkan
oleh RPN. Hal ini dilakukan karena CNN hanya dapat menerima input dengan dimensi
yang sama. ROI Pooling akan menyamakan dimensi region-region proposal yang
didapatkan menjadi 56 x 56. Ukuran 56 karena CNN yang digunakan adalah VGGNET
dengan jumlah layer yang dikurangi sehingga input yang awalnya adalah 224 x 224
menjadi 56 x 56. Activation function yang digunakan adalah ReLU. Loss function yang
digunakan adalah cross entropy.
3.1.1.3 YOLO
Neural Network YOLO mirip dengan model CNN. Fitur yang diberikan kepada YOLO
akan melalui 24 konvolusi, 4 max pooling dan 2 fully connected layer untuk mendapatkan
grid yang mengandung nilai untuk diklasifikasi dan diregresi. Activation function yang
digunakan pada layer terakhir adalah linear activation function, sedangkan pada layer
lainnya menggunakan leaky ReLU. Setelah mendapatkan grid-grid yang dihasilkan dari
konvolusi, classification akan dilakukan diawali dengan melakukan perkalian antara
confidence score tiap bounding box dengan semua class score pada grid-nya sehingga
mendapatkan S x S x 2 tensor. Kemudian mengubah nilai class dari setiap grid yang lebih
rendah dari nilai threshold yang telah ditentukan menjadi 0. NMS akan dilakukan untuk
mencari redundant boxes (2 atau lebih bounding box yang mengandung 1 objek yang
sama) dan kemudian score untuk class tersebut akan diubah menjadi 0. Dan nilai class
tertinggi akan menjadi class pada bounding box tersebut.
4. Implementasi Sistem
Implementasi sistem dilakukan pada computer dengan spesifikasi RAM: 12.0GB
DDR3, GPU: Nvidia GeForce GTX 820M, HDD: 1 TB, CPU: Core i5, dan OS Windows
10 Professional. Implementasi pengkodean sistem, menggunakan Bahasa pemrograman
Python dengan versi 2.7.0. Framework yang digunakan untuk sistem ini adalah Tensorflow.
Adapun beberapa library yang mendukung sistem ini adalah Matplotlib, CV2, dan Numpy.
Selain itu aplikasi web pada php akan menjalankan file python menggunakan command
exec yang ada pada php untuk melakukan prediksi pada gambar yang di-upload
5. Analisa Data
Pengujian sistem mengevaluasi performa daripada sistem training dan sistem testing
yang telah dibuat. Pencatatan pengujian akan dibedakan berdasarkan jenis mobil yang
`
diprediksi dan diklasifikasi. Prediksi region akan menggunakan metode perhitungan IoU
yang dirata-ratakan sementara klasifikasi akan menggunakan confusion matriks.
6.Penyusunan Laporan
Penyusunan laporan Tugas Akhir merupakan pembukuan serta dokumentasi yang
menghasilkan sebuah tulisan ilmiah sebagai tahap akhir dari penelitian ini.
ghasilkan sebuah tulisan ilmiah sebagai tahap akhir dari penelitian ini.
`
DAFTAR PUSTAKA
[2] A. Y. Putri, "Efektivitas Sanksi Terhadap Pelanggar Marka Jalan Berdasarkan Undang-
Undang Nomor 22 Tahun 2009 tentang Lalu Lintas dan Angkutan Jalan Oleh Kepolisian
Resor Kota Pekanbaru," JOM Fakultas Hukum Volume II Nomor II, 2015.
[8] sutojo, Teori Pengolahan Citra Digital, yogyakarta: penerbit andi, 2009.
[14] s. Yahya, Fuzzy Logic, Neural Network, Genetic Algorithm & Knowledge Based Expert
System and Computational Intelligence, Bandung: Politeknik Negeri Bandung, 2012.
[15] T. Yusuf, " Kelebihan dan Kekurangan ANN (Artificial Neural Network," Politeknik
Negeri Bandung, bandung, 2016.
`
[18] F. R. S. Y. P. M. R. D. Sinco Jupiyandi, "PENGEMBANGAN DETEKSI CITRA
MOBIL UNTUK MENGETAHUI JUMLAH TEMPAT PARKIR MENGGUNAKAN
CUDA DAN MODIFIED YOLO," Jurnal Teknologi Informasi dan Ilmu Komputer
(JTIIK), Vols. Vol. 6, No. 4, Agustus 201, no. Akreditasi KEMENRISTEKDIKTI, No.
30/E/KPT/2018, pp. 413-419, 2019.
[21] M. A, "Object Detection and Classification Using R-CNN," telesens, 2018. [Online].
Available: http://www.telesens.co/2018/03/1/object-detection-and-classification-using-r-
cnns/. [Accessed 27 january 2020].
[22] R. Nachabe, D. Evers, B. Hendriks, G. Lucassen, M. van der Voort, J. Wesseling and T.
Ruers, "Effect of bile absorption coefficients on the estimation of liver tissue optical
properties and relatedimplications in discriminating healthy and tumorous samples,"
Biomedical Optics Express, vol. 2, no. 3, pp. 600-614, 2011.
[23] P. Beard, "Biomedical photoacoustic imaging," Interface Focus, vol. 1, no. 4, pp. 602-
631, 2011.
[24] S. Prince and S. Malarvizhi, "Modelling of Diseased Tissue Diffuse Reflectance and
Extraction of Optical Properties," Electrical Engineering and Applied Computing, vol. 90,
pp. 649-660, 2011.
[30] S. Florence, "(Studi tentang Surabaya Intelligent Transport System dalam Meningkatkan
Kualitas Pelayanan Publik di Dinas Perhubungan Kota Surabaya)," ISSN 2303 - 341X ,
2018.
`
[33] perjalanan e-tilang di Kota Pahlawan, 2017.
[36] A. C. Agil, Cara Cepat Bikin Live TV di Blog dan Website, yogyakarta: ANDI Offset,
2010.
[37] E. winarno, Panduan Lengkap Berinternet, jakarta: PT.Elex Media Komputindu, 2015.
[38] t. d. studio, mengoperasikan software visual effect, jakarta: PT. Elex Media Komputindo,
2005.
[39] J. D. S. G. R. REDMON, You Only Look Once: Unified, Real Time Image Detection,
minnesotta, 2016.
[40] U. e. al, . Logika, Algoritma dan Impelementasinya dalam Bahasa Python di GNU/Linux,
yogyakarta: 2004, 2004.
`
`
`