RIWAYAT HIDUP
ii
Penulis dilahirkan di kota Cianjur Jawa Barat pada tanggal
22 Juli 1989 dari ayah bernama Surahmat dan ibu bernama
Yati. Penulis merupakan anak pertama dari enam
bersaudara. Penulis meyelesaikan pendidikan Sekolah
Dasar di SDN Bunijaya Kab.Cianjur pada tahun1996 dan
lulus pada tahun 2002. Kemudian penulis melanjutkan
pendidikan MTs di pondok pesantren Al-Masthuriyah
Sukabumi dan tamat pada tahun 2005. Penulis melanjutkan MA di pondok
pesantren Al-Masthuriyah Sukabumi dan lulus pada tahun 2008. Setelah tamat
MA, penulis hijrah ke kota Bandung dan diterima di Fakultas Teknik dan Ilmu
Komputer Program Studi S1 Teknik Komputer Universitas Komputer Indonesia
dan tamat pada tahun 2014.
DETEKSI WAJAH MENGGUNAKAN METODE SPEED-UP
ROBUST FEATURES (SURF)
TUGAS AKHIR
Disusun Untuk Memenuhi Syarat Kelulusan Pada
Program Studi Strata Satu Sistem Komputer di Jurusan Teknik Komputer
Oleh Febry Yansyah
10208041
Pembimbing
Taufik Nuzwir Nizar, M.Kom
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
V
KATA PENGANTAR
Segala puji bagi Allah SWT, pencipta dan pemelihara alam semesta.
Shalawat serta salam semoga terlimpah bagi Nabi Muhammad SAW, keluarga,
sahabat dan para pengikutnya hingga akhir zaman.
Atas rahmat dan hidayah dari Allah SWT akhirnya penulis dapat
menyelesaikan Tugas Akhir ini, meskipun proses belajar sesungguhnya tak akan
pernah berhenti. Tugas Akhir ini sesungguhnya bukanlah sebuah kerja individual
dan akan sulit terlaksana tanpa bantuan banyak pihak yang tak mungkin penulis
sebutkan satu persatu. Dengan segala kerendahan hati, penulis ingin mengucapkan
terima kasih kepada:
1. Bapak Dr. Wendi Zarman, M.Si, selaku Ketua Jurusan Teknik Komputer yang
telah banyak memberikan nasihat dan semangat selama penulis mengerjakan
tugas akhir ini.
2. Bapak Taufiq Nuzwir Nizar, M.Kom, selaku pembimbing yang telah banyak
meluangkan waktu untuk memberikan bimbingan dan nasihat hingga tugas
akhir ini terselesaikan.
3. Ibu S. Indriani L., M.T, selaku dosen wali yang telah membimbing penulis
dari mulai masuk Universitas sampai penulis menyelesaikan tugas akhir.
4. Ibunda dan Ayahanda tercinta, yang telah memberikan semangat, nasihat dan
juga doa selama penulis mengerjakan tugas akhir.
5. Bapak dan Ibu dosen Jurusan Teknik Komputer.
6. Staf Administrasi Jurusan Teknik Komputer.
Akhirnya, penulis berharap semoga penelitian ini menjadi sumbangsih
yang bermanfaat bagi dunia sains dan teknologi di Indonesia, khususnya disiplin
keilmuan yang penulis dalami.
Bandung, Februari 2014
vi
1.5 Metode Penelitian ... 3
1.6 Sistematika Penulisan ... 4
BAB II TEORI PENUNJANG ... 6
2.1 Perkembangan Pengolahan Citra ... 6
2.2 Sistem Deteksi Wajah ... 8
2.3 Metoda Speed-Up Robust Features (SURF) ... 9
2.3.1 Ruang Skala (scale Space) ... 9
vii
2.8 Perangkat Keras ... 17
2.9 Perangkat Lunak ... 17
2.9.1 Bahasa Pemrograman C++ ... 18
2.9.2 QT Creator ... 20
2.9.3 Open Source Computer Vision (Open CV)... 21
BAB III PERANCANGAN SISTEM ... 23
3.1 Diagram Blok... 23
3.4 Perancangan Sistem ... 28
3.4.1 Konfigurasi OpenCV ... 28
3.4.2 Antarmuka Sistem ... 31
BAB IV PENGUJIAN DAN ANALISA ... 32
4.1 Pengujian Antarmuka Sistem ... 32
4.2 Proses Pengujian Pemotongan Area Wajah dengan Metode ROI ... 33
4.3 Proses Pengujian Ekstraksi Fitur SURF Pada Citra Uji ... 33
4.4 Proses Pengujian Ekstraksi Fitur SURF Pada Citra Data Awal ... 34
4.5 Proses Pengujian Matching Menggunakan FLANN ... 34
4.6 Pengujian Sistem Secara Keseluruhan ... 35
4.6.1 Citra Data Awal dan Citra Uji ... 35
BAB V KESIMPULAN DAN SARAN ... 46
5.1 Kesimpulan ... 46
5.2 Saran ... 46
47
DAFTAR PUSTAKA
[1] Sandyprayogi, E.Puspita, R.Susetyoko .Sistem Deteksi Wajah Pada Sistem Pengamanan
Lingkungan Berdasarkan Deteksi Objek Bergerak Menggunakan Kamera. Diakses 12 Juni
2013, dari http://www.eepis its.edu/uploadta/downloadmk.php?id=854
[2] Tania,D.K. (2010,07). Pengenalan Gambar Menggunakan Sebagian Data Gambar.
Diakses 06 Juni 2013, dari
http://uppm.ilkom.unsri.ac.id/userfiles/JurnalVol_5_No_2_Juli_2010/3-.pdf
[3] BROWN,M,m and LOWE, D.G., “Invariant Features from Interest Point Groups”,
British Machine Vision Conferense, Cardiff, Wales, page 656-665,2002.
[4] LOWE, D.G., “Distinctive Image Features from Scale-Invariant Keypoint”. Internasional
Journal of Computer Vision”, 60(2):91-110,2004.
[5] BAY,H., FASEL,B., and VAN GOOL,L., “Interactive Museum Guide : Fast and Robust
Recognition of Museum Object”. In Proceedings of the First International Workshop on
Mobile Vision”, May 2006
[6] “QT Programing”. Diakses 06 Oktober 2013
http://eko-artikel.blogspot.com/2013/09/qt-programming.html (Qt)
[7] OpenCV 2 Computer Vision Application Programming Cookbook. Diakses 06 Juni 2013
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml (OpenCV)
[8] Hidayat, 2011, “Menyusun Skripsi & Tesis”, Informatika.
[9] Rahman, A. M., Wasista,S. Sistem Pengenalan Wajah Menggunakan Webcam Untuk
Absensi Dengan Metoda Template Matching. Diakses 13 April 2013, dari
48
[10] Kurniawan, A., Saleh,A., Ramadijanti,N. Aplikasi Absesni Kuliah Berbasis Identifikasi
Wajah Menggunakan Metode Gabor Wavelet. Diakses 13 April 2013, dari
http://www.eepis-its.edu/uploadta/downloadmk.php?id=1414
[11] Agustian,Indra. (2012,06). Deteksi Kedip Mata Berbasis Metode SURF. Diakses 06 Juni
2013 dari http://unib.ac.id/blog/jurnalamplifier/files/2013/01/3-83kv04g4o9qzyp0.pdf
[12] Geng Du., Fei SU., Anni Cai. (2009) Face Recognition Using SURF Features. Diakses
29 Mei 2013, dari
http://robotics.csie.ncku.edu.tw/HCI_Project_2009/Face_recognition_using_SURF_features.
[13] “Real-time object detection in OpenCV using SURF”. Diakses 29 September 2013, dari
http://robocv.blogspot.com/2012/02/real-time-object-detection-in-opencv.html
[14]” Face detection con OpenCV 2.4 (Haar-like Feature based)”. Diakses 29 September
2013, dari
http://brainsnippets.org/2013/03/31/face-detection-con-opencv-2-4-haar-like-feature-based/
[15] ”SURF : Speed Up Robust Features”. Diakses 29 September 2013, dari
http://www.vision.ee.ethz.ch/~surf/index.html
[16] “Open CV”. Diakses Pada Tanggal 15 Juli 2013, dari http://opencv.org/
[17] “QT Creator”. Diakses Pada Tanggal 15 Juli 2013, dari
http://qt-project.org/groups/qt_creator/forum
[18] Wijaya, Marvin CH., Prijono, Agus., 2007, “Pengolahan Citra Digital Menggunakan
49
[19] Gunawan, Krisna., “Perancangan Sistem Pengenalan Wajah Berbasis Algoritma
Principal Component Analysis (PCA)”. Diakses Pada Tanggal 15 Juli 2013, dari
http://elib.unikom.ac.id/gdl.php?mod=browse&op=read&id=jbptunikompp-gdl-krisnaguna-29990&q=Krisna%20PCA
[20] Munir, Rinaldi., 2004, “Pengolahan Citra Digital Dengan Pendeteksian
Algoritmik”,Informatika : Bandung.
[21] “Interest Point Detection” Diakses Pada Tanggal 15 Juli 2013, dari
1
BAB I
PENDAHULUAN
Tujuan dari penulisan tugas akhir ini bukan hanya memberikan penjelasan
mengenai alat yang akan dirancang dan implementasikan, namun memberikan
gambaran mengenai latar belakang mengapa permasalahan yang diambil adalah
mengenai deteksi wajah dengan metoda Speed-Up Robust Features (SURF),
menjelaskan masalah apa saja yang ingin dipecahkan dan tujuan yang ingin
dicapai pada tugas akhir ini.
1.1 Latar Belakang
Seiring dengan berkembangnya teknologi, maka pengaplikasian deteksi
wajah mengalami pengembangan yang sangat cepat dan semakin banyak
digunakan, contohnya untuk sistem keamanan, absensi dan lainnya. Deteksi wajah
(face detection) merupakan salah satu tahap awal yang sangat penting sebelum
dilakukan proses pengenalan wajah (face recognition)[1]. Sistem pengenalan
wajah akan digunakan untuk membandingkan citra wajah masukan dengan suatu
kumpulan wajah sehingga dapat mengenali mana wajah yang paling cocok dengan
citra wajah tersebut.
Dari penelitian ini diharapkan dapat menguji perubahan transformasi pada
suatu area wajah. Selanjutnya pengaplikasian deteksi wajah dapat digunakan
untuk monitoring pada suatu ruangan. Telah di ketahui bersama bahwa sistem
monitoring yang sekarang ini masih jarang digunakan. Untuk itu deteksi wajah
dapat dimanfaatkan untuk monitoring keberadaan seseorang pada suatu ruangan,
dimana monitoring ruangan dengan deteksi wajah dapat mempermudah manusia
dalam hal mengetahui keberadaan seseorang didalam ruangan tanpa memasuki
suatu ruangan. Dengan pemanfaatan deteksi wajah ini akan memonitoring setiap
objek pada suatu ruangan dengan menggunakan kamera misalnya, yang
selanjutnya akan diproses dengan metoda deteksi wajah yang telah ada untuk
2
Untuk deteksi wajah itu sendiri telah banyak dikembangkan dengan
beberapa metode yang telah ada, pada penelitian sebelumnya deteksi wajah
berbasis metode template matching[9], dan metode Gabor Wavelet[10].
Akan tetapi berbeda dengan penelitian sebelumnya, pada penelitian ini
akan menggunakan metode Speed-Up Robust Features (SURF). Metoda SURF
merupakan sebuah metode deteksi fitur yang menggunakan keypoint dari sebuah
gambar, keypoint itu sendiri adalah bagian-bagian dari sebuah gambar yang
nilainya tetap ketika mengalami perubahan skala, rotasi, blurring, transformasi
3dimensi dan pencahayaan. Salah satu tujuan penelitian deteksi wajah dengan
metoda SURF ini diharapkan agar dapat menganalisa wajah yang tidak utuh pada
posisi derajat tertentu berdasarkan transformasi rotasi, skala, dan perubahan 3
dimensi dengan dilakukan kalibrasi posisi wajah terlebih dahulu.
1.2. Rumusan Masalah
Dalam pendeteksian wajah, kelemahan yang paling utama seperti yang
telah dipaparkan pada latar belakang, bahwa tidak sempurnanya gambar yang
dihasilkan ketika proses pengambilan gambar. Maka dari itu perlu digunakan
suatu metode pendeteksi wajah yang dapat mendeteksi area wajah pada posisi
derajat tertentu.
Dari hal diatas, maka dapat kita rumuskan suatu rumusan masalah
sebagai berikut :
1. Bagaimana cara mendeteksi objek, dalam kasus ini adalah objek wajah,
dengan memanfaatkan ciri-ciri yang terdapat pada suatu objek wajah
menggunakan metode SURF.
2. Bagaimana cara menampilkan area wajah dengan menggunakan metoda
region of interest (ROI).
3. Bagaimana cara ekstraksi area wajah menggunakan metoda SURF.
4. Membuat aplikasi deteksi wajah menggunakan metode SURF, dengan
memanfaatkan Open CV.
5. Menguji ketangguhan metode SURF berdasarkan transformasi rotasi, skala
3
1.3. Maksud dan Tujuan
Berdasarkan paparan mengenai latar belakang permasalahan serta masalah
apa saja yang ingin penulis pecahkan, tidak terlepas dari maksud dan tujuan yang
terkait dengan perancangan sistem ini.
1.3.1 Maksud
Maksud dari pembuatan tugas akhir ini adalah membuat suatu sistem
deteksi area wajah dengan menggunakan metode SURF pada citra yang telah
mengalami transformasi rotasi, skala dan 3 dimensi.
1.3.2 Tujuan
Tujuan dari pembuatan tugas akhir ini adalah untuk menciptakan
efektifitas kerja dari sistem yang dirancang agar lebih banyak keuntungan yang
dapat diperoleh.
1.4. Batasan Masalah
Pada perancangan sistem yang akan dibuat ini terdapat beberapa batasan
masalah, yaitu:
1. Citra yang digunakan sebagai masukan menggunakan citra diam.
2. Pengujian yang dilakukan adalah objek citra wajah yang telah mengalami
transformasi rotasi, skala dan 3 dimensi.
3. Sistem yang dibangun hanya mendeteksi area wajah, bukan pengenalan wajah.
1.5. Metodologi Penelitian
Metodologi penelitian yang akan digunakan untuk pengerjaan/penyusunan
tugas akhir ini adalah:
1. Studi Literatur
Moteda ini digunakan untuk mendapatkan informasi dan pengetahuan dari
literatur-literatur yang sudah ada, baik dari buku, jurnal dan internet.
2. Observasi
Metoda ini dilakukan untuk melakukan observasi terhadap tools yang
digunakan untuk sistem deteksi wajah dengan berbekal informasi dan
pengetahuan yang sudah di dapatkan dari studi literatur. Tools yang digunakan
4 3. Perancangan Model Sistem
Metoda ini dilakukan untuk menerapkan informasi yang sudah didapatkan dari
studi literatur dan pengalaman dalam observasi kedalam model sistem yang
akan dirancang.
4. Pengujian dan Analisis Sistem
Untuk mengetahui kinerja dari sistem, maka model sistem yang telah
dirancangan akan di uji apakah hasil yang dihasilkan telah sesuai seperti yang
telah direncanakan, dan selanjutnya akan dianalisa untuk mengetahui performa
sistem deteksi wajah yang telah dirancang.
1.6. Sistematika Penulisan
Berdasarkan struktur penulisan yang dibuat, terdapat
penjelasan-penjelasan mengenai isi tiap bagian/bab yang ditulis.
BAB I PENDAHULUAN
Bagian pendahuluan berisikan latar belakang masalah, rumusan masalah, batasan
masalah, metode penelitian dan sistematika penulisan
BAB II TEORI PENUNJANG
Bagian teori penunjang berisika teori penunjang/dasar yang menjelaskan hal-hal
yang berhubungan dengan judul agar pembaca dapat memahami istilah-istilah/
teminologi dan maksud serta materi yang tertuang dalam buku tugas akhir.
BAB III PERANCANGAN SISTEM
Bagian perancangan sistem berisi blok/blok sistem yang disimulasikan /dirancang
/diimplementasikan dengan penjelasannya. Parameter-parameter sistem, blok
diagram, diagram alir sistem, diagram alir proses pekerjaan dan hal-hal yang
berhubungan dengan hal tersebut.
BAB IV PENGUJIAN DAN ANALISA
Dalam pengujian dan analisa berisi mengenai keluaran yang didapat, misalnya
grafik dan hasil simulasi, spesifikasi alat yang dibuat, nilai parameter yang sudah
5
BAB V KESIMPULAN DAN SARAN
Bagian kesimpulan berisi hal-hal yang bisa disimpulkan dari hasil pengujian dan
analisa yang dilakukan pada BAB IV, juga menjawab apa yang sudah dinyatakan
dalam tujuan.
Saran berisi hal-hal yang mungkin dilakukan untuk pengembangan penelitian baik
sebagai kelanjutan/pengembangan penelitian ataupun sebagai pembanding
6
BAB II
TEORI PENUNJANG
2.1 Perkembangan Pengolahan Citra
Data atau informasi tidak hanya disajikan dalam bentuk teks saja, akan
tetapi dapat berupa sebuah gambar, audio (bunyi, suara, musik), dan video.
Keempat macam data atau informasi tersebut sering disebut multimedia.
Citra/gambar merupakan salah satu komponen multimedia yang memiliki peranan
penting sebagai informasi visual. Citra memiliki karakteristik yang tidak dimiliki
oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang
berbunyi “a picture is more than a thousand word” (sebuah gambar bermakna
lebih dari seribu kata), maksudnya adalah sebuah gambar dapat memberikan
informasi yang lebih banyak daripada informasi tersebut dalam bentuk kata-kata.
Citra secara harafiah, citra (image) adalah gambar pada bidang dwiwarna
(dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi
menerus (continue) dari intensitas cahaya pada bidang dwiwarna. Sumber cahaya
menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya
tersebut. Pantulan cahaya ini ditangkap oleh alat optik, misalnya mata pada
manusia, kamera, pemindai (scanner) dan sebagainya, sehingga bayangan objek
yang disebut citra tersebut terekam.
Pengolahan citra secara digital dimulai pada awal tahun 1921, yaitu
pertama kalinya sebuah foto berhasil di transmisikan secara digital melalui kabel
laut dari kota New York ke kota London (Bartlane Cable Picture Transmission
System) dengan memakan waktu kurang dari 3 jam yang biasanya pengiriman
suatu foto saat itu membutuhkan waktu sekitar satu minggu. Selanjutnya pada
tahun 1960 tercatat perkembangan pesat dikarenakan munculnya teknologi
komputer yang sanggup memenuhi suatu kecepatan proses dan kapasitas memori
7
Bidang ini sangat berhubungan erat dengan ilmu pengenalan pola, yang
secara umum bertujuan mengenali suatu objek dengan cara mengekstrasi
informasi penting yang terdapat pada suatu citra. Contoh aplikasi pengolahan citra
pada berbagai disiplin ilmu :
1. Dalam bidang kedokteran terdapat sistem deteksi diagnosis suatu kelainan
dalam tubuh manusia melalui citra yang dihasilkan oleh scanner.
Gambar 2.1 Hasil Pencitraan Menggunakan Scanner
1. Dalam bidang industri pengolahan citra di terapkan pada sistem pemeriksaan
sauatu produk melalui kamera video.
2. Dalam bidang perdagangan pegolahan citra digunakan untuk sistem
mengelani huruf / angka dalam suatu formulir secara otomatis oleh mesin
pembaca.
3. Dalam bidang militer sistem ini diterapkan pada pengenalan target peluru
8
2.2 Sistem Deteksi Wajah
Deteksi wajah adalah salah satu tahap pra-proses yang sangat penting di
dalam sistem pengenalan wajah yang di gunakan untuk sistem biometrik. Deteksi
wajah juga dapat digunakan untuk pencarian dan pengindeksan citra atau video
yang didalamnya terdapat wajah manusia dalam berbagai ukuran, posisi, dan latar
belakang.
Pendeteksian wajah merupakan proses segmentasi area wajah dengan latar
belakang dari suatu citra masukan. Proses ini bekerja dengan cara memeriksa citra
yang dimasukan apakah memiliki ciri wajah atau tidak. Jika memiliki ciri wajah,
maka akan dilakukan proses pemisahan citra wajah dengan latar belakang citra
yang dimasukan. Berikut ini merupakan diagram blok proses pendeteksian wajah:
Gambar 2.2 Diagram Blok Proses Pendeteksian Wajah
Proses pendeteksian pada diagram blok diatas dimulai dengan masukan
berupa citra yang selanjutnya citra akan di proses oleh komputer dengan
menggunakan tools yang tersedia dengan memanfaatkan metoda-metoda yang
telah ada. Selanjutnya akan ditampilkan hasil dari proses deteksi wajah apakah
terdeteksi atau tidak.
Masukan dapat berupa video ataupun citra, apabila masukan berupa video
biasanya sistem berjalan secara online atau real time dan proses yang dapat
dilakukan adalah proses face tracking. Sementara jika masukan berupa citra,
biasanya sistem berjalan offline, maka dapat dilakukan proses pendeteksian wajah
[19].
Citra Komputer Hasil Deteksi
9
2.3 Metoda Speed-Up Robust Features (SURF)
Metoda Speed-Up Robust Features (SURF) merupakan sebuah metode
deteksi fitur yang menggunakan keypoint dari sebuah citra/gambar. Keypoint itu
sendiri adalah bagian-bagian dari sebuah citra/gambar yang nilainya kuat/tetap
ketika mengalami perubahan skala, rotasi, blurring, transformasi 3 dimensi,
pencahayaan dan juga perubahan bentuk.
Perubahan bentuk itu bisa terjadi karena bentuk citra data awal yang tidak
utuh atau tidak sempurna gambar yang ada di dalam citra sampel tersebut. Citra
uji yang tidak utuh mungkin karena ada objek lain yang menutupi, atau
pengambilan gambar yang tidak sempurna, atau keadaan objek itu sendiri yang
telah mengalami perubahan. Agar supaya invarian terhadap skala maka proses
pertama yang dilakukan adalah membuat ruang sekala (scale space).
2.3.1 Ruang Skala (Scale Space)
Ruang skala di bagi kedalam bilangan octave, dimana satu octave
mempresentasikan respon filter yang melakukan proses konvolusi citra masukan
dengan filter yang ukurannya bertambah tinggi. Dalam SURF, level paling rendah
dalam scale space diperoleh dari output filter 9x9. Filter ini berhubungan dengan
nilai Gaussian σ =1.2. Ketika membuat filter yang lebih besar, ada beberapa
faktor yang harus di perhitungkan terlebih dahulu. Kenaikan ukuran dibatasi oleh
panjang lobe yang positif atau negatif dari turunan Gaussian orde kedua. Berikut
ini presentasi dari turunan Gaussian orde kedua :
Gambar 2.3 (a) Turunan Orde Dua Gaussian (b) Scale Scale
Pada gambar 2.3(a) menunjukan Lobe positif yang mempresentasikan
dengan warna kotak putih, sedangkan lobe negatif dipresentasikan dengan warna
10
kotak hitam. Gambar 2.3(a) menunjukan turunan orde dua Gaussian terhadap x,y
dan xy.
Karena dalam proses ini kita membutuhkan posisi central pixel tetap,
maka kenaikan ukuran pixel minimum 2 (satu pixel untuk setiap sisi), karena ada
tiga lobe dimasing-masing filter adalah 6. Dengan demikian ukuran filter-filter
untuk octave pertama adalah 9x9, 15x15, 21x21, 27x27. Sedangkan untuk setiap
octave yang baru, ukuran kenaikan filter adalah double (dari 6 menjadi 12,
menjadi 24, dan menjadi 48), sehingga ukuran filter octave kedua adalah
15,27,39,51. Octave ketiga 27,51,75,99, dan jika gambar asli masih lebih besar
dari ukuran filter, maka octave keempat dibuat yaitu dengan ukuran filter
51,99,147 dan 195. Pada gambar 2.3(b) menunjukan contoh scale space.
2.3.2 Penempatan Lokasi Keypoint dengan Akurat
Untuk mencari lokasi keypoint yang invariant terhadap rotasi, maka
dilakukan proses yang terdiri dari tiga langkah seperti di bawah ini :
1. Langkah pertama : Menentukan nilai ambang penentuan lokasi apakah
keypoint atau tidak. Ketika nilai ambang dinaikan, jumlah keypoint yang
terdeteksi lebiih kecil dan sebaliknya. Oleh karena itu, nilai ambang bisa
disesuaikan untuk setiap aplikasi.
2. Langkah kedua : Sesudah proses penentuan ambang, selanjutnya proses
non-maxima suppression dilakukan untuk mencari sekumpulan calon keypoint.
Proses ini dilakukan dengan membandingkan masing-masing pixel gambar
pada scale space dengan 26 tetangga, yang terdiri atas 8 titik di scale asli dan
9 di masing-masing scale diatas dan dibawahnya ( total keseluruhan 9+8+9=
26). Hasil dari non-maxima suppression adalah keypoint yang dihasilkan
gambar.
3. Langkah ketiga : Proses ini adalah proses terakhir dimana dalam mencari
keypoint yaitu dengan menggunakan interpolasi dengan data yang dekat
11
yang diajukan oleh Brown[3]. H(x, y, σ) menyatakan determinan Hessian,
yang didefinisikan sebagai persamaan berikut ini :
Lokasi ekstrim yang diinterpolasi, , ditemukan dengan mencari
turunan dari fungsi ini dan diberi nilai nol, yang dapat digambarkan dengan
persamaan berikut ini :
Jika lebih besar dari 0.5 pada x,y atau arah σ, lokasi perlu disesuaikan lagi
dengan melakukan interpolasi lagi. Prosedur ini diulang sampai nilai kurang
dari 0.5. Bila interpolasi telah dilakukan beberapa kali tetapi hasilnya tidak
memenuhi nilai di bawah 0.5, maka keypoint tersebut dihapus. Keypoint yang
tersisa adalah yang stable.
Gambar 2.4 Non-Maxima Suppression
2.3.3 Deskriptor Keypoint dan Proses Matching
Deskriptor ditentukan berdasarkan daerah piksel sekitar keypoint.
Deskriptor ini menggambarkan distribusi intensitas piksel tetangga disekitar
keypoint, sama halnya dengan informasi gradien yang di ekstrak oleh SIFT[4].
12
dan tidak menggunakan gradien seperti yang dilakukan pada metoda SIFT. Selain
itu, SURF menggunakan integral gambar untuk meningkatkan kecepatan proses.
Hal tersebut bertujuan untuk mengurangi waktu komputasi pada ekstraksi fitur
dan pada proses matching fitur, yang juga telah terbukti meningkatkan robust[5].
Proses awal yang akan dilakukan adalah mencocokan orientasi yang
dihasilkan berdasarkan informasi dari daerah yang berbentuk lingkaran disekitar
piksel yang menjadi keypoint. Kemudian membuat daerah berbentuk kotak pada
orintasi yang terpilih dan mengekstrak deskriptor SURF dari daerah tersebut. Pada
proses selanjutnya, proses matching fitur antara dua gambar dilakukan. Berikut ini
merupakan dua langkah penghitungan deskriptor keypoint yang akan dijelaskan
secara mendetail.
2.3.3.1 Pembuatan Orientasi
Agar supaya keypoint invarian terhadap rotasi gambar, maka kita harus
melakukan identifikasi orientasi yang dihasilkan disekitar keypoint. Untuk tujuan
tersebut, langkah pertama yang dilakukan adalah dengan menghitung respon Haar
Wavelet dalam arah x dan arah y pada daerah piksel tetangga disekitar keypoint
yang berbentuk lingkaran yang dengan jarak 6s, dimana s merupakan scale dari
keypoint yang terdeteksi. Ukuran wavelet ditentukan menjadi 4s. Filtering
dipercepat prosesnya dengan integral gambar, dan keluaran yang dihasilkan
direpresentasikan sebagai titik-titik dalam ruang dengan respon horizontal
sepanjang sumbu axis dan respon vertikal sepanjang sumbu koordinat.
Orientasi dominan diperkirakan dengan menghitung jumlah semua respon
dalam pergeseran orientasi dengan ukuran window π / 3 (seperti yang diunjukan
pada gambar 2.5), dimana respon horizontal dan vertikal dalam window tersebut
dijumlahkan. Dari kedua respon yang dijumlahkan akan menghasilkan sebuah
vektor orientasi lokal. Vektor terpanjang mendefinisikan orientasi keypoint.
Ukuran pergeseran window merupakan sebuah parameter yang harus dipilih
13
Gambar 2.5 Jendela Pergeseran Orientasi
2.3.3.2 Deskriptor Berdasarkan Jumlah Respon Haar Wavelet
Untuk proses ekstraksi deskriptor, langkah pertama yang dilakukan adalah
membuat daerah kotak sekitar keypoint, dimana keypoint sebagai pusat dari daerah
kotak tersebut, dan orientasinya di sekitar orientasi yang ditentukan. Berikut ini
merupakan gambar jendela orienasi perhitungan deskriptor pada skala yang
berbeda :
Gambar 2.6 Jendela Orientasi Perhitungan Deskriptor pada Skala yang Berbeda
Pada gambar diatas menjelaskan bahwa ukuran window yang diambil 20s,
yaitu nilai terbaik yang diambil berdasarkan hasil eksperimen.
Pada tahap selanjutnya, respon wavelet dx dan dy dijumlahkan
masing-masing sub-region. Selain memberikan informasi tentang polar dari perubahan
14
Masing-masing sub-region mempunyai empat dimensi deskriptor vertor v, yaitu
dx, dy, |dx| dan |dy|. Untuk 4x4 sub-region, maka panjang vektor deskriptornya
adalah 64 sebagaimana di ilustrasikan pada gambar beikut ini :
Gambar 2.7 perhitungan Deskriptor
Sementara untuk mendapatkan hasil vektor v dapat dilihat pada persamaan
berikut ini :
Respon Wafelet juga invariant terhadap pencahayaan, sedangkan sifat
invarian terhadap kontras dicapai melalui pembentukan deskriptor ke dalam
satuan vektor.
2.4 Deteksi Interest Point
Deteksi interest point merupakan sebuah terminologi baru dalam bidang
computer vision yang mengacu pada detection of interest point untuk proses
selanjutnya. Sebuah interest point adalah titik pada sebuah gambar yang secara
umum dapat di golongkan sebagai berikut :
1. Memiliki kejelasan, terutama memiliki cukup alasan yang matematis, dan
15
2. Memiliki posisi yang dapat difenisikan dengan baik dalam ruang gambar.
3. Struktur gambar di sekitar titik interest point kaya akan informasi (misalnya
:tekstur 2D yang signifikan), sehingga penggunaan interest point dapat
menyederhanakan/mempermudah sebuah proses pada vision system.
4. Titik ini stabil dibawah gangguan lokal dan global, dalam domain gambar
sebagai variasi sedemikian rupa kecerahan(iluminasi). Sehingga, titik interest
point dapat diandalkan untuk selanjutnya akan di hitung dengan
reproduktifitas yang tinggi.
5. Opsional, pendapat tentang interest point harus menyertakan atribut skala,
untuk memungkinkan menghitung interest point dari gambar/citra asli serta
dibawah perubahan skala.
Gambar 2.8 Deteksi Interest Point
2.5 Region Of Interest (ROI)
Sebuah “region of interest” adalah bagian dari citra yang ingin disaring
(filter) untuk membentuk beberapa operasi terhadapnya. Tujuan dari pemotongan
ini adalah untuk mengambil citra wajah dan membuang citra lain yang tidak
diperlukan. Dimensi citra yang dipotong disesuaikan dengan dimensi dari proses
segmentasi atau pengkodean objek wajah yang dilakukan pada proses
pendeteksian wajah.
ROI memungkinkan untuk mengakses bagian tertentu dari sebuah citra
untuk diolah secara berbeda. Fitur ini menjadi sangat penting apabila terdapat
16
2.5 Grayscaling Citra
Grayscaling citra merupakan tahapan pertama dari proses penyelarasan,
pada ahap ini terjadi pengkonversian citra warna RGB menjadi citra berwarna
keabu-abuan. Citra warna RGB terdiri dari 3 parameter warna yaitu merah (red),
hijau (green) dan biru (blue), jika citra warna RGB ini dimasukan ke dalam proses
ekstraksi, maka proses tersebut akan sulit untuk dilakukan karena citra RGB
terdiri dari 3 parameter, oleh karena itu diperlukan penyamaan parameter yaitu
dengan melakukan tahap grayscaling ini. Berikut ini adalah persamaan tahap
grayscaling citra :
X = 0.299r + 0.587g + 0.114b
Dimana, nilai citra RGB adalah (r,g,b) dengan nilai integer antara 0
sampai 255, dan x adalah nilai grayscale.
2.6 Modul Matching Fitur SURF Menggunakan Metode FLANN
Metode Fast Library Approximated Nearest Neighbor (FLANN) adalah
sebuah library untuk melakukan pencarian cepat, perkiraan tetangga, yang
terdapat pada space dimensi yang tinggi. Libarary ini merupakan kumpulan
algoritma yang bekerja dengan baik untuk menemukan nilai tetangga terdekat,
sementara untuk hasil parameter yang optimal, tergantung pada kumpulan data
yang digunakan.
Metoda Fast Library Approximated Nearest Neighbor (FLANN)
digunakan untuk matching fitur SURF citra wajah data awal dengan fitur SURF
citra wajah uji. Fitur SURF ini terdiri dari 3 komponen utama, yaitu: keypoint,
deskriptor dan vektor. Untuk satu gambar wajah citra uji terdapat cluster untuk
fitur SURF. Cluster ini akan otomatis dengan menggunakan K- Nearest Neighbor
(KNN) dengan tipe indeks kd tree, dimana KNN ini akan mencari jarak yang
paling kecil antara vector sampel dengan vector pada cluster.
Proses matching fitur citra wajah uji dan fitur citra wajah sampel, vektor
keypoint dan deskriptor pada citra wajah akan di cocokan nilainya dengan
menggunakan KNN search. KNN search mencari cluster pada citra wajah uji
17
pada citra wajah sampel. Setelah cluster diperoleh, akan dicari nilai vektor
deskriptor citra uji pada cluster teresebut yang sama atau yang paling dekat
dengan vektor deskriptor citra wajah sampel.
Jika terdapat yang sama, maka ada satu keypoint yang cocok antara kedua
citra wajah tersebut. Selanjutnya, untuk masing-masing gambar akan ditarik suatu
garis dari satu titik ke titik lainnya yang memiliki nilai keypoint yang cocok.
2.7 Perangkat Keras
Perangkat yang digunakan untuk pemrosesan adalah komputer / laptop,
pemrosesan pendeteksian wajah pada penelitian ini memiliki spesifikasi sebagai
berikut :
1. Jenis Laptop : Toshiba Satelite U-400
2. Sistem Operasi : Windows 7 64 Bit
3. Prosesor : Intel Core 2 Duo T6400 @2.00Ghz 2.00Ghz
4. Memori : 2GB DDR2
5. LCD : 13.3 inchi (Resolusi 1280 x 800)
2.8 Perangkat Lunak
Perangkat lunak yang digunakan pada penelitian ini merupakan perangkat
lunak yang di gunakan untuk memproses citra masukan yang hasilnya merupakan
dapat mempresentasikan apakah terdapat wajah atau tidak pada pendeteksian yang
18
2.8.1 Bahasa Pemrograman C++
Bahasa pemrograman C++ adalah suatu bahasa pemrograman komputer
yang telah diperluas dengan kemampuan object oriented. Sejak tahun 1990, C++
merupakan bahasa pemrograman komersil yang paling populer. C++
dikembangkan oleh Bjarne Stroustrup pada tahun 1979 dari bahasa pendahulunya
yaitu bahasa C.
Pada awal penciptaannya bahasa pemrograman C++ sering di sebut
dengan istilah “C with Classes” dikarenakan terdapat sedikit perbedaan dengan
bahas C, dimana perbedaan tersebut terletak pada penambahan kelas-kelas, fungsi
virtual, operator overloading, multiple inheritance, template, penanganan eksepsi
dan fitur-fitur lainnya. Telah banyak aplikasi-aplikasi yang dikembangkan,
diantaranya perangkat lunak sistem, perangkat lunak aplikasi, dan lain-lain.
Adapun kelebihan yang dimiliki bahas C++ ini adalah :
1. Bahasa C++ tersedia di semua jenis komputer.
2. Kode bahasa C/C++ sifatnya portable dan fleksibel untuk semua jenis
komputer.
3. Proses eksekusi program bahasa C/C++ lebih cepat.
4. Dukungan pustaka yang tersedia sangat banyak.
5. Bahasanya terstruktur.
6. Sudah mendukung pemrograman berorientasi objek.
Adapun kekurangan yang dimiliki oleh bahasa pemrograman C++ adalah :
1. Banyaknya operator serta fleksibilitas penulisan program yang masih
membuat bingung pemakai program.
2. Bagi pemula akan mengalami kesulitan ketika mencoba menggunakan pointer
19
Berikut ini merupakan contoh pemrograman C++ sederhana :
# include <iost r eam>
int main()
{
st d:: cout <<"Hello,new wor ld!\ n";
}
Keterangan:
1. # i nclude <iost ream>
Pernyataan #include memberitahukan pre-processor untuk menyertakan kode
dari iostream. Berkas iostream berisi deklarasi untuk berbagai fungsi yang
dibutuhkan oleh perangkat lunak atau kelas-kelas yang dibutuhkan.
Pre-processor adalah suatu program yang dijalankan oleh kompiler C++, yang
memiliki kemampuan untuk menambahkan dan menghapus kode dari sumber.
2. int main()
Pernyataan ini mendelekrasikan fungsi utama, fungsi adalah modul yang berisi
kode-kode untuk menyelesaikan masalah-masalah tertentu.
3. {
Kurung kurawal buka menandakan awal program.
4. st d:: cout <<"Hello,new wor ld!\ n";
Cout adalah sebuah obyek dari library perangkat lunak standar C++ yang
digunakan untuk mencetak string ke piranti output standar, biasanya layar
komputer. Kompilator menghubungkan kode dari library perangkat lunak
standar dengan kode yang telah ditulis untuk mendapatkan hasil yang dapat
dieksekusi.
20
Bentuk modifier yang digunakan untuk berganti baris setelah menampilkan
string.
6. }
Kurung kurawal tutup menandakan akhir program.
2.8.2 Qt Creator
Qt Framework sudah sejak lama digunakan untuk mengembangkan
aplikasi lintas platform. Qt sendiri dibuat pada tahuan 1996 oleh perusahaan asal
Swedia yang bernama Troltech. Karena sifatnya yang lintas platform, kita dapat
membuat aplikasi yang berjalan diatas platform Windows, Linux, dan Max. Qt
Framework sudah didesain sedemikian rupa sehingga mudah digunakan oleh
depelover tanpa harus mengorbankan fleksibilitas dan efesiensi. Qt mendukung
pengembangan dengan dua bahas utama yaitu Objek Oriented C++ dan Java.
Qt Framework memiliki koleksi class library yang lengkap dan konsisten
didukung oleh dokumentasi yang komprehensif. Class library tersebut berisi
semua function yang dibutuhkan untuk mengembangkan aplikasi. Qt Framework
membantu mengurangi pekerjaan developer dengan meningkatkan produktifitas
penulisan kode untuk pengembangan yang bersifat Rapid Applicatiom
Development (RAD).
Gambar 2.9 Qt Creator
Qt Creator adalah sebuah Cross-platform C++, yang memiliki Integrated
21
Creator sendiri merupakan sebuah Visual Debugger dengan mendukung tampilan
Grephical User Interface (GUI) dan form designer. Editornya juga memiliki fitur
berupa higligting sintaks dan auto completion. Qt Creator menggunakan kompiler
C++ dan GNU Compiler Collection on Linus dan FreeBSD. Pada Windows
kompilernya dapat menggunakan MingGW atau MSVC dengan pengaturan default
dan dapat juga menggunakan CDB dicompile dari sumbernya. Qt Creator
merupakan aplikasi open source yang dapat digunakan secara free, sehingga
banyak yang beralih ke penggunaan Qt Project, karena selain dasar
pemrogramannya adalah C atau C++, Qt Creator merupakan multi platform, yang
dapat digunakan di Windows ataupun di Linux.
2.8.3 Open Source Computer Vision (OpenCV)
Open Source Computer Vision adalah library open source multi-platform
yang berlisensi Berkeley Software Distribution (BSD) yang bersifat open source
sehingga bebas digunakan untuk hal-hal yang bersifat akademis dan penelitian.
Library ini berfungsi untuk mentransformasikan data dari citra diam atau kamera
video ke salah satu keputusan atau representasi baru. Semua representasi tersebut
dilakukan untuk mencapai beberapa tujuan tertentu.
Gambar 2.10 OpenCV
OpenCV dikembangkan oleh Visual Interactivity Group di Intel’s
Microprocessor Research Lab pada tahun 1999. Tujuan dikembangkannya
22
menyediakan situs yang mendistribusikan upaya dari komunitas sehingga dapat
dikonsolidasi dan dioptimalkan dari segi kinerjanya.
Telah banyak penambahan kelas OpenCV, sehingga OpenCV sampai saat
ini telah memiliki lebih dari 500 fungsi. Berikut ini beberapa fungsi yang dimiliki
oleh OpenCV :
Alasan penggunaan OpenCV karena kostumisasi yang dimiliki oleh
OpenCV yang tinggi dan kinerja yang baik pada program berbasis bahasa native
C/C++. Selain itu juga terdapat beberapa kelebihan OpenCV, diantaranya :
1. OpenCV gratis, karena open source library.
2. Memliki dokumen yang cukup banyak.
3. Dapat bekerja lebih cepat pada presesor berbasis Intel.
Selain kelebihan, OpenCV juga memiliki kekurangan, yaitu OpenCV
kurang mendukung bahasa berbasis .NET seperti C#, Visual Basic dan
lainnya,sehingga dibutuhkan wrappers mendukungnya. Pada penelitian ini
menggunakan OpenCV, karena tools yang dimiliki oleh OpenCV dapat
23
BAB III
PERANCANGAN SISTEM
3.1 Diagram Blok
Sistem yang di rancang terdiri dari dua blok utama yaitu blok proses
pemotongan area wajah dan proses ekstraksi fitur menggunakan metode SURF.
Berikut ini merupakan diagram blok sistem pemotongan area wajah :
Gambar 3.1 Diagram Blok Keseluruhan Sistem
Blok pemotongan area wajah menggunakan metode region of interest
(ROI), hal ini dilakukan untuk memudahkan proses ekstraksi fitur SURF hanya
pada area wajah saja. Blok proses ekstraksi fitur citra dilakukan dengan
memanfaatkan metoda Speed-Up Robust Features (SURF). Dimana citra yang
24
ekstraksi citra uji dan citra data awalakan di bandingkan nilainya dengan metode
FLANN. Berikut ini merupakan diagram blok secara keseluruhan sistem yang
akan dirancang :
Citra Uji
Merubah Citra Uji ke Grayscale
Ekstraksi Fitur SURF
Hasil Ekstraksi Fitur SURF Teknik FLANN Hasil Ekstraksi Fitur SURF
Citra Data Awal
Merubah Citra Sampel ke Grayscale
Ekstraksi Fitur SURF
Ya/Tidak
Mulai Mulai
Selesai
Gambar 3.2 Diagram Blok Sistem Deteksi Wajah Menggunakan Metode SURF
Fitur SURF ini digunakan untuk menentukan keypoint pada objek dalam
citra. Setiap objek citra uji atau citra sdata awal akan di ekstrak oleh fitur SURF
yang dimiliknya. Pada proses pencocokan (matching) fitur SURF dengan
menggunakan teknik FLANN, yang akan di cocokan hanyalah fitur keypoint yang
berada pada wajah saja dari bagian gambar yang menjadi latar belakangnya.
25
3.2 Fitur SURF
Fitur SURF memiliki nilai yang konstan atau stabil (invariant) terhadap
perubahan skala, rotasi, blurring, pencahayaan dan transformasi 3 dimensi. Oleh
karena itu dapat digunakan untuk proses pendeteksian wajah. Deteksi wajah
menggunakan metoda SURF pada intinya adalah mencari interest point pada
suatu lokasi objek wajah yang terdeteksi. Terdapat dua langkah yang dapat kita
lakukan untuk mendeteksi wajah menggunakan metoda SURF :
1. Langkah pertama : Membandingkan ada atau tidaknya interst point pada
keadaan tersebut yang dapat dijadikan parameter yang cukup kuat untuk
mendefinisikan suatu wajah. Pada langkah ini dapat diperkuat dengan
membuat nilai minimal hessian yang bisa dikalibrasi sebelum mengakftifasi
proses deteksi.
2. Langkah kedua : Jika parameter yang didapatkan dari langkah pertama cukup
kuat, maka tahap selanjutnya adalah proses pencocokan (matching) setiap
interest point pada keadaan yang diketahui sebagai suatu objek wajah. Proses
pencocokan dapat dilakukan dengan menggunakan metoda Flann matcher dan
diperbaiki unuk mengeliminasi pasangan-pasangan interest point yang kurang
tepat dengan menggunakan jarak encludian. Untuk melakukan pencocokan,
maka diperlukan citra sampel wajah yang diambil sebelum proses deteksi
wajah.
3.3 Diagram Alir
Berikut ini adalah diagram alir yang akan digunakan dalam membuat
algoritma program untuk mendukung sistem pendeteksian wajah menggunakan
metoda SURF ini :
3.3.1 Ekstraksi Citra Uji Menggunakan Metoda SURF
Pada proses ini dilakukan ekstraksi SURF pada data uji dengan berbagai
posisi. Ekstraksi ini dilakukan untuk mempermudah pada tahap perbandingan.
26
Gambar 3.3 Diagram Ekstraksi Citra Uji Menggunakan Metoda SURF
3.3.2 Ekstraksi Citra Data Uji Menggunakan Metoda SURF
Ekstraksi citra data awal tidak berbeda jauh dengan ekstraksi citra uji.
Ekstraksi ini dilakukan agar mendapatkan hasil ekstraksi SURF yang selanjutnya
akan digunakan sebagai citra pembanding pada proses matching. Berikut ini
27
Gambar 3.4 Diagram Ekstraksi Citra Data Awal Menggunakan Metoda SURF
3.3.3 Matching Interest Point Menggunakan Teknik FLANN
Perbandingan (matching) dengan teknik FLANN dilakukan untuk mencari
nilai interest point yang dianggap sama pada masing-masing citra, baik itu interest
point citra uji ataupun interest point citra data awal. Berikut ini merupakan
diagram blok proses perbandingan :
Mulai
Teknik FLANN Hasil Ekstraksi Fitur SURF Citra Data
Awal Hasil Ekstraksi Fitur SURF Citra
Uji
Titik Yang sama/Tidak
Selesai
28
3.4 Perancangan Sistem
Pada proses perancangan sistem ini menjelaskan tentang bagaimana cara
konfigurasi library terhadap IDE yang digunakan dan antarmuka sistem yang
akan dilakukan.
3.4.1 Konfigurasi OpenCV
OpenCV adalah library tambahan yang digunakan pada penelitian ini,
sehingga tidak otomatis terhubung dengan IDE yang digunakan. Maka dari itu
perlu dilakukan konfigurasi tertentu untuk menghubungkan library dengan IDE
yang digunakan agar sistem pendeteksian wajah ini dapat berjalan. Pada penelitian
ini library yang digunakan adalah OpenCV. OpenCV dianggap cukup mendukung
pada proses pendeteksian wajah menggunakan metoda SURF ini, karena library
yang digunakan sudah tersedia. Sementara untuk IDE menggunakan QT Creator
Berikut ini merupakan tahapan konfigurasi library OpenCVdengan IDE
QT Creator:
1. Install IDE Qt Creator secara default, setalah itu kita akan dapat
menggunakannya. Berikut ini merupakan tampilan IDE QT Creator setelah
sukses di install :
29
2. Selanjutnya jalankan dan ekstrak OpenCV 2.3.1 pada folder yang berada pada
directori C:/
Gambar 3.7 Ekstraksi OpenCV
3. Setelah di ekstrak, selanjutnya adalah compilelibrary menggunakan compiler
dasar mingw/g++ yang dimiliki default oleh Qt Creator. Akan tetapi sebelum
itu dilakukan, kita harus membuat path pada environment variable pada
komputer kita. Berikut ini tampilan konfigurasi pada environment variable :
Gambar 3.8 Konfigurasi Environment Variable
4. Setelah tahap konfigurasi environment variable selesai, selanjunya kita akan
membangun library yang dimiliki OpenCV menggunakan sofware Cmake.
Cmake ini merupakan cross-platform dan open source untuk membangun
library packages. Ini merupakan gambar dimana sedang dilakukan build
30
Gambar 3.9 Build Library OpenCV Menggunakan Cmake
Setelah prose build ini selesai, QT Creator sudah dapat menggunakan library
yang dimiliki oleh OpenCV.
5. Penyertaan library OpenCV pada sistem yang akan dirancang dengan cara
menambahkan library file kedalam linker input properties dari project
prorerties yang akan dirancang :
INCLUDEPATH+=C:\\OpenCV\\opencv\\binary\\opencv2.3.1\\install\\includ
e
LIBS += -LC:\\OpenCV\\opencv\\binary\\opencv2.3.1\\install\\lib\
-lopencv_core231.dll \
-lopencv_highgui231.dll \
-lopencv_imgproc231.dll \
-lopencv_features2d231.dll \
-lopencv_calib3d231.dll\
-lopencv_contrib231.dll\
31
-lopencv_gpu231.dll\
-lopencv_legacy231.dll\
-lopencv_ml231.dll\
-lopencv_objdetect231.dll\
-lopencv_video231.dll
3.4.2 Antarmuka Sistem
Antarmuka sistem yang akan dibangun berupa frame command prompt
dan frame window yang terpisah, hal ini didasari karena keterbatasan library yang
tidak mendukung manage code, yang menyebabkan terjadi error pada
perancangan dengan antarmuka berbasis windows form application. Rancangan
antarmuka yang akan dirancang terdiri dari :
1. Hasil ekstraksi fitur SURF pada data uji.
2. Hasil ekstraksi fitur SURF pada data sampel.
3. Hasil perbandingan (matcher) interest point menggunakan teknik FLANN.
4. Hasil jumlah interest point yang terdeteksi dari citra uji.
5. Hasil jumlah interest point yang terdeteksi dari citra sampel.
6. Hasil jumlah interest point yang terdeteksi pada hasil perbandingan dengan
32
BAB IV
PENGUJIAN DAN ANALISA
4.1 Pengujian Antarmuka Sistem
Pada pengujian ini dilakukan pengujian antarmuka sistem pendeteksian
wajah yang terdiri dari command prompt dan frame window.
Gambar 4.1 Tampilan Antarmuka Command Prompt
Pada gambar diatas menunjukan tampilan antarmuka command prompt
yang berfungsi untuk menampilkan nilai interst point data awal, interest point
data uji, dan nilai interest point yang sama (match) dengan menggunakan teknik
FLANN. Selain itu, untuk melakukan proses penghentian program, serta sebagai
tempat informasi proses yang sedang berlangsung pada sistem.
33
Gambar 4.2 menunjukan tampilan window frame yang berfungsi
menampilkan hasil ekstraksi SURF citra data awal, citra uji, dan juga window
frame hasil matching dengan metode FLANN.
4.2 Pengujian Pemotongan Area Wajah dengan Metode ROI
Pada proses pengujian pemotongan area wajah masukan ini dilakukan
dengan cara memotong area wajah yang terdeteksi menggunakan metode region
of interest (ROI). Dengan menggunakan metode ROI, kita dapat memilih area
wajah yang akan kita proses. Hal ini dilakukan supaya mempermudah dalam
pendeteksian area wajah menggunakan metode SURF. Berikut ini merupakan
gambar dari area wajah yang telah melalui proses pemotongan area wajah
menggukan ROI :
Gambar 4.3 Pengujian Proses Pemotongan Area Wajah ROI
4.3 Proses Pengujian Ekstraksi Fitur SURF Pada Citra Uji
Berikut ini merupakan hasil ekstraksi fitur SURF pada citra uji dengan
menampilkan interest point yang berada pada area wajah citra uji :
34
Pada gambar 4.4 dapat kita amati terdapat titik-titik interest point pada
area wajah data uji dapat terdeteksi setelah melalui proses ekstraksi SURF. Data
uji yang dimasukan berasal dari 5 citra wajah orang. Dimana masing-masing
wajah telah mengalami transformasi rotasi, skala dan transformasi 3 dimensi.
4.4 Proses Pengujian Ekstraksi Fitur SURF Pada Citra Data Awal
Berikut ini merupakan hasil ekstraksi fitur SURF pada citra data awal
dengan menampilkan interest point yang berada pada area wajah citra data awal:
Gambar 4.5 Pengujian Proses Ekstraksi Fitur SURF Pada Citra Data Awal.
Pada gambar 4.5 dapat kita amati terdapat titik-titik interest point pada
area wajah data awal dapat terdeteksi setelah melalui proses ekstraksi SURF. Citra
data awal yang digunakan masing-masing 1 buah citra data awal untuk satu wajah.
Karena yang digunakan adalah 5 wajah orang, maka dalam proses pengujian
terdapat 5 citra data awal.
4.5 Proses Pengujian Matching Menggunakan FLANN
Setelah tahap ekstraksi selesai, tahap selanjutnya adalah membandingkan
(matching) interes point yang sama menggunakan metode FLANN. Mengacu
pada metode untuk matching fitur SURF, yaitu salah satunya metode fast library
approximated nearest neighbor (FLANN). Diamana fitur FLANN ini mencari
nilai interest point yang paling terdekat dan banyak cocok. Berikut ini merupakan
35
Gambar 4.6 Proses Pengujian Matching Menggunakan FLANN
Jika nilai interest point pada citra uji dan citra data awal dianggap sama
dan dianggap paling banyak cocok, maka akan ditarik suatu garis dari
masing-masing citra uji dan citra data awal tersebut. Dari gambar diatas dapat kita lihat
penarikan titik-titik interest point yang nilainya sama.
4.6 Pengujian Sistem Secara Keseluruhan
Pengujian ini dilakukan dengan membandingkan citra uji dengan citra
sampel.
4.6.1 Citra Data Awal dan Citra Uji
Berikut ini 5 citra wajah data awal yang digunakan :
1. Citra wajah Ardi
2. Citra wajah Dadi
3. Citra wajah Febry
4. Citra wajah Irvan
5. Citra wajah Prengki.
36
Data data awal digunakan untuk membandingkan citra uji yang telah
mengalami transformasi rotasi, skala dan 3 dimensi. Adapun citra uji yang telah
mengalami transfomasi rotasi, skala dan 3 dimensi berjumlah 125 citra uji dengan
masing-masing wajah orang yang digunakan mempunya 25 citra uji. Berikut ini
merupakan rincian citra uji :
1. Citra uji mengalami transformasi rotasi dengan cara memutar citra dengan
memutar per-300 hingga 3600. Maka didapatkan 12 citra uji dengan posisi citra
wajah sebagai berikut : 300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000,
3300, 3600.
2. Citra uji mengalami transformasi skala dengan cara diperkecil (zoom out) dan
diperbesar (zoom in) posisi wajah citra uji, anggap jarak untuk masing-masing
skala 25cm. Jumlah citra yang di transformasi skala citra diperkecil adalah 3
citra, yaitu diperkecil : 75%, 50%, 25%. Untuk citra yang diperbesar
berjumlah 4 citra, yaitu diperbesar : 125%, 150%, 175% dan 200%.
3. Citra uji mengalami transformasi 3dimensi, hal ini dilakukan dengan memutar
posisi wajah ke kanan dan ke kiri. Jumlah citra uji yang transformasi 3
dimensi adalah 6, berikut adalah citra uji yang digunakan : wajah menghadap
kanan 300, 600, 900 dan wajah menghadap kiri 300, 600, 900.
4.6.2 Pengujian
Berikut ini merupakan hasil pengujian sistem deteksi wajah menggunakan
metoda SURF dengan menghitung nilai interest point yang didapatkan pada citra
uji dan citra data awal :
4.6.2.1 Pengujian Perubahan Rotasi
Berikut ini merupakan hasil pengujian citra uji yang telah mengalami
transformasi rotasi. Pada tabel 4.1 dibawah ini merupakan citra uji yang
37
Tabel 4.1 Citra Uji Hasil Perubahan Rotasi
Nama Orang Citra Uji
Ardi
Dadi
Febry
Irvan
Prengki
38
Tabel 4.2 Hasil Pengujian Kondisi Perubahan Rotasi
40
Nama Citra Interest Point
Data Uji
Interest Point
Data Awal
Match Interest
Point
PRENGKI 3000 .Jpg 90 71 10
PRENGKI 3300 .Jpg 86 71 14
PRENGKI 3600 .Jpg 71 71 71
4.6.2.2 Pengujian Perubahan Skala
Berikut ini merupakan hasil pengujian citra uji yang telah mengalami
transformasi skala. Akan ditampilkan nilai interest point yang didapatkan pada
tabel dibawah ini :
Tabel 4.3 Citra Uji Hasil Perubahan Skala
Nama Orang Skala Diperkecil Skala Diperbesar
Ardi
Dadi
Febry
Irvan
41
Berikut ini tabel nilai interest point yang didapatkan pada pengujian
transformasi skala :
Tabel 4.4 Hasil Pengujian Kondisi Perubahan Skala
42
transformasi 3 dimensi. Akan ditampilkan nilai interest point yang didapatkan
pada tabel dibawah ini :
Tabel 4.5 Citra Uji Hasil Perubahan 3 Dimensi
Nama Orang Posisi Rotasi Kiri Posisi Rotasi Kanan
Ardi
Dadi
Febry
43
Nama Orang Posisi Rotasi Kiri Posisi Rotasi Kanan
Prengki
Berikut ini tabel nilai interest point yang didapatkan pada pengujian
transformasi 3 dimensi :
Tabel 4.6 Hasil Pengujian Kondisi Perubahan 3 Dimensi
44
Dari hasil pengujian, dapat dilihat pada tahap pengujian telah berhasil
ekstraksi citra wajah menggunakan SURF. Selain itu, dapat ditampilkan jumlah
nilai interest point pada masing-masing citra, baik itu citra data awal atau citra uji.
Dengan menggunakan teknik matching FLANN, maka kita dapat
menampilkan jumlah interest point yang nilai sama menurut perhitungan FLANN.
Untuk analisa dari masing-masing hasil pengujian adalah :
1. Perubahan Rotasi
Jumlah citra uji yang digunakan berjumlah 60 citra uji yang telah mengalami
perubahan rotasi. Dengan asumsi bahwa posisi citra yang digunakan berada
45
2400, 2700, 3000, 3300, 3600 untuk masing-masing wajah yang digunakan.
Untuk hasil nilai interest point yang didapatkan, dapat dianalisa bahwa nilai
interest point untuk data sampel bernilai tetap untuk masing-masing sampel.
2. Perubahan skala
Untuk pengujian perubahan skala berjumlah 35 citra uji. Jumlah citra yang di
transformasi skala citra diperkecil adalah 3 citra, yaitu diperkecil : 75%, 50%,
25%. Untuk citra yang diperbesar berjumlah 4 citra, yaitu diperbesar : 125%,
150%, 175% dan 200%.. Nilai interest point dapat ekstraksi dengan baik dan
setelah di match dengan metoda FLANN, maka titik pada area wajah yang
dibandingkan benar posisinya.
3. Perubahan 3 Dimensi
Perubahan 3 dimensi pada citra uji ini dilakukan dengan menguji citra wajah
yang berada, berikut parameter yang di ujikan : 3D Kiri 300, 600, 900. 3D
Kanan 300, 600, 900. Interest point dapat diekstraksi dengan baik dengan
menggunakan metoda SURF, akan tetapi untuk tahap matcing menggunakan
metoda FLANN, penarikan titik yang sama tidak sesuai posisinya. Maka dari
itu dibutuhkan perhitungan secara manual untuk memperkirakan jumlah titik
46
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah dilakukan tahap pengujian dan analisa pada bab pengujian dan
analisa, maka kita mendapatkan suatu kesimpulan yaitu :
1. Ekstraksi menggunakan metode speed-up robust features (SURF) yang
digunakan dapat mengekstraksi nilai interest point dengan baik.
2. Pada proses matching interest point menggunakan metoda FLANN, hasil
pengujian citra perubahan rotasi dan skala nilai interest point yang
didapatkan sangat kuat terhadap perubahan. Sementara untuk pengujian
citra hasil perubahan 3 dimensi terdapat nilai interest point posisinya
tidak sama, hal ini dapat diakibatkan karena jumlah sampel yang sedikit.
5.2 Saran
Dari hasil pengujian dan analisa, maka saran yang dapat dipertimbangkan
untuk membuat sistem ini lebih baik, yaitu :
1. Untuk citra sampel diperbanyak untuk menguji ketangguhan transformasi
3 dimensi.
2. Penggunaan machine learning lain dapat digunakan untuk proses
perbandingan interest point.
3. Penentuan area wajah yang akan digunakan sebagai parameter
pendeteksian suatu wajah. Hal ini dapat dilakukan dengan mendeteksi nilai
interest point pada area tertentu, misalnya pada mata, hidung atau bibir.
4. Pembuatan database image baik menggunakan database xml, dan lain-lain.
Hal ini dimaksudkan untuk mempermudah pengaksesan dan otomatisasi
pada sistem deteksi wajah menggunakan metoda SURF.
5. Hasil dari deteksi wajah ini dapat dikembangkan untuk sistem deteksi