## PENDETEKSI MENGANTUK MENGGUNAKAN LIBRARY PYTHON
Joseph Dedy Irawan 1 , Emmalia Adriantantri 2
1) Teknik Informatika, Institut Teknologi Nasional Malang
2) Teknik Industri, Institut Teknologi Nasional Malang Raya karanglo Km.2 Malang, Indonesia joseph@lecturer.itn.ac.id

## ABSTRAK
Setiap  orang  membutuhkan  istirahat  yang  cukup  agar  dapat  melakukan  aktfitas  sehari-hari  dengan  maksimal, kurangnya  istirahat  dapat  menyebabkan  tubuh  menjadi  tidak  sehat  dan  mengakibatkan  mengantuk  pada  saat sedang melakukan aktifitas, rasa kantuk dapat mengakibatkan aktifitas terganggu karena konsentrasi berkurang, mengantuk saat berkendaraan akan sangat membahayakan, dengan bantuan kamera dan kecerdasan buatan, dapat dibuat  sebuah  peralatan  yang  dapat  mendeteksi  jika  seseorang  dalam  keadaan  mengantuk,  sehingga  dapat memberikan peringatan misalnya pada saat sedang mengendarai kendaraan, dengan menggunakan library python dapat dibuat sebuah aplikasi yang dapat mendeteksi dan memberikan peringatan jika sedang mengantuk terutama saat mengendarai kendaraan bermotor.
Keywords: pendeteksi mengantuk, library python, Eye Aspect Ratio

## 1.   PENDAHULUAN
Mengantuk  merupakan  suatu  keadaan  yang tidak dapat dihindari dan dapat dialami oleh semua orang,  akan  tetapi  mengantuk  pada  saat  kondisi tertentu  dapat  merugikan  seseorang  terlebih  pada saat  yang  tidak  tepat  seperti  saat  mengendarai kendaraan, saat mengikuti perkuliahan dan kegiatan- kegitan yang membutukan konsentrasi lainnya.
Pemanfaatan  kamera  dan  pengolahan  citra digital dapat dimanfaatkan untuk  dapat  mendeteksi keadaan kantuk tersebut, dimana camera mengambil gambar dan dengan bantuan pengolahan citra digital dapat ditentukan apakah objek yang diamati sedang mengantuk  atau  tidak,  pemanfaatan  pendeteksi mengatuk  ini  dapat  diaplikasikan  di  kendaraan bermotor atau kelas, diamana pada saat pengendara kendaraan  bermotor  mulai  megantuk  dapat  segera diketahui  dan  dapat  dibunyikan  alaram  supaya pengemudi tidak jadi mengatuk, untuk implementasi di dalam kelas dapat dipergunakan sebagai evaluasi apakah  proses  pembelajaran  berjalan  dengan maksimal, jika banyak siswa yang mengantuk perlu dilakukan evaluasi dalam proses pembelajaran saat itu.
Dalam  penelitian  ini  dilakukan  dua  proses, pertama aplikasi akan melakukan proses pengenalan wajah dengan tujuan mengetahui siapa yang sebagai objek  yang  diamati,  kemudian  proses  kedua dilakukan  proses  deteksi  mengantuk  dengan
melakukan  pengamatan  terhadap  mata  dan  mulut, jika  mulut  terbuka  lebar  merupakan  salah  satu indikasi  objek  sedang  menguap  karena  bosan  atau mengantuk,  untuk  proses  validasi  dapat  dilakukan pengamatan  terhadap  mata,  jika  mata  tertutup dengan  atau  hampir  tertutup  dalam  durasi  waktu tertentu, dapat disimpulkan bahwa objek mengantuk atau tertidur

