bab 2 kajian pustaka - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2012-1-00236-if...
TRANSCRIPT
8
BAB 2
KAJIAN PUSTAKA
2.1 Tinjauan Umum Citra
Dalam Artificial Intelligence banyak menggunakan citra sebagai
inputyang diproses dalam clustering dan classification. Citra yang diproses
memiliki memori yang besar dan sering membawa nilai yang ambigu dan data
redundancy (bagian data yang tidak mengandung informasi terkait atau
merupakan pengulangan dari informasi yang sudah dinyatakan sebelumnya atau
sudah diketahui), sehingga menghambat dalam transmisi data citra.
Perkembangan secara pesat dalam pengolahan citra digital dimulai sekitar
tahun 1960 yaitu pada saat teknologi komputer telah sanggup memenuhi suatu
kecepatan proses serta kapasitas memori yang dibutuhkan oleh berbagai
algoritma pengolahan citra. Secara umum jenis aplikasi yang dikembangkan ada
tiga yaitu :
a. Memperbaiki kualitas suatu citra, sehingga dapat lebih mudah
diinterpretasikan oleh mata manusia.
b. Mengolah informasi yang terdapat pada suatu citra untuk keperluan
pengenalan objek secara otomatis oleh suatu mesin. Bidang ini sangat erat
hubungannya dengan ilmu pengenalan pola (pattern recognition) yang
umumnya bertujuan mengenali suatu objek dengan cara mengekstraksi
informasi penting yang terdapat dalam suatu citra.
9
c. Mengompres atau memampatkan data citra sehingga hanya memakai jumlah
memori yang jauh lebih kecil dari aslinya tanpa mengurangi kualitas citra
yang berarti.
2.1.1. Pengertian Citra
Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah
objek. Sumber cahaya menerangi objek, objek memantulkan kembali
sebagian dari berkas cahaya tersebut dan pantulan cahaya ditangkap oleh
alat-alat optik, misalnya mata manusia, kamera, scanner, sensor satelit,
yang kemudian direkam.
Ada 2 jenis citra yaitu citra tampak dan citra tak tampak.Citra tampak
adalah citra yang nampak dilayar monitor atau foto, lukisan, citra.
Sedangkan citra tak tampak adalah citra yang direprentasikan dalam
fungsi matematis (data foto atau citra dalam file). Citra digital adalah
citra yang disimpan dalam format digital (dalam bentuk file). Hanya citra
digital yang dapat diolah menggunakan komputer. Jenis citra lain jika
akan diolah dengan komputer harus diubah dulu menjadi citra digital.
2.1.2. Citra Digital
Citra digital merupakan fungsi kontinyu dari intensitas cahaya pada
bidang 2 dimensi. Fungsi dari intensitas citra adalah secara matematis
dimana dan adalah koordinat spasial dan nilai adalah intensitas citra
pada koordinat tersebut.
Citra digital adalah barisan bilangan nyata maupun kompleks
yang diwakili oleh bit-bit tertentu Umumnya citra digital berbentuk
10
persegi panjang atau bujur sangkar (pada beberapa sistem pencitraan ada
pula yang berbentuk segienam) yang memiliki lebar dan tinggi
tertentu.Ukuran ini biasanya dinyatakan dalam banyaknya titik atau
piksel sehingga ukuran citra selalu bernilai bulat (Positif).Setiap titik
memiliki koordinat sesuai posisinya dalam citra.Koordinat ini biasanya
dinyatakan dalam bilangan bulat positif, yang dapat dimulai dari 0 atau 1
tergantung pada sistem yang digunakan.
Gambar 2.1 Citra Digital
Setiap titik juga memiliki nilai berupa angka digital yang
merepresentasikan informasi yang diwakili oleh titik tersebut.Format data
citra digital berhubungan erat dengan warna.Pada kebanyakan kasus,
terutama untuk keperluan penampilan secara visual, nilai data digital
merepresentasikan warna dari citra yang diolah.
11
Citra digital merupakan suatu matriks dimana indeks baris dan
kolomnya menyatakan suatu titik pada citra tersebut dan elemen
matriksnya (yang disebut sebagai elemen citra / piksel / pixel / picture
element / pels) menyatakan tingkat keabuan pada titik tersebut. Citra
digital dinyatakan dengan matriks berukuran (baris/tinggi = ,
kolom/lebar = ).
= jumlah baris
= jumlah kolom
= maksimal warna intensitas (derajat keabuan / gray level)
Gambar 2.2 Citra Digital dalam matriks
Dalam citra digital dikenal citra dengan derajat keabuan dan citra
berwarna. Citra digital dengan derajat keabuan direpresentasi sebagai
array dua dimensi dari sejumlah bilangan.Masing-masing bilangan
merepresentasikan intensitas atau derajat keabuan dari citra di posisi yang
bersesuaian. Jika setiap tingkat keabuan direpresentasikan dalam 8 bit (1
byte), maka rentang data citra yang dicakup adalah sebanyak 256 derajat
keabuan, yaitu dari 0 – 255. Derajat keabuan 0 merepresentasikan
intensitas warna gelap sedangkan nilai tertinggi 255 merepresentasikan
12
intensitas warna terang. Nilai tingkat keabuan dari suatu pixel adalah
sama dengan terang rata-rata pada sejumlah grid yang dilingkupi pixel
tersebut.
2.1.3. Resolusi
Resolusi citra menyatakan ukuran panjang kali lebar dari sebuah
citra. Resolusi citra biasanya dinyatakan dalam satuan piksel. Semakin
tinggi resolusi sebuah citra, semakin baik kualitas citra tersebut. Namun,
tingginya resolusi menyebabkan semakin banyaknya jumlah bit yang
diperlukan untuk menyimpan dan mentransmisikan data citra tersebut.
2.1.4. Kedalaman bit
Kedalaman bit menyatakan jumlah bit yang dipelukan untuk
mrepresentasikan tiap piksel citra pada sebuah frame. Kedalaman bit
biasanya dinyatakan dalam satuan bit/piksel. Semakin banyak jumlah bit
yang digunakan untuk merepresentasikan sebuah citra, maka semakin
baik kualitas citra tersebut.
2.1.5. Pengolahan Citra (Image Processing)
Pengolahan citra (Image Processing) merupakan proses
pengolahan dan analisis citra yang banyak melibatkan persepsi visual.
Proses ini mempunyai ciri data masukan dan informasi keluaran yang
berbentuk citra.
Gambar 2.3 Diagram proses Image Processing
13
Istilah pengolahan citra secara umum didefinisikan sebagai
pemrosesan citra dua dimensi dengan komputer.Secara umum
pengolahan citra digital dapat diartikan sebagai pemrosesan terhadap
sebuah citra dua dimensi oleh suatu komputer digital atau dapat juga
diartikan sebagai suatu pengolahan data dua dimensi secara
digital.Aplikasi pengolahan citra digital dapat dijumpai dalam berbagai
bidang, diantaranya untuk penginderaan jarak jauh melaui satelit,
pengolahan citra pada bidang kedokteran, dan pengolahan citra untuk
siaran televisi.
Operasi pengolahan citra dapat dikelompokan dalam beberapa
proses sebagai berikut:
a. Perbaikan Citra (Image Restoration)
Perbaikan citra adalah proses yang dilakukan untuk mendapatkan
kembali (rekonstruksi) citra asli dari suatu citra yang telah mengalami
proses degradasi. Kualitas citra yang diperoleh ditentukan dengan
kemiripan dengan citra aslinya. Peningkatan kualitas citra adalah
proses yang dilakukan terhadap suatu citra dengan tujuan untuk
mendapatkan citra baru yang lebih baik kualitasnya untuk tujuan
tertentu.
b. Peningkatan Kualitas Citra (Image Enhancement)
Proses peningkatan kualitas citra ini dilakukan terhadap suatu
citra yang tidak mengalami degradasi dari citra aslinya. Metode
14
peningkatan kualitas citra terhadap suatu citra akan berbeda dengan
metode yang dilakukan terhadap citra lainnya.
c. Registrasi Citra (Image Registration)
Proses registrasi citra dilakukan berdasarkan beberapa atau
banyak citra dari objek yang diambil secara terpisah. Selanjutnya,
tiap-tiap citra digabungkan menjadi suatu objek agar dapat dianalisis
lebih lanjut. Contoh registrasi citra adalah proses pengambilan citra
bumi oleh satelit. Citra bumi yang ingin daimbil tidak dapat diambil
langsung secara keseluruhan secara langsung, tetapi harus diambil
bagian per bagian. Kemudian bagian-bagian ini disatukan sehingga
membentuk citra bumi secara utuh.
Gambar 2.4 Image Registration citra bumi
15
d. Analisis Citra (Image Analysis)
Operasi ini bertujuan untuk menghitung besaran kuantitatif citra
untuk menghasilkan deskripsinya.Teknik analisis citra mengekstraksi
fitur tertentu yang membantu dalam identifikasi objek. Proses
segmentasi kadangkala diperlukan untuk melokalisasi objek yang
diinginkan dari sekelilingnya. Analisis image biasanya melakukan
edge detection, ekstrasi batas, fourier transform, dan lain-lain.
e. Rekonstruksi Citra (Image Reconstruction)
Operasi ini bertujuan untuk membentuk ulang objek dari beberapa
citra hasil proyeksi.operasi rekonstruksi citra banyak digunakan
dalam bidang medis.Contohnya adalah foto rontgen dengan sinar X
digunkan untuk membentuk ulang citra organ tubuh.
f. Kompresi Citra (Image Compression)
Proses kompresi citra bertujuan untuk mendapatkan suatu citra baru
yang dapat merepresentasikan suatu citra dalam bentuk ukuran bit yang
lebih sedikt dibandingkan citra aslinya dan dalam citra terkompresi ini t idak
terjadi penurunan kualitas yang berarti. Dengan kompresi data ini
diharapkan dapat mengurangi besarnya ruang penyimpanan data dan
lebarnya pita frekuensi yang dibutuhkan dalam sistem transmisi data.
2.2 Kompresi Citra
Saat ini kebanyakan aplikasi menginginkan representasi citra digital
dengan menggunakan kebutuhan memori yang seminimal mungkin.Kebutuhan
akan adanya sistem kompresi merupakan suatu tuntutan dalam memperoleh hasil
16
penyimpanan data citra yang optimal. Walaupun konsekuensi yang diperoleh
adalah adanya perbandingan terbalik antara rasio penyimpanan data citra dengan
kualitas citra yang diperoleh.
Citra yang belum dikompres disebut citra mentah (raw image), sementara
citra hasil ompresi disebut CompressedImages. Kompresi citra (Images
Compression) mempunyai tujuan meminimalkan kebutuhan memori untuk
merepresentasikan sebuah citra digital. Prinsip umum yang digunakan pada
proses kompresi citra digital adalah mengurangi duplikasi data di dalam citra
sehingga memori yang dibutuhkan untuk merepresentasikan citra menjadi lebih
sedikit dari pada citra digital aslinya.Terdapat dua proses utama dalam
permasalahan kompresi citra digital, yaitu :
a. Kompresi citra (Images Compression)
Pada proses ini citra digital dalam representasinya yang asli (belum
dikompres) dikodekan dengan representasi yang meminimumkan kebutuhan
memori. Citra dengan format bitmap pada umumnya tidak dalam bentuk
kompresan.Citra yang sudah dikompres disimpan ke dalam arsip dengan
menggunakanformat tertentu.
b. Dekompresi citra (Images Decompression)
Pada proses dekompresi, citra yang sudah dikompresi harus dapat
dikembalikan lagi menjadi representasi citra seperti citra aslinya. Proses ini
diperlukan jika citra ingin ditampilkan ke layar atau disimpan ke dalam arsip
dengan format yang tidak terkompres.
17
Citra 2.5 Diagram proses Kompresi dan Dekompresi Citra
Pada proses Preprocessing dan postprocessing dilakukan transformasi
dan kuantisasi pada citra mentah. Biasanya dilakukan fourier transform untuk
menghilangkan noise pada citra mentah. Kuantisasi mempunyai fungsi untuk
membatasi jumlah simbol yang dapat digunakan untuk merepresentasikan citra
yang terkompres.Kuantisasi merupakan sebuah model pemetaan banyak ke satu.
Kuantisasi dapat dibentuk dari pengkuantisasian skalar maupun pengkuantisasi
vektor. Pengkuantisasi skalar, merujuk pada kuantisasi data elemen-elemen,
sedangkan pengkuantisasi vektor merupakan kuantisasi dengan menggunakan
suatu blok data citra. Encoding dan decoding berfungsi untuk membentuk sebuah
kode tertentu (binary bit stream) dari setiap simbol yang dikeluarkan dari blok
pengkuantisasi di atas. Coder bisa memakai fixed-length code atau variable-
length code.Variable-length code (VLC) juga dikenal dengan nama entropy
coding, yang memberikan kode sedemikian rupa sehingga mampu memperkecil
panjang rata-rata representasi biner dari simbol tersebut. Hal tersebut dapat
dilakukan dengan cara memberikan kode yang panjang menjadi lebih pendek
Input Image
Compressed File Encoding Preprocessing
Compressed File
Decoding Postprocessing Decoded Image
Kompresi
Dekompresi
18
dibandingkan dengan data yang dimiliki simbol, yang mana hal ini merupakan
prisnsip dasar dari entropy coding.
2.2.1. Tinjauan Umum Kompresi Citra
Ada beberapa hal yang perlu diperhatikan dalam kompresi citra,
yaitu:
a. Scalability / Progressive Coding / Embedded Bitstream adalah
kualitas dari hasil proses pengkompresian citra karena manipulasi
bitstream tanpa adanya dekompresi atau rekompresi. Contohnya pada
saat preview image sementara citra tersebut didownload. Semakin
baik scalability, makin bagus preview image. Macam-macam dari
scalability:
i. Quality progressive: dimana citra dikompres secara perlahan-
lahan dengan penurunan kualitasnya.
ii. Resolution progressive: dimana citra dikompresi dengan
mengenkode resolusi citra yang lebih rendah terlebih dahulu
baru kemudian ke resolusi yang lebih tinggi.
iii. Component progressive: dimana citra dikompresi berdasarkan
komponennya, pertama mengenkode komponen gray baru
kemudian komponen warnanya.
b. Region of Interest Coding adalah daerah-daerah tertentu dienkode
dengan kualitas yang lebih tinggi daripada yang lain.
19
c. Meta Information adalah citra yang dikompres juga dapat memiliki
informasi meta seperti statistik warna, tekstur, small preview image,
dan author atau copyright information.
2.2.2. Teknik Kompresi
Dalam teori informasi, proses pemampatan data dengan mengurangi
pengulangan adalah berdasarkan pada sumber pengkodean. Citra
memiliki dua tipe redundansi yaitu redundansi statistik (redundansi ruang
dan redundansi spektrum) dan redundansi psikovisual. Redundansi
statistik muncul karena beberapa pola ruang mempunyai kemiripan,
sedangkan redundansi psikovisual terjadi karena adanya kenyataan bahwa
mata manusia tidak sensitif terhadap adanya frekuensi beberapa ruang
dalam citra.
Setiap sistem kompresi citra yang berbeda akan
mengimplementasikan kombinasi pilihan-pilihan yang berbeda pula. Pada
dasarnya metode kompresi citra dibagi menjadi dua jenis, yaitu :
a. Kompresi Lossless, hasil yang ingin dicapai dari metode ini adalah
mengurangi bitrate tanpa mengurangi data yang dimiliki oleh citra
tersebut. Metode ini digunakan untuk aplikasi yang khusus, misalnya
digunakan untuk pengiriman citra-citra di bidang kedokteran.
b. Kompresi Lossy, hasil yang ingin dicapai adalah memperoleh
ketelitian yang optimal dari suatu bitrate. Pada metode ini kita bisa
melakukan manipulasi data-data yang dimiliki oleh citra. Manipulasi
disini berupa pengurangan nilai presisi integer pada karakter citra.
20
2.2.3. Metode Kompresi Citra
a. Metode Huffman
Metode ini termasuk teknik Kompresi Lossless sering disebut juga
sebagai statistical compression. Pengkodean citra berdasarkan pada
derajat keabuan (gray level) dari piksel-piksel dalam keseluruhan
citra. Nilai atau derajat keabuan yang sering muncul di dalam citra
akan dikodekan dengan jumlah bit yang lebih sedikit sedangkan nilai
keabuan yang frekuensi kemunculannya sedikit dikodekan dengan
jumlah bit yang lebih panjang. Berikut algoritma metode Huffman:
i. Urutkan secara menaik nilai keabuan berdasarkan frekuensi
kemunculannya atau peluang kumunculan yaitu frekuensi
kemunculan dibagi dengan jumlah piksel dalam citra
( ). Setiap nilai keabuan dinyatakan sebagai pohon
bersimpul tunggal dan setiap simpul diassign dengan frekuensi
kemunculan nilai keabuan tersebut.
ii. Gabung 2 buah pohon yang mempunyai frekuensi kemunculan
paling kecil pada sebuah akar. Akar mempunyai frekuensi
yang merupakan jumlah dari frekuensi 2 pohon penyusunnya.
Perhatikan : frekuensi dengan nilai lebih kecil diletakkan di
sisi kiri
iii. Ulangi langkah satu (i) dan dua (ii) sampai tersisa satu pohon
biner
21
iv. Beri label setiap sisi pada pohon biner, label sisi kiri = 0, label
sisi kanan = 1.
v. Telusuri pohon biner dari akar ke daun. Barisan label-label
sisi dari akar ke daun menyatakan kode Huffman untuk derajat
keabuan yang bersesuaian.
b. Metode Run Length Encoding (RLE)
Cocok digunakan untuk memampatkan citra yang memiliki
kelompok-kelompok piksel berderajat keabuan yang sama. Metode
ini dilakukan dengan menyatakan seluruh baris citra menjadi sebuah
baris run, lalu menghitung run-length untuk setiap derajat keabuan
yang berurutan. Metode RLE dapat dikombinasikan dengan metode
Huffman untuk meningkatkan ratio kompresi.Mula-mula lakukan
kompresi RLE lalu hasilnya dimampatkan lagi dengan Huffman.
c. Kompresi JPEG
JPEG (Joint Photograpic Experts Group) menggunakan teknik
Kompresi Lossy sehingga sulit untuk proses pengeditan. Teknik
kompresi JPEG menggunakan transformasi DCT untuk merubah
nilai–nilai pixel dalam domain spasial menjadi koefisen – koefisien
dalam domain frekuensi. JPEG cocok untuk citra pemandangan
(natural generated image), tidak cocok untuk citra yang mengandung
banyak garis, ketajaman warna, dan computer generated image.
Dalam kompresi JPEG, mula–mula citra yang akan dikompresi dibagi
menjadi blok-blok tertentu berukuran 8 x 8 yang selanjutnya
ditransformasi dengan DCT untuk mendapatkan koefisien – koefisien
22
dalam domain frekuensi. Langkah selanjutnya adalah melakukan
proses kuantisasi dan pengkodean dengan metode zig-zag
menggunakan RLE, Huffman. Setelah itu dilakukan konversi vector
kuantisasi menjadi bit-bit untuk mengkontruksi file JPEG.
d. Kompresi Wavelet
Selain JPEG teknik lain yang berkembang adalah kompresi
wavelet dengan menggunakan transformasi wavelet DWT (Morlet
dan Grossman, 1980). Transformasi DWT digunakan untuk
mentransformasi citra menjadi beberapa koefisien wavelet.
Selanjutnya koefisien wavelet ini ditanam kembali dengan
menggunakan metode EZW. EZW mampu menyusun bit-bit menurut
tingkat kepentingan, hasilnya adalah sebuah kode penempelan penuh
(Fully Embedded), sehingga mampu mencapai kompresi yang
maksimal.
2.2.4. Perhitungan Hasil Kompresi
Memori yang dibutuhkan untuk merepresentasikan citra
seharusnya berkurang secara berarti. Teknik kompresi dikatakan baik
apabila didapatkan rasio kompresi yang besar, karena semakin besar rasio
kompresi yang didapat berarti semakin kecil ukuran hasil kompresi. Pada
beberapa metode, ukuran memori hasil kompresi bergantung pada citra
itu sendiri. Citra yang mengandung banyak elemen duplikasi (misalnya
citra langit cerah tanpa awan, citra lantai keramik) umumnya berhasil
dikompresikan dengan memori yang lebih sedikit dibandingkan dengan
23
mengkompresikan citra yang mengandung banyak objek (misalnya citra
pemandangan alam). Hasil rasio dapat di rumuskan sebagai:
(2.1)
Dimana: U kompresi adalah ukuran citra setelah dilakukan proses kompresi
Uasli adalah ukuran citra asli
Perhitungan kualitas citra digital yang merupakan hasil
modifikasi, terhadap citra digital yang asli, dapat dilakukan dengan
menghitung nilai MSE (Mean Square Error) dan juga nilai PSNR (Peak
Signal-to-Noise Ratio). Perhitungan nilai MSE dari citra digital berukuran
, dilakukan sesuai dengan rumus berikut:
(2.2)
Dimana: adalah nilai pixel di citra asli
adalah nilai pixel pada citra hasil kompresi
adalah dimensi image
menyatakan citra digital yang asli sebelum dikompresi,
sedangkan , merupakan citra digital hasil kompresi. Nilai MSE
yang besar, menyatakan bahwa penyimpangan atau selisih antara citra
hasil modifikasi dengan citra aslinya cukup besar. Sedangkan untuk
perhitungan nilai PSNR, dapat dilakukan dengan rumus berikut:
(2.3)
24
Semakin besar PSNR, maka kualitas citra hasil modifikasi akan semakin
baik, sebab tidak banyak data yang mengalami perubahan, dibandingkan
aslinya.
2.3 Computer Vision
Teknik-teknik kompresi yang sudah ada ternyata masih belum menjawab
kebutuhan teknik kompresi yang baik. Kecepatan transmisi citra memang baik,
tetapi disisi lain hal ini mengobarkan akurasi dari hasil kompresi citra, dan ini
adalah hal penting dalam kompresi citra. Computer Vision memberikan solusi
untuk permasalahan ini, yaitu dengan teknik reduksi dimensi.
Terminologi lain yang berkaitan dengan pengolahan citra adalah
Computer Vision atau Machine Vision. Pada hakikatnya, Computer Vision
mencoba meniru cara kerja sistem visual manusia (human vision). Human vision
sesungguhnya sangat kompleks. Manusia melihat objek dengan indera
penglihatan (mata), lalu citra objek diteruskan ke otak untuk diinterpretasi
sehingga manusia mengerti objek apa yang tampak dalam pandangan matanya.
Hasil interpretasi ini mungkin digunakan untuk pengambilan keputusan.
Computer Vision merupakan proses otomatis yang mengintegrasikan
sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan
citra, klasifikasi, pengenalan (recognition), dan membuat keputusan. Computer
Vision terdiri dari teknik-teknik untuk mengestimasi ciri-ciri objek di dalam citra,
pengukuran ciri yang berkaitan dengan geometri objek, dan menginterpretasi
informasi geometri tersebut. Proses-proses di dalam Computer Vision dapat
dibagi menjadi tiga aktivitas:
25
a. Memperoleh atau mengakuisisi citra digital
b. Melakukan teknik komputasi untuk memproses atau memodifikasi data citra
(operasi-operasi pengolahan citra).
c. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan
untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan,
memantau proses manufaktur, dan lain-lain.
2.3.1 Face Recognition
Face Recognition adalah sebuah aplikasi komputer yang secara
otomatis dapat mengidentifikasi dan memverifikasi wajah seseorang dari
sebuah citra digital. Salah satu cara untuk melakukan Face Recognition
adalah dengan membandingkan facial features dari citra yang dipilih
dengan facial database yang sudah di training sebelumnya.
Beberapa algoritma Face Recognition mengidentifikasi wajah
dengan mengekstrak fitur dari citra wajah subjek. Sebagai contoh, sebuah
algoritma dapat menganalisis posisi relatif, ukuran, dan bentuk dari mata,
hidung, tulang pipi, dan rahang. Fitur-fitur ini kemudian digunakan untuk
mencari citra lain dengan algoritma pencocokan fitur. Dalam melakukan
proses recognisi, digunakan perhitungan Euclidean Distance antara citra
input dengan citra asli yaitu :
(2.4)
Namun ada juga algoritma yang pertama-tama menormalisasi sebuah
dataset citra wajah lalu melakukan training sehingga dataset itu
26
terkompresi. Dataset ini akhirnya digunakan sebagai database pencocokan
dalam melakukan Face Recognition maupun Face Detection.
Beberapa algoritma Recognition yang terkenal diantarannya
adalah Principal Component Analysis (PCA) menggunakan eigenfaces.
2.4 Reduksi Dimensi
Data real-world, seperti sinyal suara, digital foto, atau scan fMRI,
biasanya memiliki dimensi yang tinggi. Dengan tujuan untuk menangani data ini
secara memadai, maka dimensinya perlu dikurangi. Reduksi dimensi adalah
transformasi dari data berdimensi tinggi menjadi representasi data yang
mengalami reduksi dimensi. Idealnya, reduksi dimensi harus memiliki dimensi
yang sesuai dengan dimensi intrinsik dari sebuah data. Dimensi intrinsik data
adalah jumlah minimum parameter yang diperlukan untuk account guna
mengamati sifat suatu data. Reduksi dimensi penting dalam banyak domain,
karena meringankan dimensi yang sangat besar dan sifat lain yang tidak
diinginkan dari ruang berdimensi tinggi. Adapun hasil yang diperoleh. reduksi
dimensi memfasilitasi klasifikasi, visualisasi, dan kompresi dari data berdimensi
tinggi.
Proses reduksi dimensi dapat didefinisikan sebagai berikut. Diberikan
dataset matrik berukuran ( ) yang terdiri dari data
dengan dimensi yang memiliki dimensi intrinsik (dimana , dan
terkadang ). Dalam istilah matematika, dimensi intrisik dapat diartikan
sebagai titik – titik dalam dataset yang berada disebuah manifold dengan
dimensi yang tertanam di dimensi ruang . Teknik reduksi dimensi mengubah
27
dataset dengan dimensi ke dalam dataset baru dengan dimensi, dengan
tetap mempertahankan geometri data sebanyak mungkin.Secara umum, geometri
manifold data, dan dimensi intrisik dataset selalu diketahui.Oleh karena itu,
reduksi dimensi merupakan masalah yang hanya dapat diselesaikan dengan
mengasumsikan sifat – sifat tertentu dari suatu data (seperti dimensi intrinsik).
Teknik reduksi dimensi dibagi menjadi dua macam teknik, yaitu teknik
reduksi dimensi non-linear dan teknik reduksi dimensi linear. Dalam
pembagiannya dapat dilihat dari citra dibawah ini :
Gambar 2.6 Diagram pembagian teknik reduksi dimensi
Dimensionality Reduction
Nonlinear
Neighborhood graph
Laplacian
Alignment of lokal
representations
linear
Neural network
Preserving global properties Preserving lokal properties
Kernel‐based
Unfolding Reconstruction weights
Lokal tangent space
Distance preservation
PCA
LLCChar
NMF
Kernel PCA
MVU Autoencoder
MDS, Isomap Diff.map
s
LLE Laplacian Eigenmaps
LTSA Hessian LEE
LDA
28
2.4.1. Reduksi Dimensi Non-Linear
Pada teknik ini terdapat 3 bagian, namun kami akan membahas 2
teknik non-linear utama yang digunakan untuk reduksi dimensi yang
telah ditetapkan dan dipelajari dengan baik. Teknik yang paling utama
untuk reduksi dimensi secara non-linear dapat dibagi menjadi 2 jenis
utama, antara lain :
2.4.1.1. Teknik Global
Teknik-teknik yang mencoba untuk mempertahankan sifat
global asli suatu data dalam representasi yang berdimensi rendah.
Ada 6 macam teknik reduksi dimensi yang termasuk dalam
Teknik Global :
a. Multi Dimensional Scaling (MDS)
MDS adalah teknik yang mewakili kumpulan teknik
non-linear yang memetakan representasi data berdimens i
tinggi ke representasi data berdimensi rendah dengan tetap
mempertahankan jarak berpasangan diantara datapoints
sebanyak mungkin. Kualitas dari pemetaan ini dinyatakan
dalam stress function, dimana kesalahan antara jarak
berpasangan pada representasi data berdimensi rendah dan
data berdimensi tinggi.
Stress function dapat dirumuskan sebagai berikut:
(2.5)
29
Dimana adalah jarak Euclidean antara
datapoints dan berdimensi tinggi, dan adalah
jarak Euclidean antara datapoints dan berdimensi
rendah.
MDS banyak digunakan untuk visualisasi data,
misalnya, dalam fMRI analisis dan dalam pemodelan
molekul.Popularitas MDS telah menyebabkan usulan
varian seperti SPE, CCA, SNE, dan FastMap. Selain itu,
terdapat varian nonmetric MDS, yang bertujuan untuk
menunjukkan hubungan ordinal dalam data, bukan jarak
berpasangan.
b. Isomap
Isomap adalah sebuah teknik reduksi dimensi non-
linear yang digunakan untuk memecahkan masalah dari
MDS yang tidak dapat memperhitungkan account distribusi
yang berdekatan dengan cara mempertahankan jarak
geodesic berpasangan (atau lengkung) antara datapoints.
Jarak geodesic adalah jarak antara dua titik yang
diukur melalui manifold. Dalam Isomap, jarak geodesic
antara datapoints dihitung dengan
membangun graph G yang berdekatan, dimana setiap
datapoint terhubung dengan k yang paling berdekatan
dengan di dataset . Jalur terpendek
30
antara dua titik dalam grafik membentuk perkiraan yang
baik dari jarak geodesic antara dua poin yang ada, dan
dengan mudah dapat dihitung menggunakan Dijkstra atau
algoritma Floyd. Jarak geodesic antar semua datapoints
dihitung, sehingga membentuk jarak geodesic matriks
berpasangan. Representasi berdimensi rendah dari
datapoints di ruang dimensi rendah dihitung dengan
menerapkan skala multidimensi pada matriks jarak yang
dihasilkan.
Sebuah kelemahan penting dari algoritma ini adalah
ketidakstabilan topologi yang ada. Dimana terkadan g
Isomap dapat membangun koneksi yang salah pada grafik
yang berdekatan. Seperti hubungan short-circuiting yang
kemungkinan besar dapat merusak kinerja dari Isomap.
Untuk mengatasi masalah ini dibuat beberapa pendekatan
misalnya, dengan menghapus datapoints dengan jumlah
aliran yang besar di jalur terpendek algoritma atau dengan
menghapus neighbors terdekat yang melanggar linearitas
lokal sekitar grafik.
c. Maximum Variance Unfolding(MVU)
Maximum Variance Unfolding (MVU) mirip dengan
Isomap dalam mendefinisikan grafik di sekitar data dan
mempertahankan jarak berpasangan di grafik yang
31
dihasilkan. Namun dalam hal mencoba untuk
‘mengungkap’ manifold data secara eksplisit MVU berbeda
dengan Isomap. Dimana MVU melakukan hal tersebut
dengan memaksimalkan Euclidean Distance antara
datapoints, dalam batasan bahwa jarak dalam lingkaran
grafik yang tersisa tidak berubah. Masalah optimisasi yang
dihasilkan dapat diselesaikan secara efisien dangan
menggunakan pemrograman semidefinite.
Algoritma MVU dimulai dengan pembangunan
lingkaran grafik , dimana setiap datapoint terhubung ke
yang merupakan neighbors terdekat dari . Selanjutnya,
upaya MVU untuk memaksimalkan jumlah jarak kuadrat
Euclidean antara semua datapoints, di bawah batasan
bahwa jarak disekitar grafik G dipertahankan. Dengan kata
lain, MVU melakukan optimasi masalah berikut:
(2.6)
Dimana :
(2.7)
Dari persamaan di atas MVU merumuskan masalah
optimasi sebagai pemrograman Semidefinite Programming
Program (SDP) dengan mendefinisikan matriks yang
32
merupakan inti produk dari representasi data berdimensi
rendah. Dapat dirumuskan sebagai berikut:
Maximize trace dimana:
i.
ii.
iii.
Dari pesamaan diatas, representasi data
berdimensi rendah dapat diperoleh dengan melakukan
dekomposisi nilai singular.
Serupa dengan Isomap, tidak menutup kemungkinan
hubungan short-circuiting dapat merusak kinerja dari
MVU, karena menambah batasan ke dalam masalah
optimasi untuk mencegah terjadinya unfolding dari suatu
manifold. Meskipun demikian, MVU berhasil diterapkan
untuk, lokalisasi misalnya, sensor dan DNA microarray
analisis data.
d. Kernel PCA (KPCA)
Merupakan reformulasi dari linear PCA tradisional
dalam ruang dimensi tinggi yang dibangun menggunakan
Fungsi Kernel. Kernel PCA menghitung vektor pokok
33
eigen dari matriks kernel yang dibandingkan dengan
matriks kovarians.
Kernel PCA menghitung K sebagai kernel matriks
datapoints yang didefinisikan sebagai berikut:
(2.8)
Dimana adalah Fungsi Kernel. Selanjutnya, kernel
matriks dipusatkan dengan menggunakan modifikasi dari
persamaan berikut:
(2.9)
Operasi pemusatan berkoresponden dengan
mengurangkan rata – rata fitur dalam PCA tradisional. Hal
ini memastikan bahwa fitur dalam ruang dimensi tinggi
didefinisikan oleh Fungsi Kernel yaitu berarti nol.
Kemudian utama dari vektor eigen dari pusat matriks
kernel dihitung. Sekarang vektor – vektor eigen dari
kovarians matriks dapat dihitung, dikarenakan mereka
berhubungan dengan vector-vektor eigen dari matriks
kernel melalui:
(2.10)
Untuk mendapatkan representasi data yang berdimens i
rendah , maka data tersebut diproyeksikan ke vektor –
34
vektor eigen dari matriks kovarians aj.Hasil proyeksi
ditunjukan sebagai berikut:
(2.11)
Dimana menunjukan nilai ke j dalam vector dan
adalah Fungsi Kernel yang juga digunakan dalam
perhitungan matriks kernel. Dikarenakan kernel PCA
merupakan metode berbasis kernel, pemetaan yang
dilakukan oleh kernel PCA bergantung pada pilihan Fungs i
Kernel . Pilihan yang mungkin untuk Fungsi Kernel
termasuk kernel linier (membuat kernel sama dengan PCA
tradisional), polinom kernel, dan kernel Gaussian. Kernel
PCA telah berhasil ditetapkan untuk face recognition ,
speech recognition dan novelty detection.
Sebuah kelemahan penting dari kernel PCA adalah bahwa
ukuran dari matriks kernel sebanding dengan kuadrat dari
jumlah hal dalam dataset.
e. Diffusion Maps
Diffusion Maps (DM) berasal dari bidang sistem
dinamis yang mendefinisikan random walk markov pada
suatu grafik data sejumlah timesteps untuk mendapatkan
datapoints. Dengan menggunakan pengukuran ini, jarak
difusi dapat didefinisikan. Dalam representasi data
35
berdimensi rendah, jarak difusi berpasangan dapat
dipertahankan sebaik mungkin.
Dalam metode Diffusion Maps, langkah pertama
adalah membangun grafik dari suatu data. Bobot dari sisi
dalam grafik dihitung dengan menggunakan Fungsi Kernel
Gaussian, yang mencari matriks W dengan persamaan
(2.12)
Dimana menunjukkan varians dari Gaussian.
Selanjutnya, normalisasi matriks dilakukan sedemikian
rupa dimana baris – barisnya ditambahkan menjadi 1.
Dengan cara ini, Matriks dibentuk dengan
persamaan:
(2.12)
Matriks yang dihasilkan dianggap sebagai
matriks Markov yang mendefinisikan probabilitas transisi
ke depan matriks dalam suatu proses dinamis. Oleh karena
itu, matriks mewakili probabilitas transisi dari satu
datapoint ke datapoint lainnya dalam timestep tunggal.
Forward probability matrix
untuk timesteps ditunjukkan dengan .
36
Menggunakan probabilitas random walk forward ,
jarak difusi didefinisikan dengan :
(2.13)
Dalam persamaan, adalah sebuah aturan
dimana atribut – atribut lebih kearah bagian – bagian
grafik dengan kepadatan tinggi. Hal ini didefinisikan
dengan
(2.14)
Dimana adalah tingkat suatu node yang
didefinisikan dengan . Dari persamaan
tersebut, dapat diamati bahwa pasangan datapoint –
datapoint dengan probabilitas transisi kemajuan yang
memiliki sebuah jarak difusi yang kecil. Ide utama dibalik
jarak difusi tersebut adalah didasarkan pada banyaknya
jalan yang melalui grafik. Hal tersebut membuat jarak
difusi lebih tahan terhadap noise, misalnya, jarak geodesic.
Dalam representasi data berdimensi rendah, diffusion
maps berupaya untuk mempertahankan jarak difusi dengan
menggunakan teori spectral pada random walk, yang
menunjukkan bahwa representasi data berdimensi
37
rendah mempertahankan jarak difusi yang dibentuk oleh
vector-vektor utama eigend nontrivial dari persamaan
eigen.
(2.15)
Dikarenakan grafik sepenuhnya terhubung, maka nilai
eigen terbesar adalah trivial (viz. ), dan vektor
eigen dibuang. Representasi data berdimensi rendah
ditunjukkan oleh vektor – vektor eigen utama pada
berikutnya. Dalam representasi data berdimensi rendah,
vektor – vektor eigen dinormalisasikan oleh koresponden
nilai – nilai eigen tersebut. Oleh karena itu, representasi
data berdimensi rendah dapat ditunjukan oleh:
(2.16)
Diffusion Maps telah berhasil diterapkan untuk, shape
matching dan gene expression analysis.
f. Multilayer Autoencoders
Multilayer Autoencoders merupakan kemajuan dari
jaringan saraf dengan suatu jumlah ganjil pada hidden
layer. Hidden layer tengah memiliki node , dan layer
input dan output yang memiliki node . Contoh dari suatu
38
autoencoder secara skematis ditunjukkan pada gambar
berikut:
Gambar 2.7 Skema Multilayer Autoencoder
Jaringan dilatih untuk meminimalkan kesalahan rata –
rata kuadrat antara input dan output pada suatu jaringan
(idealnya, input dan output adalah sama). Pelatihan
jaringan saraf pada datapoints mengarah ke suatu
jaringan dimana hidden layer tengah menghasilkan
representasi dimensi dari datapoint – datapoint yang
melindungi informasi di sebanyak mungkin.
Representasi berdimensi rendah dapat diperoleh dengan
mengekstraksi nilai node pada hidden layer tengah, ketika
39
datapoint digunakan sebagai input. Fungsi aktivasi
linier jaringan saraf yang digunakan adalah sebuah
autoencoder yang hampir serupa dengan PCA. Dengan
tujuan membiarkan autoencoder untuk belajar suatu
pemetaan nonlinear antara representasi data berdimensi
tinggi dengan representasi data berdimensi rendah, dimana
pada umumnya menggunakan fungsi aktivasi sigmoid.
Dalam metode ini juga digunakan backpropagation
untuk menyatukan koneksi secara perlahan namun
cenderung terjebak dalam lokal minima. Kekurangan
pendekatan tersebut dapat diatasi melalui pembelajaran
prosedur yang terdiri dari tiga tahap utama.
Tahap pertama, layer pengenalan dari jaringan (layer
ke ) dilatih satu per satu menggunakan Restricted
Boltzmann Machines (RBMs). RBMs merupakan 2 layer
jaringan saraf dengan node visual dan tersembunyi dimana
keduanya adalah biner dan stokastik. RBMs dapat dilatih
secara efisien menggunakan prosedur pembelajaran tidak
terawasi yang meminimalkan perbedaan yang disebut
kontrastif.
Tahap kedua, layer rekonstruksi pada suatu jaringan
(layerY ke X’) dibentuk oleh kebalikan dari layer
40
pengenalan terlatih. Dengan kata lain, autoencoder tidak
tergulung.
Tahap ketiga, autoencoder yang tidak tergulung
merupakan finetuned dan diawasi dengan menggunakan
backpropagation. Autoencoders telah berhasil diterapkan
untuk masalah–masalah seperti imputasi data yang hilang
dan analisis HIV.
2.4.1.2. Teknik Lokal
Teknik yang mencoba untuk mempertahankan sifat lokal
dari suatu data asli dalam representasi yang berdimensi rendah.
Teknik lokal ini terbagi menjadi 4 sub bagian yaitu:
a. Local Linear Embedding (LLE)
Local Linear Embedding (LLE) merupakan suatu teknik
lokal untuk reduksi dimensi yang mirip dengan Isomap dalam hal
membangun sebuah representasi grafik dari datapoint. Berbeda
dengan isomap, teknik ini mencoba untuk mempertahankan sifat
lokal data. Sehingga menyebabkan LLE kurang sensitif tehadap
hubungan short-circuiting.
Dengan menggunakan LLE memungkinkan untuk sukses
dalam embedding manifolds dalam nonconvex. Dalam LLE, Sifat
lokal dibangun dengan mendapatkan datapoints dari kombinasi
linear dari nearest neighbors yang ada. Algoritma LLE ini lebih
mengupayakan untuk mempertahankan bobot rekonstruksi dalam
41
kombinasi linear sebaik mungkin. LLE mengambarkan sifat lokal
manifold disekitar datapoint yang dikombinasikan dengan
datapoint (bobot) dari nearest neighbors yang dapat
ditulis sebagai berikut:
(2.17)
LLE biasa digunakan untuk membuat aplikasi seperti
super resolution dan sound source locatization. Namun dari
penelitian yang ada bisa di bilang kinerja LLE cukup lemah.
b. Laplacian Eigenmaps
Mirip dengan LLE, teknik ini berusaha mendapatkan
representasi data berdimensi rendah dengan menjaga property
local dari manifold. Dalam Laplacian Eigenmaps sifat lokal di
dapat berdasarkan jarak berpasangan antara nearest neighbors
dengan memperhitungkan representasi data berdimensi rendah
dari jarak antara datapoint dan nearest neighbors seminimal
mungkin. Hal ini dilakukan untuk untuk meminimalisasi biaya
fungsi dari eigen problem.
Langkah pertama dari algoritma Laplacian Eigenmap
adalah membangun sebuah lingkaran graf dimana setiap
datapoin terhubung dengan nearest neighbors. Untuk
semua titik dan yang terhubung dengan sebuah sisi
42
dalam graf yang dihitung menggunakan fungsi Gaussian
Kernel.
Fungsi yang digunakan untuk meminimalkan adalah
sebagai berikut:
(2.18)
Kemudian untuk menghitung tingkat matriks dan
grafik Laplacian dari grafik dapat dirumuskan untuk
masalah minimasi dengan eigen problem. Grafik Laplacian
dihitung dengan , yang ditunjukan dalam
persamaan:
(2.19)
Persamaan ini memberitahu kita bahwa miminimalkan
sebanding dengan meminimalkan sehingga dapat
memecahkan masalah nilai eigen dengan persamaan:
(2.20)
Eigenmaps Laplacian telah berhasil diterapkan untuk
clustering, pengenalan wajah, analisis data fMRI dan semi-
supervised learning.
c. Hessian LLE (HLLE)
Hessian LLE (HLLE) merupakan modifikasi dari LLE
yang meminimalkan ‘curviness’ dari manifold berdimensi
43
tinggi ketika embedding ke dimensi rendah dengan
menggunakan eigen analysis dari matrik yang
mengambarkan curviness dari manifold sekitar datapoint yang
diukur dengan menggunakan hessian local pada setiap
datapoint.
Algoritma dari HLLE dimulai dengan mengidentifikasi
neighbors nearest untuk setiap datapoint menggunakan
Euclidean Distance. Sehingga basis untuk ruangan tangent
local pada titik dapat ditemukan dengan menerapkan PCA
pada neighbors nearest . Dengan kata lain, untuk setiap
basis datapoint di ruang ruang tangent local ditentukan
dengan menghitung vektor eigen utama dimana
dari matriks kovarians Dimana
mengharuskan .
Selanjutnya, estimator untuk hessian dari manifold pada
titik dalam kordinat ruang lokal dihitung untuk membentuk
matriks dengan cara menggabungkan semua hasil silang
dari sampai ke urutan ke . Matriks adalah matriks yang
menerapkan Normalisasi Gram-Schmidt. Estimasi dari
Hessian tangent diberikan dengan transpos dari
terakhir pada kolom matriks . Nilai dibangun dengan
persamaan:
44
(2.21)
Dimana matriks mewakili informasi tentang curviness
dari representasi data berdimensi tinggi pada data manifold
yang berguna untuk menemukan representasi data berdimensi
rendah yang minimal. Hessian LLE berhasil diterapkan dalam
lokalisasi sensor.
d. Local Tangent Space Analysis (LTSA)
Merupakan teknik yang menggambarkan sifat lokal data
berdimensi tinggi yang menggunakan lokal tangent dari
masing-masing datapoint. LTSA berupaya untuk
menyelaraskan pemetaan-pemetaan linier sedemikian rupa
dengan menbangun garis singgung lokal ruangan manifold
dari representasi berdimensi rendah.
Algoritma LTSA dimulai dengan komputasi basis untuk
ruangan tangent lokal di datapoints dengan menerapkan
PCA pada datapoint pada neighbors di untuk
menghasilkan pemetaan dari lingkungan dari ke tangen
lokal ruang i. LTSA melakukan minimisasi sebagai berikut:
(2.22)
Dimana adalah matriks dengan ukuran
pemusatan
45
Yang menunjukkan solusi dari minimisasi dalam
bentuk vektor - vektor eigen dari suatu matrik yang
sesuai dengan nilai d eigen terkecil dari yang
dirumuskan:
(2.23)
LTSA sukses digunakan untuk Micro-array data.
Perbedaan mendasar dari beberapa teknik reduksi non-linear disajikan dalam tabel berikut :
Tabel 2.1 Tabel Perbedaan Teknik Reduksi Non-Linear
Teknik Conveks Parameters Perhitungan Memori
MDS Ya Tidak ada
Isomap Ya Tidak ada
MVU Ya k
Kernel PCA Ya k(.,.)
Diffusion Maps Ya ,k
Autoencoders Tidak net size
LLE Ya k
Laplacian Eigenmaps Ya k,
Hessian LLE Ya k
LTSA Ya k
46
2.4.2. Teknik Reduksi Dimensi Linear
Teknik linear melakukan reduksi dimensi dengan menempelkan
data ke dalam suatu subruang dari dimensi yang lebih rendah. Pada sub-
bab ini akan dibahas tiga teknik yang sering digunakan dalam reduksi
dimensi linear, yaitu Pricipal Component Analysis (PCA), Linear
Discriminant Analysis (LDA) dan Non-Negative Matrix Factorization
(NMF).
2.4.2.1. Pricipal Component Analysis (PCA)
Pricipal Component Analysis (PCA) atau disebut juga
Transformasi Karhunen-Loeve adalah teknik yang digunakan
untuk menyederhanakan suatu data, dengan cara mentransformasi
linear sehingga terbentuk sistem koordinat baru dengan variansi
maksimum. PCA dapat digunakan untuk mereduksi dimensi suatu
data tanpa mengurangi karakteristik data tersebut secara
signifikan. Metode ini mengubah dari sebagian besar variabel asli
yang saling berkorelasi menjadi satu himpunan variabel baru yang
lebih kecil dan saling bebas (tidak berkorelasi lagi).
Komponen utama adalah kombinasi linier tertentu dari
dimensi acak . Secara geometris kombinas i
linier ini merupakan sistem koordinat baru yang didapat dari
rotasi sistem semula. Koordinat baru tersebut merupakan arah
47
dengan variabilitas maksimum dan memberikan kovariansi yang
lebih sederhana. Analisis komponen utama lebih baik digunakan
jika variabel-variabel asal saling berkorelasi analisis komponen
utama merupakan penyelesaian masalah eigen yang secara
matematis ditulis dalam persamaan :
(2.24)
yang mana variabilitas suatu dataset yang dinyatakan dalam
matriks kovariansi dapat digantikan oleh suatu skalar tertentu
tanpa mengurangi variabilitas asal secara signifikan.
Diberikan dataset matrik berukuran yang terdiri
dari observasi dengan dimensi.
Algoritma dari analisis komponen utama adalah sebagai berikut:
a. Hitung vektor rata-rata dengan
(2.25)
b. Hitung matriks kovariansi atau dengan
(2.26)
c. Hitung nilai eigen dan vektor eigen yang memenuhi
persamaan :
dan (2.27)
d. Vektor eigen-vektor eigen yang didapatkan merupakan
komponen utama-komponen utama untuk membentuk variabel
baru.
48
Variabel-variabel baru merupakan perkalian antara vektor
eigen dengan matriks , yaitu matriks yang telah
dinormalisasi (adjusted) yang dihitung dengan rumus :
(2.28)
e. Sedangkan variansi yang dapat dijelaskan oleh variabel baru
ke-i tergantung persentase kontribusi dari masing-masing
nilai eigen, yang dihitung dengan rumus :
(2.29)
f. Sedangkan penentuan jumlah variabel baru yang digunakan
tergantung persentase kontribusi kumulatif dari kumulatif nilai
eigen yang telah diurutkan dari nilai yang terbesar. Nilai
persentase kontribusi kumulatif sampai komponen ke–
dihitung dengan rumus :
(2.30)
Dengan
Walaupun hasil reduksi dari PCA menghasilkan ekstraksi fitur
citra yang baik, tenyata citra yang dihasilkan masih memiliki dimensi
yang tinggi.
49
2.4.2.2. Linear Discriminant Analysis (LDA)
Linear Discriminant Analysis (LDA) merupakan metode yang
cukup dikenal untuk fitur ekstraksi dan reduksi dimensi. LDA
telah digunakan secara luas pada berbagai aplikasi seperti
pengenalan wajah. LDA bertujuan untuk menemukan
transformasi optimal dengan meminimumkan perbedaan rasio
within-class dan memaksimumkan perbedaan rasio antara class.
Berikut adalah algoritma untuk LDA:
i. Lakukan proses training untuk mendapatkan weight matrik
ii. Transpose weight matrix untuk menjadi input dari LDA
iii. Cari rata – rata dari
iv. Cari dan
v. Cari invers
vi. Cari kovarian matriks vii. Cari dan dari matrik
viii. Dapatkan fitur LDA
Namun, LDA memiliki keterbatasan yakni untuk
memperoleh transformasi optimal maka salah satu sebaran
matriksnya harus non-singular. Pada kenyataannya, berbagai
aplikasi seperti sistem pengenalan wajah, sebaran matriksnya
50
selalu singular, hal ini disebabkan dimensi matriks data pelatihan
melampaui jumlah datanya.
2.4.2.3. Non-negative Matrix Factorization(NMF)
Non-negative Matrix Factorization (NMF) merupakan
salah satu bagian dari teknik reduksi yang bersifat linear dan
dapat memperkirakan representasi data yang ada. NMF adalah
suatu algoritma optimasi iterasi. Dimana modifikasi pada setiap
iterasi fungsi basis non-negatif dan pengkodean mengalami
konvergensi. NMF dapat diilustrasikan seperti berikut :
=
Gambar 2.8 Ilustrasi Teknik Non-negative Matrix Factorization
NMF berguna untuk memperoleh citraan dari data non-
negatif. Dengan adanya data matriks dengan dan
bilangan bulat positif , NMF mendapatkan 2
matriks non-negatif dan sehingga
didapatkan persamaan :
(2.31)
Dimana kolom merupakan representatif pada suatu obyek
lalu memperkirakannya dengan kombinasi linier dari basis
51
dalam kolom . Setelah itu dilakukan pendekatan konvensional
untuk mendapatkan dan dengan memperkecil perbedaan
antara dan dengan menggunakan norm Frobenius sehingga
didapatkan persamaan :
(2.32)
Ada beberapa pendekatan yang dapat digunakan untuk
menyelesaikan persamaan diatas.Pendekatan paling populer
adalah algoritma Non-negative Matrix Factorization with
multiplicative (Lee dan Seung, 2001).Selain itu ada algoritmaNon-
negative Matrix Factorization with Gradient Descent, algoritma
Non-negative Matrix Factorization with Least Square (ALS), dan
algoritma Non-negative Matrix Factorization with Sparseness
Contraints (Patrik O. Hoyer, 2002).
a. Non-negative Matrix Factorization dengan multiplicative
Algoritma Update Multiplicative dikenalkan pertama kali
oleh Lee dan Seung pada tahun 2001. Algoritma Update
Multiplicative dengan rata-rata kuadrat kesalahan fungsi
objektif adalah sebagai berikut :
Faktorisasi Matriks Non Negatif (dalam sintax Matlab):
Untuk : maxiter
52
;
;
dalam hukum update ditambahkan untuk
mencegah pembagian dari nol. Menggunakan gradient dan
sifat-sifat kontinu untuk mengklaim bahwa algoritma
berkonvergen terhadap suatu minimum lokal yang kemudian
memperlihatkan bahwa hal itu tidak terbukti. Pembuktian
memperlihatkan sifat-sifat kontinu yang tidak sesuai
penjelasannya terhadap titik pelana. Untuk memahami hal
tersebut, kita harus mempertimbangkan dua dasar observasi
yang melibatkan kondisi optimal Karush-Khun Tucker.
Pertama, matriks awal dan positif dan kemudian
matriks ini akan tetap positif sepanjang iterasi. Hal ini dapat
diverifikasi dengan membandingkan terhadap bentuk aturan
multiplicative update.
Kedua, jika urutan iterasi konvergen terhadap
dan dan , = 0
dan = 0. Hal ini dapat diverifikasi terhadap
, dimana :
53
Perhatikan elemen dari . Jika titik limit untuk
dicapai sehingga , maka dapat dicari dengan
persamaan :
(2.33)
Kondisi optimum dapat dicapai untuk titik limit
jika tidak memiliki suatu elemen yang bernilai 0.
Namun, jika semua elemen dapat konvergen terhadap
nilai limit dari 0 dengan terhadap
maka mungkin saja bahwa nilai . Dalam hal ini, maka
akan mengalami kondisi kelambanan dalam mencari yang
sebanding dan akan muncul kondisi diluar hukum update
multiplicative, dimana .
Dalam algoritma Update Multiplicative Lee dan Seung
ini, dapat kita simpulkan bahwa:
54
Bila algoritma konvergen terhadap titik limit di dalam
interior dari daerah fisibel, titik ini adalah suatu titik tetap.
Titik stasionaire ini dapat atau tidak dapat berupa suatu
lokasi minimum. Bila titik limit berada pada batas dari
daerah fisibel, maka titik tetapnya tidak dapat ditentukan.
Algoritma Update Multiplicative ini telah berulang
kali digunakan sebagai algoritma pembanding terhadap
algoritma-algoritma yang lebih baru. Algoritma ini terbukti
memerlukan waktu yang sangat lama dalam berkonvergensi
dan memerlukan banyak iterasi (karena memerlukan kerja
) dibandingkan dengan algoritma yang lain, seperti
algoritma Descent Gradient dan algoritma ALS.
b. Non-negative Matrix Factorization dengan Gradient Descent
Algoritma NMF yang kedua ini didasarkan pada metode
penurunan gradient. Algoritma penurunan gradient dasar
untuk NMF adalah (dalam sintax Matlab) :
% inisialisasi W
;% inisialisasi H
Untuk i = 1: maxiter
55
Ukuran parameter dari dan berubah tergantung
pada algoritma turunan parsialnya. Algoritma ini selalu
mengambil suatu langkah di dalam arah gradient negatif dari
penurunan yang paling tajam. Agar membuat tiap elemen dari
matriks update dan dari pendekatannya menjadi negatif,
maka setiap hukum update, matriks update diproyeksikan
terhadap elemen-elemen negatif mendekati nilai-nilai non
negatif 0.
Algoritma Gradient Descent ini sangat sensitif terhadap
inisialisasi dan . Jika menggunakan inisialisasi acak,
metode ini akan mengalami konvergensi ke suatu faktorisasi
yang tidak terlalu jauh dari nilai matriks awal. Dalam
perkembangannya, ada satu metode, yaitu Metode Shepherd
yang diperkenalkan oleh Chu et al pada tahun 2004. Metode
ini merupakan perkembangan dari teknik gradient descent
yang dapat mempercepat konvergensi dengan menggunakan
pilihan yang bijak untuk stepsize tersebut. Sayangnya, teori
konvergensi untuk mendukung metode ini agak kurang.
c. Non-negative Matrix Factorization dengan Least Square (ALS)
Algoritma Least Square (ALS) merupakan salah satu
algoritma NMF yang menggunakan kuadrat terkecil yang
diikuti oleh kuadrat terkecil yang lain secara bergantian.
56
Algoritma ini pertama kali digunakan oleh Paatero pada tahun
1994.
Algoritma dasar dari ALS adalah sebagai berikut (dalam
sintax Matlab):
Untuk i = 1: maxiter
(LS) Solver untuk H pada persamaan matriks W TWH = W TA
(NONNEG) Set semua elemen negatif di H menjadi 0
(LS) Solver untuk W pada persamaan matriks HHTW T = HAT
(NONNEG) Set smua elemen negatif di W menjadi 0
Dalam pseudocode diatas, sudah memiliki
kepastian bahwa tidak ada unsur negatif pada dan ,
karena semua elemen negatif yang dihasilkan dari kuadrat
terkecil di set menjadi 0.
Algoritma ini juga memiliki beberapa keuntungan.
Pada algoritma ini memungkinkan beberapa fleksibilitas
iterasi tambahan yang tidak tersedia dalam algoritma lain,
terutama dari algoritma update multiplicative. Salah satu
kekurangan dari algoritma multiplicative adalah bahwa
setelah unsur di atau menjadi 0, maka akan tetap 0.
Sehingga jika algoritma mulai menuju titik tetap,
walaupun jika itu adalah titik tetap yang buruk, algoritma
tersebut harus terus berjalan.
57
Pada Algoritma ALS ini, dapat lebih fleksibel, sehingga
memungkinkan proses iteratif untuk melepaskan diri dari jalan
yang buruk.
d. Non-negative Matrix Factorization dengan Sparseness
Contraints (NMFSC)
Menurut Patrik O. Hoyer (2002) Non-Negative Matrix
Factorization merupakan bagian dari reduksi dimensi yang
bersifat linear dengan memperkirakan representasi data yang
ada. NMF dapat diasumsikan sebagai sebuah data yang terdiri
dari pengukuran dalam non-negatif variable skalar yang
menunjukan ( -dimensi) pengukuran vektor
. Adapun pendekatan linear dari data yang
diberikan adalah sebagai berikut :
(2.34)
dimana adalah matriks berisi vektor - vektor basis
sebagai kolom - kolomnya. Dapat dilihat bahwa setiap
perhitungan vektor ditulis dalam bentuk vektor – vektor basis
yang sama. Dasar vektor dalam dapat dianggap sebagai
‘building blocks’ dari suatu data dan ( -dimensi) koefisien
vektor menjelaskan bagaimana kuatnya setiap blok
bangunan dalam pengukuran vektor .
58
Pengukuran vektor dalam suatu kolom dari sebuah
matriks dapat ditulis seperti pada persamaan (2.31).
Dimana setiap kolom H berisi koefisien vektor yang
berkoresponden dengan vektor pengukuran . Pada bentuk
ini, terlihat jelas bahwa representasi data linear merupakan
sample faktorisasi dari suatu matriks data.
Perlu diingat matriks data , harus dipilih yang paling
optimal dari matriks dan . Hal ini berkaitan dengan
definisi NMF yaitu meminimalkan kesalahan rekonstruksi
antara dan . Berbagai kesalahan fungsi telah diusulkan
(Paatero dan Tapper,1994; Lee dan seung, 2001), dan yang
paling banyak digunakan adalah Euclidean Distance:
(2.35)
Meskipun masalah minimisasi terfokus di dan secara
terpisah, akan tetapi sebenarnya permasalahan yang timbul
tidak terfokus di keduanya secara bersamaan. Paatero dan
Tapper (1994) memberikan algoritma gradien untuk optimasi
ini, sedangkan Lee dan Seung (2001) merancang algoritma
perkalian yang lebih mudah untuk diterapkan dengan kinerja
yang baik.
59
Konsep sparseness dalam metode Hoyer mengacu pada
skema representasi dimana hanya beberapa unit (dari populasi
besar) secara efektif digunakan untuk mewakili data khas
vektor sehingga mengakibatkan sebagian besar unit
mengambil nilai mendekati nol sementara hanya sebagian
kecil unit mengambil nilai diluar nol secara signifikan.
Sampai saat ini, banyak langkah penyebaran telah
diusulkan dan digunakan dalam suatu literatur. Seperti cara
pemetaan dari untuk yang mengukur berapa banyak
energi dari sebuah vektor dikemas ke dalam beberapa
komponen. Pada skala normal, kemungkinan vektor
sparseness (hanya satu komponen adalah non - nol) harus
memiliki satu sparseness, sedangkan vektor dengan semua
elemen yang sama harus memiliki sparseness dari nol.
Dalam metode ini, kami menggunakan ukuran penyebaran
yang didasarkan pada hubungan norm dan :
(2.36)
Dimana adalah dimensi dari . Fungsi diatas
berguna untuk menyatukan jika dan hanya jika berisi hanya
komponen tunggal non-nol, dan mengambil nilai nol jika dan
hanya jika semua komponen yang sama (hingga tanda-tanda)
dan, interpolasi antara dua ekstrem berjalan lancar.
60
Tujuan NMF dengan Sparseness Constraints adalah
untuk membatasi NMF apabila menemukan solusi dengan
derajat sparseness yang diinginkan sehingga dan yang
tersebar menandakan bahwa setiap objek tertentu hadir dalam
beberapa citra dan hanya mempengaruhi sebagian kecil dari
citra yang ada.
Pertimbangan ini menuntun kita untuk mendefinisikan
NMF dengan kendala kekurangan bahwa dari data non-
negatif matriks ukuran dapat diperoleh matriks
non-negatif dan dari ukuran dan
(masing-masing) sehingga :
(2.37)
diminimalkan, dengan batas-batas :
Dimana adalah kolom ke- dari dan adalah baris ke-
dari . Di sini, menunjukkan jumlah komponen,
sedangkan dan adalah penyebaran yang diinginkan dari
masing-masing dan . Ketiga parameter tersebut
ditetapkan oleh pengguna.
Perlu diperhatikan bahwa dalam metode ini tidak
membatasi skala atau . Namun, dikarenakan
61
maka kita dapat dengan bebas untuk
memperbaiki salah satu norm yang ada. Dengan demikian
algoritma ini membuat kita memilih untuk memperbaiki norm
untuk disatukan.
Algoritma yang dirancang oleh Hoyer adalah sebuah
algoritma turunan gradien yang diproyeksikan untuk NMF
dengan kendala sparseness. Berikut algoritma untuk Non-
negative Matrix Factorization with Sparseness Contraints :
Algorithm: NMF dengan sparseness constraints
(1) Menginisialisasi matriks positif dan secara acak
(2) Jika ada sparseness constraints pada , maka ubah setiap
kolom dari menjadi non-negatif, dengan syarat
memiliki norm yang tidak berubah, sedangkan norm
diatur untuk mencapai sparseness yang diinginkan.
(3) Jika ada sparseness constraints pada , maka ubah setiap
baris dari menjadi non-negatif, dengan syarat yang
memiliki unit norm dan diatur untuk mencapai
sparseness yang diinginkan.
(4) Iterasi
a. Jika ada sparseness constraints di W
i. Set
62
ii. Ubah setiap kolom dari W untuk menjadi
non-negatif, yang memiliki norm yang
tidak berubah, sedangkan norm diatur
untuk mencapai sparseness yang
diinginkan
Selain itu dilakukan langkah perkalian standar :
b. Jika ada sparseness constraints di H
i. Set
ii. Ubah setiap baris dari agar menjadi non-
negatif, dengan ketentuan yang memiliki
unit norm dan diatur untuk mencapai
sparseness yang diinginkan.
Selain itu dilakukan langkah perkalian standar
Pada algoritma di atas, dan masing-masing
menunjukan perkalian dan pembagian element wise.Selain itu,
dan adalah konstanta positif kecil (stepsizes) yang
algoritmanya harus diatur dengan benar untuk dapat bekerja
dengan baik. Namun itu tidak perlu diatur sendiri oleh
63
pengguna karena dalam algoritma ini otomatis menyesuaikan
parameter tersebut.langkah ini diambil dari algoritma Lee dan
Seung (2001).
2.5 Aplikasi Face Recognition
Pada sub-bab ini penulis akan menjelaskan aplikasi yang berguna dalam
metode pengenalan citra wajah (face recognition). Aplikasi yang akan penulis
jelaskan adalah sistem absensi pegawai menggunakan Face Recognition.
Aplikasi ini tidak menggunakan sidik jari (fingerprint) sebagai bahan
pencocokan, melainkan menggunakan gambar wajah pegawai yang terekam
dalam kamera. Mekanismenya cukup sederhana, yakni hanya dengan menghadap
kamera dan kemudian aplikasi akan mencocokkan wajah pegawai dengan face
database yang sebelumnya telah diinput ke dalam aplikasi.
Sistem absensi pegawai menggunakan Face Recognition ini memiliki
beberapa kelebihan sebagai berikut:
a. Sistem Face Recognition dapat mengidentifikasi dengan baik walaupun
seseorang menggunakan kacamata maupun tidak.
b. Sistem Face Recognition tidak dapat mengidentifikasi seseorang hanya
dengan menggunakan foto dirinya yang dihadapkan ke kamera. sehingga
pegawai tidak dapat melakukan manipulasi dengan menitipkan fotonya
kepada pegawai lain untuk melakukan absensi.
c. Sistem Face Recognition tetap dapat mengidentifikasi wajah apabila
terjadi perubahan detil wajah seperti kumis dan jenggot yang tidak terlalu
64
ekstrim. Apabila perubahan tersebut terlalu ekstrim dan tidak sulit
diidentifikasi sistem, maka wajah pegawai tersebut harus dicapture ulang
untuk disimpan kembali ke dalam database sistem.
2.5.1 Flowchart dan Cara Kerja S istem
Gambar 2.9 Flowchart sistem secara sederhana
Cara kerja sistem absensi ini terbagi menjadi beberapa bagian, yaitu :
1. Camera Capturing
Camera Capturing merupakan proses melakukan pengambilan
gambar yang berasal dari kamera. Dalam proses ini terdiri dari dua sub
program, yang pertama adalah proses untuk menerima input dari kamera
Camera Capturing
Start
Tracking ? Yes Tracking Processing
No
NMF Processing
Final
Result
End
65
dan yang kedua adalah proses untuk melakukan pengambilan frame dari
input tersebut.
2. Haar Tracking
Haar Tracking merupakan salah satu metode untuk melakukan
proses tracking pada bagian dari citra yang ditangkap melalui kamera.
Pada program ini fungsi tersebut akan dipakai untuk melakukan tracking
wajah dari citra yang sudah ditangkap oleh kamera.