Pendeteksian wajah dengan Algoritma Camshift.

(1)

VIII   

INTISARI

Pendeteksian menggunakan wajah telah diaplikasikan secara luas untuk berbagai keperluan, diantaranya pada bidang hiburan, pendidikan serta keamanan. Pendeteksian wajah dilakukan dengan kamera (webcam). Kamera ini digunakan sebagai sensor untuk mendeteksi pergerakan wajah.

Pendeteksian wajah diimplementasikan dengan menggunakan algoritma camshift. Algoritma camshift berkerja pada search window yang dapat menemukan pergerakan wajah pada tiap frame. Algoritma camshift yang sudah diterapkan dapat mengkalkulasi ukuran dan lokasi pada search window yang akan digunakan untuk frame selanjutnya. Algoritma camshift dapat digunakan untuk pendeteksian seperti pendeteksi wajah. Distribusi yang digunakan hue dalam dimensi warna HSV (Hue, Saturation, Value). Penggunaan distribusi hue ini dilakukan untuk mengatasi perbedaan warna kulit manusia dan latar belakang yang digunakan pada saat pengambilan frame.


(2)

IX   

ABSTRACT

Detection on face movement have been widely applied for various purposes. Some of them are on entertainment, education and security. The face detection is being done using web camera. This camera is used as sensors to capture face movement.

Face movement detection used camshift algorithm. Camshift algorithm works on the search window to detect the face movement in the each frame. Camshift algorithm can calculate size and location on search window which would be executed on the next step. Camshift algorithm is rapidly good used for detection, especially on face object. Hue distribution is used for resolving the disparity between human skin color skin color and background which involved while frame processing.


(3)

i   

TUGAS AKHIR

PENDETEKSIAN WAJAH DENGAN ALGORITMA

CAMSHIFT

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro  

Oleh:

JOSHUA GUGUR PRAYUGO

NIM : 115114045

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(4)

ii   

FINAL PROJECT

FACE DETECTION WITH CAMSHIFT ALGORITHM

Presented as Partial Fullfillment of The Requirements To Obtain Sarjana Teknik Degree

In Electrical Engineering Study Program

By :

JOSHUA GUGUR PRAYUGO

NIM : 115114045

ELECTRICAL ENGINEERING STUDY PROGRAM

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2016


(5)

iii   

HALAMAN PERSETUJUAN

TUGAS AKHIR

PENDETEKSI WAJAH DENGAN ALGORITMA CAMSHIFT (FACE DETECTION WITH CAMSHIFT ALGORITHM)

Oleh:

Joshua Gugur Prayugo

NIM : 115114045


(6)

   


(7)

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.


(8)

VI   

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

Nothing is Impossible !

Persembahan

Karya ini ku persembahkan kepada ....

Tuhan Yesus yang selalu ada disetiap perjalanan hidupku.

Papa, Mama, Kakak-kakak , Adek dan yang tercinta Raisa Dwi

Kalistyani yang selalu mendukungku dalam segala hal.

Dan semua orang yang mengasihiku dan mendukungku dalam


(9)

VII   

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Joshua Gugur Prayugo

Nomor Mahasiswa : 11 5114 045

Dengan pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjuadul :

PENDETEKSIAN WAJAH DENGAN ALGORITMA CAMSHIFT

