• Tidak ada hasil yang ditemukan

Aplikasi pendeteksi mata mengantuk berbasis citra digital menggunakan metode haar classifier secara real rime

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi pendeteksi mata mengantuk berbasis citra digital menggunakan metode haar classifier secara real rime"

Copied!
88
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

NIM : 10109116

Tempat tanggal lahir : Dabo Singkep, 09 Juli 1991

Alamat : Jl Garuda , Dabo Singkep Kepulauan Riau

Almat Bandung : Jl Kebon Bibit Barat No 27 Taman Sari Bandung

Jenis Kelamin : laki-laki

Agama : Islam

No Hp : 081222644440

Email : Randy_kuswara@yahoo.com

Judul Skripsi : Aplikasi pendeteksi mata mengantuk berbasis citra digital

menggunakan metode haar classifier secara real time

Jurusan : Teknik Informatika

(6)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik dan Ilmu komputer

RANDY KUSWARA

10109116

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(7)

iii

Assalamu’alaikum, Wr.,Wb.

Puji dan syukur penulis panjatkan ke hadirat Allah SWT, atas rahmat dan

karunia-Nya penyusunan skripsi dengan judul “APLIKASI PENDETEKSI

MATA MENGANTUK BERBASIS CITRA DIGITAL MENGGUNAKAN

METODE HAAR CLASSIFIER SECARA REAL TIME ” dapat diselesaikan

tepat pada waktunya. Skripsi ini diajukan untuk memenuhi syarat dalam

menempuh ujian akhir sarjana program strata satu (S1) Jurusan Teknik

Informatika Universitas Komputer Indonesia.

Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan,

buatan dan masukan dari berbagai pihak. Untuk itu , penulis ingin menyampaikan

terimakasih yang sebesar-besarnya kepada :

1. Orang tua dan keluarga yang senantiasa mendoakan dan memberikan

dukungan moril maupun materil.

2. Ibu Nelly Indriani W.,S.Si.,M.T selaku dosen pembimbing yang telah

memberikan arahan dan waktuya.

3. Bapak Galih Hermawan, S.Kom., M.T. selaku dosen reviewer seminar

yang telah memberikan arahan dan mengeluarkan waktunya dalam

bimbingan penyusunan skripsi.

4. Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku dosen penguji III

(8)

iv Teknik Informatika UNIKOM.

7. Rekan-rekan kelas IF-3 angkatan 2009 serta rekan satu bimbingan yang

selama ini menjadi teman berbagi ilmu, tawa dan cerita.

8. Itsa Asvita, Gyan aryadi yang telah menyemangati selama ini dalam

peyusunan skripsi ini.

9. Semua pihak yang telah membantu yang tidak bisa penulis sebutkan

satupersatu.

Penulis menyadari bahwa dalam penyusunan skripsi ini masih terdapat

banyak kekurangan dan jauh dari predikat sempurna, maka untuk itu kritik dan

saran yang membangun sangat penulis harapkan dari para pembaca.

Terlepas dari kekurangan yang ada semoga skripsi ini dapat bermanfaat

bagi penulis khususnya dan bagi para pembaca pada umumnya dalam upaya

meningkatkan pengetahuan kita semua. Amin. Wassalamu alaikum, Wr., Wb.

Bandung, Agustus 2013

(9)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xii

DAFTAR PERSAMAAN ... xiv

DAFTAR LAMPIRAN ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan... 2

1.3.1 Maksud ... 2

1.3.2 Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodelogi Penelitian ... 3

1.6 Sistematika Penulisan ... 5

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Mata Mengantuk ... 7

2.2 Parameter Mengantuk ... 8

(10)

vi

2.7 Deteksi Mata ... 15

2.8 Haar Cascade Classifier ... 15

2.8.1 Training Data pada Haar ... 16

2.8.2 Sistem Kerja Algoritma Haar Cascade Classifier ... 16

2.9 DFD (Data Flow Diagram)... 16

2.9.1 Simbol-simbol Pada DFD ... 17

2.10 Software Pendukung ... 19

2.10.1 Bahasa Pemograman C#... 19

2.10.2 Microsoft Visual Studio 2010 ... 20

2.10.3 OpenCV 2.3.1 ... 20

BAB 3 ANALISIS DAN PERANCANGAN ... 20

3.1 Analisis Sistem ... 22

3.1.1 Analisis Masalah ... 22

3.1.2 Analisis mata mengantuk ... 21

3.1.3 Analisis lingkungan ... 24

3.1.4 Analisis Proses Pngenalan Pola Mata Pada Haar ... 24

3.1.5 Tahap Deteksi Mata ... 28

3.1.6 Algoritma AdaBoost ... 36

3.1.7 Analisis Kebutuhan Non Fungsional ... 47

(11)

vii

3.1.9.1 Diagram Konteks ... 50

3.1.9.2 Data Flow Diagram ( DFD ) ... 50

3.1.10 Spesifikasi Proses ... 52

3.1.11 Perancangan Antar Muka ... 54

3.1.12 Perancangan Antarmuka Form MenuUtama ... 55

3.1.12.1 Desain Form MenuUtama ... 55

3.1.12.2 Deskripsi Objek Form Menu Utama... 55

3.1.12.3 Desain Form Deteksi ... 56

3.1.12.3 Deskripsi Objek Form Deteksi ... 56

3.1.13 Jaringan Semantik ... 57

BAB 4 IMPLEMENTASI DAN PENGUJIAN... 58

4.1 Implementasi sistem ... 58

4.1.1 Implementasi perangkat lunak ... 58

4.1.2 Implementasi perangkat keras ... 59

4.1.3 Implementasi aplikasi ... 59

4.1.4 Implementasi antarmuka ... 61

4.2 Pengujian ... 64

4.2.1 pengujian performansi ... 65

4.2.1.1 Pengujian lama kedipan mata ... 65

(12)

viii

4.2.2.1 Kesimpulan hasil pengujian alpha ... 73

4.2.3 pengujian beta ... 74

4.2.3.1 Kesimpulan pengujian beta ... 78

BAB 5 KESIMPULAN DAN SARAN ... 79

5.1 Kesimpulan ... 79

5.2 Saran ... 79

DAFTAR PUSTAKA ... 80

(13)

76

[1]

http://metro.sindonews.com/read/2012/12/30/88/702019/catatan-kecelakaan-tahun-z2012 terakhir diakses pada tanggal 01 April 2013.

[2]

http://en.bisnis.com/articles/lebaran-2012-mayoritas-kecelakaan-lantas-gara-gara-ngantuk terakhir diakses pada tanggal 01 April 2013.

[3] Paul Viola and Michaels J. Jones. 2001. Rapid Object Detection using

boosted Cascade of Simple Features.IEEE CVPR.

[4] Marcus, T. 2007. Rekayasa Perangkat Lunak.Jakarta. Elex Media

Komputindo.

[5] Putra, Darma. 2010. Pengolahan Citra Digita.Yogyakarta. Penerbit Andi.

[6] Fadilsyah. 2007. Computer Vision dan Pengolahan Citra.Yogyakarta.

Penerbit Andi.

[7] http://www.kit.nl/library/documents/query.ashx?RecordID=430241 terkhir diakses pada tanggal 10 April 2013

[8] Andreassi, J. L, 2006.Psychophysiology.New York. human behavior and physiological response.

[9] P.P. Caffier, U. Erdmann and P. Ullsperger, 2005. The spontaneous

eye-blink as sleepiness indicator in patients with obstructive sleep apnoea

syndrome - a pilot study. Sleep Medicin.

[10] Sugiyono, 2010. Metode Penelitian Kuantitatif Kualitatif dan R&D.

(14)
(15)

1

kota besar seperti Jakarta. Kecelakaan lalu lintas saat ini merupakan salah satu

penyebab terbesar dalam peningkatan angka kematian di suatu daerah. Sebagai

sampel, di wilayah Jakarta, kecelakaan lalu lintas karena kesalahan pengemudi

mencapai 7.817 kasus pada tahun 2012, dan korban yang tewas mencapai 901

orang [1].

Penyebab terbesar kecelakaan terjadi karena pengemudi mengantuk.

Berdasarkan data laporan rekapitulasi Operasi Ketupat Jaya 2012 ada 134

kecelakaan lalu lintas yang menyebabkan 13 korban meninggal dunia, 41 korban

luka berat, dan 139 korban luka ringan. Sebagian besar kecelakaan terjadi di

kawasan perbelanjaan yang memang ramai ketika menjelang Lebaran dan hari

Lebaran. 133 kecelakaan disebabkan oleh faktor manusia, yakni faktor

