BAB II KAJIAN PUSTAKA 2.1 State Of Art Review 2 TESIS.pdfaplikasi biometric untuk mobile voting. ......
-
Upload
nguyenminh -
Category
Documents
-
view
219 -
download
0
Transcript of BAB II KAJIAN PUSTAKA 2.1 State Of Art Review 2 TESIS.pdfaplikasi biometric untuk mobile voting. ......
BAB II
KAJIAN PUSTAKA
2.1 State Of Art Review
Penelitian tentang verifikasi wajah di mobile device telah banyak dan dengan beberapa
metode yang berbeda, berikut beberapa penelitian yang berkaitan:
Penelitian yang berjudul “Face Analysis and Recognition in Mobile Device” tahun 2008
oleh Mauricio Villegas Santamaria membandingkan beberapa metode verification wajah dari
segi waktu dan ketepatannya serta membandingkan metode verification wajah di computer dan
perangkat mobile berbasis j2me yaitu handphone seri n70.
Penelitian yang berjudul “Face Recognition in Mobile device” tahun 2010 oleh Mattias
Junered telah menerapkan gabungan algoritma PCA, LDA, SVM, ICA, metode matching graph
dan metode Neural Network.
Penelitian oleh Donovan Gentles dalam tesisnya yang berjudul “Aplication of Biometrics
in Mobile Voting”. Tahun 2012, dalam penelitian tersebut memfokuskan tentang penggunaan
aplikasi biometric untuk mobile voting.
Jurnal “Android Based Mobile Application Development and its Security”, Tahun 2012
oleh Suhas Holla, dkk, menuliskan hasil penelitian tentang keunggulan dan keamanan mobile
application android based .
Dalam penelitian Sin Kwan Kang tahun 2012 yang berjudul “A Study on the Mobile
Communication Network with Smart Phone for Building of Location Based Real Time
Reservation System” telah secara khusus menggunakan mobile based untuk system reservasi
dengan menggabungkan augmented reality.
Dalam artikel yang berjudul ”Face Recognition Application on Android” oleh Aditya
Pabbaraju dan Srujankumar Puchakayala, menggabungkan algoritma eigenfaces dan algoritma
fisherfaces pada perangkat android mobile. Menghasilkan hasil kecepatan mendeteksi wajah 0,9
detik, preprocessing 0,03 detik, projecting dengan eigen vector space 0,4 detik, detecting the min
0,01 detik( variable), similar growth entire process 1,4 detik.
Jurnal tahun terbit 2012 atas nama Jianfeng Ren etc yang berjudul “A Complete and
Fully Automated Face Verification System On Mobile Devices”,pada artikel ini membahas
verifikasi wajah di mobile khususnya untuk PDA dengan 02FN database.
Tabel 2. 1. Penelitian Sebelumnya
No Nama Judul Deskripsi
1.
Mauricio
Villegas
Santamaria dkk
(2008)
Face Analysis and
Recognition in Mobile
Device
Membandingkan beberapa metode
verification wajah dari segi waktu dan
ketepatannya serta membandingkan
metode verification wajah di computer
dan perangkat mobile berbasis j2me
yaitu nokia seri n70
2. Mattias Junered,
dkk (2010)
Face Recognition in
Mobile device
Menerapkan gabungan algoritma PCA,
LDA, SVM, ICA, metode matching
graph dan metode Neural Network
untuk face recognition
3.
Donovan
Gentles, dkk
(2012)
Aplication of Biometrics in
Mobile Voting
Memfokuskan tentang penggunaan
aplikasi biometric untuk mobile voting
4. Suhas Holla,
dkk (2012)
Android Based Mobile
Application Development
and its Security
Keunggulan dan keamanan mobile
application android based
5. Sin Kwan Kang,
dkk (2012)
A Study on the Mobile
Communication Network
with Smart Phone for
Building of Location Based
Secara khusus menggunakan mobile
based untuk system reservasi dengan
menggabungkan augmented reality
Real Time Reservation
System
6.
Aditya
Pabbaraju, dkk
(2012)
Face Recognition
Application on Android
Menggabungkan algoritma eigenfaces
dan algoritma fisherfaces pada
perangkat android mobile.
Menghasilkan hasil kecepatan
mendeteksi wajah 0,9 detik,
preprocecingnya 0,03 detik, projecting
dengan eigen vector space 0,4 detik,
detecting the min 0,01 detik( variable),
similar growth entire process 1,4 detik
7. Jianfeng
Ren,dkk (2012)
A Complete and Fully
Automated Face
Verification System On
Mobile Devices
Membahas verifikasi wajah di mobile
khususnya untuk PDA dengan 02FN
database.
Tabel 2. 2. Metriks Kebaharuan
Judul Jurnal Ilmiah
Komponen 1
Topik Thesis
(mobile)
Komponen 2
Topik Thesis
(verifikasi wajah)
Komponen 3
Topik Thesis
(android)
Face Analysis and
Recognition in Mobile
Device oleh Mauricio
Villegas Santamaria dkk
(2008)
Face Recognition in
Mobile device oleh
Mattias Junered, dkk
(2010)
Aplication of Biometrics
in Mobile Voting oleh
Donovan Gentles, dkk
(2012)
Android Based Mobile
Application Development
and its Security oleh
Suhas Holla, dkk (2012)
A Study on the Mobile
Communication Network
with Smart Phone for
Building of Location
Based Real Time
Reservation System oleh
Sin Kwan Kang, dkk
(2012)
Face Recognition
Application on Android
oleh Aditya Pabbaraju,
dkk (2012)
A Complete and Fully
Automated Face
Verification System On
Mobile Devices oleh
Jianfeng Ren,dkk (2012)
Aplikasi Absensi
Berbasis Mobile
Dengan Verifikasi Wajah
Menggunakan Algoritma
Fisherface
2.2 Konsep Pemrograman Berorientasi Objek
Pemrograman berorientasi objek merupakan suatu konsep yang membagi program
menjadi objek - objek yang saling berinteraksi sama lain. Objek merupakan kesatuan entitas
yang memiliki sifat dan tingkah laku. Keuntungan OOP (Hermawan, 2004) antara lain, yaitu :
a. Alami (Natural),
b. dapat diandalkan (Reliable),
c. dapat digunakan kembali (Reusable),
d. mudah untuk dimaintain (Maintainable),
e. dapat diperluas (Extendable),
f. efesiensi waktu,
Java merupakan salah satu bahasa pemrograman yang menggunakan konsep OOP. Java
adalah suatu teknologi di dunia software computer. Selain merupakan suatu bahasa
pemrograman, Java juga merupakan suatu platform. Mulanya Java diciptakan dengan tujuan
untuk menghasilkan bahasa komputer sederhana yang dapat dijalankan di peralatan sederhana
dengan tidak terikat pada arsitektur tertentu. Terakhir teknologi Java melahirkan J2ME (Java 2
Micro Edition) yang sudah diadopsi oleh Nokia, Siemens, Sony Ericsson, Motorola, Samsung
untuk menghasilkan aplikasi mobile baik games maupun software bisnis dan berbagai jenis
software lain yang dapat dijalankan di peralatan mobile seperti ponsel (Rickyanto, 2005).
2.3 Perangkat Lunak
Perancangan perangkat lunak adalah disiplin manajerial dan teknis yang berkaitan dengan
pembuatan dan pemeliharaan produk perangkat lunak secara sistematis, termasuk pengembangan
dan modifikasinya, yang dilakukan pada waktu yang tepat dan dengan mempertimbangkan faktor
biaya.
Software engineer bertugas melakukan analisa, rancangan, uji dan verifikasi,
dokumentasi, pemeliharaan perangkat lunak, serta pengelolaan proyek. Software engineer harus
mempunyai keterampilan dan pengalaman seorang programmer.
Programmer adalah individu yang bertugas dalam hal rincian implementasi, pengemasan,
dan modifikasi algoritma serta struktur data, dituliskan dalam sebuah bahasa pemrograman
tertentu.
Dalam membuat sebuah perangkat lunak terdiri dari beberapa tahap / fase yang
menggambarkan sebuah kegiatan yang akan dilakukan sehingga memudahkan dalam
mendefinisikan, mengembangkan, menguji, mengantarkan, mengoperasikan, dan memelihara
produk perangkat lunak. Setiap fase membutuhkan informasi masukan, proses dan produk yang
terdefinisi dengan baik. Deretan fase tersebut adalah :
a. Analisa terdiri dari fase pertama yaitu perencanaan yang menghasilkan dua produk yaitu
Pendifinisian Sistem (System Definition) dan Perencanaan Proyek (Poject Plan) dan fase
kedua yaitu penetapan persyaratan yang menghasilkan sebuah produk spesifikasi
kebutuhan perangkat lunak (Software Requirements Specifications).
b. Perancangan melakukan identifikasi terhadap komponen perangkat lunak (fungsi, arus
data, penyimpanan data), hubungan antar komponen, struktur perangkat lunak
(dekomposisi menjadi modul-modul dan antar muka Perangkat Lunak). Fase ini
menghasilkan arsitektur rinci, terutama dalam bentuk algoritma-algoritma.
c. Implementasi adalah terjemahan langsung arsitektur rinci ke dalam bahasa
pemrograman tertentu.
d. Pengujian terdiri dari fase pertama yaitu uji integrasi dengan melakukan pengujian
terhadap semua modul dan pengantarmukaan sehingga pada level sistem dapat
beroperasi dengan benar, dan fase kedua yaitu uji penerimaan dengan melakukan
berbagai pengujian, mengacu kepada berbagai persyaratan yang telah ditentukan.
e. Pemeliharaan terdiri dari fase peningkatan kemampuan, adaptasi terhadap lingkungan
pemrosesan, dan melakukan berbagai koreksi atas kesalahan yang terjadi
2.4 Perangkat Mobile
Perangkat mobile merupakan perangkat bergerak yang digunakan sebagai alat
komunikasi dan komputasi seperti PDA (Personal Digital Assistance), smartphone dan cell
phone. Berbagai perangkat mobile ini dibedakan berdasarkan spesifikasi perangkat keras dan
perangkat lunaknya seperti processor, ukuram memory, screen resolution, sistem operasi, web
browser dan sebagainya. Berikut ini adalah berbagai contoh gambar perangkat mobile.
Gambar 1.1. Contoh Perangkat Mobile
Perangkat mobile memiliki banyak jenis dalam hal ukuran, desain dan layout, tetapi
memiliki kesamaan karakteristik yang sangat berbeda dari sistem desktop.
a. Ukuran yang kecil
Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan
perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
b. Memory yang terbatas
Perangkat mobile juga memiliki memory yang kecil, yaitu primary (ram) dan
secondary (disk). Pembatasan ini adalah salah satu factor yang mempengaruhi
penulisan program untuk berbagai jenis dari perangkat ini. Dengan pembatasan jumlah
memory, pertimbangan-pertimbangan khusus harus diambl untuk memelihara
pemakaian sumber daya.
c. Daya proses yang terbatas
Sistem mobile tidaklah setangguh desktop. Ukuran, teknologi dan biaya adalah
beberapa faktor yang mempengaruhi status dari sumber daya ini.
d. Mengkonsumsi daya yang rendah
Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin
desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada keadaan
diman daya yang disediakan dibatasi oleh baterai.
2.5 Smartphone
Smartphone adalah telepon genggam yang mempunyai kemempuan tingkat tinggi,
kadang-kadang dengan fungsi yang menyerupai komputer. Belum ada standar pabrik yang
menentukan arti telepon cerdas. Smartphone merupakan telepon yang bekerja menggunakan
seluruh perangkat lunak system operasi yang menyediakan hubungan standar dan mendasar bagi
pengembang aplikasi. Bagi yang lainnya, telepon cerdas hanyalah merupakan sebuah telepon
yang menyajikan fitur canggih seperti surel (surat elektronik), internet dan kemampuan membaca
buku elektronik (e-book) atau terdapat papan ketik (baik sebagaimana jadi maupun dihubung
keluar) dan penyambung VGA. Dengan kata lain, telepon cerdas merupakan komputer kecil
yang mempunyai kemampuan sebuah telepon. Pertumbuhan permintaan akan alat canggih yang
mudah dibawa kemana-mana membuat kemajuan besar dalam pemrosesan, pengingatan, layar
dan sistem operasi yang di luar dari jalur telepon genggam sejak beberapa tahun ini.
Kebanyakan alat yang dikategorikan sebagai telepon pintar menggunakan sistem
operasi yang berbeda. Dalam hal fitur, kebanyakan telepon pintar mendukung sepenuhnya
fasilitas surel dengan fungsi pengatur personal yang lengkap. Fungsi lainnya dapat menyertakan
miniatur papan ketik QWERTY, layar sentuh atau D-pad, kamera, pengaturan daftar nama,
penghitung kecepatan, navigasi piranti lunak dan keras, kemampuan membaca dokumen bisnis,
pemutar musik, penjelajah foto dan melihat klip video, penjelajah internet, atau hanya sekedar
akses aman untuk membuka surel perusahaan.
Gambar 2. 2. Contoh Perangkat Smartphone
2.6 Sistem Operasi Android
Android adalah sistem operasi berbasis Linux dirancang terutama untuk perangkat mobile
touchscreen seperti smartphone dan komputer tablet. Awalnya dikembangkan oleh Android, Inc,
yang didukung Google finansial dan kemudian dibeli pada tahun 2005, Android ini diresmikan
pada tahun 2007 bersama dengan pendiri Open Handset Alliance: konsorsium hardware,
software, dan telekomunikasi perusahaan yang ditujukan untuk memajukan terbuka standar
untuk perangkat mobile. Yang pertama ponsel Android terjual pada bulan Oktober 2008.
Android adalah open source dan Google merilis kode di bawah Lisensi Apache. Ini kode sumber
terbuka dan lisensi permisif memungkinkan perangkat lunak untuk secara bebas dimodifikasi
dan didistribusikan oleh produsen perangkat, operator nirkabel dan pengembang antusias. Selain
itu, Android memiliki komunitas besar pengembang menulis aplikasi yang memperluas
fungsionalitas dari perangkat, ditulis terutama dalam versi disesuaikan dari bahasa pemrograman
Java. Pada bulan Oktober 2012, ada sekitar 700.000 aplikasi yang tersedia untuk Android, dan
perkiraan jumlah aplikasi yang diunduh dari Google Play, toko aplikasi utama Android, adalah
25 miliar. Faktor-faktor ini telah memberikan kontribusi terhadap pembuatan Android platform
smartphone dunia yang paling banyak digunakan, menyalip Symbian pada kuartal keempat tahun
2010 dan software pilihan bagi perusahaan teknologi yang membutuhkan biaya rendah,
disesuaikan, sistem operasi ringan untuk perangkat teknologi tinggi tanpa mengembangkan satu
dari awal. Sebagai hasilnya, meskipun terutama dirancang untuk ponsel dan tablet, ia telah
melihat aplikasi tambahan di televisi, konsol game, kamera digital dan elektronik lainnya. Sifat
terbuka Android telah lebih jauh mendorong komunitas besar pengembang dan penggemar untuk
menggunakan kode sumber terbuka sebagai dasar untuk proyek-proyek berbasis komunitas, yang
menambahkan fitur baru untuk pengguna tingkat lanjut atau membawa Android ke perangkat
yang resmi dirilis menjalankan operasi lainnya sistem. Sebuah laporan pada Juli 2013
menyatakan bahwa pangsa Android di pasar smartphone global, yang dipimpin oleh produk
Samsung, adalah 64% pada bulan Maret 2013. Keberhasilan sistem operasi telah membuatnya
menjadi target litigasi paten sebagai bagian dari apa yang disebut "perang smartphone" antara
perusahaan teknologi Pada Mei 2013, total 900 juta perangkat Android telah diaktifkan dan 48
miliar aplikasi telah diinstal dari toko Google Play menurut sumber wikipedia.
2.7 Android SDK (Software Development Kit)
Android SDK adalah tools API (Aplication Programming Interface) yang diperlukan
untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman
Java. Sebagai platform aplikasi netral, Android memberi kesempatan bagi semua orang untuk
membuat aplikasi yang dibutuhkan, yang bukan merupakan aplikasi bawaan Handphone /
Smartphone (Safaat H, 2011). Beberapa fitur-fitur Android yang paling penting adalah :
a. Mesin Virtual Dalvik yang dioptimalkan untuk perangkat mobile.
b. Integrated browser berdasarkan engine open source WebKit.
c. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D
berdasarkan spesifikasi opengl ES 1.0 (Opsional akselerasi perangkat keras).
d. SQLite untuk penyimpanan data (database).
e. Media yang mendukung audio, video, dan gambar.
f. Bluetooth, EDGE, 3G dan WiFi, Kamera dan GPS
g. Lingkungan Development yang lengkap dan kaya termasuk perangkat emulator,
tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
2.8 Eclipse
Dalam pemrograman komputer, Eclipse adalah multi-bahasa lingkungan pengembangan
Terpadu (IDE) yang terdiri dari ruang kerja dasar dan extensible sistem plug-in untuk mengubah
lingkungan. Hal ini ditulis sebagian besar di Java. Hal ini dapat digunakan untuk
mengembangkan aplikasi di Jawa dan, melalui berbagai plug-in, bahasa pemrograman lain
termasuk Ada, C, C + +, COBOL, Fortran, Haskell, JavaScript, Perl, PHP, Python, R, Ruby
(termasuk Ruby on Rails kerangka), Scala, Clojure, Groovy, Skema, dan Erlang. Hal ini juga
dapat digunakan untuk mengembangkan paket untuk software Mathematica. Pembangunan
lingkungan termasuk Eclipse Java Development Tools (JDT) untuk Jawa dan Scala, Eclipse CDT
untuk C / C + + dan Eclipse PDT untuk PHP, antara lain. Basis kode awal berasal dari IBM
Visual Age The Eclipse Software Development Kit (SDK), yang meliputi alat pengembangan
Java, dimaksudkan untuk pengembang Java.. Pengguna dapat memperpanjang kemampuannya
dengan menginstal plug-in ditulis untuk Platform Eclipse, seperti toolkit pengembangan untuk
bahasa pemrograman lain, dan dapat menulis dan berkontribusi sendiri plug-in modul. Dirilis di
bawah persyaratan Lisensi Publik Eclipse, Eclipse SDK ini gratis dan terbuka source software
(meskipun tidak sesuai dengan GNU General Public License . Itu salah satu IDE pertama yang
berjalan di bawah GNU Classpath dan itu berjalan tanpa masalah di bawah IcedTea.
2.9 SQLite
SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-
compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite
merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp
Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah
sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian
integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang
digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman.
Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency
times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel,
indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa
diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai
(Safaat N, 2005).
Terdapat beberapa alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi
Android, yaitu :
a. Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para
developer. Ini membuatnya relatif mudah digunakan.
b. Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada
dasarnya satu set libraries menyediakan fungsionalitas database.
c. Single-file database. Ini membuat keamanan database secara langsung.
d. Open source. Hal ini membuat developer mudah dalam pengembangan aplikasi.
2.10 Face Recognition
Sistem pengenalan wajah/recognition wajah adalah aplikasi pengolahan citra yang dapat
mengidentifikasi atau memverifikasi seseorang melalui citra digital atau frame video. Saat ini
sistem pengenalan wajah telah menjadi salah satu aplikasi pengolahan citra yang cukup popular
terutama di dalam bidang keamanan seperti verifikasi kartu kredit dan identifikasi penjahat.
Sistem pengenalan citra wajah umumnya mencakup empat modul utama:
1. Deteksi wajah (face detection).
2. Penyelasaran wajah (Face Alignment)
3. Ekstraksi fitur fisherface (feature extraction)
4. Pencocokan (matching).
2.10.1 Deteksi Wajah
Proses deteksi wajah merupakan salah satu bagian terpenting dalam sistem pengenalan
wajah. Sistem harus mampu mendeteksi keberadaan wajah pada citra dengan berbagai variasi
pose, pencahayaan, ekspresi wajah dan atribut (kaca mata, kumis dan jenggot).
Gambar 2. 3. Diagram Blok Deteksi Wajah Metode Fisherface
Wajah merupakan sisi bagian depan dari kepala yang meliputi: daerah dari dahi hingga
dagu, termasuk juga rambut, dahi, alis, mata, hidung, pipi, mulut, bibir, gigi, dagu dan kulit.
Capture Deteksi
Wajah Penyelarasan
wajah
Simpan
database
Ekstraksi
Fisher
face
Hasil
Pencocokan
SImpan data absensi
Capture Deteksi
Wajah
Penyelarasan
wajah
Pencoco
kan
Modul Pelatihan
Modul Pencocokan
Wajah digunakan untuk menunjukkan sikap seseorang terhadap ekspresi wajah, penampilan,
serta identitas dari seseorang. Tidak ada satu pun wajah yang sama atau serupa mutlak, bahkan
pada manusia kembar sekalipun. Wajah sebagai objek dua dimensi digambarkan dengan
berbagai macam illuminasi, pose dan ekspresi wajah untuk diidentifikasi berdasarkan citra dua
dimensi dari wajah tersebut. Melihat wajah, manusia dapat mengenali atau mengidentifikasi
seseorang dengan mudah (Zayuman, 2010)
Sistem pengenalan wajah seseorang tidak mengganggu kenyamanan seseorang saat akuisisi
citra. Pendekatan yang paling umum untuk pengenalan wajah didasarkan pada bentuk dan
penempatan atribut wajah seperti mata, alis mata, hidung, bibir dan dagu serta hubungan antara
atribut tersebut atau analisis wajah secara keseluruhan yang menghadirkan suatu wajah sebagai
suatu kombinasi dari sejumlah wajah kanonik. Suatu sistem pegenalan wajah pada prakteknya
agar dapat bekerja dengan baik maka sistem harus secara otomatis dapat mendeteksi kehadiran
wajah pada citra yang diperoleh, menempatkan posisi wajah dan mengenali wajah dari suatu
sudut pandang umum atau berbagai pose. Beberapa kesulitan dalam penggunaan biometrika
wajah, diantaranya: penyamaran, deteksi wajah ditengah keramaian orang, sudut pandang atau
pose
Pengenalan wajah (face recognition) merupakan salah satu teknologi biometrik yang
sekarang telah diterapkan untuk banyak aplikasi dalam bidang keamanan, antara lain access
security system, Authentification system, hingga sebagai alat bantu dalam pelacakan pelaku
kriminal. Namun dalam perkembangannya masih terdapat beberapa permasalahan, selain
masalah komputasi dan kapasitas penyimpanan data, kondisi citra wajah yang menjadi masukan
(input) sistem juga merupakan masalah yang penting. Beberapa aspek penting yang
mempengaruhi kondisi citra wajah manusia diantaranya adalah pencahayaan, ekspresi wajah dan
perubahan atribut seperti kumis, janggut dan kacamata.
Pada tahun 1997, Peter N. Belhumeur, Joao P. Hespanha dan David J. Kriegman
mengembangkan algoritma yang dinamakan Fisherface. Algortima ini merupakan gabungan dari
metode Principal Component Analysis (PCA) dengan Fisher’s Linear Discriminant (FLD).
Dasar dari algoritma ini adalah reduksi dimensi yang sekaligus memperbesar rasio jarak antar
kelas terhadap jarak intra kelas dari vektor ciri. Semakin besar rasio, vektor ciri yang dihasilkan
semakin tidak sensitif terhadap perubahan ekspresi ataupun perubahan cahaya, sehingga dapat
menghasilkan klasifikasi yang lebih baik. Selain dapat menghasilkan tingkat klasifikasi yang
lebih baik, algoritma Fisherface ini juga performa dan waktu pemrosesan yang lebih cepat.
Dengan kelebihannya, tentunya algoritma Fisherface ini cocok untuk diimplementasikan pada
sistem pengenalan wajah yang berbasis pada smartphone android
2.10.1.a. Metode Fisherface
Metode Fisherface dikembangkan oleh Peter N. Belhumeur, João P. Hespana dan David J.
Kreigman pada tahun 1997 untuk mengatasi kelemahan metode Eigenface, khususnya untuk citra
dalam variasi pencahayaan dan ekspresi wajah. Metode ini mentransformasikan vektor dari
ruang citra berdimensi-n ke ruang citra berdimensi-m dengan m < n 2.
Dasar dari metode Fisherface ini adalah Fisher's Linear Discriminant (FLD). FLD
ditemukan oleh Robert Fisher pada tahun 1936 untuk klasifikasi taksonomi dan menjadi salah
satu teknik yang banyak digunakan dalam pengenalan pola (pattern recognition). FLD
merupakan salah satu contoh metode class specific, karena metode ini berusaha untuk
membentuk jarak (scatter) antar kelas dan intra kelas sehingga dapat menghasilkan klasifikasi
yang lebih baik.
Fisher's Linear Discriminant yang menjadi dasar dari algoritma Fisherface memilih
matriks transformasi W yang dapat memaksimalkan rasio antara determinan between-class
scatter (SB) dengan within-class scatter (SW) dari vektor-vektor ciri melalui fungsi :
Wopt = argmax 𝑊𝑆𝐵𝑊𝑇
𝑊𝑆𝑊𝑊𝑇 ………………………………………………………. (1)
= 𝑤1; 𝑤2; … . ; 𝑤𝑚
dimana [w1; w2; ....; wm] merupakan m buah vektor eigen (dalam bentuk vektor baris) dari rasio
antara SB dengan SW, yang bersesuaian dengan m buah nilai eigen terbesar. Jika wi adalah
vektor eigen dari rasio antara matriks SB dengan matriks SW dan di merupakan nilai eigen yang
bersesuaian, maka :
𝑆𝐵𝑊1𝑇 = 𝑑𝑖𝑆𝑤𝑊1
𝑇 …………………………………….. ………………………... (2)
dimana i = 1...m dan d1 > d2 > ... > dm.
Jika xi, i = 1...N adalah vektor citra dimensi-n dan masing-masing vektor citra merupakan
anggota salah satu dari C kelas citra wajah {X1, X2, ..., XC} dan vektor u adalah rata-rata vektor
citra yang dapat diperoleh dari persamaan :
𝜇 =1
𝑁 𝑋𝑖
𝑁𝑖=1 …………………………………………….. (3)
maka matriks SB dan matrik SW dapat diperoleh melalui persamaan berikut :
𝑆𝐵 = 𝑁𝑖𝐶𝑖=1 𝜇𝑖 − 𝜇 𝑇 𝜇𝑖 − 𝜇 ……………………………………. (4)
𝑆𝑊 = 𝑥𝑗 − 𝜇𝑖 𝑇 𝑥𝑗 − 𝜇
𝑁𝑖𝑖𝑛 𝑗𝑒𝑋𝑖
𝐶𝑖=1 𝑓=1 ………………………... (5)
dimana Ni adalah jumlah anggota kelas Xi dan μi adalah rata-rata citra anggota kelas Xi, i =
1...C.
Suatu citra wajah dengan lebar dan tinggi masing-masing l dan t piksel mempunyai jumlah
piksel sebanyak lxt. Tiap-tiap piksel dikodekan dengan nilai 0-255 sesuai dengan nilai tingkat
keabuannya. Maka dapat dibentuk citra wajah berdasarka nilai keabuan tersebut yaitu :
𝑔𝑖 =
𝑎11 𝑎12… 𝑎1𝑙
𝑎21 𝑎22
…… 𝑎2𝑙
…𝑎 𝑡1
…𝑎 𝑡2
……𝑎 𝑡𝑙
…………………………………………. (6)
dimana i = 1...N (banyaknya citra wajah)
Setiap gi adalah anggota salah satu kelas wajah X. Jika terdapat C buah kelas wajah X maka
terdapat Xj, dimana j = 1..C. Untuk setiap kelas wajah Xj terdapat Nj citra wajah, dimana j =
1..C dan N1 = N2 = Nj. Dengan demikian jumlah citra wajah adalah N1 + N2 + N3 + ... + Nc = N.
Dari vektor citra wajah di atas dapat dibentuk suatu vektor baris citra wajah yaitu : xi = [a11
a12 ... ag ] (1*N)
Dengan demikian vektor citra dikatakan berada dalam ruang citra dimensi-n, dimana i =
1...N. Selanjutnya adalah membentuk matriks input berdimensi N*n yang berisi kumpulan vektor
baris citra yang akan digunakan dalam pelatihan dan pengujian.
input=
𝑥1𝑥2
…𝑥𝑁
(N*n) …………………………………………………. (7)
Matriks input ini yang merupakan masukan untuk metode Fisherface. Berikut akan
dijelaskan algoritma metode Fisherface.
Konstruksi fisherface adalah pembuatan suatu set fisherface dari suatu set gambar training
dengan menggunakan perhitungan Principal Component Analysis (PCA) dan Fisher’s Linear
Discriminant (FLD). Perhitungan PCA dilakukan dengan langkah-langkah sebagai berikut:
1. Mengambil satu set gambar training dan kemudian mentransformasikan setiap gambar
tersebut menjadi vektor kolom, sehingga akan didapat satu matriks yang tiap kolomnya
mewakili gambar yang berbeda, face space ( Γ )
2. Membentuk average face (Ψ), yaitu nilai rata-rata dari seluruh gambar wajah pada
training set, dan mengurangi seluruh gambar pada training set terhadap average face
untuk mencari deviasinya ȼ
ȼ = Γ-Ψ …………………………………………………………….. (8)
3. Menghitung matriks kovarian (A), yaitu dengan melakukan operasi perkalian transpose
dari training set yang telah dinormalisasikan.
……………………………………………………………... (9)
4. Menghitung nilai eigen (λ) dan vektor eigen (ν) dari matriks kovarian. λ
5. Mengurutkan vektor eigen berdasarkan dengan besarnya nilai eigen masing-masing
vektor.
6. Menghitung matriks proyeksi PCA (Wpca) yaitu dengan mengalikan nilai deviasi dengan
vektor eigen dan menormalisasikan hasilnya. 𝑉 ′ = Ȼ ⋅ 𝑣
………………………………………………….. (10)
7. Mengambil N-C komponen Wpca yang diperlu-kan untuk mengkonstruksi fisherface.
2.10.1.b. Eigenface
Pada dasarnya (Agustina, 2002), metode Eigenface bertujuan untuk mengekstrak ciri-ciri
suatu citra dengan teori Principal Component Analysis (PCA) atau transformasi Karhunen-
Loeve, yaitu menyusun suatu citra baru yang mengandung hanya informasi informasi penting
dari citra yang lama. Metode ini bertujuan untuk memaksimalkan total-scatter atau jarak vector
ciri (Roth, 2007). Jadi informasi cirri mengenai suatu citra akan disebarkan sehingga bercampur
dengan informasi ciri citra yang lain. Setiap citra dapat direpresentasikan sebagai vektor baris xi,
i = 1 … N, berdimensi n. Nilai n merupakan dimensi ruang citra, sehingga xi berada di dalam
ruang citra berdimensi n. Matriks kovarian ST atau matriks total-scatter, didefinisikan sebagai:
𝑆𝑇 = 𝐴𝑇 ∙ 𝐴 ……………………………………………………………………………………………….… (11)
di mana A = [Φi], dimanaΦi adalah selisih vektor citra dengan rata-rata vector citra xi, i = 1
… N Transformasi Karhunen-Loeve atau PCA terhadap vektor citra akan menghasilkan vektor-
vektor ciri yang memiliki total-scatter:
W ST
WT
dengan W adalah matriks transformasi. Matriks transformasi W yang dipilih adalah matriks
yang dapat dimaksimalkan determinan dari total-scatter vector vector ciri. Atau:
𝑊 = arg max 𝑊𝑆𝑇𝑊𝑇 ………………………………………………………………………………. (12)
= 𝑊1; 𝑊2 ; … . ; 𝑊𝑀
di mana wi, i = 1 … m, adalah kumpulan vektor eigen dari ST (dalam bentuk vector basis)
yang bersesuaian dengan m nilai eigen terbesar. Vektor-vektor eigen ini, yang disebut principal
components, memiliki dimensi yang sama dengan citra wajah, yaitu n, sehingga disebut sebagai
Eigenfaces atau Eigenpictures. Eigenfaces merupakan vector vektor basis dari ruang ciri
dimensi-m. Transformasi citra dari ruang citra dimensi-n ke ruang ciri dimensi-m adalah
Yi =ɸi WT …………………………………………………………………………………………………………. (13)
Dengan demikian, dapat diperoleh vector ciri berdimensi m untuk masing-masing citra.
Besarnya nilai m dapat ditentukan melalui persamaan berikut:
𝑊 =𝑟𝑚𝑖𝑛
𝑑𝑖𝑟𝑖=1
𝑑𝑖𝑟𝑖=1
……………………………………………………………………………………... (14)
dimana θ adalah suatu nilai ambang atau threshold dan 0 < threshold ≤ 1.
2.10.2. Penyelarasan Wajah
Pada proses pendeteksian wajah, citra wajah yang didapatkan masih berupa perkiraan
kasar atau masih memiliki kualitas yang cukup buruk seperti ukuran yang berbeda dengan
ukuran normal, faktor pencahayaan yang kurang atau lebih, kejelasancitra yang buruk dan
sebagainya. Sehingga perlu dilakukan proses penyelarasan.Proses penyelarasan wajah
merupakan proses yang bertujuan untuk menormalisasi wajah dari citra wajah yang didapatkan
dari proses pendeteksian wajah. Proses ini terdiri dari tahapan-tahapan sebagai berikut:
1. Grayscaling (tahap konversi citra warna menjadi warna abu)
2. Pemotongan (tahap pemisahan citra wajah dengan latar belakangnya)
3. Resizing (tahap normalisasi dimensi citra)
4. Equalizing (tahap koreksi tingkat kecerahan citra)
2.10.3. Ekstraksi Fitur
Reduksi komponen atau fitur wajah dilakukan untuk mengurangi memori yang
dibutuhkan dan waktu komputasi. Ada dua cara yang digunakan yaitu pemilihan fitur (feature
selection) dan ekstraksi fitur (feature extraction). Pemilihan fitur bertujuan untuk memilih
sejumlah fitur yang banyak berpengaruh dari fitur yang ada. Sedangkan ekstraksi fitur di dapat
dengan memproyeksikan fitur ke dalam dimensi yang lebih rendah.
Fitur adalah segala jenis aspek pembeda, kwalitas atau karakteristik. Fitur bisa berupa
simbolik (misal warna) atau numerik (misal intensitas). Terdapat dua jenis karakteristik yang
disebut sebagai fitur dari sebuah citra:
A. Bagian global dari suatu citra.
B. Bagian khusus dari suatu citra.
Terkadang fitur dari suatu citra tidak berhubungan langsung dengan bagia-bagian yang
terdapat pada citra tersebut tetapi masih mencerminkan karakteristik tertentu dari citra. Fitur
wajah merupakan hasil suatu algoritma ekstraksi terhadap citra wajah. Ekstraksi fitur
dilaksanakan dengan alasan:
1. Mengurangi data masukan (sehingga mempercepat proses dan mengurangi kebutuhan
data).
2. Menyediakan sekumpulan fitur yang relevan untuk proses klasifikasi.
3. Mengurangi redudansi.
4. Menemukan variabel fitur yang menjelaskan data.
5. Menghasilakan representasi dalam dimensi yang lebih kecil dengan sedikit informasi
yang hilang
2.11 Penyimpanan Fitur
Proses penyimpanan fitur merupakan tahapan terakhir dari proses pelatihan citra wajah.
Proses ini berfungsi untuk menyimpan fitur hasil ekstraksi citra wajah yang ada di dalam
database ke dalam sebuah file berekstensi *.xml. File inilah yang nantinya akan digunakan untuk
proses pencocokan antara citra wajah yang diuji dengan hasil ekstraksi fitur yang terdapat pada
file ini.
2.11.1 Pencocokan
Pencocokan fitur adalah tahapan inti dari pada proses pengenalan citra wajah. Proses ini
merupakan proses pencocokan fitur dari citra uji dengan fitur citra wajah dari database, yang
sebelumnya telah melalui proses pelatihan citra. Proses perbandingan ini dilakukan
menggunakan metode pengenalan pola, salah satunya adalah metode nearest neighbours