Beserta perangkat yang diperlukan (kalo ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Samata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya di internet atau media lainnya untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataa ini saya buat dengan sebenarnya.


(10)

VIII   

INTISARI

Pendeteksian menggunakan wajah telah diaplikasikan secara luas untuk berbagai keperluan, diantaranya pada bidang hiburan, pendidikan serta keamanan. Pendeteksian wajah dilakukan dengan kamera (webcam). Kamera ini digunakan sebagai sensor untuk mendeteksi pergerakan wajah.

Pendeteksian wajah diimplementasikan dengan menggunakan algoritma camshift. Algoritma camshift berkerja pada search window yang dapat menemukan pergerakan wajah pada tiap frame. Algoritma camshift yang sudah diterapkan dapat mengkalkulasi ukuran dan lokasi pada search window yang akan digunakan untuk frame selanjutnya. Algoritma camshift dapat digunakan untuk pendeteksian seperti pendeteksi wajah. Distribusi yang digunakan hue dalam dimensi warna HSV (Hue, Saturation, Value). Penggunaan distribusi hue ini dilakukan untuk mengatasi perbedaan warna kulit manusia dan latar belakang yang digunakan pada saat pengambilan frame.


(11)

IX   

ABSTRACT

Detection on face movement have been widely applied for various purposes. Some of them are on entertainment, education and security. The face detection is being done using web camera. This camera is used as sensors to capture face movement.

Face movement detection used camshift algorithm. Camshift algorithm works on the search window to detect the face movement in the each frame. Camshift algorithm can calculate size and location on search window which would be executed on the next step. Camshift algorithm is rapidly good used for detection, especially on face object. Hue distribution is used for resolving the disparity between human skin color skin color and background which involved while frame processing.


(12)

X   

KATA PENGANTAR

Puji dan Syukur kepada Tuhan Yesus karena telah memberikan Berkat-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir dengan baik, dan dapat memperoleh gelar sarjana.

Dalam penulisan tugas akhir ini, penulis menyadari bahwa tidak lepas dari seluruh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan banyak terimakasih kepada:

1. Tuhan Yesus Kristus atas berkat dan anugerah-Nya kepada penulis. 2. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.

3. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elekro Universitas Sanata Dharma

4. Dr. Linggo Sumarno, selaku dosen pembimbing yang dengan tenang dan penuh kesabaran untuk membimbing dalam menyelesaikan penulisan Tugas Akhir ini. 5. Dr. Iswanjono, Dr. Anastasia Rita Widiarti, selaku dosen penguji yang telah

memberikan bimbingan, saran, dan merevisi Tugas Akhir ini.

6. Papa dan Mama, kakak-kakak, Adek serta Keluarga Besar Vester yang selalu mendoakan dan membantu segala sesuatunya sampai pencapaian menyelesaiakan studi di jenjang perkuliahan

7. Segenap staff sekretariat, dan laboran Teknik Elektro yang telah memberikan dukungan secara tidak langsung dalam kelancaran tulisan tugas Akhir ini.

8. Teman-teman group “SKRIPSI” Alex, Adhit, Yowel, Cahyo, Yohanes, Irfan, Evan, Edwin, Dean, Frederick, Anton, Agnes, Yovitha, Christin, Cacha, Respati, Heri, Monica yang selalu mendukung, selalu mengingatkan setiap ada konsultasi untuk tugas akhir dan selalu memberikan semangat.

9. Yang tercinta Raisa Dwi Kalistyani yang selalu membrikan doa dan motivasi dalam penulisan tugas akhir.

10.Teman-teman Teknik Elektro 2011 yang telah memberikan semangat pada saat menempuh pendidikan di Universitas Sanata Dharma.

11.Semua Pihak yang tidak bisa disebutkan satu persatu yang telah banyak mendukung, dan memberikan banyak bantuan dalam menyelesaikan Tugas Akhir ini.


(13)

XI   

Penulis menyadari bahwa dalam penyusunan laporan Tugas Akhir ini masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, saran ,kritikan yang mendukung agar skripsi ini menjadi lebih baik, dan semoga sripsi ini dapat bermanfaaat sebagaimana mestinya

Penulis

Joshua Gugur Prayugo

 


(14)

xii

DAFTAR ISI

Halaman

HALAMAN JUDUL

. ... i

HALAMAN PERSETUJUAN

.. ... iii

HALAMAN PENGESAHAN

. ... iv

PERNYATAAN KEASLIAN KARYA

. ... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

. ... vi

LEMBAR

PERNYATAAN

PERSETUJUAN

PUBLIKASI

KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

. ... vii

INTISARI

. ... viii

ABSTRACT

. ... ix

KATA PENGANTAR

. ... x

DAFTAR ISI

. ... xii

DAFTAR GAMBAR

. ... xvi

BAB IPENDAHULUAN

1.1. Latar Belakang. ... 1

1.2. Tujuan dan Manfaat Penelitian ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian ... 3

BAB II DASAR TEORI

2.1. Webcam ... 5

2.2. Meanshift ... 5

2.3. Camshift... 6

2.4. Citra ... 6

2.4.1. Definisi Citra ... 7

2.4.2. Citra RGB ... 8

2.4.3. Citra Biner ... 9

2.5. Model Warna HSV ... 10


(15)

xiii

2.5.2. Konversi RGB ke Grayscale ... 14

2.5.3. KOnversi Grayscale ke Biner ... 15

2.6. OperasiPengolahan Citra ... 15

2.7. Video ... 16

2.8. Derau (noise) ... 16

2.9 Filter Median ... 18

BAB III PERANCANGAN

3.1. Perancangan Sistem ... 19

3.2. Identifikasi Kebutuhan Perangkat ... 19

3.3. Perancangan Pengenalan Alat Keras ... 20

3.3.1. Webcam ... 20

3.4. Perancangan PerangkatLunak... 20

3.4.1. Diagram Alir Program Utama ... 20

3.4.2. Diagram Alir Program Mencari Nilai Hue ... 21

3.4.3. Diagram Alir Proses Konversi RGB ke Grayscale ... 22

3.4.4. Diagram Alir Kotak Pendeteksi (Search Window) ... 23

BAB IV HASIL DAN PEMBAHASAN

4.1. Hasil Implementasi Alat ... 25

4.2. Hasil Perancangan dan Pembahasan Perangkat Lunak ... 25

4.2.1. Hasil Pembahasan Proses Pencarian Nilai Hue ... 25

4.2.2. Hasil dan Pembahasan Konversi RGB ke Grayscale ... 26

4.2.3. Hasil Pembahasan Image Subtract ... 26

4.2.4. Hasil Pembahasan Image to Biner ... 27

4.2.5. Hasil Pembahasan Kotak Pendeteksi ... 27

4.2.6. Hasil Pembahasan Program Utama ... 28

4.2.7. Pembahasan Hasil Pengujian... 31

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan ... 32

5.2. Saran ... 32


(16)

xiv

DAFTAR GAMBAR

Halaman

Gambar 2.1. Webcam Logitech C270HD ... 5

Gambar 2.2. Proses Pengolahan Citra ... 8

Gambar 2.3. Contoh Citra RGB ... 9

Gambar 2.4. Contoh Gambar Citra Biner ... 10

Gambar 2.5. Spektrum Warna ... 10

Gambar 2.6. Model Warna HSV. ... 11

Gambar 2.7. Gambar Skala Hue. ... 12

Gambar 2.8. Gambar Hasil Konversi RGB ke HSV. ... 13

Gambar 2.9. Gambar RGB Konversi. ... 14

Gambar 2.10. Penghilangan Noise Dengan Filter Median. ... 18

Gambar 3.1. Alur Sistem Pendeteksi Wajah.. ... 19

Gambar3.2. Diagram Alir Proses Pendeteksi Wajah... 21

Gambar3.3. Diagram Alir Proses Memcari Nilai Hue ... 22

Gambar3.4. Diagram Alir Proses Konversi RGB ke Grayscale ... 23

Gambar 3.5. Diagram Alir Kotak Pendeteksi ... 23

Gambar 4.1. Hasil Implementasi Alat Sistem Pendeteksi Wajah... 25

Gambar 4.2. Subrutin Proses Mencari Nilai Hue ... 25

Gambar 4.3 Hasil Konversi Gambar RGB ke Hue ... 26

Gambar 4.4. Subrutin Konversi RGB RGB ke Grayscale ... 26

Gambar 4.5. Gambar Hasil Konversi RGB ke Grayscale ... 26

Gambar 4.6. Perhitungan Image Subtract ... 26

Gambar 4.7. Subrutin Proses Perhitungan Kotak Pendeteksi ... 27

Gambar 4.8. Hasil Akhir Kotak Pendeteksi ... 28


(17)

1   

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Salah satu sistem pengenalan yang sangat berkembang pesat saat ini adalah sistem pengenalan yang berkaitan dengan pengukuran dan analisis statistik data biologis (biometrik) manusia. Dalam teknologi informasi, biometrik biasanya merujuk kepada teknologi untuk mengukur dan menganalisis karakteristik tubuh manusia seperti sidik jari, retina, mata, pola suara dan pola wajah yang terutama sekali digunakan untuk proses autentifikasi.

Untuk membaca karakteristik tubuh manusia seperti pola wajah, dibutuhkan peralatan pembacapola basis data yang menyimpan data pola wajah dan perangkat lunak yang dapat menganalisis kesamaan data tersebut.Maka dengan seiring perkembangan teknologi saat ini, membuat manusia ingin meningkatkan efektifitas dan efisiensi dengan teknologi digital. Sebagai contohnya, dahulu mayoritas manusia apabila ingin mengambil gambar suatu objek masih menggunakan kamera analog, akan tetapi sekarang dapat menggunakan kamera digital yang hasilnya dapat diolah, disimpan dan dikirim secara elektronik. Komputer mempunyai peran yang sangat besar dalam pengolahan data karena memiliki kemampuan komputasi tinggi, sehingga data yang diolah menjadi sebuah informasi.Salah satu data tersebut bisa berupa gambar atau citra digital yang mampu diolah.Bahkan dari hasil data yang diolah tersebut kita dapat mendeteksi suatu objek yang berada di dalam gambar dengan menggunakan pengenalan pola.

Teknologi tersebut akan sangat bermanfaat apabila digunakan untuk membedakan warna kulit manusia dengan bukan kulit menggunakan segmentasi. Apalagi teknologi pendeteksian kulit sering digunakan untuk teknologi pengenalan wajah maupun pengenalan manusia. Dengan tujuan deteksi wajah berfungsi sebagai pengolahan awal untuk mengenali wajah dan juga sebagai pengolahan awal untuk proses pengaturan focus pada kamera. Pada proses pengolahan yang berbasis warna kulit ini, segmentasi warna kulit yang bisa digunakan salah satunya adalah menggunakan tipe citra HSV (Hue Saturation Value). Dari gambar dengan citra HSV tersebut kita bisa mendeteksi warna kulit manusia dengan menentukan range nilai warna kulit per pikselnya. Dengan begitu penguji bisa mendapatkan warna kulit yang nantinya akan dideteksi [1].


(18)

   

Sebelumnya sudah pernah dilakukan beberapa penelitian yang menyangkut dengan algoritma yang serupa, diantaranya :

a. Vita Prima Sari. Pengenalan Pola Wajah menggunakan Algoritma CamShift dan Metode Gabor Filter Filter. Institut Teknologi Telkom. 2008. Pada penelitian ini penulis menggunakan algoritma CamShift dan Metode Gabor Filter untuk proses pelacakan daerah wajah dan metode Gabor Filter untuk melakukan proses pengenalan wajah. Hal ini yang melatarbelakangi penulis untuk mengetahui lebih jelas dan mengembangkan bahasa pemograman matlab dengan membuat suatu aplikasi yang dapat mendeteksi wajah manusia dengan menggunakan HSV sebagai metode untuk perhitungan nilai Hue agar dapat mendeteksi kulit manusia terutama pada bagian wajah [1].

b. Heriansyah. Rancang Bangun Pendeteksian Gerakan Tangan Menggunakan Algoritma Camshift. STMIK MD. 2010. Penelitian ini menggunakan Tangan sebagai objek penelitiannya, dengan menggunan metode HSV sebagai penghitung nilai HSV agar tangan yang sebagai objek penelitian dapat di deteksi [2].

1.2.

Tujuan dan Manfaat Penelitian

Tujuan dari penulisan tugas akhir ini adalah merancang sistem yang dapat melakukan pendeteksian wajah sebagai salah satu pengolahan awal untuk mengenali wajah dan juga sebagai proses pengolahan awal untuk mengatur fokus pada wajah pada kamera. Algoritmayang digunakan penulis dalam pemrograman ini adalah alagoritma CamShift,

dimana algoritma ini berfungsi sebagai salah satu program untuk proses pelacakan dan metode Hue Saturartion Value (HSV).

1.3.

Batasan Masalah

Dalam proses sistem pengenalan pendeteksian wajah, ada beberapa perangkat yang dibutuhkan pada proses ini, yaitu perangkat keras (hardware) dan perangkat lunak (software).

Perangkat keras (hardware) yaitu webcam dan netbook, sedangkan perangkat lunak yaitu

Matlab.

Pada perancangan sistem ini, penulis fokus pada pembuatan software komputer untuk memproses pendeteksian wajah sedangkan untuk hardware berupa webcam dengan merek Logitech seri C270 HD . Penulis menetapkan beberapa batasan masalah pada perancangan ini, yaitu sebagai berikut :


(19)

   

Pendeteksian yang digunakan adalah pendeteksian wajah. 1. Percobaan harus dilakukan di tempat yang terang.

2. Algoritma proses pelacakan yang digunakan adalah algoritma CamShift.

3. Menggunakan webcam Logitech seri C170 diatas perangkat elektronik (laptop) dengan jarak30 hingga 60 cm.

1.4.

Metodologi Penelitian

Dalam mengembangkan aplikasi ini metodologi yang digunakan adalah metodologi

iteratif. Pengumpulan data yang digunakan dalam penyususnan laporan dilakukan dengan cara membaca buku-buku atau jurnal ilmiah yang berhubungan dengan deteksi wajah dengan citra digital dengan menggunakan metode camshift. Selain membaca buku, penulis juga mencari informasi melalui media-media elektronik.Tahap pertama yang penulis lakukan yaitu [4].

a. Perancangan Subsistem Software. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor-faktor permasalahan dan kebutuhan-kebutuhan yang ditentukan. b. Analisis, pada tahap ini penulis melakukan analisis mengenai perangkat keras,

perangkat lunak serta mengumpulkan data-data ataupun informasi yang dibutuhkan untuk membangun aplikasi perbandingan ataupun informasi yang dibutuhkan untuk membangun aplikasi pendetksi wajah menggunakan algoritma

camshift.

c. Desain, pada tahap ini dilakukan perancangan dengan membuat flowchart dan tampilan antar muka pengguna (user interface).

d. Pembuatan Kode Program, pada tahap ini penulis mengimplementasikan kode program pada rancangan aplikasi yang telah dibuat pada tahap sebelumnya. Bahasa pemrograman yang digunakan adalah Matlab (Matrix Laborartory) 2008. Dimana pada tahap ini metode camshift diimplementasikan ke dalam program. e. Pengujian, dimana ini adalah tahap terakhir yang dilakukan yaitu pengujian serta

pemeriksaan semua fungsi-fungsi sistem, apabila terjadi kekurangan ataupun perubahan kebutuhan pada sistem sehingga menyebabkan perlu adanya analisis, desain dan pembuatan kode ulang dengan demikian dilakukan proses pengujian dijalani kembali stelah proses analisis, desain, dan pembuatan program.


(20)

BAB II

DASAR TEORI

2.1.

WebCam

Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke computer melalui (biasanya) port USB. Sebuah web camera yang sederhana terdiri dari sebuah lensa standar, dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar; casing(cover), termasuk casing depan dan casing samping untuk menutupi lensastandar dan memiliki sebuah lubang lensa di casing depan yang bergunauntuk memasukkan gambar; kabel support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit dan ujungsatu lagi memiliki connector, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web camera. Sebuah web camera biasanya dilengkapi dengan software, software ini mengambil gambar dari kamera digital secara terus menerus ataupun dalam interval waktu tertentu dan menyiarkannya melalui koneksi internet .Contoh gambar webcam dapat dilihat pada gambar 2.1.

Gambar 2.1. Webcam Logitech C270 HD

2.2.

Mean Shift

Algoritma meanshift beroperasi pada citra berwarna pada video.Untuk melacak citra berwarna.Pada video tersebut harus dipresentasikan dalam bentuk distribusi histogram dari citra dengan menggunakan distribusi histogram dari citra tersebut. Tahap-tahap pada algoritma mean shift dapat dijabarkan sebagai berikut [1]:

1. Ukuran search windowyang sudah ditentukan.

2. Lokasi awal search window yang sudah ditentukan.

3. Hitung daerah mean dalam search window.

4. Posisikan search window ke tengah daerah mean seperti dihitung pada step (3).


(21)

 

dari threshold/ batas yang ditentukan).

