BAB 3
PERANCANGAN SISTEM
3.1 Rancangan Perangkat Keras 3.1.1 Diagram Blok Sistem Rancangan perangkat keras dari aplikasi pengenalan wajah ini dapat dilihat pada diagram blok Gambar 3.1 sebagai berikut
Webcam
Processor
Microcontroler and Relay
Computer
Memory
Storage -Face Recognition Application -Face Database
Gambar 3.1 Diagram Blok Rancangan Perangkat Keras
23
Display
24 3.1.2 Modul-modul Sistem dan Cara Kerja 3.1.2.1 Modul-modul Sistem Modul sistem perangkat keras dalam aplikasi ini adalah 1. Modul Penyimpanan Data pada sistem perangkat keras aplikasi ini adalah
Storage. Dalam Storage data yang digunakan dalam
proses pengenalan wajah disimpan. 2. Modul Sensor sistem pada aplikasi ini adalah Webcam. Dimana Webcam berfungsi untuk menangkap data wajah dari pengguna untuk diproses lebih lanjut. 3. Modul Keputusan perangkat keras pada aplikasi ini adalah Mikrokontroler. Mikrokontroler memutuskan apakah pengguna yang diuji yang memiliki kepentingan atau tidak. Jika pengguna yang diuji sah maka relay akan hidup. Pada aplikasi ini penggunaan relay diganti dengan lampu. 4. Modul Tampilan perangkat keras pada aplikasi ini adalah Display. Display akan menampilkan user interface dari aplikasi. 5. Modul Proses pada aplikasi ini dijalankan oleh Processor dan Memory. Processor dan Memory berfungsi untuk menjalankan aplikasi pengenalan wajah. 3.1.2.2 Cara Kerja Adapun cara kerja sistem perangkat keras diatas adalah sebagai berikut
25 1. Webcam digunakan untuk menyimpan wajah pengguna. Data wajah yang sudah diambil kemudian disimpan kedalam Storage sebagai database. 2. Ketika aplikasi Face Recognition didalam Storage dijalankan, Memory akan menampung data dan instruksi dari perintah (aplikasi) tersebut. Kemudian Processor akan memproses data dan instruksi yang terdapat pada Memory. Setelah data dan instruksi diproses, Processor akan menghasilkan keluaran yang berupa signal ke perangkat keras yang dibutuhkan untuk menjalankan aplikasi. 3. Setelah aplikasi dijalankan, Display akan menampilkan user interface dari aplikasi. 4. Webcam sebagai modul sensor, akan menangkap wajah pengguna yang berada didepan kamera webcam untuk dibandingkan dengan data wajah yang terdapat pada face database. 5. Jika wajah yang di depan kamera dan data wajah yang terdapat pada database sama, maka pintu akan terbuka. Hal tersebut menandakan bahawa Mikrokontroler dan Relay telah memberikan keputusan bahwa pengguna memiliki kewenangan.
26 3.2 Rancangan Piranti Lunak 3.2.1 Diagram Alir Program Utama Diagram alir rancangan piranti lunak aplikasi pengenalan wajah adalah sebagai berikut:
Face Database
Training Set
Testing Set
Projection of Test Image
LDA (Feature Extraction)
Feature Vector
Feature Vector
Classifier (Euclidean Distance)
Decision Making
Gambar 3.2 Diagram Alir Rancangan Piranti Lunak
27 1. Face Database Face database adalah kumpulan dari citra wajah yang digunakan dalam sebuah sistem face recognition. Citra-citra wajah yang terdapat dalam face database dapat digunakan sebagai set pelatihan (training set) ataupun set pengujian (testing set). Pada aplikasi ini citra wajah yang terdapat dalam face database memakai format JPEG bewarna abu-abu dengan dimensi gambar 250 pixel untuk dimensi tinggi dan 250 pixel untuk dimensi lebar. Pada aplikasi ini setiap orang diambil 5 citra wajah, yang akan diambil secara otomatis ketika pengguna memberikan perintah kepada aplikasi. Citra wajah yang diambil dari setiap orang digunakan sebagai masukkan dalam tahap pelatihan. 2.
Training Set Set pelatihan (training set) adalah satu set data yang digunakan untuk menemukan hubungan yang berpotensi prediktif. Face database harus memiliki citra wajah setiap orang atau subjek dalam set pelatihan. Citra wajah dalam set pelatihan ini harus mewakili pandangan frontal dari orang atau subjek dengan sedikit perbedaan pada sudut pandang. Set pelatihan juga harus mencakup ekspresi wajah yang berbeda, pencahayaan yang berbeda, kondisi latar belakang, dan juga penggunaan atribut pada wajah. Pelatihan ini di set dengan asumsi bahwa semua gambar telah dinormalisasi untuk array m X n dan bahwa citra wajah pada set pelatihan hanya daerah
28 wajah dan tidak memiliki banyak citra anggota tubuh lain (Etamad & Chellappa, 1997:3). Pada aplikasi ini set pelatihan didapat setelah pengguna menyimpan citra wajah. Aplikasi akan memulai proses pelatihan setelah pengguna memberikan instruksi kepada aplikasi. Data yang dilatih oleh aplikasi ialah 5 citra wajah pengguna yang baru saja ditangkap dan disimpan ke-face database oleh aplikasi.
3. Testing Set
Face Detection
Input/Video
Face Location
Face Tracking
Gambar 3.3 Proses pada saat Testing Set
Set pengujian (testing set) adalah satu set data yang digunakan untuk menilai kekuatan dan utilitas dari hubungan prediktif. Set pengujian didapat dengan dua pendekatan, pertama menggunakan citra wajah yang terdapat pada face database. Kedua menggunakan citra wajah yang didapat secara real time atau menggunakan video. Pada aplikasi ini set pengujian didapat dengan menggunakan video
atau secara realtime pada operasional.
Penangkapan citra wajah atau face detection akan dilakukan oleh
29 webcam yang akan mendeteksi wajah pengguna. Setelah wajah pengguna dideteksi, maka selanjutnya citra wajah pengguna tersebut akan ditentukan lokasinya (face locating). Kemudian aplikasi akan melacak wajah dari pengguna (face tracking). Sistem yang digunakan untuk face trakcking adalah Two Dimensional System, dimana sistem ini melacak wajah dan keluaran ruang gambar dimana wajah subjek berada. Pada aplikasi ini digunakan Haarcascade Classifier untuk mendeteksi wajah manusia atau subjek. Dasar utama untuk haarascade Classifier adalah Haar-like feature. Feature ini menggunakan perubahan nilai kontras antara persegi panjang yang berdekatan, dibandingkan nilai intensitas pixel (Wilson & Fernandez, 2006:2). Citra wajah yang telah dideteksi dan dilacak oleh aplikasi (webcam) diubah dari berwarna menjadi abu-abu atau grayscale. Dari citra wajah grayscale tersebut kemudian citra wajah diubah kedalam bentuk matriks. Matriks inilah yang kemudian akan diproses dalam feature extraction (LDA).
4. Feature Extraction Feature Extraction adalah komponen paling penting dalam sistem face recognition. Feature extraction penting karena digunakan untuk menemukan representasi gambar yang paling tepat agar dapat diidentifikasi. Tugas utama dari featrue extraction ialah kecerdasan
30 dan kemampuan untuk mengindrakan kesamaan antara set pengujian dan set pelatihan. Tugas utama ini mengharuskan feature extraction untuk menemukan ukuran jarak yang relevan dalam feature space yang dipilih. Sehingga dapat memanfaatkan informasi yang tertanam untuk mengidentifikasi subjek.Metode feature extraction yang dipakai
dalam
penelitianini
adalah
Fisherfaces
atau
Linear
Discriminant Analysis (LDA). Fisherfaces atau LDA adalah feature extraction berbasis wajah manusia yang memiliki bukti keputusan integrasi untuk banyak analisa sumber data. LDA digunakan untuk menemukan kombinasi linear dari features sambil menjaga keterpisahan kelas. LDA memodelkan perbedaan antar kelas. Inilah yang menjadi perbedaan dasar antara metode LDA dengan PCA (Principal Component Analysis). Dimana pada metode PCA perbedaan antar kelas tidak dibedakan, sehingga jarak feature antara kelas yang satu dengan yang lainnya berdekatan. Untuk menghitung metode fisherfaces atau LDA adalah sebagai berikut Dimisalkan matriks dari sebuah gambar set pelatihan adalah sebagai berikut :
31 Matriks
dan
adalah bagian dari kelas ke 1, sedangkan
dan
adalah bagian dari kelas ke 2. Kemudian matriks-matriks tersebut di representasikan kedalam sebuah vektor. Hasil representasi adalah sebagai berikut :
Dari vektor yang didapat kemudian dicari mean dari setiap kelas dan mean dari seluruh kelas. Mean dari setiap kelas dan mean seluruh kelas adalah sebagai berikut :
Setelah nilai mean setiap kelas dan mean seluruh kelas diketahui Scatter Matrix Within Class dan ScatterMatrix Between Class. Untuk menghitung Scatter Matrix Within Class, dimisalkan
.
32
Dari
dibentuklah matriks A, dimana
matriks A.
SW didapat dari
*A.
menyusun kolom dari
33 Dengan menggunakan rumus untuk mencari SB dan dengan ketentuan seperti pada SW, maka didapat SB sebagai berikut.
Dari hasil perhitungan diatas diketahui bahwa SW berupa matriks singular, sehingga
tidak dapat dihitung, karena hasil determinan
matriks SW = 0. Untuk mengatasi masalah SW yang singular, digunakan scatter matriks metode PCA (Principal Component Analysis). Untuk menghitung scatter matriks PCA, pertama tentukan mean dari seluruh set pelatihan (hasil mean sudah dihitung pada perhitungan mean seluruh kelas diatas). Setelah itu dihitung kovarian matriks dengan menggunakan mean yang didapat. Untuk menghitung kovarian matriks, dimisalkan
Kemudian setiap
, sehingga didapat:
yang didapat digunakan untuk menyusun kolom
matriks A. Sehingga matriks A adalah sebagai berikut:
34
Setelah itu kovarian matriks dihitung dengan
*A. Sehingga
kovarian matriks didapat sebagai berikut:
Langkah berikutnya ialah memproyeksikan SW dan SB kedalam subspace
yang
dihasilkan
dengan
perhitungan
PCA.
Memproyeksikannya ialah dengan menghitung untuk
memproyeksikan
SB
dan
untuk
memproyeksikan SW. Dimana hasil yang didapat adalah sebagai berikut:
35 Dari hasil diatas, diketahui bahwa SW tidak singular lagi, sehingga dapat dihitung. Untuk menghitung
, pertama inverse matriks
SW.
Kemudian dihitung
Setelah
matriks
:
diketahui,
langkah
berikutnya
ialah
menentukan eigenvalue dan eigenvector dengan menggunakan persamaan Generalized Eigenvalue Problem. Nilai eigenvalue adalah sebagai berikut:
Sedangkan eigenvector adalah sebagai berikut :
36
Untuk mencari transformasi matriks LDA, digunakan perhitungan . Dimana
adalah
Sehingga transformasi matriks LDA adalah
Untuk
memproyeksikan
citra
kedalam
contoh
digunakan
persamaan
.
memproyeksikan citra wajah
kedalam subspace, maka vektor dari
didalam subspace adalah:
Sebagai
subspace
untuk
37
5. Projection of Test Image Wajah yang telah dideteksi dan dilacak, citra wajah yang dideteksi tersebut kemudian diproyeksikan kedalam sebuah subspace. Untuk memproyeksi citra wajah kedalam subspace digunakan persamaan
. Dimana
adalah matrix transformasi
LDA yang didapat dari perhitungan, sedangkan x adalah vektor dari citra wajah yang dideteksi dan ditangkap oleh aplikasi (webcam). Dari proses tersebut dihasilkan vektor feature (feature vector) dari set pengujian.
6.
Feature Vector
38 Feature vector adalah sebuah vektor gambar. Dimana di dalam vektor tersebut memiliki variabel acak dengan kemungkinan sebuah wajah atau bukan. 7.
Classifier Setelah feature diekstrak dan dipilih langkah berikutnya ialah pengklasifikasian gambar. Menurut Jain, Duin dan Mao (2000:4-37) ada beberapa pendekatan dalam pengklasifikasian gambar, yaitu similarity, probability, dan decision boundaries. Pada penelitian ini, pendekatan yang digunakan dalam pengklasifikasian gambar adalah decision boundaries. Pendekatan decision boundaries ini tergantung pada pemilihan metric (satuan pengukuran untuk perangkat lunak). Tujuan utama dari decision boundaries adalah untuk meminimalkan kesalahan antara pola pelatihan dan pola pengujian. Classiffier Distance.
pada
Dimana
aplikasi
Euclidean
ini
menggunakan
Distance
Euclidean
digunakan
untuk
mengklasifikasi data (feature vector) berdasarkan pendekatan decision boundaries.
8.
Decision Making Setelah diketahui jarak Euclidean terkecil dan sudah diklasifikasikan vektor test sebagai milik kelas subjek tertentu, maka dilakukan pembuatan keputusan. Jika vektor test telah diklasifikasikan sebagai milik kelas subjek tertentu, keputusan yang dibuat adalah subjek
39 dalam set pengujian sama dengan subjek dalam set kelas pelatihan tertentu (Balakhrisnama & Ganapathiraju, 1998:6).
3.3 Rancang Bangun
Gambar 3.4 Rancangan Aplikasi User interface pada sisi pengguna akan menampilkan gambar yang ditangkap oleh lensa webcam. Tampilan kotak yang berwarna hijau berfungsi sebagai penanda bahwa wajah pengguna telah dideteksi dan dilacak oleh aplikasi. Jika wajah tidak terdeteksi atau wajah yang terdeteksi terlalu kecil, maka kotak hijau tidak akan tampil. Tulisan “Prediction:” menunjukan prediksi aplikasi terhadap wajah yang dideteksi. Command prompt berfungsi untuk memasukkan perintah agar aplikasi melakukan fungsi atau tugas tertentu. Fungsi-fungsi tersebut ialah fungsi untuk manambah pengguna baru, menangkap dan menyimpan citra wajah pengguna, serta melatih citra wajah pengguna. Window yang berada dibawah command prompt berfungsi untuk menghubungkan aplikasi dengan mikrokontroler. Selain itu Window juga berfungsi untuk mengirimkan data kepada mikrokontroler.
40