lelah/mengantuk [2]. Mengantuk banyak mengakibatkan kecelakaan lalu lintas

yang meyebabkan korban cedera, kerugian materi dan bahkan kematian.

Berdasarkan latar belakang yang telah dijelaskan, akan dibuat aplikasi

untuk mendeteksi kantuk dengan mengamati pergerakan mata seseorang ketika

menutup. Adapun teknologi yang mendukungnya adalah Computer Vision. Tujuan

utamanya adalah untuk membuat keputusan yang berguna tentang objek fisik

nyata dan pemandangan berdasarkan image yang didapat dari sensor. Penerapan

Computer Vision cukup banyak digunakan dalam sistem keamanan maupun

proteksi. Salah satunya pengenalan pola pada objek mata. Sistem pendeteksi

kantuk ini memanfaatkan webcam camera sebagai sensornya. Selanjutnya data

kamera diproses dengan menggunakan CPU (Central Processing Unit) untuk

mengolah dan mengeksekusi data yang telah ditangkap. Metode yang digunakan

untuk mendeteksi mata mengantuk adalah Haar Cascade classifier, yaitu metode

yang dapat melihat dari adanya mata seseorang tertutup dan metode ini memiliki

(16)

“Aplikasi Pendeteksi Mata Mengantuk Berbasis Citra Digital Menggunakan Metode Haar Classifier Secara Real Time”.

1.2 Rumusan masalah

Bagaimana membangun sebuah aplikasi pendeteksi mata berbasis citra

digital mengunakan metode Haar Classifier Secara Real Time.

1.3Maksud dan Tujuan

1.3.1 Maksud

Maksud dari penulisan tugas akhir ini adalah membangun Aplikasi

Deteksi Mata Mengantuk Berbasis Citra Digital Menggunakan Metode Haar

Classifier secara Real Time.

1.3.2 Tujuan

Adapun tujuan dari penulisan tugas akhir ini adalah untuk mendeteksi

mata seseorang yang mengantuk.

1.4 Batasan Masalah

Adapun batasan masalah tersebut adalah sebagai berikut :

1. Aplikasi ini mendeteksi mata manusia secara real time.

2 Metode yang digunakan adalah Metode Haar Cascade Classifier.

3 Jika mata mengantuk, keluaran yang dihasilkan berupa informasi mengantuk.

4 Sistem ini tidak berfungsi jika tidak ada cahaya.

5 Citra training adalah citra mata dengan menggunakan format BMP dan citra uji

adalah mata seseorang di depan webcam.

6 Sistem operasi yang digunakan adalah Microsoft Windows 7 Starter.

7 Pembuatan software menggunakan C# dengan IDE Visual Studio 2010.

8 Sistem yang dibangun berbasis Dekstop.

9 Sistem menggunakan library EmguCV dan OpenCV

10Aplikasi ini mencangkup simulasi untuk sistem keamanan didalam mobil.

1.5 Metodologi Penelitian

Metodologi yang dilakukan dalam penelitian ini terdiri atas:

(17)

1. Studi Kepustakaan, yaitu mempelajari literature, konsep serta

sumber-sumber dari buku-buku ataupun mengakses situs-situs yang berkaitan

dengan materi yang dibahas.

2. Diskusi dan konsultasi/wawancara, yaitu metode yang dilakukan dengan

cara melakukan diskusi dengan pihak-pihak yang dapat memberikan

sebuah masukan atau saran dalam pembuatan aplikasi ini khususnya para

pengemudi.

b. Tahapan Pembangunan Aplikasi

Model yang digunakan untuk proses pembangunan aplikasi ini adalah model

waterfall.

Gambar 1.1 Model WaterFall [4]

1. Requirement Information System Engineering : tahap ini merupakan

kegiatan pengumpulan data sebagai pendukung pembangunan sistem serta

menentukan ke arah mana aplikasi ini akan dibangun.

2. Analysis : Mengumpulkan kebutuhan secara lengkap kemudian dianalisis

dan didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan

dibangun. Tahap ini harus dikerjakan secara lengkap untuk bisa

menghasilkan desain yang lengkap.

Requirement sistem informasi engineering

Analisis

Desain

Coding

Implementation and testing

(18)

3. Design : perancangan antarmuka dari hasil analisis kebutuhan yang telah

selesai dikumpulkan secara lengkap.

4. Coding : hasil perancangan sistem diterjemahkan ke dalam kode-kode

dengan

menggunakan bahasa pemrograman yang sudah ditentukan. Aplikasi yang

dibangun langsung diuji baik secara unit.

5. Implementation and Testing : penyatuan unit-unit program kemudian diuji

secara keseluruhan.

6. Maintenance : mengoperasikan aplikasi dilingkungannya dan melakukan

pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan

situasi yang sebenarnya.

1.6 Sistematika Penulisan

Sistematika dari penulisan tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi mengenai latar belakang masalah, identifikasi masalah, maksud dan

tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi konsep dasar seperti citra digital, pengolahan citra ( Image

Processing ), deteksi mengantuk, Haar Classifier dan teori – teori pendukung

yang digunakan untuk tahap analisis, perangkat lunak dan perangkat keras yang

digunakan dalam pembangunan perangkat lunak.

BAB III ANALISIS DAN PERANCANGAN

Berisi tentang analisis kebutuhan perangkat lunak untuk menganalisis masalah

yang ada dalam pembangunan perangkat lunak, analisis fungsional dan non

fungsional dan pemodelan terstruktur untuk memperlihatkan keterkaitan antar

fungsi yang terdapat dalam perangkat lunak serta perancangan antarmuka

perangkat lunak.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Dalam bab ini diperlihatkan software yang dibangun dan hasil penelitian yang

(19)

kedipan mata, deteksi posisi wajah, jaraj wajah terhadap webcam, pengaruh

cahaya terhadap deteksi mata mengantuk, dan pengujian alpha.

BAB V KESIMPULAN DAN SARAN

Pada bab ini dijelaskan kesimpulan dari penelitian yang telah dibahas pada bab-

(20)
(21)

7 BAB 2

TINJAUAN PUSTAKA

2.1 Mata Mengantuk

Mengantuk merupakan kondisi ketika tubuh membutuhkan istirahat atau

tidur dan didefinisikan sebagai kecenderungan untuk tidur. Mengantuk dapat

disebabkan oleh kelelahan melakukan pekerjaan yang berulang-ulang seperti

survey monitor ataupun mengendarai kendaraan ketika dalam perjalanan jauh.

Kantuk dan lelah memiliki banyak efek yang sama. Pada kejadian ini, pada saat

ketika kelopak mata mulai terasa berat dan seketika menutup 100%, pandangan

mulai kabur dan tiba-tiba saja kelopak mata tersebut sudah menutup 100%

,sehingga mata tanpa bisa diajak kompromi lagi. Padahal dalam pikiran, merasa

masih terjaga. Hal itulah yang menjadi tanda akan seseorang tersebut mengantuk.

Oleh karena itu dalam penelitian kali ini akan mendeteksi mata mengantuk,

menggunakan objek mata dalam keadaan tertutup 100% [9]. Mata dalam keadaan

terbuka dapat dilihat pada Gambar 2.1 dan mata dalam keadaan tertutup dapat

dilihat pada Gambar 2.2

Gambar 2.1 Mata dalam keadaan terbuka

(22)

2.2 Parameter Mengantuk

Menurut penelitian Tecce (1992) [9], frekuensi kedipan dapat dipengaruhi

faktor yang berbeda seperti : kondisi dan perintah. Dalam keadaan normal atau

bebas dari stres rata-rata kedipan mata adalah 15 sampai 20 kali permenit.

Frekuensi ini menurun sampai 3 kali permenit ketika membaca. Frekuensi

tersebut meningkat dalam keaadaan stress, tertekan ataupun ketika menutupnya

mata saat dibutuhkan.

Indikator untuk mengetahui seseorang sedang mengantuk dapat

dideskripsikan ketika kondisi normal (tidak mengantuk) posisi kelopak mata

membuka lebar sebelum menutup. Ketika menutupmemiliki interfal waktu yang

cepat (kurang dari satu detik). Ketika seseorang mulai lelah dan mengantuk, jarak

antara kedua kelopak mata semakin menyempit dan frekuensi kedipan semakin

menurun hingga tertidur.

Untuk memodelkan pengemudi yang sedang mengantuk dapat

diindikasikan bahwa terdapat parameter-parameter sebagai berikut:

1. Menurunnya interest interest terhadap lingkungan .

2. Meningkatnya kantuk atau kecenderungan untuk tidur, yaitu ditandai dengan

meningkatnya durasi kedipan mata untuk menutup.

Menurut studi yang dilakukan oleh Phillip .P. Caffier [10],

