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. M anipulasi 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).
12 Computer vision merupakan hasil gabungan dari pengolahan citra dan pengenalan pola. Pengenalan wajah merupakan bagian dari computer vision.
2.6
Identifikasi Wajah M enurut 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. M otivasi 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. M asalah utama dari data multidimensi adalah dimensionalitasnya, jumlah koordinat yang diperlukan untuk menspesifikasikan sebuah titik data (Shakhnarovich & M oghaddam, 2005, p. 141). Jumlah dimensionalitas ruang tersebut, yang dibangun dari representasi pixel , adalah jumlah yang sangat besar bahkan untuk sebuah ukuran citra yang sederhana. M etode pengenalan untuk mengoperasikan representasi ini mengalami beberapa kesulitan. M enurut Shakhnarovich dan M oghaddam (2005), beberapa dari kesulitan ini disebut juga kutukan dari dimensionalitas. -
M enangani 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. M enurut 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 M etode Viola-Jones adalah metode yang banyak digunakan dalam melakukan
pendeteksian objek. M etode 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. M embangun Pengklasifikasi Lemah (Weak Classifiers) M etode
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. M embangun 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. M etode 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. M etode 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 M isalnya ada sejumlah diambil
individu yang dijadikan sampel. Dari setiap individu
citra, sehingga total citra di dalam training set adalah:
Sejumlah ruang citra
sampel citra dinyatakan sebagai Γ , Γ , Γ , … , Γ
di dalam sebuah
-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
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
yang terbaik
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 =
2.10
xi − yi
2
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 M ono dan dijalankan di Linux atau M ac OS X (Anonim, 2011). Penelitian ini menggunakan EmguCV versi 2.0.5077.