2.3.

CamShift

Camshift merupakan singkatan dari Continously Adaptive Mean-Shift.Algoritma

Camshiftmerupakan pengembangan dari algoritma dasar Mean-Shift, yang dilakukan secara terus-menerus untuk melakukan adaptasi atau penyesuaian terhadap distribusi probablitias warna yang selalu berubah tiap pergantian frame video sequence.

Tahap pertama dari algoritma camshift adalah dengan melakukan perhitungan terhadap nilai hue dari objek sampel warna kulit manusia. Nilai histogram hue sebagai hasil perhitungan tersebut selanjutnya akan disimpan untuk digunakan sebagai look up table. Look up table histogram tersebut dapat digunakan untuk semua orang. Karena look up tablehistogram memiliki nilai hue, maka tidak diperlukan look up table barujika citra yang dibandingkan mempunyai warna yang berbeda.

Tahap kedua, dilakukan pemilihan lokasimean shift. Kemudian dilakukan perhitungan nilai histogram hue yang menjadi probabilitas untuk tiap-tiap pixel pada citra.

Tahap ketiga, dijalankan algoritma meanshift untuk mencari pusat dan besar search window yang baru. Lokasi tengah dan dan besar daerah yang dihasilkan disimpan.Lalu dilakukan looping ke tahap dua dimana lokasi awal search window menggunakan hasil algoritma mean shift pada tahap tiga [4].

Berikut adalah langkah-langkah dari algoritma Camshift sebagai berikut:

1. Tentukan ukuran awal search window.

2. Tentukan lokas awal dari search window.

3. Tentukan daerah kalkulasi (calculation region) pada bagian tengah search

window dengan ukuran lebih besar dari search window.

4. Frame citra video dikonversi ke dalam sistem warna HSV, kemudian langkah

selanjutnya membuat histogram dari citra untuk mengetahui distribusi probabilitas warna.

5. Lakukan algoritma meanshift seperti di atas (satu atau banyak iterasi) dengan

input berupa ukuran dan lokasi search windowserta citra distribusi probabilitas

warna dan disimpan.

6. Set nilai x, y, dan yang ada pada langkah lima (5).

7. Nilai x dan y dipakai untuk menentukan search window menentukan titik tengah


(22)

 

8. Ulangi langkah tiga (3) untuk setiap pergantian frame citra video. Untuk citra

berdistribusi probabilitas warna, daerah mean (centroid) di dalam search window bisa dicari dengan persamaan:

Zeroth moment bisa dicari dengan persamaan [4] :

�00= (�,�) ! !

 

(2.1) First Moment untk x dan y bisa dicari dengan persamaan:

�10= ��(�,�)

! !

 

(2.2) Maka lokasi mean dalam search window (centroid) adalah:

��=

10

�00

��

=

!!"

!!!

(2.3)

Dengan,

M00 = Zeroth Moment M01 = First Moment

Xc = Lokasi Search Window pada koordinat X Xy = Lokasi Search Window pada koordinat Y

I(x,y) = Probabilitas pada pixel dengan koordinat x dan y

2.4.

Citra

2.4.1. Definisi Citra

Citra merupakan suatu representasi (gambaran), kemiripan atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau berifat digital yang dapat disismpan pada suatu media penyimpanan.

Menurut Rinaldi Munir, citra (image)adalah gambar pada bidang dwimatra (dua dimensi) yang memegang peranan sangat penting sebagai bentuk visual kaya informasi.


(23)

 

Meskipun sebuah citra kaya informasi namun sering kali citra mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise) warnanya terlalu kontrast, kurang tajam, kabur (blurring), dan sebagainya.Tentu saja citra semacam ini menjadi sulit diintepretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasi baik oleh manusia maupun mesin, maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang study yang menyangkut hal ini adalah pengolahan citra.

Gambar 2.2. Proses Pengolahan Citra

Peningkatan kualitas citra bertujuan untuk menghasilkan kualitas yang lebih baik dibandingkan dengan citra semula.Analisis citra bertujuan untuk mengidentifikasi paramater yang diasosiaskan dengan ciri dari objek dalam citra untuk selanjutnya parameter tersebut digunakan dalam menginterprestasikan citra.

2.4.2. Citra RGB (RGB

Images

)

Citra RGB, yang bias disebut dengan citra "true color", disimpan dalam Matlab

dalam array berukuran  ×  × 3 yang mendefenisikan warna merah, hijau dan warna biru

untuk tiap pikselnya. Citra RGB tidak menggunakan palette.Warna pada setiap piksel

ditentukan dari kombinasi merah, hijau dan biru. Format file citra menyimpan citra RGB

sebagai citra 24 bit dengan komponen merah, hijau dan biru disimpan masing-masing 8 bit ukurannya. Kombinasinya memnjadi 16 juta warna, sehingga disebut "true color".

Array Matlab RGB dapat bertipe double, unit 8 atau unit 16. Dalam array RGB bertipe double, setiap komponen warna bernilai 0 dan 1.Sebuah pixel dengan komponen warna (0, 0, 0) ditampilkan hitam dan untuk komponen warna (1, 1, 1) ditampilkan putih. Komponen ker=tiga waran disimpan pada ketiga array data [5].


(24)

 

