## KLASIFIKASI JENIS KENDARAAN MENGGUNAKAN METODE CONVOLUTIONAL NEURAL NETWORK (CNN)
1 Nur Fadlia, 2 Rifki Kosasih
1,2 Fakultas Teknologi Industri Universitas Gunadarma Jl. Margonda Raya No. 100, Depok 16424, Jawa Barat
1 nfadliaa19@gmail.com, 2 rifki_kosasih@staff.gunadarma.ac.id

## Abstrak
Kemacetan  merupakan  suatu  keadaan  padatnya  lalu  lintas  yang  dapat  disebabkan  oleh banyak faktor. Salah satu faktor yang menyebabkan kemacetan adalah banyaknya kendaraan yang melintas  di jalan.  Salah  satu  usaha  yang  dapat  dilakukan  untuk  mengurangi  masalah  kemacetan yaitu  dengan  membuat  jalur  khusus  yang  hanya  boleh  dilalui  kendaraan  roda  dua,  empat  atau lebih. Akan tetapi, terdapat pengendara yang masih menggunakan jalur yang tidak sesuai seperti di jalan Margonda Raya, Depok. Kendaraan roda dua (motor) yang telah disiapkan jalur khusus, sering  kali  mengambil  jalur  untuk  kendaraan  roda  empat  sehingga  diperlukan  suatu  kegiatan pengawasan penggunaan jalur lalu lintas. Oleh karena itu, pada penelitian ini dibuat pengenalan jenis-jenis  kendaraan  menggunakan  metode  Convolutional  Neural  Network  (CNN).  Data  yang digunakan  dalam  penelitian  ini  sebanyak  120  citra  yang  terdiri  dari  citra  mobil,  motor  dan sepeda.  Hasil  uji  coba  dan  evaluasi  model  terhadap tiga  jenis  kendaraan  menggunakan  package Keras  menunjukkan  akurasi  sebesar  94,4% pada  tahap  pelatihan  dan  73,3%  pada  tahap pengujian.
Kata Kunci : convolutional neural network, deep learning, kendaraan, klasifikasi.

## Abstract
Congestion is a state of heavy traffic which can be caused by many factors. One factor that causes  congestion  is the  number  of  vehicles  passing  on  the  road.  One  effort that  can be  done  to reduce the problem of congestion is to make a special lane that can only be passed by two, four or more wheeled vehicles. However, there are motorists who still use inappropriate paths such as on Margonda  Raya  Street,  Depok.  Two-wheeled  vehicles  (motorcycles)  that  have  been  prepared  for special lanes, often take the lane for four-wheeled vehicles so that an activity is needed to monitor the use of traffic lanes. Therefore, in this study an introduction to the types of vehicles was made using  the  Convolutional  Neural  Network  (CNN)  method.  The  data  used  in  this  study  were  120 images  consisting of  images  of  cars,  motorbikes  and bicycles.  The  results  of  the  trial  and  model evaluation  of  the three  types  of  vehicles  using  the Keras  package  show  an  accuracy  of  94.4%  at the training stage and 73.3% at the testing stage.
Keywords : clasification, convolutional neural network, deep learning, vehicles.