mengelompokkan tingkatan kantuk berdasarkan durasi kedipan mata. Umumnya

durasi kedipan rata-rata adalah kurang dari 400 Ms dan 75 Ms untuk minimum.

Berdasarkan alasan ini, maka digunakan 400 Ms sebagai waktu kantuk (T_kantuk)

dan 800 Ms sebagai waktu telah tertidur (T_tidur).

Tabel 2.1 Deteksi kantuk berdasarkan durasi kedipan

Level Kantuk Deskripsi

Normal (Terbangun) Durasi kedipan < T_kantuk

Mengantuk Durasi kedipan > T_kantuk dan Durasi

kedipan < T_tidur

Tidur Durasu kedipan >= T_tidur

(23)

Macam – macam gambar mata mengantuk

Gambar 2.3 Mengantuk 1 Gambar 2.4 Mengantuk 2

Gambar 2.5 Mengantuk 3

2.3 Pengolahan Citra ( Image Processing )

Pengolahan citra (image processing) adalah pengolahan suatu citra (gambar)

dengan menggunakan komputer secara khusus, untuk menghasilkan suatu citra

yang lain. Sesuai dengan perkembangan komputer itu sendiri, pengolahan citra

mempunyai dua tujuan utama[6], yaitu sebagai berikut:

1. Memperbaiki kualitas citra, dimana citra yang dihasilkan dapat menampilkan

informasi secara jelas. Hal ini berarti manusia sebagai pengolah informasi

(human perception).

2. Mengekstraksi informasi ciri yang menonjol pada suatu citra, dimana

hasilnya adalah informasi citra dimana manusia mendapatkan informasi ciri

dari citra secara numerik atau dengan kata lain computer (mesin) melakukan

interprestasi terhadap informasi yang ada pada citra melalui besaran-besaran

data yang dapat dibedakan secara jelas (berupa besaran numerik).

Dalam perkembangan lebih lanjut, image processing dan computer vision

digunakan sebagai pengganti mata manusia dengan perangkat input image capture

seperti kamera dan scanner dijadikan sebagai mata dan mesin komputer dijadikan

sebagai otak yang mengolah informasi. Oleh sebab itu uncul beberapa pecahan

bidang yang menjadi penting dalam computer vision antara lain: pattern recognition (pengenalan pola), biometric (pengenalan identifikasi manusia

berdasarkan ciri-ciri biologis yang tampak pada badan manusia), content based