Gambar 2.3. Contoh Citra RGB Bertipe Double[2]

2.4.3. Citra Biner (

Binary images

)

Dalam sebuah citra biner, setiap piksel hanya mempunyai dua kemungkinan nilai,

seperti on dan off.Sebuah citra biner disimpan dalammatriks dengan nilai 0 (off) dan 1

(on).Sebuah citra biner dapat dianggap sebagai tipe khusus dari citra intesitas yang hanya berisi hitam dan putih.Selain itu, dapat dinyatakan sebagai citra ber-indeks dengan hanya dua warna.

Sebuah citra biner dapat dsimpan dengan tipe doubleatau unit8(kakas pengolahan

citra pada Matlab tidak mendukung citra biner bertipe unti16). Sebuah array bertipe unit8 lebih banak digunakan daripada double, karena tipe unit8 menggunakan lebih sedikit memori.Di bawah ini adalah contoh citra biner [5].


(25)

 

2.5.

Model Warna HSV

Warna yang terlihat adalah spektrum cahaya yang dipantulkan oleh benda yang kemudian ditangkap oleh indra penglihatan lalu diterjemahkan oleh otak sebagai warna tertentu.

Gambar 2.5. Spektrum Warna [2]

Model warna HSV mendefinisikan warna dalam terminologi Hue, Saturation,

Value.Hue menyatakan warna sebenarnya, seperti merah, violet, dan kuning. Huedigunakan untuk membedakan warna dan menenetukan kemerahan (redness), kehijauan (greenness),

dari cahaya. Hue berasosiasi dengan panjang gelombang cahaya. Saturation menyatakan

tingkat kemurnian suatu warna, yaitu mengidentifikasikan seberapa banyak warna putih diberikan pada warna.Value adaalh atribut yang menyatakan banyaknya cahaya yang diterima

oleh mata tanpa mempedulikan warna. Selain itu jarak HSV adalah murni dan konsepnya

yang hampir seragam maka proses kuantisasi pada HSVdapat dihasilkan dari mengumpulkan warna yang padat dan lengkap.

Nilai hue antara 0 sampai 1 berarti warna antara merah melewati kuning, hijau, cyan, biru dan magenta dan kembali menjadi merah. Nilai saturationantara 0 sampai 1 berarti dari tidak tersaturasi (keabuan) sampai tersaturasi penuh (tidak putih).Nilai Value atau brightness antara 0 sampai 1 berarti warna semakin cerah seperti ditunjukan pada gambar 2.3.


(26)

 

Gambar 2.6. Model Warna HSV[2]

Karena model warna HSV merupakan model warna yang diturunkan dari model

warna RGB, maka untuk medapatkan warna HSV ini diharuskan melakukan proses konversi dari RGB ke HSV.HSV merupakan salah satu cara untuk menfenisikan warna yang didasarkan warna yang didasarkan pada roda warna.

Hue merupakan variabel yang menyatakan warna dari merah hingga violet. Hue

mengukur sudut sekitar roda warna (merah pada 0°, 120° di hijau, dan biru di 240°. Nilai dari

hue berkisar antara 0° sampai 360°.

Gambar 2.7. Skala Hue

Saturationmerupakan variabel yang menyatakan vibrancydari suatu warna, Saturationbisa disebut juga dengan purity.Semakin kecil nilai dari saturation, maka warna

yang ditampilkan condong ke warna abu-abu.Skala nilai dari saturationberkisar antara 0%

hingga 100%.

Value menunjukan nilai kecerahan dari suatu warna. Skala dari value berkisar antar 0% hingga 100%.


(27)

 

Model warna HSV memisahkan komponen intesitas dari citra warna, sehingga model ini merupakan model yang ideal untuk mengembangkan algoritma pemrosesan citra yang intuitif dan natural.

2.5.1. Konversi RGB ke HSV

RGB merupakan kependekan darired, green, blue. Warna-warna yang dibentuk oleh model warna merupakan hasil campuran dari warna-warna primer merah, hijau, dan biru berdasarkan komposisi tertentu.

Perhitungan konversi RGB ke HSV dapat dirumuskan sebagai berikut. [2]

H

=

tan

[

!(!!!)

(!!!)!(!!!)

]

(2.4)

=

1

!"#(!,!,!)

! (2.5)

V

=

!!!!!

!

(2.6)

Pada rumus di atas, apabila S=0 maka H tidak dapat ditentukan. Untuk itu diperlukan normalisasi RGB terlebih dahulu dengan rumus berikut:

r

=

!!!!!! (2.7

g

=

!

!!!!! (2.8)

b

=

!

!!!!! (2.9)

Selain nilai r, g, dan b sudah dinormalisasi, maka rumus trasnformasi dari RGB ke HSV sebagai berikut :

V

=

max

(

r

,

g

,

b

)

(2.10)

S

=

0

,

����

 

=

0

v

!"#(!,!,!)

!

,

�����


(28)

 

=

0

,

����

 

=

0

!"×(!!!)

!×!

,

����

 

=

60

×

[

2

+

(!!!)

!×!

],

����

 

=

60

×

[

4

+

(!!!)

!×!

]

,

����

 

=

(2.12)

�= �+360                                    ����  <0 (2.13)

Dengan,

R = Nilai Red r = Nilai Red setelah Normalisas

G = Nilai Green g = Nilai Green setelah Normalisasi

B = Nilai Blue b = Nilai Blue setelah Normalisasi

H = Nilai Hue S = Nilai Saturation V = Nilai Value

Gambar 2.8. Gambar Hasil Konversi dari RGB ke HSV

2.5.2. Koversi RGB ke Grayscale

Citra grayscale adalah citra yang nilai piksel-pikselnya berada diantra 0 (hitam) dan 255 (putih). Proses awal yang banyak dilakukan dalam pengolahan citra adalah mengubah citra berwarna menjadi citra grayscale, hal ini digunakan untuk meyederhanakan model citra.

Tujuan image grayscale antara lain:

a. Mempresentasikan aras abu-abu (grayscale) atau kode warna.

b. Kisaran nilai ditentukan oleh bit yang dipakai dan akan menunujukan resolusi


(29)

 

1. 1 bit - 2 aras atau warna : [0,1]

2. 4 bit - 16 warna atau warna : [0,15]

3. 8 bit - 256 aras atau warna : [0,255]

4. 24 bit - 16 juta warna (true color)

a. Kanal merah - red (R) : [0,255]

b. Kanal hijau - green (G) : [0,255]

c. Kanal biru - blue (B) : [0,255]

Warna abu-abu adalah satu-satunya warna pada ruang RGB dengan komponen merah, hijau, dan biru mempunyai intensitas yang sama. Pada citra beraras keabuan hanya perlu menyatakan nilai intesitas untuk tiap pixel sebagai nilai tunggal, sedangkan pada citra berwarna perlu tiga nilai intensitas untuk tiap pixelnya.

Untuk mengubah citra berwarna yang mempunyai nilai matrik masing-masing r, g, dan b menjadi citra grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil nilai rata-rata dari nilai r, g, dan b sehingga dapat di tulis sebagai :

s

=

!!!!!

!

(2.14)

 Gambar Citra RGB 

          Gambar Greyscale 

Gambar 2.9. Contoh Gambar RGB dikonversi ke Grayscale.

2.5.3 Konversi Grayscale ke Biner

Konversi grayscale terhadap biner dilakukan dengan operasi pengambngan (thresholding).Operasi pengambangan mengelompokkan nilai derajat keabuan setiap pixel ke dalam 2 kelas, hitam dan putih.Pendekatan yg digunakan dalam operasi pengambangan adalah pengambangan secara global dan pengambangan secara lokal.

   < ≥ = 128 x jika 0 128 x jika 1 bw

x                     (2.15) 


(30)

     < ≥ = x x jika 0 x x jika 1 bw

x                         (2.16)

   

Setiap pixel mempunyai nilai warna xbw dengan nilai 0 dan 1. 

 

2.6.

Operasi Pengolahan Citra

Operasi-operasi pengolahan yang dilakukan pengolahan citra banyak ragamnya. Secara umum, operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis, yaitu:

a. Perbaikan Kualitas Citra (Image Enhancement)

Jenis ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra .Dengan operasi ini cirii-ciri khusus yang terdapat pada citra lebih ditonjolkan. Yang termasuk dalam klasifikasi ini antara lain :

1) Perbaikan kontras gelap/terang (contrast enhancement)

2) Perbaikan tepian objek (edge enhancement)

3) Penajaman (sharpenning)

4) Penyaringan derau (noise filtering)

b. Pemugaran Citra (Image Restoration)

