BAB 3 ANALIS IS & PERANCANGAN
3.1 Analisis 3.1.1
Permasalahan M enurut Wakapolda Sulawesi Selatan dan Barat (tvOne, 2010), Brigjen Pol Wisjnu Amat Sastro, Indonesia saat ini menempati urutan pertama berdasarkan tingkat kasus kecelakaan lalu lintas di ASEAN. Ia menyebutkan, selama periode 2004 hingga 2008 kasus kecelakaan lalu lintas di wilayah Sulawesi Selatan dan Barat saja telah mencapai angka 60.809 kasus. Korban luka ringan mencapai 43.458 orang, luka berat 24.355 orang, korban meninggal 15.963 jiwa dan kerugian materil mencapai Rp84,416 juta per tahun. M engenai usia korban, sebagian besar masih tergolong produktif. Terkait hal tersebut, Wisjnu menuturkan ada empat faktor penyebab utama terjadinya kecelakaan lalulintas, yakni kondisi kendaraan, kondisi jalan, lingkungan serta pengendara. Dengan rincian, faktor kendaraan sebanyak 2.803 kali kecelakaan, faktor jalan 1.842 kali, faktor lingkungan 577 kali, faktor manusisa 35.557 kali dan 1.266 kali faktor lainnya. Berdasarkan dari hasil data di atas, kecelakaan lalu lintas saat ini sering kali terjadi disebabkan oleh faktor manusia (kelalaian pengendara). Kelalaian-kelalaian yang dilakukan oleh pengendara sangat beragam, mulai dari tidak fokusnya pengendara saat menyetir, menggunakan
alat
komunikasi atau cellphone saat menyetir, melanggar rambu-rambu lalu 47
48 lintas, hingga kondisi pengendara yang sedang mengantuk. Untuk menanggapi masalah pengemudi yang mengantuk saat menyetir, dilakukan penelitian untuk membuat piranti lunak yang dapat membantu pengendara untuk mengatasi masalah tersebut dengan menganalisa kondisi mata pengendara. Piranti lunak ini menggunakan mata sebagai objek observasi. Pemilihan mata sebagai objek observasi dikarenakan mata merupakan faktor yang sangat penting untuk mendeteksi keadaan pengemudi, apakah pengemudi dalam keadaan mengantuk atau tidak. Citra mata diambil dengan menggunakan webcam sebagai citra real time. Dengan penggunaan webcam sebagai input secara real time dapat menyebabkan beberapa masalah seperti buffer overflow, serta waktu proses dan keakuratan dalam proses pendeteksian objek. •
Buffer overflow biasanya disebabkan karena daya tampung memory yang terbatas dalam menyimpan input berupa citra real time secara terus-menerus selama program dijalankan.
•
Waktu proses dan keakuratan dalam melakukan pendeteksian objek menjadi pertimbangan utama dalam pemilihan metode. Hal ini dikarenakan program berlangsung secara real time maka dibutuhkan waktu proses yang rendah, selain itu mengingat objek yang akan dideteksi cukup kecil berupa mata maka tingkat keakuratan harus diperhatikan.
49 3.1.2
S olusi Permasalahan Setiap permasalahan memiliki peranan nilai dalam menentukan keakuratan program piranti pendeteksian dan analisis kondisi mata. Akan tetapi, setiap permasalahan ini memiliki poin pembahasan yang berbeda, maka untuk mengatasi permasalahan tersebut digunakan beberapa metode yang terpisah. M etode-metode yang digunakan untuk mengatasi permasalahan tersebut antara lain : •
M enggunakan template sementara untuk menampung citra hasil tangkapan dari web camera. Citra yang sudah selesai diproses dan tidak dibutuhkan lagi akan dihapus. Cara ini digunakan untuk mengatasi buffer flow.
•
Untuk mengatasi waktu proses serta keakuratan dalam mendeteksi objek berupa mata, maka terlebih dahulu dilakukan pendeteksian pada wajah. Pendeteksian ini akan mempersempit ruang pendeteksian mata sehingga mempercepat waktu proses pendeteksian dengan tingkat keakuratan yang tinggi. Untuk pendeteksian wajah digunakan metode Viola-Jones.
3.2
Gambaran S ingkat Piranti Pendeteksian dan Analisa Kondisi Mata Tertutup Piranti pendeteksian dan analisis kondisi mata tertutup ini dibangun pada Visual C++ 2008 Express Edition dengan pustaka OpenCV dan menggunakan web cam sebagai sarana untuk mendapatkan masukan berupa citra. Citra ini akan diproses dengan teknik-teknik dasar dari pengolahan citra seperti cvCvtColor untuk mengubah RGB image menjadi Grayscale image, dan lainnya. Dalam
50 pendeteksian objek wajah pada citra digunakan teknik Viola-Jones. Teknik ini dikembangkan oleh Paul-Viola dan M ichael Jones, di dalam teknik ini mengandung fitur haar-like, algoritma adaboost,
serta metode cascade of
classifier. Setelah wajah terdeteksi, maka akan dilanjutkan dengan pendeteksian area mata yang terletak pada wajah. Area mata ini telah diperkirakan dengan perbandingan tertentu dari luas wajah secara keseluruhan. Area mata yang telah terdeteksi ini kemudian akan dilakukan analisa terhadap kondisi mata apakah mata dalam keadaan tertutup atau tidak. Sistem ini dibangun pada visual C++ 2008 Express Edition dengan pustaka openCV. Berikut merupakan rancangan use class diagram dan activity diagram.
Sistem deteksi dan analisa kondisi mata
M endeteksi wajah dan mata
User Analisa perubahan kondisi mata
Gambar 3.1 Use Case Sistem
51 Deskripsi Use Case : 1. M endeteksi wajah dan mata Pada bagian ini dilakukan pendeteksian wajah yang diikuti oleh pendeteksian mata. Flow of Events : 1. User menyalakan alat input berupa web cam atau handycam. 2. Sistem mengambil citra dari alat input. 3. Sistem mendeteksi wajah. 4. Sistem mendeteksi mata.
52
User M engaktifkan alat input
Alat Input
Sistem
M engcapture citra M engambil citra dari alat input
preprocessing
M endeteksi wajah
M endeteksi mata
Action 2
Gambar 3.2 Activity Diagram M endeteksi Wajah dan M ata
Layar
53 2. Analisa perubahan kondisi mata Pada bagian ini dilakukan analisa terhadap perubahan kondisi mata apakah dalam keadaaan tertutup atau tidak. Flow of Events : 1.
User menutup atau membuka mata.
2.
Sistem menangkap perubahan kondisi pada mata.
3.
Sistem menentukan kondisi mata saat ditangkap.
4.
Sistem memunculkan warning berupa bunyi bila mata dalam keadaaan tertutup lebih dari waktu yang diperbolehkan.
54
User M enutup atau membuka mata
\
AlatInput
Sistem
M engcapture citra
M embandingkan kondisi mata dengan kondisi sebelumnya
Layar
M enentukan kondisi mata tertutup / terbuka
M elewati batas waktu normal Sistem warning
Gambar 3.3 Activity Diagram Analisa Perubahan Kondisi M ata
55 3.2.1
Perangkat Lunak Aplikasi Perangkat keras tentunya tidak akan berfungsi tanpa ada perangkat lunak begitu pula sebaliknya. Kedua perangkat tersebut memang saling berkaitan sehingga komputer dapat berfungsi dengan baik. Perkembangan teknologi terutama dalam perangkat keras terus diimbangi oleh perangkat lunaknya sehingga penggunaan komputer lebih maksimal. Kemampuan komputer dirasakan sangat berkaitan dengan perangkat keras dan perangkat lunaknya, maka dari itu diperlukan perangkat lunak yang benar-benar mendukung perangkat kerasnya. Seperti yang kita ketahui, komputer membutuhkan data atau fakta, di mana data ini pada saat diinput akan diterjemahkan menjadi bilangan biner. M esin komputer memproses fakta atau data menjadi sebuah informasi yang berguna
bagi
penggunanya.
Dengan
komputer
diharapkan
dapat
meningkatkan hasil kerja dan mampu memecahkan masalah yang ada. Untuk itu dibuatlah perangkat lunak aplikasi (Application Software). Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan
perangkat
lunak
sistem
yang
mengintegrasikan
berbagai
kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media.
56 Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya
adalah
M icrosoft
Office
dan
OpenOffice.org,
yang
menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah.
3.3 Perancangan Perangkat Lunak Aplikasi 3.3.1
Proses Inisialisasi dan Pengambilan Input Pada proses ini dilakukan inisialisasi terhadap ukuran mata dalam keadaan terbuka. Inisialisasi ini dilakukan dalam jumlah frame yang telah ditetapkan. Program ini menggunakan input device berupa web-camera yang akan menangkap citra secara real time. Web-camera yang digunakan memiliki standar minimum 320x240 piksel dengan tingkatan minimum 15 fps (frame per second).
57 START
Inisialisasi variabel
END
Simpan frame
Input webcam
Cek capture
Cek frame
Gambar 3.4 Diagram alir pengambilan input
Proses pengambilan input citra diawali dengan menyediakan variabel template matriks yang berukuran 320x240. Setelah berhasil menciptakan variabel tersebut, maka lakukan pengecekan pada input device yaitu web-camera. Lakukan pengecekan capture apakah frame berhasil ditangkap, bila web cam telah berhasil melakukan proses capture maka proses pengambilan input template dapat dilakukan. Pengambilan input template menunjukan bahwa web cam telah beroperasi dengan baik. Frame ini yang nantinya akan menjadi input dalam sistem.
3.3.2
Tahap Preprocessing Pada Citra Tahap preprocessing citra adalah urutan langkah awal yang dilakukan terhadap frame input sebelum masuk ke dalam proses pendeteksian objek. Preprocessing ini akan mengatur spesifikasi frame yang masuk agar sesuai dengan syarat proses pendeteksian objek pada frame. Urutan langkah yang dilakukan dalam proses preprocessing ini dimulai dari penerimaan frame sampai equalisasi histogram.
58 START
Inisialisasi variabel
input
END
Equalisasi histogram
Operasi Blur
Operasi flip
Operasi Grayscale
Gambar 3.5 Diagram alir preprocessing citra
3.3.2.1
Inisialisasi variabel M enyiapkan
variabel yang akan
digunakan
untuk
menampung tahap-tahap dari proses pengolahan citra ini. Variabel yang dibuat memiliki ukuran lebih kecil dari citra asli dengan skala tertentu. Hal ini bertujuan agar ukuran input pada proses pendeteksian wajah lebih kecil sehingga akan memperingan proses pendeteksian.
3.3.2.2
Pengambilan frame Hasil tangkapan frame dari web-camera ini akan menjadi input dari sistem piranti lunak pendeteksian dan analisa kondisi mata tertutup.
3.3.2.3
Pencerminan citra Dalam menangkap frame dari suatu objek menggunakan web-camera, frame dihasilkan merupakan pencerminan dari objek aslinya. Bagian dari sisi kanan objek akan menjadi sisi kiri pada frame, begitu pula sebaliknya. M asalah tersebut dapat diatasi
59 dengan menggunakan operasi flip. Operasi flip ini dilakukan dengan menyalin nilai warna dari citra asli secara berlawanan. Berikut adalah Pseudocode untuk penjelasan lebih
lanjut
mengenai operasi pencerminan. PSEUDOCODE Flip
-> Inisialisasi
variabel
template
matrix
frame Height -> set nilai tinggi frame Width -> set nilai lebar frame For i=0 to (nilai height frame - 1) For j = 0 to (nilai width frame - 1) For
k
=
0
to
(nilai
channel
frame - 1) Begin Flip[i*stepp+(widthj)*channelframe+k] = frame[i*step+(j)] _* channelframe+k] End
Set
frame
=
flip
(mengembalikan
nilai
frame hasil pencerminan kepada variabel frame)
Operasi untuk mengakses nilai pada citra dilakukan dengan menggunakan Direct Access dengan sebuah pointer.
60
Gambar 3.6 Sebelum operasi flip
Gambar 3.7 Sesudah menggunakan operasi flip dari pustaka OpenCV
61 3.3.2.4
Konversi RGB To Gray Proses yang sering dilakukan pada saat image processing adalah konversi citra berwarna menjadi gray-scale. Input citra yang diterima dari web cam berupa gambar RGB (Red Green Blue),
sehingga
perlu
dilakukan
proses
konversi
untuk
menyederhanakan citra, dengan tujuan mengurangi tingkat kesalahan pada tahap-tahap berikutnya. Citra RGB terdiri dari 3 layer matrik, yaitu Red layer, Green layer, dan Blue layer, maka pada proses konversi RGB to Gray dilakukan tranformasi dari sebuah image berwarna 24 bit dengan 3 channel menjadi sebuah image grayscale 8 bit dengan single channel. Konversi ini dilakukan dengan melakukan penjumlahan nilai bobot dari warna merah, biru, dan hijau dari citra berwarna. Rumus yang digunakan untuk mengkonversi warna pada citra adalah : Y=0.299R+0.587G+0.114B
PSEUDOCODE GrayImg -> Inisialisasi variable template matrix untuk citra grayscale Height -> Set nilai tinggi frame Width -> Set nilai lebar frame For
i = 0 to (nilai height frame -1) For
j = 0 to (nilai widtgh frame -1)
62 GrayImg [i] [j] = frame [i] [j].r*0.299 + frame [i] [j].g*0.587+ frame [i] [j].b*0.114
3.3.2.5
Equalisasi Histogram Equalisasi histogram bertujuan untuk meningkatkan detail dan kontras pada citra, terutama ketika data pada gambar dipresentasikan dengan nilai kontras yang sangat dekat. M elalui penyesuaian, intensitas warna pada citra dapat didistribusikan secara lebih baik pada histogram. Equalisasi ini membuat area dengan nilai kontras yang kecil mendapatkan nilai kontras yang tinggi tanpa mempengaruhi kontras secara keseluruhan. Hal ini dilakukan dengan melakukan penyebaran secara efektif dari nilai intensitas yang paling banyak.
3.3.3
Proses Pendeteksian Wajah Proses pendeteksian wajah merupakan salah satu bentuk pengenalan pola pada citra. Citra yang digunakan dalam tahap ini merupakan citra yang telah berhasil ditangkap ke dalam frame oleh web cam dan telah mengalami tahap processing awal. Teknik yang digunakan pada proses pendeteksian wajah ini menggunakan teknik yang dikembangkan oleh viola-jones. Di dalam teknik ini terdapat metode cascade of classifier, haar-like feature classifier, dan lain-lain. Cascade of calssifier adalah suatu metode klasifikasi yang menggunakan beberapa tingkatan dalam melakukan klasifikasi. Di tiap
63 tingkatan dilakukan pendeteksian menggunakan fitur haar-like yang jenis dan jumlahnya beragam (semakin tinggi tingkatan, semakin banyak jumlah fitur yang digunakan).
64
START
Input citra hasil preprocesing
Load template wajah
Gagal
Coba masukkan template lain
Berh asil
Pendeteksian wajah
Menghitung waktu pendeteksian
hasil
Negative O bject
Positive Object Pemberian lingkaran pada wajah
Tidak terdeteksi wajah
END
Gambar 3.8 Diagram Alir Pendeteksian Wajah
65 Proses diawali dengan mengambil citra dari hasil preprocessing. Setelah itu dilakukan pengambilan template wajah yang telah disediakan oleh OpenCV. Template yang tersedia merupakan hasil training, ada beberapa template yang disediakan oleh OpenCV untuk mendeteksi wajah seperti haarcascade_frontalface_alt.xml. Setiap template memiliki isi yang berbeda baik dari segi jumlah stage, jumlah tree, model segi empat dari fitur (rectangle) maupun nilai treshold nya. Dengan memilih salah satu dari kelima template itu, pendeteksian wajah pun dapat dilakukan. Template yang digunakan dalam sistem ini adalah haarcascade_frontalface_alt.xml. Template ini kami gunakan karena dalam proses pendeteksian wajah secara frontal yang kami coba memberikan hasil yang lebih stabil dibandingkan dengan template lain. Setelah berhasil mengambil template dari OpenCV, maka proses pendeteksian wajah dapat dilanjutkan dengan menggunakan fungsi cvHaarDetectObjects. Fungsi ini akan melakukan proses klasifikasi berdasarkan dari template yang ada terhadap citra input. Pengklasifikasian akan membagi antara sub window yang berupa citra wajah (positif objek) dengan citra selain wajah (negatif objek).
<size>20 20
type_id="opencv-haar-
66 <stages> <_> <_> <_> <_>2 7 16 4 -1. <_>2 9 16 2 2. 0 4.3272329494357109e003 0.0383819006383419 1 <_> <_>8 4 3 14 -1. <_>8 11 3 7 2. 0 0.0130761601030827
67 0.8965256810188294 0.2629314064979553 <_> … … <stage_threshold>0.3506923019886017 <parent>-1 -1 <_> … <_> … <stage_threshold>53.7555694580078130 <parent>18 1
Stage melambangkan banyaknya tingkatan dalam cascade of classifier, dalam template ini digunakan 20 tingkatan (stage 0 sampai stage
68 19). Tingkatan ini digunakan untuk mengurangi jumlah sub window citra yang perlu diperiksa. Di tingkatan pertama dilakukan pengklasifikasian terhadap seluruh sub window citra, lalu di tingkatan kedua dilakukan pengklasifikasian
terhadap
sub
window
yang berasal
dari
hasil
pengklarifikasian tingkatan pertama. M aka semakin tinggi tingkatanya semakin sedikiit jumlah sub window yang harus diperiksa. Di tiap tingkatan terdiri dari beberapa tree, biasanya semakin tinggi tingkatan maka tree yang terdapat di dalamnya pun semakin banyak. Pada stage 0 terdapat 3 tree dan pada stage 19 terdapat 109 tree. Di dalam tree terdapat haar-like feature dan adaboost algorithm. M odel haar-like feature ditampilkan dalam koordinat segi empatnya (rects) sedangkan adaboost algorithm digunakan untuk pembobotan ulang weight agar diperoleh sedangkan proses adaboost ini terjadi di dalam tree.
strong algorithm,
69
Gambar 3.9 Cascade of Classifier
Semakin tinggi stage maka jumlah sub window yang diperiksa semakin sedikit akan tetapi jumlah tree yang berfungsi untuk melakukan pengecekan semakin banyak. Hal ini yang memberikan keseimbangan antara waktu proses dan tingkat kompleksitas pada cascade of classifier, sehingga metode ini akan memperoleh hasil dengan nilai error rendah pada waktu yang relatif singkat. Setelah proses pendeteksian wajah berhasil dilakukan, maka sistem akan menetukan sub window mana yang mengandung gambar wajah dan tidak. Pada citra yang mengandung gambar wajah dilakukan proses pemberian kotak di sekitar wajah. Hal ini untuk mengecek apakah proses
70 pendeteksian wajah ini telah berhasil mengenali wajah pada citra dengan tepat dan menentukan letak wajah pada citra. Dengan mempertimbangkan tujuan utama dari sistem yaitu untuk menciptakan sebuah piranti lunak aplikasi pendeteksian dan analisa kondisi mata tertutup dengan satu orang pengguna, maka pada sistem ini wajah yang dideteksi hanyalah wajah pengguna. Piranti lunak aplikasi ini mengasumsikan bahwa wajah pengguna adalah wajah yang pertama kali terdeteksi.
Gambar 3.10 Hasil Pendeteksian Area Wajah
3.3.4
Proses Penentuan Area Mata Proses
penentuan
mata
merupakan
kelanjutan
dari
proses
pendeteksian wajah pada citra. Di mana citra input yang digunakan di dalam tahap ini adalah sub window yang telah berhasil dideteksi sebagai wajah.
71 Proses penentuan area mata ini menggunakan sebuah nilai perbandingan dari luas area wajah, nilai perbandingan ini telah teruji dan luas area wajah diperoleh dari hasil pendeteksian wajah. Pada pendeteksian wajah ketika terdeteksi maka akan dikembalikan parameter berupa koordinat titik sebelah kiri atas serta panjang dan lebar dari sub window yang berisi citra wajah. Penggunaan perbandingan untuk menentukan area mata pada citra wajah akan mempercepat proses pencarian. Dari perhitungan ini akan dapat diperkirakan posisi dari bola mata, selanjutnya dari posisi yang belum pasti ini akan dilakukan pencarian mengenai letak pasti dari bola mata.
Gambar 3.11 Hasil Pendeteksian Area Wajah dan M ata
72 3.3.5
Proses Deteksi Kondisi Mata 3.3.5.1
Peningkatan Contrast Peningkatan contrast digunakan untuk mempertinggi perbedaan detail warna pada citra sehingga perbedaan antara daerah mata dan kulit semakin jelas.
Rumus F(s) = ((((s/255)-0.3)*contrast)+0.3)*255 Jika F(s)>255 -> F(s) = 255; Jika F(s)<0 -> F(s) = 0; Ket : s = Nilai tingkat grayscale pada pixel Contrast = nilai contrast (±100)
Pseudocode Set n -> nilai contrast (-100 sd 100) For X dari 0 sampai tinggi area mata terdeteksi For y dari 0 sampai lebar area mata terdeteksi Begin Pixel = getPixel (x,y) Pixel = ((((pixel/255)-0.3)*n)+0.3)255 If Pixel > 255 then Pixel = 255 If Pixel < 0 then Pixel = 0 SetPixel (x,y) = pixel End
73 3.3.5.2
Peningkatan Brightness Peningkatan brightness dilakukan untuk memisahkan antara objek gelap dan objek terang pada wajah, dengan landasan bahwa warna bola mata cenderung mempunyai warna yang gelap dibandingkan bagian wajah lainnya (selain rambut). Teori utama dari brightness adalah menambahkan nilai intensitas warna sebanyak nilai yang kita tentukan agar warna cenderung menjadi lebih terang.
Rumus F(s) = s+b; If f(s) > 255 then f(s) = 255 If f(s) < then f(s) = 0; Ket : s = Nilai tingkat grayscale pada pixel b = Nilai brightness (-245 sampai 254) Pseudocode Set n = nilai brightness (-255 sd 255) For x dari 0 sampai tinggi area mata terdeteksi For y dari 0 sampai lebar area mata terdeteksi Begin Pixel = getPixel (x,y) Pixel =
pixel + n
If Pixel > 255 then Pixel If Pixel < 0 then pixel = 0 SetPixel(x,y) = pixel End
= 255
74 3.3.5.3
Penentuan Kondisi Mata Tertutup Dalam menentukan kondisi mata tertutup dilakukan dengan cara menaikan kontras dan pemisahan area gelap dan terang dengan meningkatkan brightness maka sudah dapat dideteksi apakah mata sedang terbuka atau tertutup, di saat mata terbuka akan terdeteksi piksel hitam yang berasal dari bagian bola mata. Dengan membandingkan nilai piksel hitam dari frame sebelumnya, maka dapat ditentukan apakah mata terbuka atau tertutup.
Gambar 3.12 Hasil Proses Citra (Contoh M ata Terbuka)
75
Gambar 3.13 Hasil Proses Citra (Contoh M ata Tertutup)
Pada gambar 3.12 menunjukan hasil proses citra setelah dilakukan peningkatan kontras dan brightness, didapatkan mata terbuka karena didaerah mata masih terdapat pixel hitam yang merupakan bagian bola mata. Sedangkan pada gambar 3.13 merupakan hasil proses citra yang menunjukan mata tertutup dikarenakan daerah mata hampir tidak ditemukan nilai pixel hitam. Penentuan dilakukan dengan melihat jumlah pixel hitam yang terdapat didaerah bagian mata, apabila jumlah pixel hitam lebih kecil dari nilai maksimum maka dipastikan bahwa mata user sedang tertutup, sedangkan bila jumlah pixel hitam sebanding dari nilai maksimal maka mata user dipastikan sedang terbuka.
76 Untuk mengurangi kesalahan pendeteksian mata tertutup, maka untuk mengirim signal mata tertutup akan dilakukan proses pendeteksian selama 10 frame (sekitar 2 detik), apabila hanya tertutup sebentar atau sekejap saja maka hanya akan dianggap berkedip tanpa ada proses lebih lanjut. Sedangkan apabila mata tertutup, maka akan dikirimkan signal untuk menyalakan warning.