## IMPLEMENTASI ALGORITMA YOLO DAN TESSERACT OCR PADA SISTEM DETEKSI PLAT NOMOR OTOMATIS
Awan Aprilino 1) , Imam Husni Al Amin 2)
1,2 Teknik Informatikan, Universitas Stikubank Semarang
1,2 Jl. Tri Lomba Juang No.1 Semarang, Indonesia Email: 1 aprilinoawan@gmail.com , 2 imam@edu.unisbank.ac.id

## Abstract
Currently,  vehicle number plate detection systems in general still use the manual method. This will take a lot of time and human effort. Thus, an automatic vehicle number plate detection system is needed because the number of vehicles that continues to increase will burden human labor.  In addition, the  methods used for  vehicle number plate detection still  have  low  accuracy  because  they  depend  on  the  characteristics  of  the  object  being  used.  This  study  develops  a YOLO-based automatic vehicle number plate detection system. The dataset used is a pretrained YOLOv3 model of 700 data.  Then  proceed  with  the  number  plate  text  extraction  process  using  the  Tesseract  Optical  Character  Recognition (OCR) library and the results obtained will be stored in the database. This system is web-based and API so that it can be  used  online  and  on  the  cross-platform.  The  test  results  show  that  the  automatic  number  plate  detection  system reaches 100% accuracy with sufficient lighting and a threshold of 0.5 and for the results using the Tesseract library, the  detection  results  are  92.32%  where  the  system  is  successful  in  recognizing  all  characters  on  the  license  plates  of cars and motorcycles. in the form of alphanumeric characters of 7-8 characters.

## Keyword: YOLO, Tesseract OCR, Object Detection, Optical Character Recognition

## Abstrak
Saat  ini  sistem  deteksi  plat  nomor  kendaraan  pada  umumnya  masih  menggunakan  metode  manual.  Hal  ini  akan memakan  banyak  waktu  dan  tenaga  manusia.  Sehingga,  sistem  deteksi  plat  nomor  kendaraan  otomatis  sangat diperlukan  karena  jumlah  kendaraan  yang  terus  bertambah  banyak  akan  membebankan  tenaga  manusia.  Selain  itu metode-metode yang digunakan untuk deteksi plat nomor kendaraan masih memiliki akurasi yang rendah karena sangat bergantung  pada  ciri  objek  yang  digunakan.  Penelitian  ini  mengembangkan  sistem  deteksi  plat  nomor  kendaraan otomatis  berbasis You  Only  Look  Once  (YOLO) .  Dataset  yang  digunakan  merupakan  data pretrained model YOLOv3 sebanyak  700  data.  Kemudian  dilanjutkan  proses  ekstraksi  teks  plat  nomor  menggunakan  library Tesseract Optical Character Recognition (OCR) dan hasil yang didapatkan akan disimpan di database . Sistem ini berbasis web dan API sehingga  bisa  di  gunakan  secara online dan  lintas  platform.    Hasil  pengujian  menunjukan  bahwa  sistem  pendeteksian plat nomor otomatis mencapai tingkat akurasi 100% dengan pencahayaan yang cukup serta threshold sebanyak 0.5 dan untuk  hasil  OCR  menggunakan  library tesseract di  dapatkan  hasil  deteksi  92,32%  dimana  sistem  berhasil  untuk mengenali seluruh karakter pada plat mobil dan motor yang berupa karakter alfanumerik sebanyak 7-8 karakter.
Kata Kunci: YOLO,Tesseract OCR, Deteksi Objek, Optical Character Recognition