## 2.   METODOLOGI PENELITIAN
Metode pengenalan wajah  yang dipergunakan disini  adalah  metode  LBPH  dengan  memafaatkan libraries  dari  Phthon  dengan  menerapkan  langkah- langkah berikut :
Convolutional Neural Network or Deep Learning LBPH (Local Binary Patterns Histograms - 1996)
LBPH  merupakan  kombinasi  dari  algoritma LBP  terhadap  dirinya  sendiri  yang  merupakan sebuah  deskripsi  visual  yang  dipergunakan  untuk melakukan klarifikasi dan gambar digital dan HOG (Histogram  of  Oriented  Gradients).  LBPH  juga menggunakan  cara  pendekatan  pixel  dalam  sebuah gambar,  dimana  diperlukan  8  buah  pixel  terdekat untuk  dianalisa.  Gambar  1  merupakan  contoh ilustrasi dari  langkah-langkah  yang dilakukan pada proses  masking  pergerakan  dari  sebelah  kiri  atas sampai sebelah kanan bawah sebuah gambar.
Gambar 1. langkah-langkah masking
LBPH menggunakan 4 parameter, yaitu: Radius:  jari-jari digunakan untuk membangun pola biner lokal melingkar dan mewakili radius di sekitar piksel pusat. Biasanya diatur ke 1.
Neighbors:  jumlah  titik  sampel  untuk  membangun pola  biner  lokal  melingkar.  Biasanya  diatur  ke  8. Perhatikan  Gambar  2.  untuk titik  a  dan  b  adalah  8 titik sampel (tetangga). Titik c dan d adalah 12 titik
sampel  (P),  untuk  setiap  titik  ada  radius  yang berbeda (R) Point c and d are 12 sample point (P), for each point there are different radius (R) Grid X: jumlah sel dalam arah horizontal. Biasanya diatur ke 8.
Grid  Y:  jumlah  sel  dalam  arah  vertikal.  Biasanya diatur ke 8
.
Gambar 2. LBPH menggunakan 4 parameter
Gambar 3. Ilustrasi langkah-langkah LBPH
Metode  berikut  ini  adalah  Haar  Cascade  dan Cascade Classifier yang diinisialisai oleh Paul Viola dikembangkan oleh Rainer Lienhart

## Gambar 4. Metode Haar Cascading
Haar  Cascade  adalah  gambar  berjenjang (secara  berurutan)  menggunakan  fitur  seperti Gambar 4 dengan mendefinisikan gelap atau biner 0 atau  ‘nol’  jika  batas  bawah  dan  menentukan  putih atau  biner  1  atau  ‘satu’  jika  ambang  di  atas.  Pada
Gambar  5  adalah  contoh  penerapan  fitur  yang disebut  fitur  mirip  Haar,  yang  secara  acak mendefinisikan  area  gelap  ke  area  gelap  seperti rongga  mata,  kontur  hidung  dan  area  yang  lebih terang seperti dahi, pipi, puncak hidung.
Gambar 5. Deteksi Wajah menggunakan Metode Haar
Deteksi Mengantuk Dalam  melakukan  deteksi  siswa  yang  mengantuk dapat  memanfaatkan  library  dari  Python  dan beberapa metode sebagai berikut.

## Gambar 6. Face Landmarks
Euclidean Distance
Euclidean  distance  adalah  jarak  garis  lurus  antara dua  titik  dalam  Euclidean  space,  dan  rumusnya sebagai berikut. ‖u-v‖= √((u-v)∙(u-v))=√(‖u‖^2+‖v‖^2-2u∙v) EAR (Eye Aspect Ratio) Seperti  yang  ditunjukkan  pada  gambar  7  dan Euclidean distance dapat diketahui  nilai dari  EAR dengan menggunakan rumus berikut ini :
EAR=  (‖p_2-p_6 ‖+‖p_3-p_5 ‖)/2‖p_1-p_4 ‖ HOG (Histogram of Oriented Gradients) Histogram Of Oriented Gradients ini digunakan  untuk  mengekstraksi  fitur  pada  obyek gambar  dengan  menggunakan  obyek  manusia. Berdasarkan  langkahnya, proses awal pada  metode HOG adalah mengkonversi citra RGB (Red, Green, Blue) menjadi grayscale, yang kemudian dilanjutkan dengan  menghitung  nilai  gradien  setiap  piksel. Setelah  mendapatkan  nilai  gradien,  maka  proses selanjutnya  yaitu  menentukan  jumlah  bin  orientasi yang  akan  digunakan  dalam  pembuatan  histogram. Proses  ini  disebut  spatial  orientation  binning. Namun  sebelumnya  pada  proses  gradient  compute gambar pelatihan dibagi  menjadi beberapa cell dan dikelompokkan  menjadi  ukuran  lebih  besar  yang dinamakan block. Sedangkan pada proses normalisasi  block  digunakan  perhitungan  geometri R-HOG. Proses ini dilakukan karena terdapat block yang saling tumpang tindih. Berbeda dengan proses pembuatan histogram citra yang menggunakan nilai
– nilai intensitas piksel dari suatu citra atau bagian tertentu dari citra untuk pembuatan histogramnya

## 3.   HASIL DAN PEMBAHASAN
Dalam pengenalan wajah dipergunakan beberapa library dari Python yang harus ditambahkan saat pembuatan aplikasi, yaitu sebagai berikut : 1. Numpy (‘numpy’) 2. Scipy (‘scipy’) 3. Cython (‘cython’) 4. OpenCV (‘opencv-python’, ‘opencv- contrib-python’)
5. Pillow (‘Pillow’)

