Deteksi Citra Wilayah Wajah Menggunakan Matlab
Mendeteksi wilayah wajah merupakan tahap awal dalam pengenalan wajah (face recognition). Pendekteksian wajah yang akan diungkap disini menggunakan gabungan filter gabor dan jaringan syaraf tiruan. Pendeteksian yang dilakukan dengan menyiapkan database wajah dan non wajah. (Omid Sakhi, 2010)Dalam pengolahan gambar filter gabor merupakan linier filter yang digunakan untuk deteksi tepi. Frekuensi dan orientasi representasi filter gabor yang mirip dengan sistem visual manusia, cocok untuk representasi tekstur dan diskriminasi.
Fungsi filter gabor pada matlab
function Psi = gabor (w,nu,mu,Kmax,f,sig)Database wajah dan non wajah di training dengan jaringan syaraf tiruan, agar dapat mengenali lokasi wajah pada citra foto.
% w : Window [128 128]
% nu : Scale [0 …4];
% mu : Orientation [0…7]
% kmax = pi/2
% f = sqrt(2)
% sig = 2*pi
m = w(1);
n = w(2);
K = Kmax/f^nu * exp(i*mu*pi/8);
Kreal = real(K);
Kimag = imag(K);
NK = Kreal^2+Kimag^2;
Psi = zeros(m,n);
for x = 1:m
for y = 1:n
Z = [x-m/2;y-n/2];
Psi(x,y) = (sig^(-2))*exp((-.5)*NK*(Z(1)^2+Z(2)^2)/(sig^2))*…
(exp(i*[Kreal Kimag]*Z)-exp(-(sig^2)/2));
end
end
function NET = trainnet(net,IMGDB)Tes deteksi wilayah wajah pada citra foto.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net.trainFcn = ‘trainscg’;
net.trainParam.lr = 0.4;
net.trainParam.epochs = 400;
net.trainParam.show = 10;
net.trainParam.goal = 1e-3;
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
T{1,1} = cell2mat(IMGDB(2,:));
P{1,1} = cell2mat(IMGDB(3,:));
net = train(net,P,T);
save net net
NET = net;
0 komentar:
Posting Komentar