## 1. Pendahuluan
Kendaraan  merupakan  alat  transportasi  modern yang  saat  ini  banyak  digunakan  untuk  mempermudah aktivitas  perpindahan  dari  tempat  satu  ke  tempat  yang lain  dalam  waktu  yang  relatif  singkat,  dukungan transportasi  yang  baik  membuat  kehidupan  bernegara menjadi  lebih  optimal  karena  seluruh  kebutuhan  dapat terpenuhi.  Identifikasi  resmi  sebuah  kendaraan  salah satunya  adalah  plat  nomor  yang  dikeluarkan  oleh lembaga  terkait  sebagai  tanda  izin  untuk  sebuah kendaraan  dapat  digunakan  di  jalan  umum.  Nomor  seri pada  setiap  plat  nomor  kendaraan  berbeda  beda  dan dikelompokkan  berdasarkan  provinsi  yang  terdaftar dalam  wilayah  Indonesia.  Kode  huruf  sebelum  nomor kendaraan  menunjukkan  wilayah  provinsi  pendaftaran
kendaraan,  sedangkan  kode  huruf  setelah  nomor kendaraan  menunjukkan  sub-wilayah  dari  provinsi  yang terdaftar [1]. Sementara itu, untuk bahan yang digunakan kode plat nomor kendaraan bermotor di indonesia terbuat dari aluminium.
Metode  yang  digunakan  untuk  mengambil  objek plat  nomor  dalam  sebuah  gambar  kendaraan  adalah metode Deep  Learning . Deep  Learning menjadi  topik hangat  dalam  beberapa  tahun  belakangan  ini  yang beberapa  diantaranya  digunakan  untuk  menciptakan sebuah  deteksi  benda,  deteksi  wajah  [2],  dan  beberapa jenis  lainnya.  Beberapa  detektor  seperti Fast-RCNN , Faster-RCNN dan You Only Look Once (YOLO) menjadi network  deteksi  yang  cukup  signifikan  dan  menjadikan evolusi  deteksi  yang  presisi  namun  ringan  dalam beberapa  aspek    [3].  Dan  untuk  penelitian  kali  ini  akan
menggunakan  metode YOLO dikarenakan  metode  ini memiliki  kecepatan  dan  akurasi  yang  baik  dalam melakukan deteksi objek.
Untuk  melakukan  proses  mengambil  data  plat nomor  dari  gambar,  akan  dilakukan  menggunakan
Optical Character Recognition
(OCR) yang menghasilkan  sebuah  text  dari  gambar  yang  diambil. Pada  saat  ini  implementasi OCR sudah  dipermudah dengan  adanya  bantuan  library Tesseract  OCR dan tingkat  akurasinya  juga  tergolong  tinggi.  Proses  ini dilakukan  untuk  mengambil  kode  seri  plat  nomor  yang nantinya akan di simpan kedalam database.
Pembacaan  plat  nomor  kendaraan  yang  dirancang dalam  penelitian  ini  berbasis  web  dan Application Programming  Interface (API) .  Penggunaan  web  di  pilih karena diharapkan aplikasi ini bisa diakses secara online kapan  saja  dan  dimana  saja  serta  mengelola  data  plat nomor  yang  terdeteksi.  Sedangkan  penggunaan API dikarenakan  semakin  pesatnya  perkembangan  teknologi itu  sendiri  yang  berkembang  pesat  di  pasaran  dengan berbagai  tipe  dan  sistem  operasi.  Dengan  menggunakan API diharapkan  sistem  pendeteksi  plat  nomor  kendaraan ini  juga  bisa  digunakan  di  berbagai  perangkat.  Dengan adanya  sistem  pendeteksi  plat  nomor  kendaraan  ini diharapkan  dapat  membantu  dan  memudahkan  proses pekerjaan lembaga atau instansi yang didalam melakukan pekerjaannya membutuhkan  data informasi tentang kode plat nomor kendaraan.

## 2. Metode

## A. Plat Nomor
Plat  nomor  kendaraan  merupakan  sebuah  pengenal kendaraan  yang  wajib  digunakan  oleh  setiap  kendaraan bermotor.  Plat  nomor  kendaraan  telah  digunakan  sejak zaman Hindia Belanda berdasarkan wilayah karesidenan. Plat  kendaraan  bermotor,  dibagi  berdasarkan  wilayah Kabupaten  dan  Kota  tempat  kendaraan  bermotor berlokasi,  dan  dibedakan  menggunakan  huruf  alphabet yang berada di depan dan belakang plat nomor [1].