## Source Code
Dalam  pembuatan  aplikasi  pertama-tama siapkan  kamera  dan  pastikan  dapat  dideteksi  oleh komputer,  kemudian  instal  library  yang  akan digunakan  dan  berikut  ini  adalah  sourve  kode  dari aplikasi untuk mendeteksi wajah dan penjelasannya. Setelah  itu  jalankan  kode  Python  itu,  dengan memasukkan id dalam tipe data numerik misalnya 1, 2,  dan  sebagainya,  kamera  akan  menyalakan  dan mengambil  sampel  wajah  21  kali.  Setelah pengambilan  sampel  yang  harus  seperti  pada Gambar 8, yang berisi 21 gambar sampel dari wajah yang diambil. Kemudian, membuat fitur data dengan melatih  sampel  data.  Buat  file  Python  dengan memberi nama datatrain.py dan tulis kode di bawah ini.
Gambar 7. Eye Landmark dan Grafik dari setiap pengambilan Frame
Gambar 8. Face Sample untuk proses pegenalan wajah
Gambar 9. Pengenalan wajah dengan nama dan tingkat kepastian
Python  library  yang  dibutuhkan  adalah  sebagai berikut :
1.  Numpy (‘numpy’)
2.  Scipy (‘scipy’)
3.  Cython (‘cython’) [if  the other needed]
4.  OpenCV  (‘opencv-python’,  ‘opencv-contrib- python’)
5.  Imutils (‘imutils’)
6.  Playsound (‘playsound’)
7.  DLib (‘dlib’)
Gambar 10. Mendeteksi wajah yang mengantuk

## 4.   KESIMPULAN
Pendeteksi mengantuk dapat dilakukan dengan memanfaatkan  beberapa  library  phyton,  proses pendeteksi  mengantuk  dengan  menganalisa  luas area  mata sehingga dapat diketahui pada saat mata tertutup,  proses  deteksi  dapat  diperkuat  dengan menganalisa  lebar  mulut,  jika  mulut  terbuka  lebar menjadi  indikator  objek  sedang  menguap  karena bosan atau mengantuk

## DAFTAR PUSTAKA
[1].  Damayanti,  F.,  Arifin,  A.Z.,  Soelaiman,  R. (2010). Pengenalan Citra Wajah menggunakan Metode Two-Dimensional
Linear  Discriminant  Analysis  dan  Support Vector Machine , Jurnal Ilmiah KURSOR.
[2].  Ganesh,  S.  (2008). TCP/IP  Implemention Using  Embedded  Controller, Mobile  and Pervasive Computing (CoMPC)
[3].  Irawan,  J.D.  (2008). Embeded  Web  Server Berbasiskan Mikrokontroler AT89S8252 dengan Modul Ethernet EG-SR-7150MJ untuk Mengendalikan Lampu secara Remote . Seminar Nasional SITIA, ITS Surabaya.
[4].  Irawan, J.D. (2008). Pembuatan Embeded Web Server untuk Monitoring  Suhu Lewat  Internet Berbasiskan Mikrokontroler AT89S8252. Seminar nasional EECCIS, Universitas Brawijaya Malang.
[5].  Liliana,  D.Y.,  Rahman,  M.A.  and  Solimun.
(2013). Deteksi  Wajah  Manusia  pada  Citra Menggunakan Dekomposisi Fourier , NATURAL-A –  Journal  of  Scientific
Modeling & Computation.
[6].  Puspasari,  S.  (2013). Deteksi  Lokasi  Bibir Otomatis  Pada  Citra  Wajah  Berbasis  Ciri Bentuk  dan  Warna. Jurnal  Sistem  Informasi
(JSI). [7].  Sugiyo,  D.J.  and  Suharso  (2013). Bentuk  dan Faktor Determinan Perilaku Belajar Mahasiswa .  Indonesian  Journal  of  Guidance and  Counseling: Theory and Application. [8].  Sutarno  (2010). Identifikasi  Ekspresi  Wajah Menggunakan Alihragam Gelombang Singkat (Wavelet)  Dan  Jaringan  Syaraf  Tiruan Learning Vector Quantizatons (LVQ), Seminar Nasional  Informatika  2010,  UPN  ”Veteran” Yogyakarta
[9].  Tria`miyono,  H.  (2014). Upaya  Mengatasi Rasa  Kantuk  di  Kelas  dalam  Proses  Belajar Mahasiswa Taruna Akademi Maritim Djadajat . Jurnal Ilmiah WIDYA.