image and video retrieval (mendapatkan kembali citra atau video dengan

(24)

2.4 Dasar – Dasar Pengolahan Citra Digital

Citra digital diasumsikan dengan persamaan f(x,y) dimana x menyatakan

nomor baris, y menyatakan nomor kolom, dan f menyatakan nilai derajat keabuan

dari citra. Sehingga (x,y) adalah posisi dari piksel dan f adalah nilai derajat

keabuan pada titik (x,y). Kecerahan setiap citra disimpan dengan cara pemberian

nomor pada setiap piksel. Makin tinggi nomor piksel maka makin gelap (hitam)

piksel tersebut. Begitu juga sebaliknya makin rendah nilai piksel tersebut maka

makin terang. Sistem yang umum memiliki 256 tingkat kecerahan untuk setiap

piksel, yang paling terang adalah 255 dan yang paling gelap adalah 0.

Gambar 2.6 Citra Digital

Citra atau gambar terbagi dalam tiga tipe adalah sebagai berikut: [6]

Gambar 2.6 Citra Digital

a. Gambar Grayscale

Citra yang terdiri dari satu layer warna dengann derajat keabuan tertentu.

Dinyatakan dalam suatu fungsi : ... (2.1)

b. Gambar Biner

Citra yang hanya memiliki dua nilai yaitu 1 dan 0. Dinyatakan dalam suatu fungsi

:

(25)

c. Gambar berwarna

Citra yang terdiri dari tiga layer warna yaitu RGB (Red-Green-Blue)

dimana R-layer adalah matrik yang menyatakan derajat kecerahan untuk warna

merah, G-layer adalah matrik yang menyatakan derajat kecerahan untuk warna

hijau, dan B-layer adalah matrik yang menyatakan derajat kecerahan untuk warna

biru. Representasi dalam citra digital dinyatakan dalam persamaan :

...(2.3)

Proses pengolahan citra digital dengan menggunakan komputer digital

adalah terlebih dahulu mentransformasikan citra ke dalam bentuk besaran-besaran

diskrit dari nilai tingkat keabuan pada titik-titik elemen citra. Bentuk citra ini

disebut citra digital. Elemen-elemen citra digital apabila ditampilkan dalam layar

monitor akan menempati sebuah ruang yang disebut dengan piksel (picture

elemen/pixel).

2.5 Computer Vision

Terminologi lain yang berkaitan erat dengan pengolahan citra digital adalah

computer vision atau machine computer. Pada hakikatnya, computer vision

mencoba meniru cara kerja visual manusia (Human Vision). Human Vision

sesungguhnya sangat kompleks, manusia melihat objek dengan indera penglihatan

(mata) kemudian objek citra diteruskan ke otak untuk diinterpretasi sehingga

manusia mengerti objek apa yang tampak dalam pandangan matanya. Hasil

interpretasi ini mungkin digunakan untuk mengambil suatu keputusan [6].

Sebagaimana layaknya mata dan otak, computer vision adalah merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi

visual, seperti akuisisi citra, pengolahan citra, pengenalan dan membuat

keputusan. Computer vision mencoba meniru cara kerja sistem visual manusia

(human vision) yang sesungguhnya sangat kompleks, setelah data objek yang

(26)

Manusia melihat dengan objek dengan indera penglihatan (mata), lalu citra

objek diteruskan ke otak untuk diinterpretasi sehingga manusia mengerti objek

apa yang tampak dalam pandangan mata. Hasil interpretasi ini digunakan untuk

pengambilan keputusan (misal ketika mata pengemudi mengantuk, alarm system

bekerja).

Proses-proses dalam computer vision dibagi dalam 3 (tiga) aktifitas :

1. Memperoleh atau mengakuisisi citra digital.

2. Melakukan teknik komputasi untuk memproses atau memodifikasi data citra.

3. Menganalisis dan menginterpretasi citra menggunakan hasil pemrosesan

untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan,

memantau manufaktur dan lain-lain.

Pengolahan citra merupakan proses awal (preprocessing) pada computer

vision, sedangkan pengenalan pola merupakan proses untuk menginterpretasi

citra. Teknik-teknik di dalam pengenalan pola memainkan peranan penting dalam

computer vision untuk mengenali objek.

Pengolahan citra merupakan proses awal pada computer vision, pengenalan

pola merupakan proses untuk menginterpretasi citra.

2.6 Pengenalan Pola

Pengenalan pola adalah mengelompokkan data numerik dan simbolik

(termasuk citra) secara otomatis oleh mesin (komputer).Tujuan pengelompokkan

adalah untuk mengenali suatu objek di dalam citra.Manusia bisa mengenali objek

yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di

alam sehingga mampu membedakan suatu objek dengan objek

lainnya.Kemampuan sistem visual manusia yang dicoba ditiru oleh mesin.

Komputer menerima masukan berupa citra objek yang akan diidentifikasi,

memproses citra tersebut dan memberikan keluaran berupa informasi/deskripsi

(27)

Gambar 2.7 Pola pengenalan[5]

Contoh pengenalan pola misalnya citra pada Gambar 5adalah citra mata yang

digunakansebagai data masukan untuk mengenali mata. Dengan menggunakan

suatu algoritmapengenalan pola, diharapkan komputer dapat mengenali bahwa

citra tersebut adalah mata.

2.7 Deteksi Mata (Eye Detection)

Untuk deteksi mata, pada penelitian ini menggunakan metode yang

dibangun oleh EmguCV. Deteksi objek oleh EmguCV diajukan oleh Paul Viola

dan dikembangkan oleh Rainer Lienhart.EmguCV menggunakan tipe deteksi

objek yang disebut Haar Cascade Classifier. Dengan memberikan gambar yang

berasal dari file maupun live video, detector ini menguji tiap lokasi gambar dan

mengklasifikasi sebagai objek atau bukan objek (dalam penelitian ini mata atau

bukan mata). Klasifikasi dilakukan dengan menggunakan data yang disimpan

dalam file XML, dimana berfungsi untuk memutuskan klasifikasi tiap lokasi

gambar. Instaler EmguCV sudah termasuk didalamnya data XML, untuk deteksi

objek.Dalam aplikasinya cukup memberitahu software, dimana dapat menemukan

file data yang ingin digunakan [3].

2.8 Haar Cascade Classifier

Proses deteksi adanya citra mata dalam sebuah gambar pada OpenCV,

menggunakan sebuah metode yang dipublikasikan oleh Paul Viola dan Michael

Jones tahun 2001. Umumnya disebut metode Haar Classifier.Metode ini

merupakan metode yang menggunakan statistical model (classifier)[7].

Pendekatan untuk mendeteksi objek dalam gambar menggabungkan empat konsep

utama:

1. Training data

2. Fitur segi empat sederhana yang disebut fitur Haar

(28)

4. Pengklasifikasi bertingkat (Cascade classifier) untuk menghubungkan

banyak fitur secara efisien

2.8.1 Training Data pada Haar

Metode ini memerlukan 2 tipe gambar objek dalam proses training yang

dilakukan[7], yaitu :

1. Positive samples

Berisi gambar objek yang ingin di deteksi, apabila ingin mendeteksi mata maka

positive samples ini berisi gambar mata, begitu juga objek lain yang ingin

dikenali.

2. Negative samples

Berisi gambar objek selain objek yang ingin dikenali, umumnya berupa gambar

background (tembok, pemandangan, lantai, dan gambar lainnya). Resolusi untuk

sampel negatif disarankan untuk memiliki resolusi yang sama dengan resolusi

kamera.

Training dari Haar menggunakan dua tipe sampel diatas.Informasi dari hasil

training ini lalu dikonversi menjadi sebuah parameter model statistik.

2.8.2 Sistem kerja Algoritma Haar Cascade Classifier

Algoritma Haar menggunakan metode statistikal dalam melakukan

pengenalan mata. Metode ini menggunakan simple haar-like features dan juga

AdaBoost Classifier. Classifier ini menggunakan gambar berukuran tetap. Cara

kerja dari Haar dalam mendeteksi mata adalah menggunakan teknik resize pada

gambar dan mencari apakah terdapat bagian dari gambar yang berbentuk seperti

mata atau tidak. Haar juga memiliki kemampuan untuk melakukan scaling

sehingga dapat mendeteksi adanya mata yang berukuran lebih besar ataupun lebih

kecil dari gambar pada classifier. Tiap feature dari haar-like feature didefinisikan

pada bentuk dari feature, diantaranya koordinat dari feature dan juga ukuran dari feature tersebut.

2.9 Persiapan DataSet data training

Dataset terdiri dari 2 buah sample. Sample positif adalah gambar yang

mengandung obyek yang akan dideteksi. Jika kita menginginkan mata mengantuk

(29)

Sample negatif adalah gambar yang tidak mengandung obyek yang akan

dideteksi. Seperti gambar pegunungan, mobil dsb. Masukkan sample positif pada

1 direktori, misalnya positiveSample/rawdata. Sedangkan sample negatif,

dimasukkan pada /negativeSample. Catatan: file gambar harus file *.bmp.

2.9.1 Membuat infofile.txt untuk Sample Negative

Gunakan create_list.bat pada folder /negativeSample untuk mencatatkan

nama file sample negative pada infofile.txt.

2.9.2 Membuat info.txt untuk Sample Positive

Kemudian jalankan program objectmarker.exe pada folder positiveSample.

Ketika program ini dijalankan, maka akan muncul satu per satu file dari sample

positiveSample. Kemudian tandai obyek yang dimaksud dari gambar tersebut

dengan menggerakkan kursor mouse membentuk sebuah box persegi panjang.

Kemudian tekan spasi untuk menambahkan box tersebut, lalu tekan enter untuk

beralih pada file gambar berikutnya. Kalau berhasil, maka info.txt akan berisi data

gambar

Gambar 2.8 Objectmarker.exe

2.9.3 Membuat file vector.vec dari Sample Positive

Lalu kita gunakan tool createsamples.exe untuk mengubah obyek gambar

(30)

Gambar 2.9 tool createsamples.exe pada dos command

Tabel 2.2 Keterangan parameter:

Parameter Explanation

Info<collection of filename> Lokasi tempat image berada

Num<sample_width> Jumlah positive image yang di training

W<sample_width> Panjang image

H<sample_height> Lebar dari image

Vec<vec_file_name> Binary file yang menampung hasil

olahan dari positive image

Maka bila hal ini telah berhasil dijalankan maka akan muncul pada folder /data,

file vector.vec

2.9.4 Memulai HaarTraining

Setelah kita punya file vector.vec maka kita mulai haartraining. Jalankan

(31)
[image:31.595.117.552.113.325.2]

Gambar 2.10 Haartraining.exe di dos command

Tabel 2.3 Keterangan parameter:

Parameter Explanation

Data <dir_name> Tempat folder cascade of classifier

akan disimpan

Voo <voo_filename> Informasi nama image

Bg <background_filename> Mengandung informasi negatif image

Nneg <number_negativ_samples> Menunjukan banyaknya jumlah negatif

image>

Npos <number_positive_samples> Menunjukan banyaknya positive image

Men <memory_in_MB> Banyaknya memory yang dipakai

selama proses pembuatan cascade of

classifier

Nonsym Untuk memastikan datanya bukan

simetrik

Mode ALL Untuk memastikan parameter tidak

ditulis dalam kondisi default

W <sample_width> Tinggi dan lebar image

[image:31.595.107.519.377.738.2]
(32)

lalu pada folder tools/temp/data/cascade maka akan muncul folder mulai

dari 0 sampai N. Kemudian copy semua folder tersebut pada

tools/cascade2xml/data.

2.9.5 Membuat file *.xml

Jalankan haarconv.exe pada folder /cascade2xml di dos command sebagai berikut:

Jika berhasil, maka akan muncul file output.xml pada folder /cascade2xml.

<opencv_storage> <haarcascade_eye type_id="opencv-haar-classifier"> <size> 24 24</size> <stages> <_>

<!-- stage 0 --> <trees> <_>

<!-- tree 0 --> <_>

<!-- root node --> <feature>

<rects> <_>

8 12 3 8 -1.</_> <_>

8 16 3 4 2.</_></rects> <tilted>0</tilted></feature>

<threshold>0.0273259896785021</threshold> <left_val>-0.9060062170028687</left_val> <right_node>1</right_node></_>

<_>

<!-- node 1 --> <feature> <rects> <_>

5 11 8 9 -1.</_> <_>

7 11 4 9 2.</_></rects> <tilted>0</tilted></feature>

<threshold>-7.0568458177149296e-03</threshold> <left_val>0.9338570833206177</left_val>

(33)
[image:33.595.105.518.130.345.2]

Tabel 2.4 Keterangan

Threshold Merupakan nilai amabang batas suatu

objek apakah objek mata tertutup

(mengantuk) atau tidak

Left_val Nilai dari ambang batas sebelah kiri

(atas)

Right_val Nilai dari ambang batas sebelah kanan

(bawah)

Stage_threshold Nilai yang dipilih untuk ambang batas

mata tertutup

Size Dengan size untuk image 24x24

2.10 DFD (Data Flow Diagram)

Data Flow Diagram (DFD) adalah sebuah diagram yang menggunakan

notasi untuk menggambarkan arus data dari sistem. Penggunaan notasi ini sangat

membantu dalam komunikasi dengan pemakai sistem untuk memahami sistem

secara logika. Penggunaan DFD sebagai modelling tools dipopulerkan oleh Tom

De Marco (1978) dan Gane & Sarson (1979) dengan menggunakan pendekatan

metoda analisis sistem terstruktur (structured system analysis methode) [3].

2.9.1 Simbol-Simbol Pada DFD

Berikut ini merupakan beberapa simbol yang digunakan untuk pemodelan

menggunakan DFD [3]:

1. Eksternal Entity

Entity bisa berupa orang atau organisasi yang berada diluar sistem yang

memberikan data kepada sistem atau yang menerima informasi dari sistem.

Berikut ini adalah gambar eksternal entity pada DFD :

Gambar 2.11 Eksternal Entity

(34)

Menggambarkan apa yang dilakukan oleh sistem. Berfungsi

mentransformasikan satu atau beberapa data masukan menjadi satu atau

beberapadata keluaran sesuai dengan spesifikasi yang diinginkan. Berikut ini

adalah gambar proses pada DFD :

Gambar 2.12 Proses

3. Data Flow

Data Flow menggambarkan aliran data dari suatu entity ke entity lainnya. Arah

panah menggambarkan aliran data. Aliran data bisa terjadi antara :

a. Dua proses yang berurutan

b. Dari data store ke proses dan sebaliknya.

c. Dari source ke proses

d. Dari proses ke link.

Berikut ini adalah gambar data flow pada DFD :

Gambar 2.13 Data Flow

4. Data Store

Menggambarkan tempat penyimpanan data. Proses dapat mengambil data

(35)

Gambar 2.14 Data Store

2.11 Pengujian

Ada dua macam pengujian yang akan dilakukan, yaitu pengujian

performansi dan black box testing. Pengujian performansi yaitu dengan

melakukan percobaan-percobaan dalam kondisi-kondisi tertentu seperti pengaruh

posisi wajah pada saat pendeteksian, jarak wajah terhadap webcam, dan pengaruh

pencahayaan terhadap deteksi mata. Pengujian pada black box testing yaitu

menemukan kesalahan yang terdapat pada program.

2.11.1 Pengujian Performansi

Pengujian performansi dilakukan dengan serangkaian

percobaan-percobaan dalam kondisi-kondisi tertentu yang dapat mempengaruhi keefektifan

kinerja sistem pendeteksian mata mengantuk.

2.11.2 Pengujian Black Box

Black Box Testing ini bertujuan untuk menunjukkan fungsi perangkat

lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan

sebagaimana yang diharapkan dan apakah informasi yang disimpan secara

eksternal selalu dijaga kemutakhirannya. Tehnik pengujian black-box berfokus

pada domain informasi dari perangkat lunak, dengan melakukan test case dengan

menpartisi domain input dari suatu program dengan cara yang memberikan

cakupan pengujian yang mendalam. Metode pengujian graph-based

mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi

ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk

melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa

kemampuan program untuk menangani data pada batas yang dapat diterima.

Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan

(36)

fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan

tehnik khusus untuk pengujian perangkat lunak [9].

2.12 Software Pendukung

2.12.1 Bahasa Pemrograman C#

Bahasa C# adalah sebuah bahasa pemrograman modern yang bersifat

general-purpose, berorientasi objek, yang dapat digunakan untuk membuat

program di atas arsitektur Microsoft .NET Framework. Bahasa C# ini memiliki

kemiripan dengan bahasa Java, C dan C++ .

Bahasa pemrograman ini dikembangkan oleh sebuah tim pengembang di

Microsoft yang dipimpin oleh Anders Hejlsberg, seorang yang telah lama malang

melintang di dunia pengembangan bahasa pemrograman karena memang ialah

yang membuat Borland Turbo Pascal, Borland Delphi, dan juga Microsoft J++.

Kini, C# telah distandarisasi oleh European Computer Manufacturer

Association (ECMA) dan juga International Organization for Standardization

(ISO) yang mendukung beberapa fitur baru semacam Language Integrated Query

(LINQ) dan lain-lainnya.

2.12.2 Microsoft Visual Studio 2010

Merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan

untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi

personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi

Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK,

Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa

MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara

lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev,

Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.

Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi

dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows)

ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas

(37)

mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di

atas .NET Compact Framework).

Microsoft kini merilis Microsoft Visual Studio 2010 dan Microsoft .NET

Framework 4.0.Dua tool yang paling banyak digunakan untuk mengembangkan

program di atas Windows, Windows Mobile, Web (ASP.NET), Silverlight, dan

beberapa platform lainnya.

2.12.3 OpenCV 2.3.1

OpenCV 2.3.1 adalah suatu library gratis yang dikembangkan oleh Intel

Corporation.Library ini terdiri fungsi-fungsi computer vision dan image

processing tingkat tinggi.OpenCV diusulkan kepada para programmer untuk dapat

menciptakan aplikasi yang handal, kuat dibidang digital vision.Karena library ini

bersifat cuma-cuma dan terbuka, OpenCV tidak dipesan khusus untuk pengguna

arsitektur Intel, tetapi dapat dibangun hampir semua arsitektur.

Semua kode program ditulis dalam C/C++/C# bahasa dan di-compile

dengan gcc/g++/gsharp.Suatu pengetahuan yang umum tentang C programming

(38)
(39)

25

sederhana, sehingga struktur logisnya menjadi lebih jelas. Analisis sistem terdiri

dari beberapa tahapan, diantaranya analisis masalah,analisis proses, analisis

metode, analisis kebutuhan non-fungsional, dan analisis kebutuhan fungsional.

3.1.1 Analisis Masalah

Mengantuk banyak mengakibatkan kecelakaan lalu lintas yang

meyebabkan korban cedera, kerugian materi dan bahkan kematian. Oleh karena

itu dibuat aplikasi simulasi keselamatan aktif untuk mendeteksi kantuk dengan

mengamati pergerakan mata seseorang. Tujuan utaman,ya adalah untuk membuat

keputusan yang berguna tentang kondisi mata berdasarkan image yang didapat

dari sensor. Penerapan Computer Vision cukup banyak digunakan dalam sistem

keamanan maupun proteksi. Salah satunya pengenalan pola pada objek mata.

Misalnya, penerapan pengenalan pola pada objek mata ini dapat digunakan

sebagai sistem proteksi dengan menjadikan mata sebagai objek scanning untuk

sistem sensor. Sistem pendeteksi kantuk ini memanfaatkan webcam camera

sebagai sensornya. Selanjutnya data kamera diproses dengan menggunakan CPU

(Central Processing Unit) untuk mengolah dan mengeksekusi data yang telah

ditangkap. Metode yang digunakan untuk mendeteksi mata mengantuk adalah

Haar Cascade classifier, yaitu metode yang dapat melihat dari adanya mata

seseorang tertutup dan metode ini memiliki keakuratan yang tinggi dalam

mendeteksi suatu objek.

3.1.2 Analisis mata mengantuk

Prangkat 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

(40)

menyebabkan masalah seperti waktu proses dan keakuratan dalam proses

pendeteksian objek.

Penelitian kali ini menggunakan mata dalam keadaan tertutup 100%

sebagai objek penelitiannya. Menurut Mark A.W. Andrews, profesor fisiologi dari

Seton Hill University, Greensburg, Pennsylvania, kelopak mata bisa menutup

sendiri sering disebabkan oleh mata yang sudah terlalu lelah. Andrews

menjelaskan bahwa saat terlalu lama berkendara, membaca atau bekerja dengan

komputer, kekuatan otot di area kelopak mata bisa menurun, Andrews

membandingkan hal tersebut seperti ketika seseorang berjalan kaki seharian tanpa

berhenti.

Kelopak mata bisa terasa sangat berat dan tertutup 100% ketika seseorang

mengerahkan konsentrasi dan memaksa mata tetap terbuka dalam jangka waktu

yang lama. Apalagi bila seseorang bekerja di lingkungan yang agak gelap, seperti

halnya berkendara di malam hari.

Menurut studi yang dilakukan oleh Phillip .P. Caffier [10],

mengelompokkan tingkatan kantuk berdasarkan durasi kedipan mata. Umumnya

durasi kedipan rata-rata adalah kurang dari 400 Ms dan 75 Ms untuk minimum.

Berdasarkan alasan ini, maka digunakan 400 Ms sebagai waktu kantuk (T_kantuk)

dan 800 Ms sebagai waktu telah tertidur (T_tidur).

3.1.3 Analisis Lingkungan

Citra mata diambil dengan menggunakan webcam sebagai citra real time.

Dengan penggunaan webcam sebagai input secara real time dapat menyebabkan

beberapa masalah seperti kondisi lingkungan, serta waktu proses dan keakuratan

dalam proses pendeteksian objek.

Kondisi lingkungan dan keakuratan dalam melakukan pendeteksian objek

menjadi pertimbangan utama dalam pemilihan metode. Hal ini dikarenakan

program berlangsung secara real time maka dibutuhkan lingkungan yang memiliki

intisitas cahaya yang cukup, selain itu mengingat objek yang akan dideteksi cukup

(41)

3.1.4 Analisis Proses Pengenalan Pola Mata pada Haar Classifier

Dalam analisis processing image (Pengenalan pola mata) ini dibagi

menjadi 3 tahap[5]:

1. penskalaan(scaling)

2. grayscaling

[image:41.595.168.380.253.539.2]

3. tresholding

Gambar 3.1 Alur proses pengenalan pola mata

1. Tahap Penskalaan (Scaling)

Citra digital yang diambil secara real time oleh webcam akan diperkecil

dengan menggunakan metode interpolasi. Metode ini menggunakan nilai rata –

(42)

Citra asli

124 122 126 233 97 34 23 64

135 101 179 245 141 123 121 119

167 143 108 243 148 67 134 130

211 124 203 222 248 120 156 78

112 167 225 123 223 34 45 45

189 190 221 189 156 88 99 23

Citra Hasil

120,5 195,75 98,75 81,75

161,25 194 145,75 124,5

[image:42.595.85.430.114.377.2]

164,5 189,5 125,25 53