## B. You Only Look Once (YOLO)
Algoritma YOLO merupakan  algoritma  deep learning  untuk  deteksi  objek  yang  menggunakan pendekatan berbeda dari algoritma lain yaitu menerapkan sebuah  jaringan  syaraf  tunggal  pada  keseluruhan  citra [3]. YOLO membagi  citra  masukan  ke  dalam  suatu grid berukuran SxS. Ukuran dari grid cell tersebut tergantung pada  input size yang  digunakan  pada  suatu  arsitektur. Pada YOLO v3,  jika  input size 416x416,  maka  ukuran grid size adalah  13x13,  26x26,  dan  52x52.  Setiap  sel bertugas untuk memprediksi objek yang ada di dalam sel tersebut  dengan  bounding  box  beserta confidence yang merupakan  nilai  probabilitas  keberadaan  suatu  objek pada bounding box tersebut [3].
Kemudian,  setelah  bounding  box  dipetakan berdasarkan  nilai confidence yang  dihasilkan, YOLO akan  memprediksi  kelas  dari  objek  yang  terdapat  pada bounding box tersebut beserta kemungkinannya,
sehingga terbentuklah class probability map . Dari sekian banyak bounding box yang dihasilkan, untuk mendapatkan bounding  box beserta  kelas  objek  dengan probabilitas yang tinggi, maka dari seluruh hasil prediksi tersebut,  hanya  yang  melampaui threshold saja  yang akan  digunakan.  Jika  terdapat  duplikasi bounding  box , maka Non-max  Suppresion  (NMS) berperan  untuk menghilangkan  duplikat  tersebut  [4].  Ilustrasi  algoritma YOLO digambarkan pada Gambar 1.
Gambar 1. Ilustrasi algoritma YOLO [5].

## C. OCR
Optical  Character  Recognition  (OCR) adalah proses yang digunakan untuk mengkonversi gambar yang berisikan  teks  menjadi  karakter ASCII yang  dapat dikenali oleh komputer. Berbagai pendekatan yang dapat digunakan  pada Optical  Character  Recognition ,  yaitu matrix  matching,  fuzzy  logic ,  ekstraksi  fitur,  analisa struktural, dan jaringan syaraf [6].

## D. Tesseract OCR
Tesseract adalah mesin OCR yang dikembangkan di HP (Hewlett-Packard) antara tahun 1984 dan 1994. Pada tahun  2005 tesseract dibuat  open  source  oleh  HP  [7]. Dari  2006  hingga  November  2018  dikembangkan  oleh Google .  Arsitektur  yang  digunakan  oleh tesseract digambarkan pada Gambar 2.
Gambar 2. Arsitektur tesseract [8] .

## E. Dataset
Dataset  yang  akan  digunakan  dalam  penelitan  ini akan  menggunakan  pretrained  model YOLO v3  dataset yang  sebelumnya  ditraining  menggunakan  model  plat nomor  kendaraan  negara  Tunisia  dengan  hanya  1  label class yaitu  plat  nomor.  Dikarenakan  plat  nomor  negara Tunisia  yang  memiliki  kemiripan  dengan  plat  nomor Indonesia  yaitu  background  warna  hitam  dan  tulisan warna  putih,  sehingga  dataset  ini  dipilih  sebagai  model
untuk  melakukan  deteksi  objek  plat  nomor  kendaraan Indonesia.

## F. API
API atau Application Programming Interface adalah sebuah
antarmuka yang
digunakan untuk menghubungkan  antara  satu  aplikasi  dengan  aplikasi yang  lain.  Peran  dari API adalah  sebagai  perantara  yang menghubungkan  aplikasi  berbeda,  baik  dari  platform yang sama maupun lintas platform.

