BAB 2 LANDASAN TEORI 2.1 Citra Berikut adalah beberapa definisi dari citra, antara lain: rupa; gambar; gambaran (Kamus Besar Bahasa Indonesia). Sebuah fungsi dua dimensi, f(x, y), di mana x dan y adalah koordinat-koordinat spasial (bidang), dan amplitude dari f pada setiap pasang koordinat (x, y) disebut intensitas atau tingkat keabuan pada titik tersebut (Gonzalez & Woods, 2002, p. 1). Citra adalah suatu representasi dari objek nyata ke dalam gambar digital yang dapat dikenali oleh komputer. Citra tersebut dapat menjadi masukan atau input ke dalam komputer yang akan diproses menjadi keluaran atau output yang diinginkan. 2.2 Pengolahan Citra Pengolahan citra (image processing) merupakan bidang yang berhubungan dengan proses transformasi citra yang bertujuan untuk mendapatkan kualitas citra yang lebih baik (Fairhurst, 1988, p. 5). Pengolahan citra perlu dilakukan sebelum melakukan proses deteksi atau pengenalan citra wajah dalam penelitian ini. Hal ini dimaksudkan untuk mendapatkan kualitas citra yang lebih baik sehingga dapat mempermudah dan meningkatkan keakuratan sistem dalam melakukan pendeteksian dan pengenalan.
10 2.3 Histogram Equalization Histogram dari citra digital dengan tingkat keabuan dalam rentang [0, L 1] adalah sebuah fungsi diskrit, di mana adalah tingkat keabuan ke- dan adalah jumlah pixel dalam citra yang memiliki tingkat keabuan (Gonzalez & Woods, 2002, p. 88). Histogram adalah dasar dari domain spasial sejumlah teknik pengolahan. Manipulasi histogram dapat digunakan secara efektif untuk peningkatan citra. Histogram equalization adalah persamaan yang diimplementasikan pada sebuah citra digital di mana distribusi histogram-nya akan lebih menyebar, dalam hal ini walaupun tidak dapat dibuktikan bahwa bentuk histogram-nya akan seragam namun dengan histogram equalization dapat dipastikan histogram-nya akan lebih merata. Sekumpulan citra yang diberikan histogram equalization (disebut juga histogram linearization) akan memiliki komposisi kontras yang mirip satu sama lain. Gambar 2.1 Citra sebelum histogram equalization
11 Gambar 2.2 Citra sesudah histogram equalization 2.4 Pengenalan Pola Pengenalan pola (pattern recognition) merupakan bidang studi yang melakukan proses analisis gambar yang input-nya adalah gambar ataupun citra digital dan menghasilkan output suatu deskripsi dengan tujuan untuk mendapatkan informasi yang disampaikan oleh gambar atau citra, dengan kata lain meniru kemampuan manusia (otak manusia) dalam mengenali suatu objek atau pola tertentu (Fairhurst, 1988, p. 5). Citra wajah dapat dikatakan sebagai pola yang harus dikenali dalam penelitian ini. Ilmu pengenalan pola adalah dasar dari kemampuan komputer dalam melakukan pencarian semua lokasi citra wajah yang ada di dalam sebuah gambar. 2.5 Computer Vision Computer vision merupakan ilmu yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati (Fairhurst, 1988, p. 5). Computer vision adalah ilmu yang bertujuan untuk mendiskripsikan dunia dalam bentuk satu atau lebih citra dan melakukan rekonstruksi properti-properti yang ada seperti bentuk, iluminasi, dan distribusi warna (Szeliski, 2011, p. 3).
Computer vision merupakan hasil gabungan dari pengolahan citra dan pengenalan pola. Pengenalan wajah merupakan bagian dari computer vision. 12 2.6 Identifikasi Wajah Menurut Kamus Besar Bahasa Indonesia, identifikasi adalah penentu atau penetapan identitas seseorang, benda, dsb. Identifikasi (pengenalan) wajah atau face recognition adalah sebuah tugas yang dilakukan oleh manusia secara rutin dan mudah dalam kehidupan sehari-hari. Penelitian dan pengembangan ilmu pengenalan wajah berkembang secara otomatis atas dasar ketersediaan desktop kuat dan rendah biaya serta embedded-system yang telah menciptakan minat yang sangat besar dalam pengolahan citra digital dan video. Motivasi penelitian dan pengembangan dari pengenalan wajah termasuk dalam lingkup otentikasi biometrik, pengawasan, interaksi manusia-komputer, dan manajemen multimedia (Li & Jain, 2005, p. 1). Pengenalan wajah adalah salah satu ilmu di dalam computer vision, di mana komputer dapat menganalisa suatu citra wajah yang ditemukan di dalam sebuah gambar dan menemukan identitas dari citra wajah tersebut dengan membandingkannya terhadap data-data citra wajah yang telah disimpan sebelumnya. Umumnya pengenalan citra wajah dilakukan dari depan dengan dengan cahaya yang merata ke seluruh wajah. Tetapi dalam beberapa kasus, ada kalanya suatu citra wajah yang ditangkap memiliki beberapa pengecualian tertentu, seperti posisi, skala atau jarak wajah, orientasi, umur, dan ekspresi. Sistem pengenalan citra wajah umumnya mencakup empat modul utama (Li & Jain, 2005, p. 2), yaitu: deteksi, alignment, ekstraksi fitur, dan pencocokan. Proses
13 lokalisasi dan normalisasi (deteksi wajah dan alignment) adalah langkah-langkah sebelum proses pengenalan wajah (ekstraksi fitur wajah dan pencocokan) dilakukan. Deteksi wajah adalah langkah awal untuk melakukan identifikasi wajah atau face recognition. Sebuah pendeteksi wajah yang ideal seharusnya mampu mengidentifikasi dan menemukan lokasi dan luas semua wajah yang ada di dalam sebuah gambar tanpa memperhatikan pose, skala, orientasi, umur, dan ekspresi (Li & Jain, 2005, p. 13). Deteksi wajah melakukan segmentasi area citra wajah dengan bagian latar (background). Proses alignment bertujuan untuk memperoleh akurasi yang lebih tinggi untuk lokalisasi dan normalisasi citra wajah karena deteksi wajah menyediakan estimasi lokasi dan skala dari setiap citra wajah yang terdeteksi. Setelah sebuah wajah dinormalisasi, ekstraksi fitur dilakukan untuk mengambil data efektif yang berguna untuk memisahkan antara citra-citra wajah dan orang-orang yang berbeda dan cukup stabil untuk variasi geometrik dan fotometrik. Pencocokan wajah dilakukan dengan cara melakukan pencocokan fitur yang telah diekstraksi dari citra wajah masukan dengan kumpulan data training citra wajah yang telah disimpan sebagai basis data wajah. Gambar 2.3 Proses pengenalan wajah
14 Citra wajah, direpresentasikan sebagai sebuah susunan pixel dengan dimensi tinggi. Pengenalan wajah, dan penelitian computer vision secara umum, telah menyaksikan pertumbuhan minat dalam teknik yang menerapkan aljabar dan fitur statistik untuk melakukan ekstraksi dan analisis kasus jenis ini. Analisa komputer untuk citra wajah dipengaruhi oleh sinyal visual (cahaya yang terpantul pada permukaan wajah) yang disimpan oleh sebuah sensor digital sebagai sebuah susunan dari nilai pixel. Nilai pixel ini menyimpan warna atau hanya intensitas cahaya. Array pixel dari citra wajah berukuran dapat disimpan dalam bentuk sebuah titik (contoh: vektor) di dalam sebuah ruang citra -dimensi dengan menulis nilai-nilai pixel-nya dalam urutan tetap. Masalah utama dari data multidimensi adalah dimensionalitasnya, jumlah koordinat yang diperlukan untuk menspesifikasikan sebuah titik data (Shakhnarovich & Moghaddam, 2005, p. 141). Jumlah dimensionalitas ruang tersebut, yang dibangun dari representasi pixel, adalah jumlah yang sangat besar bahkan untuk sebuah ukuran citra yang sederhana. Metode pengenalan untuk mengoperasikan representasi ini mengalami beberapa kesulitan. Menurut Shakhnarovich dan Moghaddam (2005), beberapa dari kesulitan ini disebut juga kutukan dari dimensionalitas. - Menangani dimensionalitas yang tinggi, terutama dalam konteks pengenalan berdasarkan kemiripan dan pencocokan, adalah mahal secara komputasi. - Untuk metode parametrik, jumlah parameter yang dibutuhkan berkembang secara eksponensial berdasarkan dimensionalitas. Terkadang jumlah ini melebihi jumlah citra yang tersedia untuk training. - Untuk metode non-parametrik, kompleksitas sampel cukup tinggi.
15 Oleh karena itu, perlu adanya penggunaan teknik pengurangan dimensionalitas untuk membangun sistem pengenalan wajah yang dapat melakukan komputasi secara cepat sehingga dapat diandalkan. Pada penelitian ini, teknik pengurangan dimensionalitas menggunakan metode Principal Component Analysis. Menurut Li dan Jain (2005), ada beberapa faktor yang dapat mengurangi kemampuan pengenalan wajah seperti perubahan iluminasi, pose, ekspresi, occlusion, aksesoris, warna, dan kecerahan. Gambar 2.4 Variasi dalam satu subjek dalam pose, iluminasi, ekspresi, occlusion, aksesoris (contoh: kacamata), warna, dan kecerahan (Li & Jain, 2005, p. 6) 2.7 Viola-Jones Metode Viola-Jones adalah metode yang banyak digunakan dalam melakukan pendeteksian objek. Metode Viola-Jones dapat menjalankan algoritmanya dengan cepat. Proses pedeteksian dilakukan dengan melakukan klasifikasi menggunakan pengklasifikasi (classifier) yang telah dibangun sebelumnya sebagai data training. Bagian penting dalam metode Viola-Jones terdiri dari:
16 1. Fitur Haar-like Pengenalan objek Viola-Jones memiliki prosedur pengklasifikasian citra berdasarkan nilai fitur sederhana. Penggunaan fitur dilakukan karena pemrosesan fitur berlangsung lebih cepat dibandingkan pemrosesan citra perpiksel (Dzulkarnain, Dewantara, & Besari, 2011, p. 3). 2. Membangun Pengklasifikasi Lemah (Weak Classifiers) Metode Viola-Jones dibangun berdasarkan metode AdaBoost. Pembelajaran AdaBoost membutuhkan pengklasifikasi kuat nonlinier kompleks, yang dibangun dari kombinasi sejumlah pengklasifikasi lemah (Li & Jain, 2005, p. 19). Pembelajaran AdaBoost melakukan pembelajaran sederet pengklasifikasi lemah terbaik yang dikombinasikan. 3. Membangun Pengklasifikasi Kuat (Strong Classifier) Pembelajaran AdaBoost membentuk sederet pengklasifikasi lemah dan mendorongnya menjadi satu pengklasifikasi kuat. 4. Cascade of Strong Classifiers Tingkatan-tingkatan di dalam cascade dibangun dengan melakukan training pengklasifikasi menggunakan metode AdaBoost. Sebuah pengklasifikasi kuat secara efektif menghilangkan sebagian besar dari daerah jendela yang bukan citra wajah ketika mempertahankan tingkat deteksi yang tinggi (Li & Jain, 2005, p. 26). Viola dan Jones mengembangkan ide ini dengan melakukan training terhadap sebuah cascade yang terdiri dari sebuah cascade dari pengklasifikasi-
17 pengklasifikasi kuat. Untuk pendeteksian citra wajah, bagian jendela yang gagal melewati sebuah pengklasifikasi kuat tidak lagi diproses oleh pengklasifikasi kuat selanjutnya. Metode ini dapat secara signifikan meningkatkan kecepatan dari deteksi, dengan sedikit pengorbanan pada tingkat deteksi. 2.8 Principal Component Analysis (PCA) Principal Component Analysis (PCA) adalah teknik standar yang digunakan dalam pengenalan pola statistikal dan pemrosesan sinyal untuk data reduction dan ekstraksi fitur (Eleyan & Demirel, 2007, p. 94). Kemampuan ekstraksi fitur ini dapat digunakan untuk melakukan pengenalan wajah. Metode PCA dikenal juga dengan nama Karhunen-Loeve Transformation (KLT). PCA memberikan transformasi ortogonal yang disebut juga dengan eigenimage yang di mana sebuah citra akan direpresentasikan ke dalam bentuk proyeksi linier searah dengan eigenimage yang bersesuaian dengan nilai Eigen terbesar dari matriks covariance. Dalam prakteknya, matriks covariance ini dibangun dari sekumpulan image training yang diambil dari berbagai objek. Sebuah citra 2D dengan dimensi kolom dan baris dapat direpresentasikan ke dalam bentuk citra 1D. Dalam penelitian ini ukuran jumlah kolom dan baris pixel citra adalah sama, sehingga nantinya akan terbentuk dimensi. Gambar 2.5 Contoh input citra wajah (Seo, EigenFaces and FisherFaces, 2006, p. 2)
18 Misalnya ada sejumlah individu yang dijadikan sampel. Dari setiap individu diambil citra, sehingga total citra di dalam training set adalah: Sejumlah sampel citra dinyatakan sebagai Γ,Γ,Γ,,Γ di dalam sebuah ruang citra -dimensi. Kumpulan citra tersebut dihitung nilai rata-ratanya yang disebut juga sebagai average face dengan perhitungan berikut: Ψ 1 Γ Gambar 2.6 Average face (Seo, EigenFaces and FisherFaces, 2006, p. 2) Setiap citra wajah dikurangi dengan nilai rata-rata membentuk kumpulan vektor Φ menggunakan rumus: Φ Γ Ψ Kumpulan vektor yang sangat besar ini kemudian mengikuti pada aturan PCA, yang mencari sejumlah vektor-vektor ortonormal dan nilai Eigen yang terbaik dalam menggambarkan distribusi dari data tersebut. Vektor-vektor dan nilai-nilai adalah vektor-vektor Eigen dan nilai-nilai Eigen dari matriks covariance 1 di mana Φ Φ Φ. Φ Φ T
19 Dari matriks (dalam penelitian ini berukuran ), diambil vektor-vektor Eigen terbaik sebanyak jumlah data. Karena vektor-vektor Eigen ini memiliki dimensi yang sama dengan dimensi citra yang asli, maka vektor-vektor ini jika disusun menjadi matriks berukuran akan membentuk citra yang mirip dengan wajah seperti contoh yang ditunjukkan pada Gambar 2.7. Oleh karena itu, vektor-vektor Eigen ini disebut juga Eigenfaces. Gambar 2.7 Eigenfaces (Seo, EigenFaces and FisherFaces, 2006, p. 2) Penggunaan PCA sangat mengurangi kalkulasi yang perlu dilakukan, dari sejumlah pixel di dalam citra ( ) menjadi sejumlah citra di dalam training set ( ). Dalam prakteknya, jumlah citra wajah di dalam training set biasanya lebih kecil dibandingkan dengan jumlah pixel di dalam citra (Eleyan & Demirel, 2007, p. 96). Pendekatan metode PCA untuk pengenalan wajah ditunjukkan pada Gambar 2.8.
20 Gambar 2.8 Pendekatan PCA untuk pengenalan wajah (Eleyan & Demirel, 2007, p. 98) Dengan kata lain metode PCA memproyeksikan ruang asal menjadi ruang baru yang berdimensi lebih rendah, dengan berpegang bahwa sebanyak mungkin informasi yang dimiliki dimensi asal dipertahankan dan tidak terlalu banyak yang hilang setelah diproyeksikan ke ruang yang baru. Dengan memperkecil dimensi dari sebuah ruang, tentu akan meringankan proses komputasi yang perlu dilakukan oleh sistem. 2.9 Euclidean Distance Euclidean distance adalah salah satu metode yang dapat digunakan untuk melakukan klasifikasi citra wajah yang baru (tidak diketahui) ke salah satu dari citra wajah yang telah diketahui. Nilai bobot antara dua vektor i dan j yang dihitung dengan
21 menggunakan Euclidean distance menunjukkan ukuran kesamaan antara citra i dan j (Pissarenko, 2002, p. 5). Perhitungan Euclidean distance dilakukan menurut rumus berikut: x y e = x i y i 2 2.10 EmguCV EmguCV adalah sebuah paket lintas platform.net untuk library pengalahan citra Intel. EmguCV memperbolehkan fungsi-fungsi OpenCV untuk dipanggil dari bahasa yang kompatibel dengan.net seperti C#, VB, VC++, IronPhyton, dan lain sebagainya. Paket ini dapat di-compile pada Mono dan dijalankan di Linux atau Mac OS X (Anonim, 2011). Penelitian ini menggunakan EmguCV versi 2.0.5077.