Gambar 3.2 Metode interpolasi untuk memperkecil gambar

Nilai piksel pada koordinat pada citra hasil interpolasi diperoleh dengan

menghitung nilai rata – rata dari 4 nilai piksel pada citra asli, yaitu :

Tabel 3.1 Rata-rata dari 4 piksel pada citra

Nilai Piksel Citra Asli Nilai Piksel Citra Hasil Interpolasi

124+122+135+101/4 120,5

126+233+175+145/4 195,75

97+34+141+123/4 98,75

23+64+121+119/4 81,75

167+143+211+124/4 161,25

108+234+203+222/4 194

148+67+248+120/4 145,75

134+130+156+78/4 124,5

112+167+189+190/4 164,5

225+123+221+189/4 189,5

223+34+156+88/4 125,25

[image:42.595.83.421.471.750.2]
(43)

2. Tahap Grayscaling

Representasi nilai RGB (Red, Green, Blue) diubah menjadi gambar yang

terdiri dari warna putih dan gradiasi warna hitam yang biasa

disebut greyscale. Untuk mengubah RGB menjadi greyscale dapat digunakan

rumus sebagai berikut:

...(3.1)

Misalkan R=124,8 G=145,8 B=109,3

Greyscal: (0.299x124,8) + (0.587x145.8) + (0.114x109.3) = 135.36

Berikut ini adalah citra hasil grayscaling :

Citra Asli Cirtra grayscaling

Gambar 3.3 Proses pengubahan citra RGB menjadi citra Grayscale

3. Tahap Tresholding

Selanjutnya adalah tahap tresholding yang digunakan untuk mengubah

gambar hasil grayscale menjadi gambar biner. Nilai Treshold dihitung dengan

membagi nilai hasil grayscaling pada tahap sebelumnya dengan nilai jumlah

deraja keabuan (0 sampai 255 = 256) dibagi dengan 256 (nilai derajat keabuan

yang diinginkan). Proses penghitungan nilai treshold untuk citra mata adalah

sebagai berikut :

X= = = 135.36 ...(3.2)

Dimana :

x = nilai pembanding threshold

w = nilai hasil grayscaling

b = 256/a ( a = 256)

(44)

Untuk mengubah citra RGB menjadi citra biner menggunakan aturan sebagai

berikut:

1. Jika nilai piksel citra ≥ x maka nilai piksel menjadi 1 2. Jika nilai piksel citra ≤ x maka nilai piksel menjadi 0

Berikut ini adalah proses pengubahan citra RGB menjadi citra biner :

Gambar 3.4 Citra Hasil

0 0 0 1 0 0 0 0

1 0 1 1 1 0 0 0

1 1 0 1 1 0 0 0

1 0 1 1 1 0 1 0

0 1 1 0 0 0 0 0

1 1 1 1 1 0 0 0

Gambar 3.5 Citra Biner

Berikut ini adalah gambar hasil pengubahan citra grayscale menjadi citra

biner :

[image:44.595.154.413.236.528.2]

Gambar Grayscale Gambar Biner

Gambar 3.6 Proses pengubahan citra Grayscale ke Citra Biner

Ketiga tahapan ini merupakan tahapan pengenalan pola mata yang

digunakan oleh aplikasi pendeteksi mata mengantuk. Ketiga tahapan ini dibangun

124 122 126 233 97 34 23 64

135 101 179 245 141 123 121 119

167 143 108 243 148 67 134 130

211 124 203 222 248 120 156 78

112 167 225 123 223 34 45 45

(45)

dengan mengunakan emgu cv. Emgu cv telah mempasilitasi proses ini sehinga

dengan mudah dapat direalisasikan di aplikasi mata mengantuk ini.

3.1.5 Tahap Deteksi Mata

Dalam skema penelitian ini akan diperlihatkan urutan dari saat training

data hingga dapat terdeteksi, penelitian yang dilakukan adalah untuk membuat

sebuah perangkat lunak yang dapat digunakan untuk mendeteksi mata yang

mengantuk secara real time dengan menggunakan Haar Cascade Classifier,

daerah mata yang terdeteksi dapat digunakan untuk mengetahui apakah seseorang

dalam keadaan mata tertutup atau tidak, secara cepat dan efisien. Skema deteksi

mata tertutup pada penelitian ini dapat dilihat pada Gambar 3.1.

[image:45.595.201.421.328.682.2]

Haar Cascade Classifier

(46)

1. Create Samples

Pada bagian ini diperlukan 2 tipe gambar objek dalam proses training yang akan

dilakukan, yaitu :

a. Positive samples merupakan gambar objek yang ingin dideteksi, apabila ingin

mendeteksi wajah mengantuk maka positive samples ini berisi dengan gambar

wajah dengan kondisi mata mengantuk, begitu pula dengan objek lain yang

[image:46.595.100.525.224.440.2]

ingin dikenali. Contoh gambar positive samples pada Gambar 3.8

Gambar 3.8 Contoh gambar positif

b. Negative samples merupakan gambar selain objek, umunya berupa gambar background (tembok, pemandangan, lantai, dan gambar lainnya). Contoh

gambar negative samples dapat dilihat pada Gambar 3.9

(47)

Resolusi untuk positive samples dan negative samples bernilai sama

dengan resolusi kamera yaitu 320x240 piksel. Ini dilakukan untuk mengurangi

error dalam proses pengklasifikasiannya.

2. Cropping Image

Proses cropping ini adalah untuk menentukan objek-objek yang akan

digunakan dalam proses Haar training. Dari sekumpulan gambar positif tersebut

akan dilakukan cropping secara manual terhadap objek spesifik yang akan

dideteksi. Pada proses Haar training, objek yang telah di cropping tersebut akan

dikonversikan ukurannya menggunakan teknik resize (umumnya menggunakan

citra berukuran 24x24 piksel) pada keseluruhan objek dan mencari apakah

terdapat bagian dari gambar yang berbentuk seperti mata mengantuk atau tidak.

Teknik resize ini menunjukkan bahwa setiap citra yang akan diklasifikasi, berapapun ukurannya, akan diubah terlebih dahulu ke dalam ukuran 24x24. Misal,

terdapat gambar berukuran 40x40, maka gambar tersebut akan dikonversi menjadi

berukuran 24x24. Demikian pula, jika terdapat gambar yang lebih kecil dari

24x24, misalnya 10x10, maka gambar tersebut akan diubah ke dalam ukuran

24x24 [3]. Seperti pada gambar 3.10:

Gambar 3.10 Cropping Manual

3. Cascaded Classifier

Cascaded classifier merupakan suatu metode pengklasifikasian bertingkat,

dimana input dari setiap tingkatan merupakan output dari tingkatan sebelumnya.

Pada classifier tingkat pertama, yang menjadi inputan adalah seluruh citra. Semua

citra yang berhasil melewati classifier pertama akan dilanjutkan ke classifer ke

(48)

classifier, maka citra tersebut dinyatakan sebagai objek. Sedangkan untuk citra

yang gagal melewati suatu classifier akan langsung dieliminasi dan dinyatakan

sebagai bukan objek (tidak akan diproses lagi). Hal ini sangat mempercepat proses

pengklasifikasian, karena jumlah inputan yang diterima di setiap classifier akan

semakin berkurang [3].

Cascaded classifier dirancang sedemikian rupa untuk meningkatkan

tingkat pendeteksian dan mengurangi jumlah false positive (citra negatif

yangdianggap sebagai citra positif). Setiap tingkatan classifier merupakan

representasi hasil dari algoritma boosting. Jadi, disetiap tingkat classifer memiliki

sejumlah weak classifiers. Setiap weak classifier merupakan nilai-nilai fitur Haar

yang digunakan (jenis, ukuran, dan lokasi), nilai threshold terbaik untuk setiap

fitur, serta nilai batasan setiap fitur tersebut.

Semakin tinggi tingkat classifer, semakin banyak pula jumlah weak

classifier yang ada. Hal ini mengakibatkan semakin sulitnya suatu citra untuk

berhasil melewati tingkatan classifier tersebut, sehingga jumlah citra yang

dieliminasi akan semakin banyak,dan jumlah citra yang berhasil lolos ke classifier

tingkat selanjutnya akan semakin sedikit.

Oleh karena semakin sedikit citra yang berhasil lolos ke classifier

selanjutnya, maka semakin sedikit pula jumlah false positive yang berhasil lolos.

Dengan berkurangnya false positive,tingkat keakuratan pendeteksian pun

meningkat. Jadi, semakin banyak tingkat classifier didalam suatu cascaded

classifier, maka semakin akurat hasil yang akan didapatkan.

4. Haar Like Features