## G. Tahapan Penelitian
Untuk  membuat  sistem  deteksi  plat  nomor kendaraan  menggunakan  metode YOLO dan Tesseract OCR ,  maka  terdapat  beberapa  tahapan  dalam  cara  kerja sistem ini. Flowchart sistem ini sebagai berikut
Gambar 3. Flowchart Sistem Deteksi Plat Nomor
Pada flowchart Gambar  3.  Hal  pertama  yang dilakukan  adalah  menginput  gambar  yang  akan  di dilakukan  proses  deteksi  plat  nomor.  Selanjutnya  sistem akan  memproses  gambar  tersebut  menggunakan  metode YOLO untuk  mendeteksi  objek  plat  nomor.  Plat  nomor yang  terdeteksi  kemudian  akan  di  tandai  dengan bounding  box,  pada  proses  ini  dilakukan  pemotongan gambar  sesuai  area bounding  box yang  di  peroleh. Ilustrasi deteksi objek plat nomor kendaraan menggunakan metode YOLO digambarkan pada Gambar 4.
Gambar 4. Deteksi objek plat nomor pada kendaraan.
Gambar plat nomor yang didapatkan dari Gambar 4. Selanjutnya  akan  di  proses  ke  tahap preprocessing. Metode  ini  digunakan  untuk  meningkatkan  ketajaman citra untuk mengantisipasi beberapa variasi pencahayaan yang  biasa  muncul  saat  pengambilan  citra yaitu  terdiri
dari grayscaling kemudian  dilanjutkan tresholding [9] . Grayscaling sendiri  akan  mengubah  citra rgb menjadi citra grayscale yang selanjutnya akan di proses ke tahap tresholding untuk memisahkan background dengan objek berdasarkan gelap terang citra sehingga akan menghasilkan  citra  dengan  background  putih  dan  warna tulisan  hitam  untuk  memudahkan tesseract dalam mengkonversi citra kedalam bentuk text dan menyimpan text beserta potongan gambar kedalam database.
Gambar 5. Tahap grayscaling dan thresholding citra plat nomor
3. Hasil dan Pembahasan

## A. Kebutuhan Sistem
Sistem  deteksi  plat  nomor  kendaraan  otomatis  ini terdiri  dari  dua  bagian  yaitu  bagian Administrator dan bagian User .  Kedua  bagian  ini  masing  masing mempunyai kebutuhan, seperti:
1. Kebutuhan Administrator
a. Mengelola User .
b. Mengelola Apps .
2. Kebutuhan User a. Membuat Apps .
b. Mengelola plat nomor.
c. Deteksi plat nomor menggunakan web.
d. Deteksi plat nomor menggunakan API .

## B. Implementasi
Web  dari  sistem  yang  diusulkan  dapat  dilihat  pada Gambar  di  bawah  ini.  Halaman login  User dan Administrator ditunjukkan Gambar 6.
Gambar 6. Halaman login User dan Administrator
Untuk menggunakan sistem, User diwajibkan untuk mendaftar terlebih dahulu. Halaman pendaftaran ditunjukkan pada Gambar 7.
Gambar 7. Halaman registrasi user
Dasbor Administrator berfungsi untuk melihat ringkasan jumlah apps , jumlah User dan jumlah plat nomor yang terdaftar dalam sistem. Halaman dasbor ditunjukkan pada Gambar 8.
Gambar 8. Halaman dasbor admin
Apps dalam sistem ini berfungsi untuk mendeteksi plat nomor, setiap apps mempunyai kode token unik yang digunakan untuk endpoint API sehingga apps bisa digunakan untuk perangkat lain. Halaman manajemen apps ditunjukkan pada Gambar 9.
Gambar 9. Halaman manajemen apps
Administrator juga bisa melihat dan mengelola User yang terdaftar dalam sistem. Halaman manajemen User ditunjukkan pada Gambar 10.
Gambar 10. Halaman manajemen user
Dasbor User berfungsi untuk melihat ringkasan total apps yang dibuat dan rincian total plat nomor yang terdeteksi di semua apps . User juga bisa menambah apps untuk melakukan deteksi objek. User bisa membuat lebih dari satu apps sesuai keperluan. Halaman dasbor User ditunjukkan pada Gambar 11.
Gambar 11. Dashboard user
Setelah membuat apps , User bisa melakukan proses deteksi plat nomor dengan mengunggah gambar yang ingin dilakukan deteksi plat nomor. Plat nomor yang terdeteksi akan disimpan di database . Proses deteksi plat nomor ditunjukkan pada Gambar 12.
Gambar 12. Deteksi plat nomor menggunakan web
Setiap apps mempunyai endpoint API masing- masing dengan menggunakan kode token unik. Endpoint ini secara langsung bisa dilihat di halaman API jika User membutuhkan untuk digunakan di perangkat lain. Halaman API ditunjukkan pada Gambar 13.
Gambar 13. Halaman API
API yang tersedia bisa digunakan untuk mendeteksi plat nomor kendaraan dengan menggunakan perangkat lain tanpa harus login ke web. Gambar 14. merupakan contoh penggunakan API menggunakan aplikasi Postman.
Gambar 14. Deteksi plat nomor dengan API menggunakan aplikasi Postman