## PENDAHULUAN
Kemacetan  lalu  lintas  merupakan  suatu keadaan  dimana  jumlah  kendaraan  yang melintas  lebih  banyak  sehingga  melebihi kapasitas  jalanan  [1].  Sekarang  ini,  banyak kendaraan  yang  tidak  berjalan  sesuai  jalurnya. Salah  satu  contoh  di  jalan  Margonda  Raya, Depok  yang  telah  disiapkan  jalur  khusus kendaraan  roda  dua,  sering  kali  ditemukan kendaraan  roda  dua  mengambil  jalur  untuk kendaraan  roda  empat.  Contoh  lain  adalah kendaraan  roda  dua  memasuki  jalur  tol kendaraan  roda  empat  yang  tentu  saja mengganggu lalu lintas. Salah satu usaha untuk mengurangi  masalah  kemacetan  yaitu  dengan menetapkan  jalur-jalur  khusus  yang  hanya boleh  dilalui  kendaraan  roda  dua,  empat  atau lebih.  Teknologi  seperti artificial  intellegence dapat  digunakan  untuk  dapat  mengenali kendaraan-kendaraan  yang  melewati  jalan sehingga kegiatan pengawasan lalu lintas dapat diserahkan pada aplikasi berbasis komputer.
Pengenalan  jenis-jenis  kendaraan  dapat digunakan  teknik deep  learning .  Salah  satu teknik deep  learning yang  banyak  digunakan adalah Convolutional  Neural  Network (CNN) yang  mampu  mengenali  jenis-jenis  kendaraan. Deep  learning merupakan  algoritma  jaringan saraf  tiruan  yang  menggunakan  data  sebagai masukkan  dan  memprosesnya  dengan  meng- gunakan sejumlah lapisan tersembunyi. Setelah itu  melakukan  transformasi  nonlinier  dari  data masukan untuk menghitung nilai keluaran [2].
Beberapa penelitian  mengenai pengolahan citra  dengan  menggunakan  metode  CNN mendapatkan  hasil  akurasi  yang  bagus,  yaitu penelitian yang dilakukan oleh Rismiyati untuk sortasi salak ekspor berbasis citra digital. Hasil akurasi  yang  didapatkan  yaitu  dengan  satu lapisan konvolusi adalah 81,5% dan didapatkan nilai akurasi sebesar 70,7% dengan dua lapisan konvolusi  [3].  Penelitian  menggunakan  CNN juga  dilakukan  oleh  Arrofiqoh  dan  Harintaka untuk  klasifikasi  tanaman  pada  citra  resolusi tinggi.  Hasil  pengujian  menghasilkan  akurasi sebesar  100%  terhadap  data  latih.  Pengujian terhadap  data  validasi  menghasilkan  akurasi sebesar  93%  dan  akurasi  terhadap  data  uji sebesar  82%  [4].  Penggunaan  CNN  dengan  7 lapisan  untuk  pengenalan  wajah  menghasilkan tingkat akurasi mencapai 98,57% pada penelitian yang dilakukan  oleh Santoso  dan Ariyanto [5]. Pada  penelitian  yang  dilakukan  oleh  Rokhana, Priambodo, Karlita, Sunarya, Yuniarno, Purnama, dan  Purnomo  menggunakan  lima  rancangan arsitektur  CNN  dalam  pengenalan  kontur  tulang dan  klasifikasi  tulang  yang  patah.  Hasil  uji coba  pada  penelitian  tersebut  memiliki  akurasi 95,3%,  sensitivitas  95%,  dan  specificity  96% [6].  Pada  penelitian  mengenai  penggunaan CNN  untuk  mengklasifikan  citra  makanan tradisional  telah  dilakukan  oleh  Rohim,  Sari, dan Tibyani. Arsitektur model CNN  yang  dibuat pada  penelitian  tersebut  dapat  mengklasifikan citra  makanan  tradisional  dengan  nilai  73% presisi, 69% recall dan 69% Fscore [7].
Pada penelitian ini digunakan metode
Convolutional  Neural  Network untuk  mengenali jenis  kendaraan  darat.  Jenis  kendaraan  darat yang  dapat  dikenali  pada  penelitian  ini  yaitu mobil, motor dan sepeda.

## METODE PENELITIAN
Pada  penelitian  ini  pengklasifikasian kendaraan  dilakukan  dengan  menggunakan metode Convolutional Neural  Network. Proses perancangan  dan  implemetasi  terdiri  atas beberapa  tahap.  Tahapan  penelitian  disajikan pada Gambar 1.
Gambar 1. Tahapan Pengklasifikasian Kendaraan dengan Metode CNN
Pada  Gambar  1  pengumpulan  data dilakukan  untuk  mendapatkan  data  citra  yang akan  digunakan  pada  proses  pelatihan  dan pengujian model arsitektur Convolutional Neural
Network .  Pada  tahap preprocessing dilakukan untuk mempersiapkan data agar dapat digunakan pada  tahap  selanjutnya.  Setelah  data  diproses, tahapan berikutnya adalah membangun arsitektur model Convolutional  Neural  Network (CNN). Model  ini  akan  digunakan  untuk  mengetahui
tingkat  akurasi  dari  transportasi  darat. Selanjutnya adalah tahap pelatihan model yang sudah  dirancang  menggunakan  data  yang  telah diolah.