Operasi ini bertujuan untuk menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan perbaikan. Yang termasuk dalam klasifikasi ini antara lain:

1) Pengilang kesamaran (debluring)

2) Penghilang derau (noise)

c. Pemampatan Citra (Image Compression)

Operasi ini bertujuan untuk memampatkan citra sehingga memori yang

diburuhkan untuk menyimpan citra lebih kecil, tetapi hasil citra yang telah dimampatkan tetap memiliki kualitas gambar yang bagus.

d. Segmentasi Citra (Image Segmentation)

Operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu.Jenis operasi ini erat kaitannya dengan pengenalan pola.

e. Pergerakan Citra (Image Analysis)

Operasi ini bertujuan untuk menghitung besaran kuantitatif citra untuk menghasilkan deskripsinya.Teknik analisis citra mengekstraksi ciri-ciri tertentu yang


(31)

 

membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya. Yang termasuk dalam klasifikasi ini antara lain:

1) Pendeteksi tepi (edge detection)

2) Ekstraksi batas (boundary)

3) Representasi daerah (region)

f. Rekonstruksi Citra (Image Reconstruction)

Operasi ini bertujuan membentuk ulang objek daari beberapa citra hasil

proyeksi.Operasi rekonstruksi citra banyak digunakan dalam bidang

medis.Contohnya adalah foto rontgen dan sinar X yang digunakan untuk membentuk ulang gambar organ tubuh.

2.7.

Video

Video dikatakan sebagai gabungan gambar-gambar mati yang dibaca berurutan dalam suatu waktu dengan kecepatan tertentu. Gambar-gambar yang digabung tersebut

dinamakan framedan kecepatan pembancaan gambar disebut frame ratedengan satuan fps

(frame per second). Karena dimainkan dalam kecepatan tinggi maka tercipta ilusi gerak yang halus, semakin besar nilai frame rata akan semakin halus pergerakan yang akan ditampilkan.

Menurut Jubilee, ada beberapa jenis format video yang biasa digunakan dalam pengolahan citra. Adapun beberapa format diantaranya :

1. AVI(AUDIO VIDEO INTERLEAVE)

Format ini termasuk format video yang tidak dikompresi. AVI adalah format standar file video untuk Microsoft Windows 3.1. Video yang menggunakan format ini akan menghasilkan ukuran file yang sangat besasr karena resolusi yang dipakai sesuai dengan resolusi dari sumber videonya, yaitu kaset video. Format inimerupakan salah satu format yang berkualitas tinggi karena mampu menghaslikan pergerakan 15 frame perdetik dalam resolusi maksimal dengan kualitas suara mencapai 11.025 Hz Going to give me

2. MPEG (Moving Picture Experts Group)

Format ini merupakan standar untuk hasil kompresi file digital video audio.

MPEG menghasilkan kualitas gambar yang tinggi tapi tidak membutuhkan kapasitas file besar. Kompresi file MPEG terkadang menghilankan sejumlah frame perpindahan sehingga proses transisinya sering tidak nyaman dipandang. Resolusi


(32)

 

video yang berformata MPEG mendukung reolusi setengah layar dan satu layar tergantung jenis MPEG-nya. Format ini memiliki beragam standar antara lain MPEG-1, MPEG-2, dan MPEG-4. Versi MPEG-1 hanya mampu menghasilkan kualitas video dibawah video VCR. Sedangkan untuk MEPG-2 mempunyai kecepatan 60 frame/detik sehingga mampu mengkompresi video berdurasi 2 jam dalam beberapa Gigabytes saja. Format MPEG-4 dikeluarkan pada saat tahun 1998 dan biasanya digunakan dalam aplikasi internet, ponsel, dan televisi. Dengan kapasitas yang kecil, MPEG-4 dapat menunjan transmisi via jaringan ber-bandwith kecil.

3. MOV

Termasuk dalam format video terkompresi.MOV dibuat oleh Apple Computer

dan dijalankan pada platfrom Macintosh tetapi sekarang dapat dijalanakn pada

windows dengan menginstal Codeck Quicktime.MOV termasuk video yang

ditujukan untuk online video, website yang berbasis multimedia, dan CD-ROM.

Format ini bisa langsung dihasilkan ponsel berkamera yang memilik fitur membuat video.

2.8.

Derau (

Noise

)

Derau atau noisemerupakan suatu masalah yang terjadi pada proses pengolahan

citra. Derau adalah gambar atau piksel yang menggangu kualitas citra. Derau dapat disebabkan oleh gangguan fisis (optik) pada alat akuisisi maupun secara disengaja akibat proses pengolahan yang tidak sesuai. Contoh terdapat bintik hitam atau putih yang muncul secara acak yang tidak diinginkan oleh citra, bintik acak ini disebut noise salt and paper[6].

Salah satu proses awal pengolahan citra yaitu untuk memperbaiki kualitas citra yang mengalami masalah atau gangguan. Perbaikan kualitas citra sangat diperlukan karena citra yang dijadikan obyek pembahasan, mempunyai kualitas yang buruk, misal cira mengalami derau pada saat pengiriman melalui saluran transmisi, citra terlalu terang atau gelap, kabur, dan sebagainya. Penulis menggunakan median filter sebagai penghilan noise salt and paper yang terdapat pada pengolahan citra untuk menghilangkan derau yang menggangu kuakitas citra tersebut,


(33)

 

2.9.

Filter Median

Median filter merupakan filter non-linear, yang berfungsi menhaluskan dan mengurangi noise atau gangguan pada citra. Dikatakan nonliniear karena cara kerja penapis ini tidak termasuk dalam operasi konvolusi. Operasi nonlinear dihitung dengan mengurutkan nilai intensitas sekelompok piksel, kemudian menggantikan nilai pixel yang diproses dengan nilai tertentu. Pada median filter suatu window tau penapis yang memuat sejumlah piksel ganjil digeser titik per titik pada seluruh daerah citra. Nilai-nilai yang berada pada window diurutkan secara ascending u tuk dihitung nilai mediannya. Nilai tersebut akan menggantikan nilai yang berada pada pusat bidang window.

Jika suatu window di tempatkan pada suatu bidang citra, aka nilai piksel pada pusat bidang window dapat dihitung dengan mencari nilai median dari nilai intensitas sekelompok piksel yang telah diurutkan. Secara matematis dapat dirumuskan sebagai berikut:

(

x

y

)

Median

{

f

(

x

i

y

j

) ( )

i

j

w

}

g

,

=

,

,

,

            (2.17)

dimana g(x,y) merupakan citra yang dihasilkan dari citra f(x,y) dengan w sebagai window

yang ditempatkan pada bidang citra dan (i,j) elemen dari window tersebut.

Gambar Sebelum difilter Gambar Sesudah difilter Gambar 2.10. Contoh Penghilangan Noise dengan filter median


(34)

20   

BAB III

PERANCANGAN

3.1.

Perancangan Sistem

Alur sistem pendeteksi wajah dengan algoritma camshift diperlihatkan pada gambar 3.1.

Wajah Webcam Laptop

Gambar 3.1 Alur Sistem Pendeteksi Wajah

Pada sistem pendeteksi wajah dengan algoritma camshift, penulis menggunakan software matlab untuk memasukan program pendeteksi wajah. Pada awalnya wajah akan ditangkap oleh camera. Dengan serangkaian program di matlab hasil gambar yang ditangkap oleh kamera akan di tampilkan yang fungsinya sendiri adalah sebagai pusat pengaturan semua proses pendeteksi wajah yang menggunakan webcam.

3.2.

Identifikasi Kebutuhan Perangkat

Pada pembuatan sistem deteksi wajah penulis menggunakan beberapa pereangkat sebagai berikut.

1. Webcam sebagai penangkap gambar saat proses pendeteksi. 2. Laptop sebagai pengolah data.

3. Matlab sebagai pengendali utama sistem pendeteksi wajah secara keseluruhan serta penampil antar muka.


(35)

 

3.3.

Perancangan Pengenalan Perangkat Keras

3.3.1. Webcam

Pada perancangan sistem deteksi wajah ini, penulis menggunakan webcam sebagai penangkap wajah ketika webcam di akatifkan. Webcam yang di gunakan adalah webcam Logitech C270 HD dengan resolusi 3 megapixel, tetapi resolusi yang di gunakan 160 x 120 pada program pendeteksi wajah. Pengambilan gambar oleh webcam dilkakukan dengan jarak 45 ��. Pada jarak terebutlah dihsailkan gambar yang fokus.