## C. Pengujian
Pengujian  sistem  akan  mengambil  sampel  data sebanyak  10  gambar  yang  didapatkan  dari  kamera smarthpone dengan  resolusi  1600x1200  pixel  kemudian pengujian  ini  akan  dibagia  menjadi  dua  bagian  yaitu pengujian  deteksi  objek  dan  pengujian  optical  character recognition.    Hasil  pengujian  ditunjukkan  pada  Gambar 15 dan Tabel 1.
Pada  Gambar  15. YOLOv3 berhasil  mendeteksi semua  plat  nomor  dengan confident  threshold sebanyak 0.5 dengan pencahayaan yang cukup menggunakna objek motor dan mobil.
Tabel 1. Hasil pengujian Tesseract OCR No  Data Asli Hasil Pengujian Tesseract OCR Akurasi 1 AE1938BY  AE1938BY 100% 2 B1308RFO B1908RFO 87,5% 3 H1260WA H1260WA 100% 4 H8990FF H9990FF 85,7% 5 H9176EQ H9176E0 87,5% 6 H8955MS H8955MS 100% 7 H8408LF H8408LF 100% 8 H9489QF H9489OF 87,5% 9 H8826GP H8826GP 100% 10 H3189BAE  3189BA 75%
Pada  proses  ekstraksi  di  Tabel  1.  pengujian tesseract dengan menggunakan mode page segmentation ke-10  yaitu  memperlakukan  gambar  sebagai  karakter tunggal,  masih  terdapat  beberapa  karakter  yang  berbeda antara data asli dengan data hasil ekstraksi. Perbedaan ini dikarenakan  tesseract  gagal  mengenali  karakter  yang dimaksudkan.  Kegagalan  ini  dapat  disebabkan  oleh banyaknya noise yang  terdapat  di  dalam  gambar, sehingga proses analisis connected component memberikan  hasil  yang  salah.  Analisis connected component merupakan  proses  awal  dari Tesseract  Tess- Two sehingga jika proses ini mengalami kegagalan, maka akan mempengaruhi proses berikutnya [10].

## 4. Kesimpulan
Berdasarkan  hasil  pengamatan  dan  pengujian  pada sistem,  dapat  disimpulkan  bahwa YOLOv3 dapat mendeteksi  objek  plat  nomor  dengan  sangat  baik meskipun  dalam  keadaan  gambar potrait atau landscape dengan  pencahayaan  yang  cukup  di confident  threshold 0.5  pada  objek  kendaraan  mobil  dan  motor.  T esseract sangat  bergantung  pada  tahap pre-processing yaitu proses grayscaling dan thresholding gambar  sebelum melakukan  proses OCR .  Kemiringan  pada  gambar  plat nomor  yang  terdeteksj  sangat  berpengaruh  pada  mode page segmentation tesseract OCR ke-10 yaitu memperlakukan  gambar  sebagai  karakter  tunggal  dan hanya  membaca  satu  baris  pertama  yang  terdeteksi, sehigga tesseract akan  mengabaikan  posisi  karakter selanjutnya  dan  memasukkannya  kebaris  yang  berbeda. Sistem  dapat  bekerja  dengan  baik  dan  di  akses menggunakan web browser dan API secara online .

