bab ii kajian pustaka 2.1 state of art review 2 tesis.pdfaplikasi biometric untuk mobile voting. ......

22
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.

Upload: nguyenminh

Post on 28-Mar-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

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