Sebelum pengambilan gambar , webcam harus terlebih dahulu dikomunikasikan dan diinisialisasi dulu di dalal program. Fungsi imqwhinfo untuk mengetahui nama adaptor dalam webcam tersebut. Kemudian diinisialsasi sesuai nama adaptornya yaitu 'winvideo' dan resolusi kamera yang digunakan adalah 160x240, setelah komunikasi dan inisialisasi webcam berhasil, Kemudian perintah untuk mengambil gambar menggunakan getsnapshot.

3.4.

Perancangan Perangkat Lunak

3.4.1. Diagram Alir Program Utama

Proses pendeteksi wajah dengan algoritma camshift adalah proses dimana ketika wajah telah terdeteksi oleh webcam dengan adanya tampilan window search. Diagram alir proses pendeteksi wajah dapat dilihat pada gambar 3.1.

Pada awalnya kamera diaktifkan, kemudianresolusi video diatur dengan resolusi 320x240. Resolusi video yang diatur pada resolusi 320x240 dimaksudkan agar pada saat video yang dijalankan tidak mengalami perlambatan, karena apabila resolusi yang dimasukkan semakin besar, maka setiap frame yang di ambil akan mempunyai ukuran file yang besar, sehingga dapat memperlambat pengamabilan gambar.

Setelah itu Interval video diatur nilainya.Interval video merupakan pengatur waktu saat pengambilan frame, dan jumlah pengambilan frame merupakan pengatur jumlah pengambilan frame yang dibutuhkan. Setelah pengambilan frame dilakukan, langkah selanjutnya adalah mengambil gambar (snapshot) dimana setelah pengambilan gambar akan dilakukan perhitungan nilai hue, dan ketika nilai hue telah diperoleh, prsoes selanjutnya yaitu nilai hue dimasukan ke dalam proses filter. Pada proses filter ini, gambar rgb terlebih dahulu dikonversi ke grayscale (persamaan 2.14 ). Setelah proses konversilangkah selanjutnya yaitu mensubtract nilai grayscale terhadap nilai hue, dan hasil subtract yang telah didapatkan kemudian didifferensiasi untuk mendapatkan nilai biner. Setelah mendapatkan nilai biner kemudian di filter dengan median filter denngan tujuan untuk mengurangi noise yang ada


(36)

 

pada citra .Setelah mendapatkan nilai median filter kemudian dicari nilai binernya (persamaan 2.17). Setelah mendapatkan nilai biner, proses selanjutnya yaitu mengkalkulasi luasan object dengan zeroth moment dan menetukan ukuran kotak pendeteksi dengan first moment, dan menentukan titik tengah dengan center of mesh.

Proses dilakukan secara berlanjut hingga frame yang diambil mencapai 100, dan jika pengambilan telah melebihi 100 maka program akan berhenti. Penelitian ini dikatakan berhasil apabila proses pendeteksian hanya mendeteksi wajah dari atas ke bawah yang meliputi dahi hingga dagu, dan dari pipi kiri hingga pipi kanan, dan perogram ini dikatakan tidak berhasil apabila proses penedetksian melebihi range tersebut (dari dahi hingga leher).

Gambar 3.2. Diagram Alir Proses Pendeteksi Wajah

3.4.2. Diagram Alir Program Mencari Nilai Hue

Langkah awal pada proses ini adalah pengambilan gambar, dan setelah proses pengambilan gambar selesai maka tiap pixel yang ada pada gambar akan dibaca nilaiRGB, ketika nilai RGB telah di dapatkan maka proses selanjutnya yaitu mengkonversi nilai RGB ke


(37)

 

HSV (berdasarkan persamaan 2.4 - 2.13), hasil konversi ke HSV kemudian diambil nilai Hue-nya. Nilai hue yang didapatkan akan disubtract dengan nilai grayscaleuntuk mendapatkan nilai biner.

Gambar 3.3. Diagram Alir Proses Mencari Nilai Hue

3.4.3 Diagram Alir Proses Konversi RGB ke Grayscale

Pada proses ini, gambar yang telah di ambil dari hasil snapshot masih dalan mode RGB dimana setiap pixel mempunyai nilai red (r), green (g) dan blue (b) dengan nilai masing-masing 0-255, kemudian di konversi ke dalam mode grayscale dengan (persamaan 2.14) maka setiap pixel saat dalam gambar grayscale mempunyai nilai derajat keabuan x dengan nilai 0-255. Warna abu-abu adalah satu-satunya warna pada ruang RGB dengan komponen merah, hijau, dan biru mempunyai intensitas yang sama. Pada citra beraras keabuan hanya perlu menyatakan nilai intensitas untuk tiap pixel sebagai nilai tunggal, sedangkan pada citra berwarna perlu tiga nilai intensitas untuk tiap pixelnya.

Untuk mengubah citra berwarna yang mempunyai nilai matrik masing-masing r, g, dan b menjadi citra grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil nilai rata-rata dari nilai r, g, dan b. Proses konversi ini di maksdudkan agar dapat disubtract dengan nilai hue, dan setelah disubtrcat maka dapat didifferensiasi untuk memperoleh nilai biner.


(38)

 

Gambar 3.4. Diagram Alir Proses Konversi RGB ke Grayscale

3.4.5. Diagram Alir Kotak Pendeteksi (

Search Window

)

Pada proses pembuatan kotak pendeteksi ini, langkah pertama yang dilakukan yaitu membuat bounding box, dimana pada bounding box terdapat titik x dimana sudut bounding box dibuat berdasarkan hasil kalkulasi pada luasan object dengan menggunakan zeroth momentdan menghitung jumlah piksel yang terdapat pada object. Kemudian dicari titik tengah dengan first moment melalui perhitungan piksel berdasarkan luasan object. Ukuran

bounding box seacara otomatis akan berubah mengikuti ukuran dan arah objek bergerak. Langkah selanjutnya yaitu membuat centroid sebagai titik tengah dimana letak kotak pendeteksi akan tampil. Setelah membuat bounding box dan centroid.


(39)

25   

BAB IV

HASIL DAN PEMBAHASAN

4.1

Hasil Implementasi Alat

Implementasi sistem pendeteksi wajah dengan metode camshift ini tersusun atas Laptop dan Webcam Logitech C 270HD. Berikut ini adalah penampakan hasil implementasi alat.

Gambar 4.1. Hasil Implementasi Alat Sistem Pendeteksi Wajah dengan Camshift

4.2

Hasil Perancangan dan Pembahasan Perngkat Lunak

4.2.1 Hasil dan Pembahasan Proses Pencarian Nilai Hue

Pengujian terhadap proses nilai hue dilakukan dengan memberikan program seperti berikut.

R=double(a(:,:,1)); G=double(a(:,:,2)); B=double(a(:,:,3));

hue_b=double(tan((3.*(G-B))./((R-G)+(R-B))));

Gambar 4.2. Subrutin Proses Pencarian Nilai Hue

Dalam proses pencarian nilai hue, gambar dari RGB akan dikonversi ke HSV untuk mencari nilai hue. Hasil dari nilai hue yang telah didapatkan dapat dilihat pada gambar (4.3)


(40)

Gambar 4.3. Hasil Konversi Gambar RGB ke Hue

4.2.2 Hasil dan Pembahasan Konversi RGB ke Grayscale

Pengujian terhadap proses konversi RGB ke HSV dilakukan dengan memberikan program sebagai berikut.

grey=(R+G+B)./3

Gambar 4.4. Subrutin Konversi RGB ke Grayscale

Pada proses ini gambar dari RGB di konversi ke Grayscale agar dapat disubstract dengan gambar hue. Proses subtract gambar RGB ke Grayscale dimaksudkan agar dapat memperoleh nilai biner. Hasil dari konversi ini dapat dilihat pada gambar (4.5).

Gambar 4.5. Gambar Hasil Konversi RGB ke Grayscale

4.2.3 Hasil Pembahasan Image Subtract

Hasil dari langkah ke 4 atau citra grayscale akan subtract( dikurangi ) dengan hasil dari langkah ke 3 yaitu citra RGB yang telah menghasilkan citra Hue dari hasil konversi ke citra HSV, sehingga dari hasil subtract ini dapat menghasilkan citra biner sehingga dari citra biner ini, akan diproses untuk mendapatkan bw area.


(41)

function c=imkurang(a,b) c=a-b;

Gambar 4.6. Perhitungan Image Subtract (im2subtract)

4.2.4 Hasil Pembahasan Image to Biner