## 5. Daftar Pustaka
[1] R.  Efendi,  “Aplikasi  Pembacaan  Plat  Nomor Kendaraan  Menggunakan  Optical  Character Recognition  (OCR),” Semin.  Nas.  Teknol.  Inf. ,
pp. 81–86, 2017.
[2] E. Winarno, I. H. Al Amin, S. Hartati, and P. W. Adi,  “Face  recognition  based  on  cnn  2d-3d reconstruction  using  shape  and  texture  vectors combined,” Indones.  J.  Electr.  Eng.  Informatics , vol.  8,  no.  2,  pp.  378–384,  Jun.  2020,  doi: 10.11591/ijeei.v8i2.1369.
[3] J.  Redmon,  S.  Divvala,  R.  Girshick,  and  A. Farhadi,  “You  Only  Look  Once:  Unified,  Real- Time  Object  Detection,”  in 2016  IEEE Conference  on  Computer  Vision  and  Pattern
Recognition  (CVPR) ,  2016,  pp.  779–788,  doi: 10.1109/CVPR.2016.91.
[4] H.  Hammam,  A.  Asyhar1,  S.  A.  Wibowo2,  and G.  Budiman3,  “Implementasi  Dan  Analisis Performansi  Metode  You  Only  Look  Once (Yolo)  Sebagai  Sensor  Pornografi  Pada  Video
Implementation  And  Performance  Analysis  Of You  Only  Look  Once  (Yolo)  Method  As  Porn Censorship In Video,” e-Proceeding Eng. , vol. 7, no. 2, pp. 3631–3638, 2020.
[5] R.  Khandelwal,  “Computer  Vision  -  A  journey from CNN to Mask R-CNN and YOLO - Part 2,” 2019.  https://towardsdatascience.com/computer- vision-a-journey-from-cnn-to-mask-r-cnn-and- yolo-part-2-b0b9e67762b1  (accessed  Nov.  30,
2021).
[6] R.  Mithe,  S.  Indalkar,  and  N.  Divekar,  “Optical Character  Recognition,” Int.  J.  Recent  Technol. Eng. ,  vol.  2,  no.  1,  pp.  72–75,  2013,  [Online]. Available: http://code.google.com/p/tesseract- ocr.
[7] K.  Apriyanti  and  T.  W.  Widodo,  “Implementasi
Optical Character
Recognition
Berbasis Backpropagation untuk Text to Speech Perangkat Android,” Indones.  J.  Electron.  Instrum.  Syst. , vol. 6, no. 1, pp. 13–23, 2016.
[8] Smith R, “docs/2ArchitectureAndDataStructures.pdf at main ·
tesseract-ocr/docs,”
2016.
https://github.com/tesseract- ocr/docs/blob/main/das_tutorial2016/2Architectu reAndDataStructures.pdf  (accessed  Dec.  05, 2021).
[9] E. Winarno, I. M. Al Amin, H. Februariyanti, P. W.  Adi,  W.  Hadikurniawati,  and  T.  M.  Anwar, “Attendance System Based on Face Recognition System Using CNN-PCA Method and Real-time Camera,” Int.  Semin.  Res.  Inf.  Technol.  Intell. Syst. , pp. 301–304, 2019.
[10] R.  Smith,  “An  Overview  of  the  Tesseract  OCR Engine,” Proc  9th  Int.Conf.on  Doc.  Anal. Recognit. , 2007, [Online]. Available: http://code.google.com/p/tesseract-ocr.