## Pengumpulan Data
Pengumpulan  data  citra  yang  dilakukan menggunakan  aplikasi  tambahan  pada  Google yaitu  Fatkun  Batch  Downloader.  Aplikasi  ini mampu  mengunduh  gambar  dalam  jumlah
yang  banyak.  Banyaknya  citra  yang  diambil sebanyak  90  citra  sebagai  data  latih  dan  30 citra sebagai data uji. Citra tersebut terdiri dari gambar mobil sebanyak 40, motor sebanyak 40 dan sepeda sebanyak 40.

## Preprocessing Data
Preprocessing citra  dengan  mengubah ukuran  citra  mobil,  motor  dan  sepeda  menjadi ukuran yang sama. Langkah selanjutnya dilakukan pembagian data yang telah dikumpulkan menjadi dua,  yaitu  data  latih  ( training )  dan  data  uji ( testing ). Langkah selanjutnya dilakukan pelabelan pada masing-masing kendaraan untuk pengenalan kendaraan  berupa  mobil,  motor  dan  sepeda pada data latih dan data uji.

## Perancangan CNN
Perancangan  CNN  merupakan  tahapan dalam  menyusun  sebuah  model  yang  digunakan untuk  melatih  data  dalam  mengenali  objek yang  diinginkan.  Model  yang  disusun  terdiri dari  jumlah  layer  yang  digunakan,  penentuan filter ,  penentuan  ukuran kernel ,  dan  penentuan fungsi aktivasi dan ukuran pooling .

## Pelatihan Model
Setelah  dilakukan  perancangan  model CNN,  tahapan  selanjutnya  adalah  melakukan pelatihan  model  dengan  menggunakan  data latih  yang  telah  dikumpulkan  sebelumnya. Selanjutnya,  pada  proses  pengujian  model digunakan  jumlah epoch (iterasi)  untuk menentukan  berapa  kali  jaringan  akan melakukan  pelatihan.  Pada  tahap  ini  terdapat
fungsi loss yang  digunakan  untuk  melihat performa dari model CNN.

## Pengujian Model
Tahapan  selanjutnya  adalah  melakukan pengujian  model  pada  data  uji.  Tahapan  ini dilakukan  untuk  menguji  tingkat  akurasi  dari model Convolutional  Neural  Network (CNN).
Tingkat  akurasi  ini  menunjukkan  tingkat kebenaran dari pengklasifikasian jenis kendaraan. Tingkat akurasi yang tinggi menunjukkan bahwa model  dapat  melakukan  pengklasifikasian ketiga jenis kendaraan dengan baik.

## HASIL DAN PEMBAHASAN

## Hasil Preprocessing Data
Setelah data terkumpul, tahapan selanjutnya yaitu  memasukkan  data  dan  membuat  sistem untuk pengenalan kendaraan darat. Pengenalan kendaraan  dilakukan  dengan  menggunakan metode deep learning yaitu metode Convolutional Neural  Network (CNN).  Data  yang  digunakan berupa data citra.
Dalam  penelitian  ini,  langkah  yang dilakukan  sebelum  memasukkan data  yaitu melalukan  instalasi package yang  nantinya akan digunakan dalam pengolahan data. Package yang  diinstalasi  yaitu package Tensorflow,
package Keras dan package EBImage Pengenalan  menggunakan  metode  CNN yaitu  mengklasifikasikan  gambar  yang  dimulai dengan  cara  melakukan  pelatihan.  Proses pelatihan  dilakukan  agar  model  yang  dibuat dapat  mengenali  objek  yang  diinginkan.
Pembagian  data  latih  dan  data  uji  yang digunakan  pada  penelitian  ini  dapat  dilihat pada Tabel 1.
Berdasarkan Tabel 1, data yang digunakan
sebanyak  120  data  citra  yang  terdiri  dari  citra mobil,  motor,  dan  sepeda.  Data  latih yang digunakan  terdiri  dari  30  citra  mobil,  30  citra motor dan 30 citra sepeda.
Tabel 1 Pembagian Data Penelitian Jenis Kendaraan Jumlah Data Latih Jumlah Data Uji Mobil 30 10 Motor 30 10 Sepeda 30 10 Jumlah 90 30
Contoh  data  latih  yang  digunakan  pada penelitian ini dapat dilihat pada Gambar 2.
Data  uji terdiri  dari  10  citra  motor,  10 citra mobil dan 10 citra sepeda. Contoh data uji yang  digunakan  dapat  dilihat  pada  Gambar  3.
Selanjutnya dilakukan pelabelan pada data latih dan  data  uji.  Pelabelan  dilakukan  dengan menggunakan angka 0, 1, dan 2. Angka 0 (nol) untuk  label  mobil,  angka  1  untuk  label  motor dan angka 2 untuk label sepeda.
Gambar 2. Contoh Data Latih
Gambar 3. Contoh Data Uji