Proses image subtracting sebelumnya memiliki nilai grayscale yang kemudian dari citra grayscale ini kemudian akan diubah menjadi citra bhitam putih atau black white atau biner menggunakkan fungsi im2bw pada matlab. Proses ini dimaksudkan agar dapat menentukan lokasi centroid dan menetukan rectangel sehingga dapat tejadi proses tracking yang telah diolah dengan meanshift.

function c=imkebw(a,b) c=ceil(a-b);

4.2.4 Hasil dan Pembahasan Kotak Pendeteksi ( Search Window )

Pengujian terhadap proses pembuatan kotak pendeteksi dilakukan dengan memberikan program sebagai berikut.

[row,col]=size(x); momen0=sum(sum(x)) % 3 moments

m10= 0; m00= 0; m01= 0; mu00 =0; hitung=0; baris=0; kolom=0;

% Perhitungan Moment for r=1:row

for c=1:col

if x(r,c)==1

hitung=hitung+1; %M00 baris=baris+r; %M01 kolom=kolom+c; %M10 end

end end

% Hitung Nilai Tengah x = kolom/hitung y = baris/hitung bc=[x y];

a=floor(sqrt(momen0)); % panjang sisi persegi b=floor(a/2); % separuh panjang sisi persegi

c=[x-b y-b]; % koordinat kiri atas


(42)

Gambar 4.6. Gambar Subrutin Proses Perhitungan Kotak Pendeteksi

Dalam proses ini, search window ini digunakan untuk mendeteksi wajah ketika wajah telah tampil di layar monitor pada saat program di jalankan. Search window ini akan bergerak mengikuti gerakan wajah. Diawali dengan mengambil nilai biner yang diperoleh dari hasil substract antara grayscale dan hue, kemudian dilakukan pencarian luasan object dari nilai biner tersebut. Setelah mendapatkan luasan object, langkah selanjutnya yaitu mencari center of mesh (titik tengah) pada proses ini dalam mencari titik tengah menggunakan persamaan 2.2. Ketika nilai tengah telah diperoleh maka langkah selanjutnya yaitu membuat kotak pendeteksi (search window) dengan persamaan 2.3. Hasil dari proses ini dapat dilihat pada gambar 4.7.

Gambar 4.7. Hasil Akhir Subrutin Kotak Pendeteksi

4.2.6. Hasil dan Pembahasan Program Utama

Pada pengujian program utama, dipastikan terlebih dahulu bahwa kamera akan mengambil gambal dengan latar belakang hitam. Setelah semua media telah siap maka langkah selanjutnya adalah mengeksekusi program utama. Di dalam program utama berisi pengaturan untuk menghubungkan matlab dengan webcam, pengaturan interval video dan frame yang akan di ambil, dan gabungan dari subrutin yang telah dibuat. Hasil akhir dan program utama iniakan menampilkan kotak pendeteksi pada wajah, seperti yang terdapat pada gambar 4.8.

imaqhwinfo

%[camera_name, camera_id, format] = getCameraInfo(a)

% Menjalankan video dengan inputan camera yang digunakan video_input = videoinput('winvideo',1,'YUY2_320x240'); %vid = videoinput(camera_name, camera_id, format);


(43)

set(video_input, 'FramesPerTrigger', Inf); set(video_input, 'ReturnedColorspace', 'rgb') video_input.FrameGrabInterval = 5;

%Mulai menjalankan video start(video_input)

% Mengatur perulangan frame setelah mencapai 1000 frame while(video_input.FramesAcquired<=1000)

% Mengambil hasil gambar dari frame

data_hasil_capture = getsnapshot(video_input); hue=rgbkehue(data_hasil_capture); maxhue=max(max(hue)); hue=hue/maxhue; data2=rgbkegray(data_hasil_capture); data2=double(data2)/255;

%Mendeteksi wajah yang telah direkam oleh webcam diff_im = imkurang(data2,hue);

%Menggunakan median filter untuk mengurangi noise difff_im = medfilt2(diff_im, [3 3]);

% Mengkonveri gambar dari grayscale ke dalam bentuk biner diff_im = imkebw(diff_im,0.45);

% Menghilangkan pixel yang kurang dari 300 diff_im = bwareaopen(diff_im,300);

% Menghubungkan hasil gambar yang telah di konversi. bw = bwlabel(diff_im, 8);

% Mulai menganalisis gambar. [bb,bc]=hmomen(bw);

% Menampilkan gambar

imshow(data_hasil_capture)

hold on

%Proses memberikan kotak pendeteksi pada wajah yag telah terdeteksi wwebcam.

rectangle('Position',bb,'EdgeColor','r','LineWidth',2); plot(bc(1),bc(2), '-m+')

a=text(bc(1)+15,bc(2), strcat('X: ', num2str(round(bc(1))), ' Y: ', num2str(round(bc(2)))));