Algoritma Haar menggunakan metode statistikal dalam melakukan

pendeteksian objek. Tiap feature dari Haar-like feature didefinisikan pada bentuk

dari feature, diantaranya koordinat dari feature dan juga ukuran dari feature

(49)

haar_x2 haar_y2 tilted_haar_x2 tilted_haar_y2

haar_x3 haar_y3 tilted_haar_x3 tilted_haar_y3

haar_x4 haar_y4 tilted_haar_x4 tilted_haar_y4

[image:49.595.155.514.101.445.2]

haar_point tilted_haar_point

Gambar 3.11 Haar like feature

Tiap feature terbagi atas dua bagian, yaitu bagian berwarna putih dan

bagian berwarna hitam. Penggunaan fitur dilakukan karena pemrosesan fitur

berlangsung lebih cepat dibandingkan pemrosesan citra perpiksel sehingga cocok

untuk diterapkan pada proses pendeteksian objek secara real time. Pada penelitian

ini untuk menghitung nilai fitur Haar pada sebuah citra dan pada skala yang

berbeda secara cepat menggunakan satu teknik yang disebut integral image.

Secara umum integrating berarti menggabungkan unit-unit kecil menjadi

satu. Dalam hal ini unit-unit kecil adalah nilai piksel. Nilai integral suatu piksel

adalah jumlah dari semua piksel diatas dan di kiri piksel tersebut. Seluruh citra

dapat digabungkan dengan operasi nilai yang lebih sedikit tiap pikselnya. Integral

image sangat membantu dalam perhitungan fitur Haar-like. Dengan menggunakan

(50)

Rumus integral image :

' '

' '

,

( , )

( ,

)

x x y y

P x y

i x y

 

[image:50.595.116.443.131.366.2]

...(3.3)

Gambar 3.12 Integral image[3]

1 , 2 , 3 , 4

PA P  A B P  A C P    A B C D

1 4 2 3

P            P P P A A B C D A B A C D

Contoh perhitungan nilai fitur menggunakan integral image adalah sebagai

berikut:

Diberikan sebuah citra A =

Gambar 3.13 contoh citra 3x3

Jumlah nilai piksel pada daerah hitam = F+A-(C+D) = 26+3-(17+9) = 3

Contoh perhitungan nilai fitur 2x4 dalam sebuh citra 5x5 menggunakan integral

(51)
[image:51.595.229.397.112.254.2]

Gambar 3.14 contoh citra 5x5

Nilai fitur = | (total piksel hitam) – (total piksel putih) |

= | [20+0-(0+0)] – [45+0-(20+0)] |

= | 20 – 25 |

= 5

Gambar 3.15 contoh citra 5x5

Nilai fitur = | (total piksel hitam) – (total piksel putih) |

= | [73+3-(26+18)] – [128+18-(73+33)] |

= | 32 – 40 |

= 8

3.1.6 Algoritma AdaBoost

Metode machine learning yang disebut AdaBoost digunakan dalam

memilih fitur Haar yang spesifik. Hal ini dilakukan dengan cara mengevaluasi

setiap fitur terhadap data latih dengan menggunakan nilai dari fitur tersebut.

Algoritma Adaboost adalah algoritma yang berusaha membangun strong

(52)

linier. Stage classifier dibangun dengan menggunakan algoritma adaptive-boost

(AdaBoost). Di dalam stage classifier terdapat proses pengklasifikasian fitur

objek menggunakan algoritma AdaBoost. Algoritma AdaBoost digunakan untuk

meningkatkan performa pengklasifikasian fitur. Algoritma tersebut

mengkombinasikan performance banyak weak classifier untuk menghasilkan

strong classifier. Weak classifier dalam hal ini adalah nilai dari haar-like feature.

Alur proses pendeteksian pada Haar cascade classifier dapat dilihat pada Gambar

3.16

Gambar 3.16 Alur proses Haar cascade classifier

Algoritma AdaBoost yang dipakai untuk pengklasifikasian adalah sebagai

berikut:

Bobot awal 1,

1

,

2

i y

w

m

1,

1

,

2

i y

w

l

...(3.4)

dengan m = jumlah gambar negatif dengan yi0 untuk gambar negatif

dengan l = jumlah gambar positif denganyi 1untuk gambar positif.

Contoh : l = 5, m = 10

1,0 1,1

1

1

0.05,

0.1

2

10

2

5

w

w

...(3.5)

Untuk t = 1,2,3…T , dimana t adalah iterasi ke t untuk gambar positif.

Untuk j = 1,2,3…J , dimana j adalah iterasi ke j untuk gambar negatif.

( )

t

h x merupakan nilai fitur gambar positif.

( )

j

h x merupakan nilai fitur gambar negatif.

Objek Stage 0

Buang Gambar Bukan Objek

50%

Stage 1

Stage n

30% 10%

……. Gambar

(53)

Untuk mendapatkan nilai error rate setiap weak classifier. Maka untuk setiap fitur

dilakukan proses sebagai berikut:

Untuk gambar positif :

(

,

) |

( )

|

T

t t i t i

t

w

h x

y

 

...(3.6)

Untuk gambar negatif :

(

,

) |

( )

|

J

j j i j i

j

w

h

x

y

 

...(3.7)

Misal diberikan citra positif (24x24)piksel yang memiliki nilai-nilai sebagai

berikut:

1. Citra positif ke-1

Nilai positif pada gambar tersebut akan dihitung nilai fiturnya.

Nilai fitur = | (total piksel hitam) – (total piksel biru) |

( )

t

h x = | (26+21-23-18)-(31+18-26-22) |

= 5

Maka nilai error rate yang didapatkan adalah sebagai berikut :

(0,1) | 5 1| 0, 4

t

(54)

2. Citra positif ke-2

Nilai positif pada gambar tersebut akan dihitung nilai fiturnya.

Nilai fitur = | (total piksel hitam) – (total piksel biru) |

( )

t

h x = (88+95-100-76)-(94+76-88-103)

= 28

Maka nilai error rate yang didapatkan adalah sebagai berikut :

(0,1) | 28 1| 2, 7

t

   

3. Citra positif ke-3

Nilai positif pada gambar tersebut akan dihitung nilai fiturnya.

Nilai fitur = | (total piksel hitam) – (total piksel biru) |

( )

t

h x = (105+69-98-45)-(56+45-105-32)

= 67

(55)

(0,1) | 67 1| 6, 6

t

   

4. Citra positif ke-4

Nilai positif pada gambar tersebut akan dihitung nilai fiturnya.

Nilai fitur = | (total piksel hitam) – (total piksel biru) |

( )

t

h x = | (35+72-58-57)-(35+57-35-58) ||

= 7

Maka nilai error rate yang didapatkan adalah sebagai berikut :

(0,1) | 7 1| 0, 6

t

   

5. Citra positif ke-5

Nilai positif pada gambar tersebut akan dihitung nilai fiturnya.

Nilai fitur = | (total piksel hitam) – (total piksel biru) |

( )

t

(56)

Maka  t (0,1) | 4 1| 0,3 

Jadi:

Error rate masing-masing citra adalah 0,4; 2,7; 6,6; dan 0,3. Sehingga untuk

memudahkan pemilihan fitur yang terbaik digunakan klasifikasi data training

menggunakan error rate terkecil yang telah didapatkan yaitu 0,3 dimana

1

t t

t

 

 t 10, 30, 3 0, 428

Update bobot: wt1,iwt i,.

t

Maka bobot setelah iterasi 1 : w2,10,1 0, 428 0, 0428

(0,1 0, 0428) | 4 1| 0, 4284

t

    

0, 4284

0, 7494 1 0, 4284

t

  

Maka bobot setelah iterasi 2 : w3,10, 0428 0, 7494 0, 032

(0,1 0, 0428 0, 032) | 4 1| 0,5244

t       0,5244 1,1026 1 0,5244 t    

Maka bobot setelah iterasi 3: w4,10, 032 1,1026 0, 035

(0,1 0, 0428 0, 032 0, 035) | 4 1| 0, 6294

t

      

0, 6294

1, 67 1 0, 6294

t

  

Maka bobot setelah iterasi 4: w5,10, 035 1, 67 0, 058

(0,1 0, 0428 0, 032 0, 035 0, 058) | 4 1| 0,8033

(57)

Maka bobot setelah iterasi 5: w6,10, 058 4, 076 0, 236

(0,1 0, 0428 0, 032 0, 035 0, 058 0, 236) | 4 1| 1,511

t          ; 1, 511 2, 957 1 1.511 t     

Maka bobot setelah iterasi 6: w7,10, 236 ( 2,957)   0, 697