## Pembuatan Model
Pada pembuatan model, umumnya proses  yang  dilakukan  terdiri  dari  proses konvolusi  yang  disertai  fungsi  aktifasi  dan proses pooling . Banyaknya proses ini disesuaikan  dengan  kebutuhan  peneliti.  Model dibuat  dengan  memuat  beberapa  jenis  lapisan yang  berbeda,  antara  lain  lapisan  konvolusi (layer_conv_2d),  lapisan pooling ,  lapisan dropout ,  lapisan flatten dan  lapisan dense .
Proses konvolusi ini dilakukan sebanyak 4 kali ditunjukkan  oleh  banyaknya convolution  layer yang  digunakan.  Pada  umumnya  2  sampai  3 lapisan  cukup  untuk  mendapatkan  model klasifikasi  yang  memiliki  akurasi  tinggi.  Pada penelitian  ini  digunakan  banyak  lapisan  untuk melatih  model  dan  melihat  bagaimana  kinerja model tersebut.
Fungsi  aktivasi  yang  digunakan  pada model  CNN  adalah  ReLu  ( Rectified Linear Unit) yang menjadikan tahap pelatihan menjadi lebih  cepat.  Ukuran kernel yang  digunakan untuk  setiap  lapisan  konvolusi  sebesar  3×3. Pada  proses pooling digunakan  metode maxpooling dengan  ukuran filter 2×2 sehingga nilai  maksimum  pada  area  2×2  piksel  tersebut yang akan dipilih pada setiap pergeseran.
Jumlah  filter  yang  digunakan  dalam convolution layer yang pertama dan kedua adalah 32. Filter yang digunakan pada convolution layer ketiga  dan  keempat  adalah  64.  Penggunaan jumlah  filter  yang  lebih  banyak  pada  dua lapisan  konvolusi  terakhir  disebabkan  oleh ukuran input pada  kedua  lapisan  tersebut  lebih kecil  sehingga  dibutuhkan  lebih  banyak  filter untuk mengesktrak informasi citra.
Tahapan  selanjutnya  yaitu  melakukan pelatihan  data  citra  kendaraan  ke  dalam  model dengan fit model . Pada saat melakukan fit model digunakan epoch =  20, batch_size =  32  dan validation_split =  0,2. Epoch digunakan  untuk menentukan  berapa  kali  jaringan  akan  melihat
seluruh  kumpulan  data.  Nilai batch_size menunjukkan jumlah contoh pelatihan dalam satu forward/backward  pass .  Semakin  tinggi  nilai batch_size maka akan semakin banyak memori yang dibutuhkan. Hasil loss dan accuracy model yang terbentuk dapat dilihat pada Gambar 4.
Gambar 4. Grafik Hasil Iterasi Nilai Loss dan Accuracy
Pada Gambar 4 dapat dilihat bahwa pada iterasi  ke  30  nilai loss yang  dihasilkan  pada data latih yaitu 0.171811 dan akurasi pada data latih yaitu  0.9444444.  Selanjutnya,  pengujian model  pada  data  uji  memperoleh  hasil loss yaitu  0.9727243  dengan  akurasi  sebesar 0.7333333.
Berdasarkan  hasil  pengujian  diperoleh informasi  bahwa  model  yang  dibuat  mampu mengklasifikasikan  jenis  kendaraan  dengan baik. Pergerakan loss yang  mendekati nilai  nol atau  kurang  dari  satu  dan  akurasi  yang  terus meningkat  menunjukkan  hasil  yang  baik seiring  dengan  berjalannya epoch .  Kondisi berhentinya  proses  pelatihan  ditentukan  dari
banyaknya epoch yang  digunakan,  dalam  hal ini yaitu sebanyak 20 epoch . Proses pembelajaran tersebut akan berhenti jika sudah memenuhi kondisi tersebut.

