4.1.3. Implementasi Feature Extraction
Feature Extraction dilakukan untuk mencari nilai-nilai ciri Eigenface, Eigenvector, Eigenspace dari data training suatu set
menggunakan metode Eigenface. Prosesnya yaitu :
1. Mentraining satu set kumpulan gambar M yang direpresentasikan dengan matriks berukuran N x N. Tiap gambar direpresentasikan
dalam Γ , Γ … Γ
�
. Lalu ubah semua matriks Γ berukuran dua
dimensi menjadi satu dimensi N
2
x 1. Kemudian gabungkan hasilnya dalam satu matriks
Γ. Γ = [Γ , Γ … Γ
�
] 2.1
files=dir .jpg
; membaca semua file training
berformat .jpg n=lengthfiles;
nobyek=n25; menghitung banyaknya data training
untuk 1 mahasiswa U=[];
for i=1:n
temp=imreadfilesi.name; temp=rgb2graytemp;
Grayscalling citra training temp=reshapetemp,[],1;
mengubah citra 2 dimensi menjadi 1 dimensi
eval[ facetrain
num2stri =temp;
]; U=[U,temp];
menampung matriks semua citra training end
2. Menghitung Average atau nilai rata-rata dari matriks Γ.
=
�
Σ
= �
Γ 2.2
R=meanU,2;
3. Melakukan pengurangan nilai matriks tiap gambar training pada matriks
Γ tipe data matriks Γ telah diubah ke double dengan nilai matriks rata-rata.
Φ = Γ − 2.3
A = [Γ − , Γ − … Γ
�
− ] 2.4
MINRATA=[]; UD=doubleU;
mengubah tipe data training menjadi double
for i=1:n
temp=UD:,i-R; MINRATA=[MINRATA, temp];
menampung semua matriks citra training yang telah dikurangi rata-
rata end
4. Menghitung nilai Covariance Matrix. = ��
�
� = [Φ , Φ … Φ
�
] 2.5
Karena hasil dari perhitungan = ��
�
menghasilkan dimensi yang besar, maka algoritma diubah menjadi
= �
�
� 2.6
C=MINRATAMINRATA;
5. Menghitung nilai Eigenvalues dan Eigenvectors dari Covariance Matrix.
�
�
� = � 2.7
� − �� = 2.8
� � ∗ �
�
� = � ∗ � 2.9
� ∗ �
�
� = � �
2.10 � = �
� = �
[EVEC,EVAL]=eigC; mencari nilai eigenvalues
EVAL dan eigenvectors EVEC
6. Mengurutkan nilai Eigenvalues dari yang terbesar ke terkecil lalu disertai nilai masing-masing Eigenvectors.
evaldiag=diagEVAL; mengambil nilai pada diagonal
matriks [evaldiagsort,x]=sortevaldiag,
descend ;
matrikscirimax=EVEC:,x; mengambil nilai
eigenvectors sesuai dengan indeks yang telah diurutkan
7. Menghitung nilai Eigenvectors sebanyak M jumlah gambar training.
= � 2.11
= � 2.12
Ui=MINRATAmatrikscirimax;
8. Memproyeksikan Γ ke dalam Eigenspace.
=
�
Γ − 2.13
=
�
�
�
2.14 = [ ⋮
�
] 2.15
W=UiMINRATA;
9. Menghitung nilai Threshold �.
� = ∗
√‖ − ‖ , = , … 2.16
= nilai indeks threshold yang dimasukkan oleh user
threshold=[]; for
i=1:sizeW,1 for
j=i+1:sizeW,1 temp7=sqrtsumpowerWi,:-Wj,:,2,2;
hitung jarak tiap baris pada matriks W dengan Euclidean
Distance threshold=[threshold;temp7];
end end
indeksthreshold=input Threshold :
; meminta
inputan dari user untuk nilai indeks threshold threshold=indeksthresholdmaxthreshold;
4.2. Implementasi Pengujian Data