Journal of Technology and Informatics (JoTI) Vol 1. No. Oktober Tahun 2019 E-ISSN 2686-6102 Implementasi Sistem Deteksi Mata Kantuk Berdasarkan Facial Landmarks Detection Menggunakan Metode Regression Trees Andrea H. Perdana1 Susijanto Tri Rasmana2 Heri Pratikno3 Program Studi/Jurusan Teknik Komputer Institut Bisnis dan Informatika Stikom Surabaya Email: 1 andrea. dcladea28@gmail. com, 2 susyanto@stikom. edu, 3 heri@stikom. Abstrak: Kecelakaan lalu lintas merupakan salah satu dampak negatif dari kemajuan teknologi dibidang transportasi. Faktor manusia merupakan salah satu faktor dengan persentase tertinggi pada peningkatan kecelakaan lalu lintas. Salah satu contoh faktor manusia adalah kelelahan dalam Kelelahan berkendara akan mengakibatkan pengemudi mengalami kantuk, oleh karena itu untuk meminimalisir kecelakaan yang dikarenakan kelelahan saat berkendara maka diperlukan sebuah sistem yang menggunakan alarm untuk mendeteksi mata kantuk secara real time. Salah satu penelitian sebelumnya untuk mendeteksi mata kantuk, sistem yang dibuat menggunakan metode segmentasi warna. Pada penelitian ini akan dibuat sistem deteksi mata kantuk yang berdasarkan Facial Landmarks Detection menggunakan metode Regression Trees yang diimplementasikan ke dalam Raspberry Pi 3 model B. Input dari sistem ini berupa video yang direkam dari PiCamera secara real time. Output dari sistem ini menggunakan buzzer sebagai alarm untuk memberikan peringatan bahwa pengemudi terdeteksi mengantuk. Sistem yang dibuat pada penelitian ini menunjukan bahwa dapat mendeteksi mata kantuk dengan baik. Berdasarkan hasil pengujian, sistem dapat mendeteksi mata sebesar 93. 3%, kedipan mata sebesar 96. 7%, dan sudut miring wajah sebesar 95%. Kata Kunci: Mata Kantuk. Facial Landmarks Detection. Regression Trees. Abstract: Traffic accidents are one of the negative impacts of technological advances in the field of transportation. Human factor is one of the factors with the highest percentage in increasing traffic accidents. One example of human factors is fatigue in driving. Fatigue driving will cause the driver to experience drowsiness, therefore to minimize accidents due to fatigue while driving, a system that uses alarms is needed to detect sleepiness in real time. One of the previous studies to detect sleepy eyes, a system created using the color segmentation method. In this paper, a sleep eye detection system based on Facial Landmarks Detection will be made using the Regression Trees method that is implemented in the Raspberry Pi 3 model B. The input of this system is recorded video from PiCamera in real time. The output of this system uses the buzzer as an alarm to give a warning that the driver is detected drowsy. The system created in this study shows that it can detect eye sleep well. Based on The test results, the system can detect eyes by 93. 3%, eye blinking by 96. 7%, and face oblique angle of 95%. Keywords: Eye Sleep. Facial Landmarks Detection. Regression Trees PENDAHULUAN Kemajuan ilmu teknologi semakin berkembang pesat seiring berjalannya waktu. Perkembangan teknologi ini sangat membantu aktivitas sehari Ae hari di lingkungan masyarakat. Salah satu contohnya adalah perkembangan teknologi di bidang transportasi. Masyarakat semakin mudah untuk melakukan perjalanan jauh dengan menggunakan transportasi masa Namun pada kemajuan teknologi ini, membawa dampak negatif bagi masyarakat di lingkungan sekitar salah satunya jumlah kecelakaan lalu lintas yang semakin meningkat di setiap tahunnya. Menurut Badan Penelitian dan Pengembangan Kesehatan, persentase kecelakaan transportasi darat meningkat dari Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 9% ditahun 2008 menjadi 47. 7% di tahun Pada tahun 2010 hingga 2014, persentase korban meninggal akibat kecelakaan lalu lintas berkisar 17-22% . Faktor tertinggi penyebab peningkatan jumlah kecelakan lalu lintas adalah faktor manusia, dimana memiliki persentase 69. 7% . Salah satu contoh faktor manusia adalah kelelahan dalam berkendara. Pada . lebih dari 25% penyebab kecelakaan merupakan kelelahan yang mengakibatkan pengendara mengalami kantuk saat sedang berkendara. Menurut data Badan Pusat Statistik Indonesia . , jumlah kecelakaan dari tahun 2012 hingga 2016 berkisar 000 kejadian dengan kerugian hingga 200 juta rupiah. Kantuk adalah suatu kondisi manusia yang disebabkan oleh kurangnya istirahat atau Manusia dewasa membutuhkan tidur selama 8 jam setiap malamnya agar mencapai kinerja optimal . Kekurangan tidur dapat peningkatan jumlah kedipan mata hingga terjadi adanya microsleeps . Pada kondisi peningkatan 20% dari frekuensi kedipan mata per menit. Selain itu, seseorang akan mengalami microsleeps dengan durasi penutupan mata berkisar 0,5 detik atau lebih . Hingga saat ini, khususnya penelitian deteksi mata kantuk menggunakan pengolahan citra digital sudah banyak dilakukan. Berdasarkan Ae selanjutnya akan dibuat sebuah sistem deteksi mata kantuk. Sistem ini akan melakukan emantauan kondisi pengemudi dengan cara melakukan perekaman wajah yang kemudian akan diproses dengan pengolahan citra digital menggunakan metode regression trees pada Raspberry Pi. Gambar 1. Blok Diagram Sistem Mata Kantuk Histogram of Oriented Gradients Histogram of Oriented Gradients merupakan metode yang digunakan untuk mendeteksi suatu objek citra gambar. Untuk memperoleh suatu hasil, citra gambar akan dibagi menjadi beberapa sel dan setiap selnya akan dihitung sebagai histogram of oriented Facial Landmarks Detection Facial landmarks detection merupakan keluaran terstruktur yang memiliki tujuan untuk memprediksi bentuk geometri yang diperoleh dari sebuah data berupa citra wajah. Jumlah titik landmark bergantung pada dataset yang Pada sistem deteksi mata kantuk ini, menggunakan salah satu model facial landmarks detection yaitu 68 landmarks. METODE PENELITIAN Pada sistem deteksi mata kantuk ini menggunakan Pi Camera untuk mengambil data berupa citra gambar yang kemudian diproses oleh Raspberry Pi menggunakan metode regression trees berdasarkan facial landmarks detection sehingga dapat mengetahui hasil data merupakan mata yang mengantuk atau tidak. Apabila hasil proses terdeteksi mata kantuk, maka sistem akan mengaktifkan buzzer untuk memberikan peringatan kepada pengemudi. Gambar 2. Penanda Koordinat Bentuk Wajah Regression Trees Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 Classification and Regression Trees merupakan salah satu metode dari teknik pohon Pada . regression trees merupakan metode dengan variabel respon yang memiliki bentuk kontinu, sedangkan classification trees merupakan metode dengan variabel respon yang memiliki bentuk skala kategorik. Regression trees merupakan metode percabangan rekursif biner dimana kumpulan data . isebut simpu. dicabang menjadi 2 bagian . isebut menghasilkan simpul yang tidak dapat dicabang lagi . isebut simpul akhi. Gambar 3. Struktur Regression Trees Perancangan Perangkat Keras Gambar 5. Blok Diagram Perangkat Keras Sistem Deteksi Mata Kantuk Gambar 6. Rangkaian Output Raspberry Pi 3 Dari gambar 6, dapat dijelaskan bahwa data citra gambar yang diperoleh dari kamera akan diproses oleh Raspberry Pi menggunakan Python dan OpenCV dengan metode regression trees untuk menentukan koordinat mata. Setelah menemukan koordinat mata, maka nilai koordinat mata akan diolah menggunakan rumus aspek rasio mata untuk menentukan hasil kedipan mata. Apabila hasil aspek rasio mata yang diperoleh berada dibawah threshold yang telah ditentukan oleh penulis selama kurun waktu 1 detik, maka buzzer akan aktif sebagai notifikasi alarm. Pada sistem ini, buzzer diletakkan di GPIO pin 18. Aspek Rasio Mata Aspek rasio mata digunakan untuk menentukan kedipan suatu mata. Rumus perhitungan aspek rasio mata ditunjukan pada Gambar 4. Perhitungan Aspek Rasio Mata Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 untuk mata kiri dan 43 hingga 48 untuk mata Nilai koordinat . pada koordinat mata akan diolah menggunakan rumus aspek rasio mata untuk menentukan kedipan mata. Apabila nilai ARM kurang dari 0. selama 1 detik atau pada sistem memiliki nilai counter lebih besar sama dengan 3, maka alarm buzzer akan berbunyi selama mata nilai ARM kurang dari 0. Ketika nilai ARM lebih besar 3, maka alarm buzzer akan mati dan counter akan direset. Perancangan Program Flowchart Sistem Deteksi Mata Kantuk Flowchart Metode Regression Trees Gambar 7. Flowchart Sistem Deteksi Mata Kantuk Pada flowchart diatas dapat dijelaskan bagaimana sistem deteksi mata kantuk bekerja. Awal mula sistem mendeklarasikan alarm pada kondisi off dan counter = 0. Sistem akan melakukan infinite looping terus menerus hingga mendapatkan input keyboard berupa karakter AuqAy dari pengemudi. Kemudian sistem mengambil 1 frame dari kamera untuk diproses lebih lanjut. Proses selanjutnya adalah mengubah data citra gambar pada frame yang telah diambil dari RGB menjadi grayscale. Dari citra gambar grayscale akan diolah untuk mengambil area wajah pengemudi menggunakan metode Histogram of Oriented Gradients untuk memperkecil proses komputasi Batas koordinat tersebut kemudian akan digunakan untuk pembatas pemetaan 68 penanda koordinat bentuk wajah. Kemudian titik Ae titik koordinat tersebut akan digeser untuk pemetaan bentuk wajah menggunakan looping regressor selama beberapa kali. Looping regressor ini digunakan untuk memberikan penanda piksel pada citra wajah dengan menggunakan metode regression trees. Kemudian sistem mengambil koordinat mata pada 68 penanda koordinat bentuk wajah dimana mata memiliki koordinat 37 hingga 42 Gambar 8. Flowchart Regression Trees Flowchart Regression Trees mula Ae mula mengambil data citra gambar yang sudah dikonversi ke citra gambar grayscale. Kemudian citra gambar tersebut diolah menggunakan metode histogram of oriented gradients untuk memperkecil area komputasi. Area komputasi ini berbentuk persegi yang berada di area wajah Pada area persegi ini akan dipetakan 68 penanda koordinat bentuk wajah yang akan digunakan untuk mendeteksi bagian Ae bagian yang ada pada wajah pengemudi. Kemudian dilakukan looping X sebanyak 10 kali untuk memberikan hasil yang regresi yang maksimal pada 68 penanda koordinat bentuk wajah. Pada setiap looping X, sistem akan melakukan penempatan 400 piksel secara acak menggunakan similarity transform dari citra gambar Sm ke citra gambar Sc. Untuk looping X=1 digunakan untuk data training yang Selanjutnya untuk looping X>=2 hingga X<=10 digunakan untuk data training Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 with dlib untuk membandingkan beberapa data yang sudah ada pada library dlib. Dari citra gambar Sc, sistem akan melakukan looping Y yang digunakan untuk membandingkan selisih perbedaan piksel dengan nilai threshold pada setiap percabangannya. Hasil dari perbandingan ini memiliki 16 kemungkinan yang akan dijadikan nilai dari selisih landmark untuk setiap looping Y. Kemudian citra gambar Sc akan ditambahkan dari nilai hasil selisih landmark. Gambar 11. Citra Gambar Hasil Dari gambar 9, dapat dijelaskan bahwa data training ini merupakan implementasi dari metode regression trees dimana pengambilan keputusan menggunakan beberapa percabangan kondisi sehingga membentuk pohon keputusan. Mula Ae mula pada citra gambar melakukan 400 random pixel. Kemudian dari 400 pixel tersebut, dilakukan random kembali untuk diambil 2 data pixel untuk diolah lalu dibandingkan dengan random threshold citra gambar. Pada sistem ini memungkinkan menghasilkan 16 hasil data i Hasil data tersebut berupa koordinat titik 68 facial landmarks yang terdiri dari x dan y, sehingga pada array data i landmarks memiliki 136 data. Data Training 1 Tabel 1. Ukuran Huruf . Ukuran Penggunaan 10 point Judul gambar 10 point Instansi penulis, abstrak, kata kunci, subjudul, badan makalah, dan daftar referensi 10 point Judul tabel 11 point Nama penulis 16 point Judul makalah Data Training with Dlib Data training with Dlib secara konsep sama dengan data training 1, hanya saja threshold yang digunakan bukan dari hasil random threshold namun diambil dari maksimum korelasi perbandingan dengan Helen Data yang ada pada Dlib. Gambar 9. Data Training 1 Tabel 1. Perhitungan Threshold With Dlib Gambar 10. Citra Gambar Pertama f1-f1 f1-f2 p1,i1 p2,i1 A p1,i2 p2,i2 A A p1,in p2,in A A A A . in ir Dari tabel perhitungan threshold with dlib diatas, dapat dijelaskan bahwa i1 diambil dari operasi pengurangan citra gambar antara ground truth dengan current shape. Hasil tersebut Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 kemudian akan dikalikan vektor dengan random threshold yang menghasilkan nilai d. Selanjutnya untuk data ke dua hingga data N, dilakukan dengan cara yang sama. Kemudian dilakukan operasi perhitungan maksimum korelasi dari nilai d. Tabel 3. Hasil Pengujian Tingkat Akurasi Deteksi Mata Data Frame 1 Frame 2 Frame 3 Ke1 Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Gagal Berhasil Berhasil Berhasil Berhasil Gagal Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil HASIL DAN PEMBAHASAN Hasil Perbandingan Metode Histogram of Oriented Gradients Dengan Haar Cascade Untuk mengetahui perbandingan akurasi deteksi, frame per second, dan tingkat ketahanan pergerakan antara metode HOG dengan Haar Cascade. Tabel 2. Hasil Perbandingan HOG dengan Haar Cascade Parameter HOG Frame Per Second Menoleh dengan Sudut 45A Menoleh dengan Sudut 90A Kemiringan Wajah Tingkat Ketahanan Pergerakan 2-3 fps Haar Cascade 5-6 fps Berhasil Gagal Gagal Gagal Berhasil Gagal Berhasil Berhasil Dari hasil tabel diatas, dapat dijelaskan bahwa dari 30 data sample uji coba ditemukan beberapa data yang tidak dapat mendeteksi mata. Sehingga persentase keberhasilan adalah Dari tabel di atas, dapat dijelaskan bahwa metode Histogram Of Oriented Gradients memiliki tingkat akurasi deteksi yang lebih baik daripada Haar Cascade namun memiliki kelemahan pada frame per second dikarenakan komputasi yang terlalu banyak dan kompleks. Sehingga dari tabel tersebut dapat disimpulkan bahwa pada sistem ini lebih baik menggunakan metode Histogram Of Oriented Gradients karena memiliki tingkat deteksi yang lebih akurat. Gambar 12. Contoh Gagal Dari Hasil Pengujian Tingkat Akurasi Deteksi Mata Hasil Pengujian Tingkat Akurasi Deteksi Mata Pada pengujian tingkat akurasi deteksi mata bertujuan untuk mengetahui apakah sistem deteksi mata kantuk ini dapat mendeteksi mata dalam beberapa kondisi secara akurat. Gambar 13. Contoh Berhasil Dari Hasil Pengujian Tingkat Akurasi Deteksi Mata Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 Hasil Pengujian Tingkat Sensitif Kedipan Mata Pada pengujian tingkat sensitif kedipan mata bertujuan untuk mengetahui apakah sistem dapat mendeteksi kedipan mata, mata menuju tertutup, maupun mata setengah tertutup. Pada pengujian ini, apabila mata menuju tertutup maka sistem akan melakukan perhitungan pada Gambar 15. Contoh Gagal Dari Hasil Pengujian Tingkat Sensitif Kedipan Mata Tabel 4. Hasil Pengujian Tingkat Sensitif Kedipan Mata Data Frame 1 Frame 2 Frame 3 Data 1 Berhasil Berhasil Gagal Data 2 Berhasil Berhasil Berhasil Data 3 Berhasil Berhasil Berhasil Data 4 Berhasil Berhasil Berhasil Data 5 Berhasil Berhasil Berhasil Data 6 Berhasil Berhasil Berhasil Data 7 Berhasil Berhasil Berhasil Data 8 Berhasil Berhasil Berhasil Data 9 Berhasil Berhasil Berhasil Data 10 Berhasil Berhasil Berhasil Hasil Pengujian Sudut Miring Wajah Pada pengujian sudut miring wajah bertujuan untuk mengetahui apakah sistem dapat mendeteksi wajah dan mata ketika seorang pengendara sedang menggerakan kepalanya ke beberapa sudut dari arah kamera. Tabel 5. Hasil Pengujian Sudut Miring Wajah Data Frame 1 Frame 2 Data 1 Gagal Berhasil Data 2 Berhasil Berhasil Data 3 Berhasil Berhasil Data 4 Berhasil Berhasil Data 5 Berhasil Berhasil Data 6 Berhasil Berhasil Data 7 Berhasil Berhasil Data 8 Berhasil Berhasil Data 9 Berhasil Berhasil Data 10 Berhasil Berhasil Dari hasil tabel diatas, dapat dijelaskan bahwa dari 30 data sample uji coba ditemukan beberapa data yang tidak dapat mendeteksi kedipan mata. Sehingga persentase keberhasilan adalah Dari hasil tabel diatas, dapat dijelaskan bahwa dari 20 data sample uji coba ditemukan beberapa data yang tidak dapat mendeteksi kedipan mata. Sehingga persentase keberhasilan Gambar 14. Contoh Gagal Dari Hasil Pengujian Tingkat Sensitif Kedipan Mata Gambar 16. Contoh Gagal Dari Hasil Pengujian Sudut Miring Wajah Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 Tabel 8. Hasil Perbandingan Deteksi Kantuk II di Raspberry Pi Dengan Personal Computer Data Delay Raspberry Ket Ke. Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Gambar 17. Contoh Berhasil Dari Hasil Pengujian Sudut Miring Wajah Perbandingan running program di Raspberry Pi dengan Personal Computer bertujuan untuk mengetahui apakah sistem yang berjalan pada Raspberry Pi dapat dikatakan real time, dimana akan dibandingkan dengan Personal Computer yang sistemnya sudah berjalan secara real time. Dari ketiga tabel di atas, dapat dijelaskan bahwa perbandingan pengujian kedipan mata pada Raspberry Pi dengan Personal Computer menghasilkan output yang sama dengan persentase 100%, namun Raspberry Pi memiliki delay dengan rata-rata 55 detik terhadap Personal Computer. Sama halnya dengan pengujian deteksi kantuk, dimana Raspberry Pi menghasilkan output yang sama dengan Personal Computer yang memiliki persentase 100% dan rata-rata delay 0. 16 detik. Tabel 6. Hasil Perbandingan Kedipan Mata di Raspberry Pi Dengan Personal Computer Data Delay Raspberry Ket Ke. Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Gambar 18. Contoh Hasil Perbandingan Kedipan Mata di Raspberry Pi (Kana. Dengan Personal Computer (Kir. Tabel 7. Hasil Perbandingan Deteksi Kantuk I di Raspberry Pi Dengan Personal Computer Data Delay Raspberry Ket Ke. Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Gambar 19. Contoh Hasil Perbandingan Deteksi Kantuk di Raspberry Pi (Kana. Dengan Personal Computer (Kir. Hasil Perbandingan Running Program di Raspberry Pi Dengan Personal Computer Andrea H. P, dkk /Journal of Technology and Informatics (JoTI) Vol. No. Oktober 2019, 1-9 . Caldwell. John A. , & Caldweel. Lynn. Fatigue in Aviation : A Guide to Staying Awake at The Stick. Farnham : Ashgate Publishing . Breiman et. Classification and Regression Tress. New York : Chapman and Hall KESIMPULAN Dari perancangan program hingga pengujian yang telah dilakukan, maka dapat disimpulkan sebagai berikut: Metode untuk mendeteksi wajah pada sistem deteksi mata kantuk secara akurat dapat menggunakan Histogram of Oriented Gradients, dimana metode ini memiliki komputasi yang cukup banyak sehingga proses yang dilakukan Raspberry Pi cukup Sistem deteksi mata kantuk yang berjalan pada Raspberry Pi dapat dikatakan cukup real time. Sistem ini memiliki delay berkisar 16 detik dari sistem yang dijalankan pada personal computer yang dapat dikatakan real time. Sistem deteksi mata kantuk yang berjalan pada Raspberry Pi dapat beroperasi dengan baik sesuai dengan sistem yang berjalan pada personal computer dengan persentase sebesar 100%. SARAN Untuk menghasilkan keluaran dengan frame per second yang tinggi secara real time dibutuhkan perangkat keras yang memiliki microprocessor dengan clockspeed yang lebih tinggi daripada Raspberry Pi 3 Model B. DAFTAR PUSTAKA