set(a, 'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12, 'Color', 'yellow'); hold off end

% Memberhentikan video yang telah diakusisi. stop(video_input);


(44)

Gambar 4.8. Proses Pendeteksian Wajah

4.2.7.

Pembahasan Hasil Pengujian

Pada pengujian yang dilakukan pada saat sore hari pukul 15.00 sampai dengan 16.00, penulis memilki hasil yang sama dengan pengujian di pagi hari, siang dan malam. Berdasarkan pengambilan data sebanyak 30 kali, penulis menyatakan bahwa perancangan pendeteksi wajah tersebut berhasil apabila cahaya yang berada pada wajah harus lebih dominan dibandingkan latar belakang yang berada pada belakang objek. Selain itu juga program ini akan berkerja dengan baik apabila dilakukan pada ruangan terbuka dengan tingkat kecerahan yang stabil.


(45)

32   

BAB V

KESIMPULAN DAN SARAN

5.1

KESIMPULAN

Berdasarkan percobaan dan pengujian sistem pendeteksian wajah dengan alogoritma camshift maka dapat disimpulkan sebagai berikut :

1. Pada pengujian sistem pendetkesi wajah, program dapat mendeteksi wajah dengan baiktetapi harus diimbangi dengan pencahayaan yang seimbang .

2. Pada pengujian lain yaitu wajah akan lebih mudah dideteksi apabila dengan menggunakan background hitam yang tidak dapat memantulkan cahaya

3. Pengujian sistem pendeteksian wajah ini akan lebih baik jika penggunaan webcam dan ruangan yang digunakan memiliki tingkat kecerahan yang stabil.

5.2

SARAN

Sistem pendeteksian wajah ini masih memiliki kekurangan. Ada beberapa saran yang diharapkan dapat mengurangi kekurangan tersebut, antara lain:

1. Pengembangan dapat dilakukan agar sistem pendeteksian ini dapat lebih sempurna dengan menggunakan program gabor filter agar lebih mengenal secara detail piksel-piksel pada wajah.

2. Pengembangan sistem dapat dilakukan juga dengan kamera yang memiliki resolusi yang lebih unggul dalam mencapture wajah dan mendeteksi jumlah-jumlah piksel dan kerapatan piksel.

                         


(46)

33

DAFTAR PUSTAKA

[1] Sari, Vita Prima, 2008, Sistem Pengenalan Pola Wajah dengan Algoritma Camshift

sebagai Tracking dan Algoritma Meanshift sebagai Pengenal Wajah, Fakultas

Telekomunikasi Universitas Telkom, Bandung.

[2] Heriansyah, 2006, Rancang Bangun Pendeteksian Gerakan Tangan Menggunakan

Algoritme Camshift, Fakultas Teknik Imformatika Sekolah Tinggi Manajemen

Informatika dan Komputer, Multi Data, Palembang.

[3] Papsaika, Haris,_____,Digital Image Processing Using Matlab, Institute of Geodesy and Photogrammmetry, ETH Zurich.

[4] Rakhmawati, Rizqa Puji, 2013, Sistem Deteksi Jenis Bunga Menggunaka Nilai HSV

dari Citra Mahkota Bunga, Universitas Stikubank, Semarang.

[5] Wijaya, Ch. Wijaya., 2007, Pengelolahan Citra Digital Menggunakan Matlab, Bandung.

[6] Febriyanto, 2014, Pengenalan Alat-alat Stationeri Secara RealTime menggunakan

Ekstraksi Ciri DST, Fakultas Sains dan Teknologi, Universitas Sanata Dharma,

Yogyakarta.

[7] Syarifuddin, Sony Nuryadin,_____, Analisis Filtering Citra Denganmetode Mean

Filter Dan Median Filter, Fakultas Teknik da Ilmu Komputer, Universitas Komputer


(1)

function c=imkurang(a,b) c=a-b;

Gambar 4.6. Perhitungan Image Subtract (im2subtract)

4.2.4 Hasil Pembahasan Image to Biner

Proses image subtracting sebelumnya memiliki nilai grayscale yang kemudian dari citra grayscale ini kemudian akan diubah menjadi citra bhitam putih atau black white atau biner menggunakkan fungsi im2bw pada matlab. Proses ini dimaksudkan agar dapat menentukan lokasi centroid dan menetukan rectangel sehingga dapat tejadi proses tracking yang telah diolah dengan meanshift.

function c=imkebw(a,b) c=ceil(a-b);

4.2.4 Hasil dan Pembahasan Kotak Pendeteksi ( Search Window )

Pengujian terhadap proses pembuatan kotak pendeteksi dilakukan dengan memberikan program sebagai berikut.

[row,col]=size(x); momen0=sum(sum(x)) % 3 moments

m10= 0; m00= 0; m01= 0; mu00 =0; hitung=0; baris=0; kolom=0;

% Perhitungan Moment for r=1:row

for c=1:col

if x(r,c)==1

hitung=hitung+1; %M00 baris=baris+r; %M01 kolom=kolom+c; %M10 end

end end

% Hitung Nilai Tengah x = kolom/hitung y = baris/hitung bc=[x y];

a=floor(sqrt(momen0)); % panjang sisi persegi b=floor(a/2); % separuh panjang sisi persegi

c=[x-b y-b]; % koordinat kiri atas


(2)

 

Gambar 4.6. Gambar Subrutin Proses Perhitungan Kotak Pendeteksi

Dalam proses ini, search window ini digunakan untuk mendeteksi wajah ketika wajah telah tampil di layar monitor pada saat program di jalankan. Search window ini akan bergerak mengikuti gerakan wajah. Diawali dengan mengambil nilai biner yang diperoleh dari hasil substract antara grayscale dan hue, kemudian dilakukan pencarian luasan object dari nilai biner tersebut. Setelah mendapatkan luasan object, langkah selanjutnya yaitu mencari center of mesh (titik tengah) pada proses ini dalam mencari titik tengah menggunakan persamaan 2.2. Ketika nilai tengah telah diperoleh maka langkah selanjutnya yaitu membuat kotak pendeteksi (search window) dengan persamaan 2.3. Hasil dari proses ini dapat dilihat pada gambar 4.7.

Gambar 4.7. Hasil Akhir Subrutin Kotak Pendeteksi

4.2.6. Hasil dan Pembahasan Program Utama

Pada pengujian program utama, dipastikan terlebih dahulu bahwa kamera akan mengambil gambal dengan latar belakang hitam. Setelah semua media telah siap maka langkah selanjutnya adalah mengeksekusi program utama. Di dalam program utama berisi pengaturan untuk menghubungkan matlab dengan webcam, pengaturan interval video dan frame yang akan di ambil, dan gabungan dari subrutin yang telah dibuat. Hasil akhir dan program utama iniakan menampilkan kotak pendeteksi pada wajah, seperti yang terdapat pada gambar 4.8.

imaqhwinfo

%[camera_name, camera_id, format] = getCameraInfo(a) % Menjalankan video dengan inputan camera yang digunakan video_input = videoinput('winvideo',1,'YUY2_320x240'); %vid = videoinput(camera_name, camera_id, format); % Memasukan properti video yang dibutuhkan


(3)

set(video_input, 'FramesPerTrigger', Inf); set(video_input, 'ReturnedColorspace', 'rgb') video_input.FrameGrabInterval = 5;

%Mulai menjalankan video start(video_input)

% Mengatur perulangan frame setelah mencapai 1000 frame while(video_input.FramesAcquired<=1000)

% Mengambil hasil gambar dari frame

data_hasil_capture = getsnapshot(video_input); hue=rgbkehue(data_hasil_capture); maxhue=max(max(hue)); hue=hue/maxhue; data2=rgbkegray(data_hasil_capture); data2=double(data2)/255;

%Mendeteksi wajah yang telah direkam oleh webcam diff_im = imkurang(data2,hue);

%Menggunakan median filter untuk mengurangi noise difff_im = medfilt2(diff_im, [3 3]);

% Mengkonveri gambar dari grayscale ke dalam bentuk biner diff_im = imkebw(diff_im,0.45);

% Menghilangkan pixel yang kurang dari 300 diff_im = bwareaopen(diff_im,300);

% Menghubungkan hasil gambar yang telah di konversi. bw = bwlabel(diff_im, 8);

% Mulai menganalisis gambar. [bb,bc]=hmomen(bw);

% Menampilkan gambar

imshow(data_hasil_capture)

hold on

%Proses memberikan kotak pendeteksi pada wajah yag telah terdeteksi wwebcam.

rectangle('Position',bb,'EdgeColor','r','LineWidth',2); plot(bc(1),bc(2), '-m+')

a=text(bc(1)+15,bc(2), strcat('X: ', num2str(round(bc(1))), ' Y: ', num2str(round(bc(2)))));

set(a, 'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12, 'Color', 'yellow');

hold off end

% Memberhentikan video yang telah diakusisi. stop(video_input);


(4)

 

Gambar 4.8. Proses Pendeteksian Wajah

4.2.7.

Pembahasan Hasil Pengujian

Pada pengujian yang dilakukan pada saat sore hari pukul 15.00 sampai dengan 16.00, penulis memilki hasil yang sama dengan pengujian di pagi hari, siang dan malam. Berdasarkan pengambilan data sebanyak 30 kali, penulis menyatakan bahwa perancangan pendeteksi wajah tersebut berhasil apabila cahaya yang berada pada wajah harus lebih dominan dibandingkan latar belakang yang berada pada belakang objek. Selain itu juga program ini akan berkerja dengan baik apabila dilakukan pada ruangan terbuka dengan tingkat kecerahan yang stabil.


(5)

32   

BAB V

KESIMPULAN DAN SARAN

5.1

KESIMPULAN

Berdasarkan percobaan dan pengujian sistem pendeteksian wajah dengan alogoritma camshift maka dapat disimpulkan sebagai berikut :

1. Pada pengujian sistem pendetkesi wajah, program dapat mendeteksi wajah dengan baiktetapi harus diimbangi dengan pencahayaan yang seimbang .

2. Pada pengujian lain yaitu wajah akan lebih mudah dideteksi apabila dengan menggunakan background hitam yang tidak dapat memantulkan cahaya

3. Pengujian sistem pendeteksian wajah ini akan lebih baik jika penggunaan webcam dan ruangan yang digunakan memiliki tingkat kecerahan yang stabil.

5.2

SARAN

Sistem pendeteksian wajah ini masih memiliki kekurangan. Ada beberapa saran yang diharapkan dapat mengurangi kekurangan tersebut, antara lain:

1. Pengembangan dapat dilakukan agar sistem pendeteksian ini dapat lebih sempurna dengan menggunakan program gabor filter agar lebih mengenal secara detail piksel-piksel pada wajah.

2. Pengembangan sistem dapat dilakukan juga dengan kamera yang memiliki resolusi yang lebih unggul dalam mencapture wajah dan mendeteksi jumlah-jumlah piksel dan kerapatan piksel.

                         


(6)

33

DAFTAR PUSTAKA

[1] Sari, Vita Prima, 2008, Sistem Pengenalan Pola Wajah dengan Algoritma Camshift

sebagai Tracking dan Algoritma Meanshift sebagai Pengenal Wajah, Fakultas

Telekomunikasi Universitas Telkom, Bandung.

[2] Heriansyah, 2006, Rancang Bangun Pendeteksian Gerakan Tangan Menggunakan

Algoritme Camshift, Fakultas Teknik Imformatika Sekolah Tinggi Manajemen

Informatika dan Komputer, Multi Data, Palembang.

[3] Papsaika, Haris,_____,Digital Image Processing Using Matlab, Institute of Geodesy and Photogrammmetry, ETH Zurich.

[4] Rakhmawati, Rizqa Puji, 2013, Sistem Deteksi Jenis Bunga Menggunaka Nilai HSV

dari Citra Mahkota Bunga, Universitas Stikubank, Semarang.

[5] Wijaya, Ch. Wijaya., 2007, Pengelolahan Citra Digital Menggunakan Matlab,

Bandung.

[6] Febriyanto, 2014, Pengenalan Alat-alat Stationeri Secara RealTime menggunakan

Ekstraksi Ciri DST, Fakultas Sains dan Teknologi, Universitas Sanata Dharma,

Yogyakarta.

[7] Syarifuddin, Sony Nuryadin,_____, Analisis Filtering Citra Denganmetode Mean

Filter Dan Median Filter, Fakultas Teknik da Ilmu Komputer, Universitas Komputer