Kamis, 11 Oktober 2012

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)
% 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
gabor filter

gabor filter

Database wajah dan non wajah di training dengan jaringan syaraf tiruan, agar dapat mengenali lokasi wajah pada citra foto.

function NET = trainnet(net,IMGDB)
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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;

train jst
 Train JST
Tes deteksi wilayah wajah pada citra foto.
hasil deteksi
hasil deteksi

sumber : http://ikhs.wordpress.com/2011/06/11/deteksi-citra-wilayah-wajah-menggunakan-matlab/

0 komentar:

Posting Komentar