Hasil akhir klasifikasi yang diharapkan pada citra positif adalah sebagai berikut :

...(3.8) Dimana: 1 log j j  

t log 1

t

...(3.9)

Jika posisi H(x) = Ketentuan 1 maka citra tersebut merupakan objek

Jika posisi H(x) = Ketentuan 0 maka citra tersebut merupakn bukan objek

H(x) = Strong Classifier atau kelasifikasi yang menyatakan objek atau bukan

αj = Tingkat pembelajaran gambar positif. αt = Tingkat pembelajaran gambar negatif.

βj=Nilai bobot setelah error rate pada gambar negatif βt= Nilai bobot setelah error rate pada gambar positif

Hj= weak atau basic classifiers (awal dari klasifikasi) gambar negatif.

Ht = weak atau basic classifiers (awal dari klasifikasi) gambar positif.

Sehingga untuk citra negatif (24x24)piksel yang memiliki nilai-nilai sebagai

(58)

1. Citra negatif ke-1

Dengan nilai fitur :

( )

j

h x = (120+77-162-25)-(100+25-120-52) = 57

Maka  j (0, 05) | 57 0 | 2,8 

1

j j

j

  

 Maka

2,85

1, 54 1 2,85

j

    

Perbaharui bobot: wt1,iwt i,.

j

Maka bobot setelah iterasi 1 : w2,10, 05 ( 1,54)   0, 077

jika bobot stelah intersi ke n jumlahnya < 0 maka iterasi berhenti. βj yang

digunakan untuk mencari H(x) mengunakan pada citra negatif yang nilai βj<0

Untuk salah bernilai = 0

Maka: ( ) log 1 57 1log 1 2,85 2 0, 428

H x   

25,99 0,184   

(59)

Citra negatif ke-2

Dengan nilai fitur :

( )

j

h x = (101+119-104-115)-(93+115-101-100) = 6

Maka  j (0, 05) | 6 0 | 0,3 

1 j j j     Maka 0, 3 0, 428 1 0, 3

j

   

Update bobot: wt1,iwt i, .

j

Maka bobot setelah iterasi 1 : w2,10, 05 (0, 428) 0, 021

(0, 05 0, 021) | 6 0 | 0, 426

t

     ; 0, 426 0,742

1 0, 426

t

  

Maka bobot setelah iterasi 2 : w3,10, 021 0, 742 0, 0155

(0, 05 0, 021 0, 0155) | 6 0 | 0,519

t       ; 0,519 1, 079 1 0,519 t    

Maka bobot setelah iterasi 3: w4,10, 0155 1, 079 0, 0167

(0, 05 0, 021 0, 0155 0, 0167) | 6 0 | 0, 619

t

      

;

0, 619

1, 624 1 0, 619

t

  

Maka bobot setelah iterasi 4: w5,10, 0167 1, 624 0, 0271

(0, 05 0, 021 0, 0155 0, 0167 0, 0271) | 6 0 | 0, 7818

(60)

Maka bobot setelah iterasi 5: w6,10, 0271 3,582 0, 0971

(0, 05 0, 021 0, 0155 0, 0167 0, 0271 0, 0970) | 6 0 | 1,364

t          ; 1,364 3,747 1 1.364 t     

Maka bobot setelah iterasi 6: w7,10, 0971 ( 3, 747)   0,363

Maka:

...(3.10)

1 1 1 1 1

( ) (log log log log log ) 6 0, 428 0, 742 1, 079 1, 624 3,582

1 1 1 1 1 1

(log log log log log )

2 0, 428 0, 749 1,1026 1, 67 4, 076

H x       

   

0, 368 0,129 0, 033 0, 210 0, 554 1

(0, 368 0,125 0, 042 0, 223 0, 610) 2

0, 3 0,191

    

    

   

Maka citra tersebut bukan berupa gambar positif.

Jadi semakain banyak interasi yang bisa dilakukan oleh sebuah gambar positif dan

negatif maka semakain besak kemungkinan untuk objek ditemukan. Dari analisa

diatas dapat diambil kesimpulan, bahwa tiga faktor yang mempegaruhi kecepatan

dan tingkat akurasi dalam pendeteksian, faktor - faktor tersebut antara lain:

1. jumlah dari tahapan classifier.

2. Jumlah semakin banyak gambar positif dimasukan semakin akurat

pendeteksianya.

3. Jumlah dari data latih yang dimasukan.

3.1.7 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional adalah sebuah langkah untuk

menganalisis sumber daya manusia yang akan menggunakan perangkat lunak

yang dibangun, perangkat keras dan perangkat lunak yang dimiliki sesuai dengan

kebutuhan atau permintaan, sehingga dapat ditentukan kompabilitas perangkat

(61)

3.1.7.1 Analisis Perangkat Keras

Analisis perangkat keras dimaksudkan untuk mengetahui spesifikasi

perangkat keras yang akan digunakan oleh Aplikasi ini. Perangkat keras yang

dianjurkan untuk menggunakan aplikasi ini adalah sebagai berikut :

1. Processor 2,27 GHz

2. Hard Disk 320 GB

3. Memory 2 GB

4. Monitor

5. Webcame, tipe VCR (Video Camera Recorder)

6. Mouse

7. Keyboard

3.1.7.2 Analisis Perangkat Lunak

Sebelum menggunakan perangkat lunak pendeteksikantukini user harus

terlebih dahulu menginstalasi aplikasi pendukung untuk mengaktifkan webcam.

Adapun perangkat lunak pendukung pembangunan perangkat lunak pendeteksi

kantuk ini antara lain :

1. Sistem Operasi Windows XP Profesional.

2. Microsoft Visual Visual Studio 2010, digunakan untuk pengkodean sistem.

3. OpenCV 2.2, digunakan sebagai library tambahan untuk pengkodean sistem.

3.1.8 Deskripsi Kebutuhan Data Eksternal

Kebutuhan data eksternal akan diuraikan secara rinci untuk keperluan

perancangan perangkat lunak. Data eksternal yang digunakan pada perangkat

lunak pendeteksian mata mengantuk yang akan dibangun yaitu :

File mengantukfix.xml berisi data hasil dari training mata mengantuk yang

digunakan untuk mendeteksi mata mengantuk. Adapun isi dari file

(62)

3.1.9 Analisis Fungsional

Kebutuhan fungsional dianalisis dengan memodelkan sistem. Pemodelan

yang digunakan untuk memodelkan perangkat lunak pengendali pointer ini adalah

pemodelan terstruktur. Perangkat lunak ini dimodelkan menggunakan DFD (Data

Flow Diagram).Tools yang digunakan adalah Diagram Konteks, Data Flow

Diagram dan Spesifikasi Proses yang dibuat menggunakan Microsoft Visio 2007

(63)

3.1.8.1Diagram Konteks

Diagram konteks adalah diagram yang menggambarkan masukan, proses

dan keluaran secara umum yang

Gambar

Gambar 2.10 Haartraining.exe di dos command
Tabel 2.4 Keterangan
Gambar 3.1 Alur proses pengenalan pola mata
Tabel 3.1 Rata-rata dari 4 piksel pada citra
+7

Referensi

Dokumen terkait

Dengan menggunakan perangkat lunak MATLAB, penulis membuat suatu program untuk mencari lebih lanjut informasi – informasi tentang adanya suatu fungsi pada objek kayu sehingga

Tujuan dari penelitian ini adalah menghasilkan aplikasi untuk menyisipkan label hak cipta pada citra digital secara invisible dengan menggunakan metode 2D-Haar

 Feature Location; yaitu menggunakan watermark untuk mengidentifikasi isi dari data digital pada lokasi-lokasi tertentu, seperti penamaan objek tertentu dari

Pada tampilan gambar dapat dijelaskan sistem kerja pada aplikasi, untuk melakukan proses memilih sebuah citra yang akan dilakukan proses, dengan menekan tombol open

Salah satu teknik yang bisa digunakan untuk proses security yaitu steganografi, dimana yang membedakan teknik ini dengan teknik security lain pada umumnya seperti

Kesimpulan Berdasarkan hasil uji coba dan analisis hasil deteksi kematangan tomat menggunakan metode jaringan syaraf tiruan serta menggunakan teknik pengolahan citra digital yang

Aplikasi ini memberikan pengguna kemampuan untuk mengambil gambar spesies hewan dan menggunakan model yang telah dikembangkan untuk mengidentifikasi apakah mata tersebut termasuk dalam

FU’ADAH, “Deep Learning untuk Klasifikasi Diabetic Retinopathy menggunakan Model EfficientNet,” ELKOMIKA: Jurnal Teknik Energi Elektrik, Teknik Telekomunikasi, & Teknik Elektronika,