## Uji Coba dan Evaluasi
Hasil  klasifikasi  yang  didapatkan  dari data  latih  dan  data  uji  ditunjukkan  pada Gambar  5.  Pada  Gambar  5  ditunjukkan  hasil prediksi  untuk  data  latih.  Citra  mobil  yang berhasil  diklasifikasi  adalah  semua  citra  mobil yaitu  sebanyak  30,  citra  motor  yang  berhasil diklasifikasi  yaitu  29  dari  30  citra  yang digunakan  dan  citra  sepeda  yang  berhasil diklasifikasi yaitu sebanyak 26 citra.
Gambar 5. Hasil Klasifikasi Data Latih
Hasil  klasifikasi  data  uji  dapat  dilihat pada  Gambar  6.  Pada  Gambar  6  didapatkan hasil  prediksi  untuk  data uji yang  terdiri  dari 10  citra  untuk  tiap  jenis  kendaraan.  Citra mobil  yang  berhasil  diklasifikasi  yaitu
sebanyak  8,  citra  motor  yang  berhasil diklasifikasi  yaitu  sebanyak  8  citra  dari  10 citra dan citra sepeda yang berhasil diklasifikasi  yaitu  sebanyak  6  citra  dari  10 citra yang digunakan.
Gambar 6. Hasil Klasifikasi Data Uji

## KESIMPULAN DAN SARAN
Pada  penelitian  ini  klasifikasi  jenis kendaraan dengan metode Convolutional Neural Network (CNN) telah berhasil dilakukan  dengan  tingkat  akurasi  sebesar 73,33%.  Model  CNN  yang  digunakan  terdiri dari  empat  lapisan  konvolusi  dengan  ukuran filter 3×3, fungsi aktivasi yang digunakan yaitu reLu,  dan  2 pooling  layer dengan  ukuran  2×2.
Citra yang digunakan untuk penelitian ini yaitu sebanyak 120 citra. Berdasarkan hasil pelatihan
diperoleh  tingkat  akurasi  dari  model  CNN yaitu sebesar 0.9444444 dengan loss 0.171811. Pada  proses  pengujian dihasilkan  nilai loss yang  masih  cukup  besar  yaitu  0.9727243 dengan akurasi sebesar 0.7333333.
Pada penelitian selanjutnya dapat dilakukan  untuk  meningkatkan  akurasi  dan menurunkan  nilai loss dengan  melakukan beberapa  hal  seperti  menambahkan  data  citra, menambahkan lapisan konvolusi dan menambahkan fungsi optimasi. Selain itu, pada penelitian lebih lanjut dapat digunakan  metode
deep  learning lainnya  sehingga  diperoleh akurasi klasifikasi yang lebih baik.

## DAFTAR PUSTAKA
[1] R.  Azis  dan  Asrul, Pengantar  sistem  dan perencanaan  transportasi .  Yogyakarta: CV. Budi Utama, 2018.
[2] R.  Primartha, Belajar  machine  learning teori  dan  praktek .  Bandung:  Informatika,
2018.
[3] Rismiyati,  “Implementasi  convolutional neural  network  untuk  sortasi  mutu  salak ekspor  berbasis  citra  digital,” Tesis ,
Universitas  Gajah  Mada,  Yogyakarta,
2016.
[4] E. N. Arrofiqoh dan Harintaka,
“Implementasi metode convolutional neural  network  untuk  klasifikasi  tanaman pada citra resolusi tinggi,” Jurnal
Geomatika ,  vol.  24,  no.  2,  hal.  61  –  68,
2018. [5] A. Santoso dan G. Ariyanto,
“Implementasi  deep  learning  berbasis keras  untuk  pengenalan  wajah,” Jurnal
Emitor , vol. 18, no. 1, hal. 15 – 21, 2018.
[6] R.  Rokhana,  J.  Priambodo,  T.  Karlita,  I. M.  G.  Sunarya,  E.  M.  Yuniarno,  I.  K.  E. Purnama,  dan M.  H.  Purnomo,  “Convolutional neural  network  untuk  pendeteksian  patah tulang  femur  pada  citra  ultrasonik  b– mode,” Jurnal  Nasional  Teknik  Elektro dan Teknologi Informasi (JNTETI) , vol. 8, no. 1, hal 59. – 67, 2019.
[7] A.  Rohim,  Y.  A.  Sari,  dan  Tibyani, “Convolution  Neural  Network  (CNN) untuk  pengklasifikasian  citra  makanan tradisional,” Jurnal Pengembangan Teknologi  Informasi  dan  Ilmu  Komputer , vol.  3,  no.  7,  hal.  7037  –  7042,  2019.