Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
1
SISTEM PENGAMANAN HANDPHONE MENGGUNAKAN FACE RECOGNITION BERBASIS ANDROID Mirna Astria1, Juni Nurma Sari2, Mardhiah Fadhli3 Program Studi Teknik Informatika Jurusan Komputer Politeknik Caltex Riau Jl. Umbansari no.1 Rumbai Pekanbaru 28265 1
[email protected],
[email protected],
[email protected]
Abstrak Biometrik adalah bidang keilmuan yang menggunakan karakterisktik fisik dari seseorang untuk menentukan atau mengungkapkan identitasnya. Face recognition merupakan salah satu teknologi biometrik yang telah banyak diaplikasikan dalam sistem security selain pengenalan retina mata, sidik jari dan iris mata. Dalam aplikasinya, face recognition menggunakan sebuah kamera untuk menangkap wajah seseorang kemudian dibandingkan dengan wajah yang sebelumnya telah disimpan di dalam database tertentu. Metode eigenface merupakan metode yang biasa digunakan untuk pengenalan wajah. Metode eigenface merupakan metode yang diklasifikasikan sebagai metode yang berdasarkan pada penampakan wajah secara keseluruhan (appearence-based method). Sistem ini memanfaatkan kamera android phone untuk identifikasi wajah pengguna dalam membuka kunci keamanan. Jika hasil capture cocok dengan identitas wajah pada database, maka proses membuka kunci keamanan berhasil. Tetapi, jika tidak cocok maka akan dinyatakan gagal. Dari hasil pengujian yang dilakukan, tingkat keberhasilan dalam membuka kunci keamanan dengan metode eigenface mencapai 80%, dikarenakan metode ini dipengaruhi oleh intensitas cahaya yang berbeda antara citra masukan dan citra training dan juga adanya perubahan ekspresi wajah. Hal ini membuktikan sistem identifikasi wajah ini dapat digunakan pada android phone. Kata kunci: Face recognition, eigenface, appearence-based, capture, pengamanan android phone
Abstract Biometrics is a scientific field that uses a physical characteristic of a person to determine or reveal his identity. Face recognition is a biometric technology that has been widely applied in security systems in addition to the eye retina recognition, fingerprints and iris of the eye. In its application, face recognition using a camera to capture a person's face is then compared with a face that had been stored in a specific database. Eigenface method is a method commonly used for face recognition. Eigenface method is a method that is classified as methods based on the overall facial appearance (appearence-based method). The system utilizes the android phone camera to identify the user's face in the opening of security locks. If the results match the capture facial identity in the database, then the security unlock successfully. But, if it does not match it will be declared failed. From the results of tests performed, the level of success in unlocking the security of the eigenface method reached 80%, because the method is affected by different light intensities between the input image and training images, and also a change in facial expression. This proves the face identification system can be used on the android phone. Keywords: Face recognition, eigenface, appearence-based, capture, android phone security.
1
Pendahuluan
Sistem keamanan perangkat mobile saat ini lebih banyak menggunakan input password dalam membuka kunci keamanan daripada memanfaatkan sistem otomatis yang lebih aman. Sistem keamanan dengan input password telah banyak digunakan hampir seluruh jenis handphone konvensional termasuk android phone. Pada android phone, password yang digunakan untuk membuka kunci keamanan adalah sederetan huruf atau angka. Password tersebut bisa saja diketahui oleh orang yang tidak berkepentingan sehingga tingkat keamanannya rendah. Selain password, android mempunyai sistem pembuka kunci seperti PIN yang menggunakan angka saja dan pattern yang membentuk sebuah garis pola. Tetapi sistem
2
Mirna Astria
pembuka kunci tersebut tidak bisa membedakan pemilik handphone dan orang yang dengan sengaja mengakses handphone tersebut untuk kepentingan tertentu. Penggunaan face recognition atau pengenalan wajah pada proyek akhir ini adalah untuk mengenali wajah pemilik handphone dan membedakannya dengan wajah pencuri atau orang yang tidak bertanggung jawab terhadap handphone tersebut. Pengenalan wajah manusia dalam gambaran visual dapat diimplementasikan ke dalam banyak aplikasi yang mencakup pengenalan wajah dengan menggunakan metode eigenface, yang mengisyaratkan pemahaman dan pengawasan oleh aplikasi tersebut. Tujuan dari tugas akhir ini adalah untuk memberikan suatu sistem keamanan menggunakan face recognition terhadap android phone dari berbagai pihak-pihak yang tidak bertanggung jawab dalam menggunakan dan mengakses secara langsung sebuah perangkat android phone. 2
Dasar Teori
2.1
Citra
Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari suatu objek. Citra sebagai keluaran suatu system perekaman data dapat bersifat optic berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televis atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan [4]. 2.2
Face Recognition
Secara umum sistem pengenalan citra wajah dibagi menjadi 2 jenis yaitu sistem featurebased dan sistem image-based. Pada sistem pertama digunakan fitur yang diekstraksi dari komponen citra wajah (mata, hidung, mulut, dan lain-lain) yang kemudian dimodelkan secara geometris hubungan antara fitur-fitur tersebut. Sedangkan pada sistem kedua menggunakan informasi mentah dari pixel citra yang kemudian direpresentasikan dalam metode tertentu (misalnya Principal Component Analysis, transformasi wavelet, dan lain-lain) yang kemudian digunakan untuk pelatihan dan klasifikasi indentitas citra. Ide dari metode ini adalah memproyeksikan sebuah wajah, yang merupakan sebuah citra, dapat dilihat sebagai sebuah vektor. Pada dasarnya sistem pengenalan wajah (face recognition) digunakan untuk membandingkan satu citra wajah masukan dengan suatu database wajah dan menghasilkan wajah yang paling cocok dengan citra tersebut jika ada. 2.3
Eigenface
Eigenface adalah algoritma pegenalan wajah yang berdasarkan pada Principle Component Analysis (PCA) yang dikembangkan di MIT. Dengan kata lain, eigenface menggunakan perhitungan PCA sebagai pendekatannya. Eigenface dapat ditentukan dengan prinsip-prinsip analisis komponen terhadap sekumpulan citra sampel dengan wajah terpusat dan terutama dengan ukuran yang setara. Pola wajah didalam suatu citra dapat ditentukan dengan memindahkan frame pada subcitra yang menutupi atau membatasi keseluruhan pola pada citra yang disebut sebagai wajah, ke lokasi lain yang berukuran sama yang pasti mengandung wajah yang lain. Suatu kumpulan photograph yang telah terkompilasi sebelumnya terdiri dari sekumpulan himpunan penguji cobaan dan eigenface mengekstraksi fitur dari sekumpulan himpunan ini [2]. 2.4
Principal Component Analysis (PCA) Proses algoritma PCA dapat digambarkan sebagai berikut:
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
3
Start
Input Normalization
Find Covariance Matrix
Find & Sort Eigenvalues
Find Eigenvector
Find Eigenface
Stop
Gambar 1. Flowchart algoritma PCA
Berdasarkan flowchart pada gambar 4.1 dapat dijelaskan : Mengambil satu set gambar dan kemudian mentransformasikan gambar tersebut untuk dinormalisasi menjadi vektor kolom, sehingga didapatkan satu matriks yang tiap kolomnya mewakili gambar yang berbeda. 2. Menghitung matriks kovarian, yaitu dengan melakukan operasi perkalian transpose dari training set. 3. Menghitung nilai eigen (eigenvalue) dari matriks kovarian. 4. Mengurutkan vektor eigen (eigenvector) berdasarkan nilai eigen masing-masing vektor. 5. Menghitung bobot eigenface pada citra training yaitu dengan cara mengalikan matrik vektor eigen transpose dengan matrik beda, yang hasilnya merupakan reprentasi bobot dari variasi wajah. Adapun cara kerja PCA yaitu (Al Fatta, 2009) : 1. Buat MakeFlatVector(ImageList, N, M) : ImageList adalah kumpulan dari N training image, dimana setiap image adalah W x H piksel. M adalah ukuran vector flat yang harus dibuat. 2. Gabungkan setiap dalam WH elemen vector dengan menggabungkan semua baris. Buat ImageMatrix sebagai matriks N x WH berisi semua gambar yang digabung. 3. Jumlahkan semua baris pada ImageMatrix dan dibagi dengan N untuk mendapatkan rataan gambar gabungan. Kita namakan vector elemen WH ini dengan R. 4. Kurangi ImageMatrix dengan average image R. Kita namakan matriks baru ukuran N x WH sebagai R’. 5. Jika pada elemen-elemen dari matriks R’ ditemukan nilai negative, ganti nilainya dengan nilai 0. Kemudian identifikasi dilakukan dengan proyeksi menggunakan algoritma seperti berikut [1] : 1. Citra masukan : image berukuran W x H piksel 2. Gabungkan elemen vector WH dan kita sebut img. 3. Load nilai rataan R dari database atau file 4. Kurangi img dengan R hingga dapatkan img’. 5. Jika pada img’ ditemukan elemen dengan nilai negative, ganti dengan nilai 0 untuk mendapatkan vector ukuran img”. Proses terakhir adalah identifikasi, yaitu memproyeksikan test image ke face space dan menghitung score [1] : 1. Load semua wajah yang sudah diproyeksikan dari database 1.
4
Mirna Astria
2. 3.
Proj = ProjectToFaceSpace(test_image) Lakukan operasi pengurangan, proj dengan semua wajah yang telah diproyeksikan. Ambil nilai absolutnya dan jumlahkan, hasilnya adalah score. Ambil score terkecil sebagai hasil dari wajah yang telah diproyeksikan. Wajah ini menjadi hasil identifikasi. 3
Perancangan
3.1
Perancangan Sistem
Proses identifikasi wajah ini, untuk pengamanan android phone dapat digambarkan dalam satu block diagram seperti yang ditunjukkan pada gambar 2.
Gambar 2. Block diagram proses penyimpanan wajah
Keterangan : Jalannya block diagram proses penyimpanan wajah adalah sebagai berikut : 1. Kamera aplikasi : merupakan piranti pada aplikasi ini yang digunakan untuk mengambil citra wajah (capture). 2. Browse file wajah : proses mengambil citra wajah melalui browse. 3. Deteksi wajah : merupakan proses yang menunjukkan bagian wajah dari citra wajah yang diambil. 4. Identifikasi wajah : merupakan proses yang dilakukan untuk mencocokkan citra masukan wajah yang terlebih dahulu diidentifikasi, kemudian hasil identifikasi tersebut disimpan di dalam database wajah (training face) sehingga pada saat proses identifikasi kembali citra masukan wajah cocok dengan citra wajah pada database. Proses pengenalan wajah yang digunakan untuk membuka kunci keamanan pada android phone dapat digambarkan dalam satu block diagram seperti yang ditunjukkan pada gambar 3.
Gambar 3. Block diagram proses membuka kunci keamanan
Keterangan : Jalannya block diagram proses penyimpanan wajah adalah sebagai berikut : 1. Kamera aplikasi : merupakan piranti pada aplikasi ini yang digunakan untuk mengambil citra wajah (capture). 2. Pengambilan citra wajah (capture) : dilakukan dengan menggunakan kamera pada aplikasi ini.
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
3.
5
5.
Deteksi wajah : merupakan proses yang menunjukkan bagian wajah dari citra wajah yang diambil. Proses identifikasi : merupakan proses pencocokan citra masukan wajah dengan citra wajah yang telah diproses dan disimpan di dalam database. Pada saat wajah telah teridentifikasi, maka kunci keamanan bisa terbuka.
3.2
Perancangan Aplikasi
4.
1. Flowchart menu aplikasi Start
Menu aplikasi
Setting
Ya
Set wajah
Tidak
Ya
Ambil citra wajah
Tidak
Melalui kamera
Tidak
Set password Ya
Exit
Simpan ke Shared Preference
Ambil citra masukan kamera Tidak
Simpan file di gallery dan browse dari gallery
Citra terdeteksi?
Ya
Normalisasi ukuran citra
Stop
Identifikasi menggunakan eigenface
Simpan identifikasi ke database
Gambar 4. Flowchart menu aplikasi
2. Flowchart sistem buka kunci
Browse file dari gallery
6
Mirna Astria
Start
Tarik kunci
Capture wajah (kamera) Tidak
Bisa di deteksi?
Ya
Normalisasi ukuran citra Tidak
Identifikasi menggunakan eigenface
Proses Identifikasi
Citra teridentifikasi
Ya
Terbuka kunci
Stop
Gambar 5. Flowchart sistem buka kunci
3. Flowchart penyimpanan password Start
Set password
Simpan ke Shared Preference
Stop
Gambar 6. Flowchart penyimpanan password
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
4
Pengujian dan Analisa
4.1
Pengujian Sistem
7
Pengujian sistem dilakukan dengan memasang aplikasi ini ke perangkat selular android untuk mengetahui apakah hasil yang diberikan sesuai dengan pengetahuan yang diberikan kedalam sistem. Aplikasi sistem pengamanan handphone menggunakan face recognition berbasis android ini membuktikan apakah citra wajah yang dimasukkan dapat diidentifikasi oleh system dalam membuka kunci keamanan. Jika wajah yang dimasukkan benar maka sistem akan secara otomatis membuka kunci keamanan. 1.
Tampilan utama aplikasi merupakan tampilan yang pertama kali muncul pada saat membuka aplikasi. Pada tampilan ini disediakan menu setting untuk proses set wajah dan password serta menu exit untuk keluar dari aplikasi ini. Dalam menu setting terdapat checkbox yang berfungsi untuk mengaktifkan locking dan booting service. Checkbox akan aktif apabila alternative lock telah diset terlebih dahulu. Kemudian didalam menu setting juga terdapat button face capture merupakan tampilan untuk kamera untuk capture wajah.
2.
Selanjutnya hasil capture ataupun browse file akan ditampilkan pada tampilan Recognized. Ukuran citra tersebut akan diperkecil dengan memperhatikan aspect ratio nya sehingga bisa ditampilkan pada form Recognized. Dan pertama kali wajah akan dikenali sebagai Unknown Person. Selanjutnya pengguna diminta untuk mengisi nama sebagai identitas wajah dalam proses identifikasi. Nama tersebut akan diisi pada sebuah tampilan alert dialog. Wajah yang telah diset bisa dilihat pada tampilan Face Gallery.
3.
Setelah service aktif, pada saat pengguna membuka kunci keamanan akan ditampilkan sebuah tampilan utama. Pada tampilan ini terdapat button scan face dan password. Tampilan ini muncul setelah service unlock screen. Tampilan scan face merupakan
8
Mirna Astria
tampilan kamera untuk capture wajah masukan. Setelah melakukan capture, wajah akan tampil pada halaman Recognized. Jika wajah tidak teridentifikasi akan muncul alert yang berfungsi sebagai warning bagi pengguna untuk melakukan capture wajah kembali untuk proses membuka kunci keamanan. Tetapi jika teridentifikasi, maka kunci keamanan bisa terbuka.
4.2
Analisa
Pengujian yang akan dilakukan pada sistem ini adalah mengenai tinggi rendahnya intensitas pencahayaan di sekitar objek, ekspresi wajah dan atribut pada wajah. Dari pengujian tersebut akan didapatkan analisa tingkat keberhasilan dalam membuka kunci keamanan dengan metode eigenface ini. Dan citra training yang digunakan adalah 5 wajah. Tabel 1. Citra training
Citra training
Tabel 2. Hasil pengujian tingkat keberhasilan metode eigenface
Citra Masukan No
(Saat membuka kunci)
Status Cahaya
Kamera
Ekspresi
Atribut
Hasil
1 Cukup
Depan
Tampak gigi
Jilbab
Berhasil masuk
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
9
2 Cukup
Belakang
Senyum
Cukup
Depan
Ekspresif
Terang
Belakang
Senyum
Redup
Depan
Senyum
Cukup
Belakang
Standar
Cukup
Depan
Cukup
Belakang
Cukup
Depan
Jilbab,
Berhasil
kacamata
masuk
Jilbab,
Gagal
kacamata
masuk
3
4 Jilbab
Berhasil masuk
5 Jilbab,
Gagal
kacamata
masuk
Jilbab,
Berhasil
kacamata
masuk
6
7 Tampak gigi
Jilbab
Berhasil masuk
8 Jilbab,
Berhasil
kacamata
masuk
Tampak
Jilbab.
Berhasil
gigi
kacamata
masuk
Senyum
9
10
Mirna Astria
10 Cukup
Belakang
Senyum
Jilbab
Berhasil masuk
Tingkat keberhasilan metode eigenface dalam membuka kunci keamanan dari pengujian diatas mencapai 80%, dikarenakan metode ini dipengaruhi oleh intensitas cahaya yang berbeda antara citra masukan dan citra training dan juga adanya perubahan ekspresi wajah. 5
Kesimpulan
Berdasarkan pengujian dan analisa sebelumnya, dapat diambil kesimpulan sebagai berikut : a. Proses pengenalan wajah menggunakan pendekatan metode eigenface sensitif terhadap perubahan cahaya, jarak dan ekspresi wajah. Jika citra yang digunakan sebagai training set maupun sebagai citra input memiliki intensitas cahaya yang berbeda dan tidak berada pada posisi yang sama dengan citra training set maka proses tersebut tidak dapat memberikan hasil yang akurat. b. Citra yang digunakan sebagai training, bisa diset minimal sebanyak 5 wajah untuk satu individu dalam berbagai kondisi cahaya, jarak dan ekspresi wajah. 6
Daftar Pustaka
[1] Al fatta, Hanif. (2009). Pengenalan Wajah dengan Algoritma Eigenface. Jurnal
Mahasiswa STMIK AMIKOM Yogyakarta. (Jurnal) [2] Fadlisyah. (2007). Computer Vision dan Pengolahan Citra. Yogyakarta : Andi [3] Saputra, Rizky. (2011). Analisa Identifikasi Wajah Menggunakan Metode eigenface dan Metode Euclidean dengan Pembanding Ekstraksi Ciri. [4] Suyoto,T dkk. (2009). Pengolahan Citra Digital. Yogyakarta : Andi [5] Turk, M, Pentland, A (2002). Eigenface Based Facial Recognition. McGraw-Hill
International. (buku)